summaryrefslogtreecommitdiff
path: root/AlienSurvival/Assets/Scripts/Physics/TopDownTransform.cs
diff options
context:
space:
mode:
Diffstat (limited to 'AlienSurvival/Assets/Scripts/Physics/TopDownTransform.cs')
-rw-r--r--AlienSurvival/Assets/Scripts/Physics/TopDownTransform.cs115
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