diff options
author | chai <chaifix@163.com> | 2021-09-15 09:23:46 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2021-09-15 09:23:46 +0800 |
commit | ad950c25abdf7f5a2f0428863d4035e9eb168fd5 (patch) | |
tree | 58c06b6671de90455150a0e5647f4cdac03c1306 /Assets/Scripts/Unit/UnitDetail.cs | |
parent | 5ba836c17dcd9e6107f0de7a4c5d8063cab79fb4 (diff) |
*misc
Diffstat (limited to 'Assets/Scripts/Unit/UnitDetail.cs')
-rw-r--r-- | Assets/Scripts/Unit/UnitDetail.cs | 117 |
1 files changed, 117 insertions, 0 deletions
diff --git a/Assets/Scripts/Unit/UnitDetail.cs b/Assets/Scripts/Unit/UnitDetail.cs new file mode 100644 index 00000000..30a98c63 --- /dev/null +++ b/Assets/Scripts/Unit/UnitDetail.cs @@ -0,0 +1,117 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public enum EUnitBone +{ + Hips = 0, // 盆骨 + Spine , // 脊柱 + Chest , // 胸腔 + UpperChest , // + Neck , + Head , + LEye , + REye , + Jaw , + + LShoulder = 20, + LUpperArm, + LLowerArm, + LHand, + LFinger00, + LFinger01, + LFinger02, + LFinger10, + LFinger11, + LFinger12, + LFinger20, + LFinger21, + LFinger22, + LFinger30, + LFinger31, + LFinger32, + LFinger40, + LFinger41, + LFinger42, + + RShoulder = 40, + RUpperArm, + RLowerArm, + RHand, + RFinger00, + RFinger01, + RFinger02, + RFinger10, + RFinger11, + RFinger12, + RFinger20, + RFinger21, + RFinger22, + RFinger30, + RFinger31, + RFinger32, + RFinger40, + RFinger41, + RFinger42, + + LUpperLeg = 60, // 大腿 + LLowerLeg, // 小腿肚 + LFoot, // 左脚 + LToes, // 脚趾 + LToe0, // 脚趾0 + LToe1, // 脚趾1 + LToe2, // 脚趾2 + LToe3, // 脚趾3 + LToe4, // 脚趾4 + + RUpperLeg = 80, // 大腿 + RLowerLeg, // 小腿肚 + RFoot, // 左脚 + RToes, // 脚趾 + RToe0, // 脚趾0 + RToe1, // 脚趾1 + RToe2, // 脚趾2 + RToe3, // 脚趾3 + RToe4, // 脚趾4 + +} + +[Serializable] +public class UnitBoneDictionary : SerializableDictionary<EUnitBone, Transform> { } + +// 角色的prefab附加数据 +// * afterimage的prefab +// * 骨骼映射 +// * 武器 +[DisallowMultipleComponent] +public class UnitDetail : MonoBehaviour +{ + [Tooltip("残影用的prefab")] + public string afterImageAvatarPath; + + public UnitBoneDictionary bones; + + //[ExecuteInEditMode] + public UnitDetail() + { + bones = new UnitBoneDictionary(); + foreach(EUnitBone e in Enum.GetValues(typeof(EUnitBone))) + { + bones.Add(e, null); + } + } + + public Transform GetBone(EUnitBone bone) + { + if (bones.ContainsKey(bone)) + return bones[bone]; + return null; + } + + public bool HasBone(EUnitBone bone) + { + return bones.ContainsKey(bone); + } + +}
\ No newline at end of file |