summaryrefslogtreecommitdiff
path: root/AlienSurvival/Assets/Scripts/Physics/TopDownTransform.cs
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2022-04-20 12:33:00 +0800
committerchai <chaifix@163.com>2022-04-20 12:33:00 +0800
commit0f563fdc6874ee39713303ba457a05693fb08fa1 (patch)
treee5f54aa33300769295de1c5c2b9d7a3567545278 /AlienSurvival/Assets/Scripts/Physics/TopDownTransform.cs
parent69dc6fa1115b96709daab8484e99c467c57a8852 (diff)
*topdown transform
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