diff options
Diffstat (limited to 'Assets/Scripts/Unit')
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();
+ //}
}
}
|