summaryrefslogtreecommitdiff
path: root/Assets/Scripts/Physics/PhysicsPrimitive.cs
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2020-10-15 19:05:22 +0800
committerchai <chaifix@163.com>2020-10-15 19:05:22 +0800
commitf049177e20a276049c61edbad631c1b2bbdd5706 (patch)
tree7d1a1cd9b690a5d9a8b9a65554a191d6ec769601 /Assets/Scripts/Physics/PhysicsPrimitive.cs
parent6990a0d1fbdcbbf404f40713363ac1a148c8840a (diff)
-advanced inspector
+odin
Diffstat (limited to 'Assets/Scripts/Physics/PhysicsPrimitive.cs')
-rw-r--r--Assets/Scripts/Physics/PhysicsPrimitive.cs46
1 files changed, 34 insertions, 12 deletions
diff --git a/Assets/Scripts/Physics/PhysicsPrimitive.cs b/Assets/Scripts/Physics/PhysicsPrimitive.cs
index 0d285fd3..99549db3 100644
--- a/Assets/Scripts/Physics/PhysicsPrimitive.cs
+++ b/Assets/Scripts/Physics/PhysicsPrimitive.cs
@@ -2,34 +2,53 @@
using System.Collections.Generic;
using UnityEngine;
+public enum PrimitiveType
+{
+ None,
+ Ball,
+ Box
+}
+
/// <summary>
/// 物理碰撞体基类
-/// 只需要Box和Ball两种
+/// 对于格斗游戏来说只需要Box和Ball两种
/// </summary>
public abstract class PhysicsPrimitive : MonoBehaviour
{
- [SerializeField]
+ public virtual PrimitiveType Type
+ {
+ get
+ {
+ return PrimitiveType.None;
+ }
+ }
+
/// <summary>
- /// 这个primitive是否参与物理计算,用来快速给物体取消和恢复重力影响
+ /// 世界坐标,物理模拟是在世界空间,本地坐标没有意义
/// </summary>
- protected bool m_IsActive;
- public bool IsActive
+ public Vector3 Position
{
get
{
- return m_IsActive;
+ return transform.TransformPoint(m_Center);
}
}
/// <summary>
- /// 这个primitive所属的物体
+ /// 中心点在本地空间的位置
/// </summary>
- protected Transform m_Parent;
- public Transform Parent
+ public Vector3 m_Center;
+
+ [SerializeField]
+ /// <summary>
+ /// 这个primitive是否参与物理计算,用来快速给物体取消和恢复重力影响
+ /// </summary>
+ protected bool m_IsActive;
+ public bool IsActive
{
get
{
- return m_Parent;
+ return m_IsActive;
}
}
@@ -65,7 +84,6 @@ public abstract class PhysicsPrimitive : MonoBehaviour
}
}
-
[SerializeField]
protected string m_Title;
public string Title
@@ -92,11 +110,15 @@ public abstract class PhysicsPrimitive : MonoBehaviour
protected void OnInit()
{
m_ID = UIDManager.Acquire();
- m_Parent = transform;
}
protected Color Color_Green = new Color(0,1, 0, 0.5f);
[SerializeField]
protected Color m_HintColor = new Color(0, 0, 0, 0.5f);
+
+ [Tooltip("Physics body, leave blank and primitive will be static.")]
+ [SerializeField]
+ protected PhysicsBody m_Body;
+
} \ No newline at end of file