diff options
Diffstat (limited to 'Erika/Assets/Scripts/Unit/Collider/ColliderData.cs')
-rw-r--r-- | Erika/Assets/Scripts/Unit/Collider/ColliderData.cs | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/Erika/Assets/Scripts/Unit/Collider/ColliderData.cs b/Erika/Assets/Scripts/Unit/Collider/ColliderData.cs index 58743aff..719efa76 100644 --- a/Erika/Assets/Scripts/Unit/Collider/ColliderData.cs +++ b/Erika/Assets/Scripts/Unit/Collider/ColliderData.cs @@ -6,6 +6,7 @@ using UnityEngine; // 用来返回某一时刻的碰撞盒几何数据
public struct ColliderInfo
{
+ public int uid; // 唯一编号(非索引号),保证唯一性
public bool active;
public float frame;
public Vector3 position;
@@ -22,6 +23,9 @@ public struct ColliderInfo [Serializable]
public class ColliderData
{
+ /// <summary>
+ /// 帧数据
+ /// </summary>
[Serializable]
public class ColliderFrame
{
@@ -36,6 +40,7 @@ public class ColliderData public ColliderBox collider;
+ // 关键帧
public List<ColliderFrame> frames;
public ColliderData(ColliderBox.EColliderType type, ColliderBox.Pivot pivot)
@@ -43,6 +48,7 @@ public class ColliderData this.frames = new List<ColliderFrame>();
if (collider == null)
collider = new ColliderBox();
+ collider.uid = CommonFunction.GetUUID();
collider.type = type;
collider.pivot = pivot;
}
@@ -50,6 +56,7 @@ public class ColliderData public ColliderInfo GetColliderInfo(float frame)
{
ColliderInfo info = new ColliderInfo();
+ info.uid = collider.uid;
info.active = false; // default
info.collider = collider;
info.frame = frame;
|