From 22891bf59032ba88262824255a706d652031384b Mon Sep 17 00:00:00 2001 From: chai Date: Thu, 10 Mar 2022 14:07:40 +0800 Subject: * move folder --- Assets/Scripts/Unit/UnitDetail.cs | 218 -------------------------------------- 1 file changed, 218 deletions(-) delete mode 100644 Assets/Scripts/Unit/UnitDetail.cs (limited to 'Assets/Scripts/Unit/UnitDetail.cs') diff --git a/Assets/Scripts/Unit/UnitDetail.cs b/Assets/Scripts/Unit/UnitDetail.cs deleted file mode 100644 index c57b87b5..00000000 --- a/Assets/Scripts/Unit/UnitDetail.cs +++ /dev/null @@ -1,218 +0,0 @@ -using System; -using UnityEngine.Serialization; -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 { } - -public enum EUnitReferencePoint -{ - None = 0, - - Gunpoint = 1, // 枪口 - Gunpoint2, // 枪口 - - SwordTop = 20, // 剑尖端 - SwordBottom, // 剑底端 - - HitpointHead = 40, - HitpointHeadFront, - HitpointHeadBack, - HitpointNeck, - HitpointUpperBody, - HitpointUpperBodyFront, - HitpointUpperBodyBack, - HitpointLowerBody, - HitpointLowerBodyFront, - HitpointLowerBodyBack, - - GrabpointChest = 60, // 被抓取的时候的挂点 - GrabpointHead, - GrabpointLeg, - -} - -[Serializable] -public class UnitReferencePointDictionary : SerializableDictionary { } - -public enum EBodyPart -{ - Body = 0, // main body - Sword = 1, -} - -[Serializable] -public class BodyPartRenderer -{ - [SerializeField] public EBodyPart tag; - [SerializeField] public Renderer renderer; -} - -public interface IBodyRendererAgent -{ - BodyPartRenderer mainRenderer { get; } - BodyPartRenderer[] renderers { get; } -} - -public interface IBodyJointAgent -{ - UnitBoneDictionary bones { get; } - UnitReferencePointDictionary referencePoints { get; } -} - -// 角色的prefab附加数据 -// * afterimage的prefab -// * 骨骼映射 -// * 武器 -[DisallowMultipleComponent] -public class UnitDetail : MonoBehaviour, IBodyRendererAgent, IBodyJointAgent -{ - public bool showGizmos; - - [FormerlySerializedAs("root")] - public Transform rootBone; - - [Tooltip("残影用的prefab")] - public string afterImageAvatarPath; - - [Tooltip("Snapshot用的prefab")] - public string snapshotAvatarPath; - - UnitBoneDictionary IBodyJointAgent.bones { get { return m_Bones; } } - [FormerlySerializedAs("bones")] - public UnitBoneDictionary m_Bones; - - UnitReferencePointDictionary IBodyJointAgent.referencePoints { get { return m_ReferencePoints; } } - [FormerlySerializedAs("referencePoints")] - public UnitReferencePointDictionary m_ReferencePoints; - - public float snapshotBound; - - BodyPartRenderer IBodyRendererAgent.mainRenderer { get { return m_MainRenderer; } } - [SerializeField] private BodyPartRenderer m_MainRenderer; - BodyPartRenderer[] IBodyRendererAgent.renderers { get { return m_Renderers; } } - [SerializeField] private BodyPartRenderer[] m_Renderers; - - public Vector3 center - { - get - { - if (m_MainRenderer == null || m_MainRenderer.renderer == null) - return Vector3.zero ; - return m_MainRenderer.renderer.bounds.center; - } - } - - public UnitDetail() - { - m_Bones = new UnitBoneDictionary(); - foreach(EUnitBone e in Enum.GetValues(typeof(EUnitBone))) - { - m_Bones.Add(e, null); - } - } - - public Transform GetBone(EUnitBone bone) - { - if (m_Bones.ContainsKey(bone)) - return m_Bones[bone]; - return null; - } - - public bool HasBone(EUnitBone bone) - { - return m_Bones.ContainsKey(bone); - } - - private void OnDrawGizmos() - { - if (!showGizmos) - return; - Gizmos.DrawWireCube(center, new Vector3(snapshotBound, snapshotBound, 0)); - } - - IEnumerator GetRenderers() - { - for(int i = 0; i < m_Renderers.Length; ++i) - { - yield return m_Renderers[i].renderer; - } - } - -} \ No newline at end of file -- cgit v1.1-26-g67d0