summaryrefslogtreecommitdiff
path: root/SurvivalTest/Assets/Scripts/Test/TestTopDown2DTransform.cs
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2022-04-22 19:24:15 +0800
committerchai <chaifix@163.com>2022-04-22 19:24:15 +0800
commitded822e98e8eda49618d17e53407b0df1896e539 (patch)
treed7f09eafe52f7adb948889e459e900c360dbbdec /SurvivalTest/Assets/Scripts/Test/TestTopDown2DTransform.cs
parentc7de0419a8924ae7333bcaed39e797d7c9fc1e69 (diff)
* rename AlienSurvival project to SurvivalTest
Diffstat (limited to 'SurvivalTest/Assets/Scripts/Test/TestTopDown2DTransform.cs')
-rw-r--r--SurvivalTest/Assets/Scripts/Test/TestTopDown2DTransform.cs78
1 files changed, 78 insertions, 0 deletions
diff --git a/SurvivalTest/Assets/Scripts/Test/TestTopDown2DTransform.cs b/SurvivalTest/Assets/Scripts/Test/TestTopDown2DTransform.cs
new file mode 100644
index 0000000..acfac68
--- /dev/null
+++ b/SurvivalTest/Assets/Scripts/Test/TestTopDown2DTransform.cs
@@ -0,0 +1,78 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class TestTopDown2DTransform : MonoBehaviour
+{
+ public bool useGravity = false;
+
+ public Vector3 position // x, y, h
+ {
+ get
+ {
+ Vector3 topdownPos = transform.position;
+ topdownPos.y -= h;
+ topdownPos.z = h;
+ return topdownPos;
+ }
+ set
+ {
+ h = value.z;
+ Vector3 realPos = transform.position;
+ realPos.y = value.y + h;
+ transform.position = realPos;
+ }
+ }
+
+ public float x
+ {
+ get
+ {
+ return position.x;
+ }
+ }
+
+ public float y
+ {
+ get
+ {
+ return position.y;
+ }
+ }
+
+ public float h = 0;
+
+ public float z
+ {
+ get
+ {
+ return transform.position.z;
+ }
+ }
+
+ public float depth
+ {
+ get
+ {
+ return this.z;
+ }
+ }
+
+ private float vy = 0;
+
+ private void Update()
+ {
+ if (useGravity)
+ {
+ Vector3 pos = position;
+ vy += -9.8f * Time.deltaTime;
+ pos.z = Mathf.Max(pos.z + vy * Time.deltaTime, 0f);
+ if(pos.z == 0)
+ {
+ vy = 0;
+ }
+ position = pos;
+ }
+ }
+
+}