介绍
小编给大家分享一下团结实现简单换装系统的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!
代码如下:
using UnityEngine; using System.Collections; using System.Collections.Generic; , public enum  AvatarPart { ,,,头盔, ,,,胸部, ,,,的肩膀, ,,,手套, ,,,靴子, } ,//,人物换装 public class ActorAvatar : MonoBehaviour { ,,,//,换装的部件信息 ,,,public class AvatarInfo ,,,{ ,,,,,,,public string partName; ,,,,,,,public GameObject defaultPart; ,,,,,,,public GameObject avatarPart; ,,,} , ,,,protected int _bodyModelId; ,,,protected GameObject _body;,,,,,,,,,//,基础模型动画 ,,,protected Dictionary<字符串,AvatarInfo>, _avatarInfo =, new Dictionary<字符串,AvatarInfo>(),,,,,,,,,//,换装信息 , ,,,private List, _avatarLoadQueue =, new List (); , ,,,void 开始() ,,,{ ,,,} , ,,,void 更新() ,,,{ ,,,} , ,,,//,创建模型 ,,,public void LoadModel (int modelId) ,,,{ ,,,,,,,_bodyModelId =, modelId; ,,,,,,,ResourceMgr.Instance.LoadModel (modelId,, (GameObject obj),=比; ,,,,,,,{ ,,,,,,,,,,,_body =, obj; , ,,,,,,,,,,,//,换装请求 ,,,,,,,,,,,if (_avatarLoadQueue.Count 祝辞,0),{ ,,,,,,,,,,,,,,,foreach (var avatar  _avatarLoadQueue拷贝),{ ,,,,,,,,,,,,,,,,,,,LoadAvatar(阿凡达); ,,,,,,,,,,,,,,,} ,,,,,,,,,,,,,,,_avatarLoadQueue.Clear (); ,,,,,,,,,,,} ,,,,,,,},,真正的); ,,,} , ,,,//,给人物换装 ,,,public void LoadAvatar (int avatarId) ,,,{ ,,,,,,,//,如果还没有加载完基础模型,则等待 ,,,,,,,if (_body ==, null), { ,,,,,,,,,,,_avatarLoadQueue.Add (avatarId); ,,,,,,,,,,,返回; ,,,,,,,} , ,,,,,,,AvatarData adata =, DataMgr.Instance.GetAvatarData (avatarId); ,,,,,,,ResourceMgr.Instance.LoadModel (adata.model,, (GameObject obj),=祝辞,{ ,,,,,,,,,,,ChangeAvatar (obj, adata.addpart); ,,,,,,,}); ,,,} , ,,,//,替换部件 ,,,public void ChangeAvatar (GameObject avatarModel, string partName) ,,,{ ,,,,,,,//,先卸载当前部件 ,,,,,,,AvatarInfo currentInfo; ,,,,,,,if (_avatarInfo.TryGetValue (out  partName也;currentInfo)), { ,,,,,,,,,,,if (currentInfo.avatarPart !=, null), { ,,,,,,,,,,,,,,,摧毁(currentInfo.avatarPart); ,,,,,,,,,,,,,,,currentInfo.avatarPart =,空; ,,,,,,,,,,,} , null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null 团结实现简单换装系统的方法