diff options
Diffstat (limited to 'Erika/Assets/Scripts/Unit/Action')
6 files changed, 111 insertions, 0 deletions
diff --git a/Erika/Assets/Scripts/Unit/Action/WaitForActionReachEnd.cs b/Erika/Assets/Scripts/Unit/Action/WaitForActionReachEnd.cs new file mode 100644 index 00000000..771e946b --- /dev/null +++ b/Erika/Assets/Scripts/Unit/Action/WaitForActionReachEnd.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class WaitForActionReachEnd : IEnumerator +{ + UnitAnimation m_UnitAnimation; + int m_Layer;
+
+ public WaitForActionReachEnd(UnitAnimation unitAnim, int layer = 0) + { + m_UnitAnimation = unitAnim; + m_Layer = layer; + } + + public object Current => null; + + public bool MoveNext() + { + var layer = m_UnitAnimation.layers[m_Layer]; + return layer.playbackNormalizedTime < 1f; + } + + public void Reset() + { + } +} diff --git a/Erika/Assets/Scripts/Unit/Action/WaitForActionReachEnd.cs.meta b/Erika/Assets/Scripts/Unit/Action/WaitForActionReachEnd.cs.meta new file mode 100644 index 00000000..d687ea23 --- /dev/null +++ b/Erika/Assets/Scripts/Unit/Action/WaitForActionReachEnd.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b4bf8dd0e94ed6543a91f6d3563d6dcb +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Erika/Assets/Scripts/Unit/Action/WaitForLanding.cs b/Erika/Assets/Scripts/Unit/Action/WaitForLanding.cs new file mode 100644 index 00000000..5c9736ac --- /dev/null +++ b/Erika/Assets/Scripts/Unit/Action/WaitForLanding.cs @@ -0,0 +1,25 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class WaitForLanding : IEnumerator +{
+ UnitController controller;
+
+ public WaitForLanding(UnitController controller)
+ {
+ this.controller = controller;
+ }
+
+ public object Current => null;
+
+ public bool MoveNext()
+ { + return controller.isInAir;
+ }
+
+ public void Reset()
+ {
+ } +} diff --git a/Erika/Assets/Scripts/Unit/Action/WaitForLanding.cs.meta b/Erika/Assets/Scripts/Unit/Action/WaitForLanding.cs.meta new file mode 100644 index 00000000..5098bc64 --- /dev/null +++ b/Erika/Assets/Scripts/Unit/Action/WaitForLanding.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a8352853e3875584bb29bdcff4d9a586 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Erika/Assets/Scripts/Unit/Action/WaitForTransitionDone.cs b/Erika/Assets/Scripts/Unit/Action/WaitForTransitionDone.cs new file mode 100644 index 00000000..82f3e792 --- /dev/null +++ b/Erika/Assets/Scripts/Unit/Action/WaitForTransitionDone.cs @@ -0,0 +1,25 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class WaitForTransitionDone : IEnumerator +{
+ UnitAnimation m_UnitAnimation;
+
+ public WaitForTransitionDone(UnitAnimation unitAnim)
+ {
+ m_UnitAnimation = unitAnim;
+ }
+
+ public object Current => null;
+
+ public bool MoveNext()
+ { + return m_UnitAnimation.isInTransition;
+ }
+
+ public void Reset()
+ {
+ } +} diff --git a/Erika/Assets/Scripts/Unit/Action/WaitForTransitionDone.cs.meta b/Erika/Assets/Scripts/Unit/Action/WaitForTransitionDone.cs.meta new file mode 100644 index 00000000..54f35f87 --- /dev/null +++ b/Erika/Assets/Scripts/Unit/Action/WaitForTransitionDone.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 1729935affb1cc14c839545a43360dcb +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: |