summaryrefslogtreecommitdiff
path: root/Assets/Scripts/Unit
diff options
context:
space:
mode:
Diffstat (limited to 'Assets/Scripts/Unit')
-rw-r--r--Assets/Scripts/Unit/Collider/ColliderBox.cs24
-rw-r--r--Assets/Scripts/Unit/Collider/ColliderData.cs11
-rw-r--r--Assets/Scripts/Unit/Collider/ColliderDifferentiationAttribute.cs14
-rw-r--r--Assets/Scripts/Unit/Collider/ColliderDifferentiationAttribute.cs.meta11
-rw-r--r--Assets/Scripts/Unit/Events/Editor/AnimationDataInspector.cs26
5 files changed, 67 insertions, 19 deletions
diff --git a/Assets/Scripts/Unit/Collider/ColliderBox.cs b/Assets/Scripts/Unit/Collider/ColliderBox.cs
index 5bbce427..9bf2628d 100644
--- a/Assets/Scripts/Unit/Collider/ColliderBox.cs
+++ b/Assets/Scripts/Unit/Collider/ColliderBox.cs
@@ -3,13 +3,17 @@ using System.Collections;
using System.Collections.Generic;
using UnityEngine;
+[Serializable]
public class ColliderBox
{
+ // pivot
public enum Pivot
{
MiddleBottom = 0,
MiddleCenter = 1,
}
+
+ // 分化为不同的collider类型
public enum EColliderType
{
HitBox,
@@ -18,8 +22,22 @@ public class ColliderBox
BlockBox,
DefendBox,
}
+
+ [DisallowModifiyInGUI]
public EColliderType type;
- public Vector3 position;
- public Vector3 size;
- public bool active;
+ [DisallowModifiyInGUI]
+ public Pivot pivot;
+
+ #region Hurtbox
+ [ColliderType(EColliderType.HurtBox)]
+ public bool useGravity;
+ #endregion
+
+ #region Hitbox
+ [ColliderType(EColliderType.HitBox)]
+ public Vector3 hitBack;
+ [ColliderType(EColliderType.HitBox)]
+ public bool multiHit;
+ #endregion
+
} \ No newline at end of file
diff --git a/Assets/Scripts/Unit/Collider/ColliderData.cs b/Assets/Scripts/Unit/Collider/ColliderData.cs
index ad4df73f..ad3b7326 100644
--- a/Assets/Scripts/Unit/Collider/ColliderData.cs
+++ b/Assets/Scripts/Unit/Collider/ColliderData.cs
@@ -22,17 +22,20 @@ public class ColliderData
public Vector3 size;
}
- public ColliderBox.EColliderType type;
+ public ColliderBox.EColliderType type { get { return collider.type; } }
+ public ColliderBox.Pivot pivot { get { return collider.pivot; } }
- public ColliderBox.Pivot pivot;
+ public ColliderBox collider;
public List<ColliderFrame> frames;
public ColliderData(ColliderBox.EColliderType type, ColliderBox.Pivot pivot)
{
- this.type = type;
- this.pivot = pivot;
this.frames = new List<ColliderFrame>();
+ if (collider == null)
+ collider = new ColliderBox();
+ collider.type = type;
+ collider.pivot = pivot;
}
public ColliderInfo GetColliderInfo(float frame)
diff --git a/Assets/Scripts/Unit/Collider/ColliderDifferentiationAttribute.cs b/Assets/Scripts/Unit/Collider/ColliderDifferentiationAttribute.cs
new file mode 100644
index 00000000..7d634b93
--- /dev/null
+++ b/Assets/Scripts/Unit/Collider/ColliderDifferentiationAttribute.cs
@@ -0,0 +1,14 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class ColliderTypeAttribute : Attribute
+{
+ public ColliderTypeAttribute(ColliderBox.EColliderType type)
+ {
+ this.type = type;
+ }
+
+ public ColliderBox.EColliderType type;
+}
diff --git a/Assets/Scripts/Unit/Collider/ColliderDifferentiationAttribute.cs.meta b/Assets/Scripts/Unit/Collider/ColliderDifferentiationAttribute.cs.meta
new file mode 100644
index 00000000..73ff8d73
--- /dev/null
+++ b/Assets/Scripts/Unit/Collider/ColliderDifferentiationAttribute.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 9aa9fd1fcb8a10341bbf8b8fdeb54599
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Scripts/Unit/Events/Editor/AnimationDataInspector.cs b/Assets/Scripts/Unit/Events/Editor/AnimationDataInspector.cs
index 0787e74f..1ca321c8 100644
--- a/Assets/Scripts/Unit/Events/Editor/AnimationDataInspector.cs
+++ b/Assets/Scripts/Unit/Events/Editor/AnimationDataInspector.cs
@@ -20,18 +20,20 @@ public class AnimationDataEditor : Editor
public override void OnInspectorGUI()
{
- if (animData == null)
- return;
- EditorGUI.BeginChangeCheck();
-
- GUILayout.Label("Animation File:");
- GUILayout.TextField(animData.animationName);
-
- if(EditorGUI.EndChangeCheck())
- {
- EditorUtility.SetDirty(animData);
- AssetDatabase.SaveAssets();
- }
+ this.DrawDefaultInspector();
+
+ //if (animData == null)
+ // return;
+ //EditorGUI.BeginChangeCheck();
+
+ //GUILayout.Label("Animation File:");
+ //GUILayout.TextField(animData.animationName);
+
+ //if(EditorGUI.EndChangeCheck())
+ //{
+ // EditorUtility.SetDirty(animData);
+ // AssetDatabase.SaveAssets();
+ //}
}
}