diff options
author | chai <chaifix@163.com> | 2022-04-20 12:33:00 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2022-04-20 12:33:00 +0800 |
commit | 0f563fdc6874ee39713303ba457a05693fb08fa1 (patch) | |
tree | e5f54aa33300769295de1c5c2b9d7a3567545278 /AlienSurvival/Assets/Scripts/Physics/TopDownTransform.cs | |
parent | 69dc6fa1115b96709daab8484e99c467c57a8852 (diff) |
*topdown transform
Diffstat (limited to 'AlienSurvival/Assets/Scripts/Physics/TopDownTransform.cs')
-rw-r--r-- | AlienSurvival/Assets/Scripts/Physics/TopDownTransform.cs | 115 |
1 files changed, 0 insertions, 115 deletions
diff --git a/AlienSurvival/Assets/Scripts/Physics/TopDownTransform.cs b/AlienSurvival/Assets/Scripts/Physics/TopDownTransform.cs deleted file mode 100644 index d93a453..0000000 --- a/AlienSurvival/Assets/Scripts/Physics/TopDownTransform.cs +++ /dev/null @@ -1,115 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -#if UNITY_EDITOR -using UnityEditor; -#endif - -/// <summary> -/// 用于TopDown的Transform,支持模拟垂直高度 -/// </summary> -[ExecuteInEditMode] -[RequireComponent(typeof(Transform))] -public class TopDownTransform : MonoBehaviour -{ - // 右手系 - // z - // | - // | /y - // | / - // |/______x - - // x, y, z ( z = height) - [SerializeField] private Vector3 m_LocalPosition; - - // 只能绕一个虚拟轴旋转 - [SerializeField] private float m_LocalRotation; - - // x, z - [SerializeField] private Vector2 m_LocalScale; - - public float x - { - get - { - return m_LocalPosition.x; - } - set - { - m_LocalPosition.x = value; - Project(); - } - } - public float y - { - get - { - return m_LocalPosition.y; - } - set - { - m_LocalPosition.y = value; - Project(); - } - } - - public float z - { - get - { - return m_LocalPosition.z; - } - set - { - m_LocalPosition.z = value; - Project(); - } - } - /// <summary> - /// “投影”,把坐标转换到Transform上 - /// </summary> - public void Project() - { - Vector3 pos = transform.position; - pos.x = m_LocalPosition.x; - pos.y = m_LocalPosition.y + m_LocalPosition.z; - - transform.position = pos; - } - - private void Update() - { - Project(); - } - - public Vector3 Get3DPosition() - { - Vector3 pos = new Vector3(); - pos.x = m_LocalPosition.x; - pos.y = m_LocalPosition.y + m_LocalPosition.z; - pos.z = transform.position.z; - return pos; - } - - public Vector3 GetGround3DPosition() - { - Vector3 pos = new Vector3(); - pos.x = m_LocalPosition.x; - pos.y = m_LocalPosition.y ; - pos.z = transform.position.z; - return pos; - } - -#if UNITY_EDITOR - private void OnDrawGizmos() - { - // dash line - Vector3 start = transform.position; - Vector3 end = start - new Vector3(0, m_LocalPosition.z, 0); - - Handles.DrawDottedLine(start, end, 1f); - Handles.DrawWireCube(end, new Vector3(0.1f, 0.1f, 0f)); - } -#endif - -}
\ No newline at end of file |