Forráskód Böngészése

刺客内容冲突

SZAND\msx_2 1 éve
szülő
commit
ddec52ec57

+ 1 - 1
ActionTowerDefense/Assets/Resources/Prefab/ESpirits_Cook.prefab

@@ -339,7 +339,7 @@ MonoBehaviour:
   activeAniTime: 1.3
   larger: 1.2
   lockEffect: {fileID: 2123904437201259524, guid: 24cf2b33715a9e04b9aabcb789c31067, type: 3}
-  cookTime: 0.967
+  cookTime: 2
 --- !u!1 &3483054690158852324
 GameObject:
   m_ObjectHideFlags: 0

+ 72 - 3
ActionTowerDefense/Assets/Resources/Spine/Spirits_Cook/Spirits_Cook_Controller.controller

@@ -86,6 +86,28 @@ AnimationClip:
   m_HasGenericRootTransform: 0
   m_HasMotionFloatCurves: 0
   m_Events: []
+--- !u!1101 &-7507905662058306646
+AnimatorStateTransition:
+  m_ObjectHideFlags: 1
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: 
+  m_Conditions: []
+  m_DstStateMachine: {fileID: 0}
+  m_DstState: {fileID: 1241843281395438793}
+  m_Solo: 0
+  m_Mute: 0
+  m_IsExit: 0
+  serializedVersion: 3
+  m_TransitionDuration: 0.25
+  m_TransitionOffset: 0
+  m_ExitTime: 0.92499924
+  m_HasExitTime: 1
+  m_HasFixedDuration: 1
+  m_InterruptionSource: 0
+  m_OrderedInterruption: 1
+  m_CanTransitionToSelf: 1
 --- !u!1102 &-7312835209507622128
 AnimatorState:
   serializedVersion: 6
@@ -122,7 +144,8 @@ AnimatorState:
   m_Name: attack_summon
   m_Speed: 1
   m_CycleOffset: 0
-  m_Transitions: []
+  m_Transitions:
+  - {fileID: -7507905662058306646}
   m_StateMachineBehaviours: []
   m_Position: {x: 50, y: 50, z: 0}
   m_IKOnFeet: 0
@@ -320,7 +343,8 @@ AnimatorState:
   m_Name: fall_end
   m_Speed: 1
   m_CycleOffset: 0
-  m_Transitions: []
+  m_Transitions:
+  - {fileID: -3092462060419018639}
   m_StateMachineBehaviours: []
   m_Position: {x: 50, y: 50, z: 0}
   m_IKOnFeet: 0
@@ -336,6 +360,50 @@ AnimatorState:
   m_MirrorParameter: 
   m_CycleOffsetParameter: 
   m_TimeParameter: 
+--- !u!1101 &-3121004813010207201
+AnimatorStateTransition:
+  m_ObjectHideFlags: 1
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: 
+  m_Conditions: []
+  m_DstStateMachine: {fileID: 0}
+  m_DstState: {fileID: 1241843281395438793}
+  m_Solo: 0
+  m_Mute: 0
+  m_IsExit: 0
+  serializedVersion: 3
+  m_TransitionDuration: 0.25
+  m_TransitionOffset: 0
+  m_ExitTime: 0.7413882
+  m_HasExitTime: 1
+  m_HasFixedDuration: 1
+  m_InterruptionSource: 0
+  m_OrderedInterruption: 1
+  m_CanTransitionToSelf: 1
+--- !u!1101 &-3092462060419018639
+AnimatorStateTransition:
+  m_ObjectHideFlags: 1
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: 
+  m_Conditions: []
+  m_DstStateMachine: {fileID: 0}
+  m_DstState: {fileID: 1241843281395438793}
+  m_Solo: 0
+  m_Mute: 0
+  m_IsExit: 0
+  serializedVersion: 3
+  m_TransitionDuration: 0.25
+  m_TransitionOffset: 0
+  m_ExitTime: 0.6250187
+  m_HasExitTime: 1
+  m_HasFixedDuration: 1
+  m_InterruptionSource: 0
+  m_OrderedInterruption: 1
+  m_CanTransitionToSelf: 1
 --- !u!1102 &-2150709281473086400
 AnimatorState:
   serializedVersion: 6
@@ -862,7 +930,8 @@ AnimatorState:
   m_Name: attack_march
   m_Speed: 1
   m_CycleOffset: 0
-  m_Transitions: []
+  m_Transitions:
+  - {fileID: -3121004813010207201}
   m_StateMachineBehaviours: []
   m_Position: {x: 50, y: 50, z: 0}
   m_IKOnFeet: 0

+ 1 - 0
ActionTowerDefense/Assets/Scripts/Character.cs

@@ -27,6 +27,7 @@ public enum CharacterState
     ReadyToDownRush = 18,   //袧掘邈華喳棧
     DownRush = 19,  //邈華喳棧
     FinishRush = 20,    //賦旰喳棧
+    Coma = 21,      //餉譎
 }
 
 public enum AttackType

+ 7 - 0
ActionTowerDefense/Assets/Scripts/Enemy.cs

@@ -372,6 +372,8 @@ public class Enemy : MoveCharacter
                     break;
                 }
                 break;
+            case CharacterState.Coma:
+                break;
             case CharacterState.FindPlayer:
                 if (!foot.TrigGround && !canFly)
                 {
@@ -500,6 +502,8 @@ public class Enemy : MoveCharacter
                 break;
             case CharacterState.Weak:
                 break;
+            case CharacterState.Coma:
+                break;
             case CharacterState.FindPlayer:
                 noOnSearchState = false;
                 rb.velocity = Vector3.zero;
@@ -565,6 +569,9 @@ public class Enemy : MoveCharacter
                 hurtKeepTime = minHurtKeepTime;
                 //ani.Play("Invincible", 2, 0);
                 break;
+            case CharacterState.Coma:
+                ani.Play("Coma", 0, 0);
+                break;
             case CharacterState.Attack:
                 break;
             case CharacterState.Die:

+ 21 - 34
ActionTowerDefense/Assets/Scripts/Spirits/ESpirits_Cook.cs

@@ -31,8 +31,8 @@ public class ESpirits_Cook : MonoBehaviour
 
     private Enemy ene;              //厨子的enemy脚本
 
-    private bool once = false;      //死一次
-    private bool die = false;       //厨子命尽
+    //private bool once = false;      //死一次
+    //private bool die = false;       //厨子命尽
     //private bool toCatch = false;   //没串了去抓人
     private bool isRunning = false; //开跑
 
@@ -60,12 +60,11 @@ public class ESpirits_Cook : MonoBehaviour
     public enum cookState
     {
         sell = 0,
-        walk = 1,
-        find = 2,
-        run = 3,
+        run = 1,
+        seize = 2,  //抓住
+        back = 3,
         cook = 4,
-        back = 5,
-        first = 6,  //刚出生
+        first = 5,  //刚出生
     }
 
     private cookState state;
@@ -95,7 +94,7 @@ public class ESpirits_Cook : MonoBehaviour
     private void OnTriggerEnter(Collider other)
     {
         //路过发串
-        if (state == cookState.sell && !die && (other.gameObject.layer == 7 || other.gameObject.layer == 8 || other.gameObject.layer == 6))
+        if (state == cookState.sell && (other.gameObject.layer == 7 || other.gameObject.layer == 8 || other.gameObject.layer == 6))
         {
             if (!isInterval && chuan > 0)
             {
@@ -113,36 +112,37 @@ public class ESpirits_Cook : MonoBehaviour
                     //Instantiate(effect, ga.transform.position, new Quaternion(0, 0, 0, 0), ga.transform);
                     if (chuan == 0)
                     {
+                        ani.Play("charge", 0, 0);
                         //toCatch = true;
-                        ChangeState(cookState.walk);
+                        ChangeState(cookState.run);
                     }
                 }
             }
         }
         //抓人
-        else if (state == cookState.run || state == cookState.find || state == cookState.walk && !once)
+        else if (state == cookState.run)
         {
             if (other.gameObject.layer == 6 || other.gameObject.layer == 7)
             {
                 food = other.transform.parent.parent.parent.gameObject;
                 if (food.layer == 7 && !food.GetComponent<Demonic>().isDie)
                 {
-                    food.GetComponent<Demonic>().ChangeState(CharacterState.Die);
+                    food.GetComponent<Demonic>().ChangeState(CharacterState.Coma);
                     //cookKillEffect.SetActive(true);
-                    ChangeState(cookState.cook);
+                    ChangeState(cookState.seize);
                 }
                 else if (food.layer == 6 && !food.GetComponent<PlayerController>().isDie)
                 {
-                    food.GetComponent<PlayerController>().ChangeState(CharacterState.Die);
+                    food.GetComponent<PlayerController>().ChangeState(CharacterState.Coma);
                     //cookKillEffect.SetActive(true);
-                    ChangeState(cookState.cook);
+                    ChangeState(cookState.seize);
                 }
                 chuan = food.GetComponent<Character>().cookNum;
                 text.text = chuan.ToString();
             }
         }
         //回家卖串
-        else if (state == cookState.back && !die && other.gameObject.layer == 8)
+        else if (state == cookState.back && other.gameObject.layer == 8)
         {
             ChangeState(cookState.sell);
         }
@@ -163,10 +163,9 @@ public class ESpirits_Cook : MonoBehaviour
                     g.SetActive(false);
                 }
                 break;
-            //走路
-            case cookState.walk:
+            //冲刺
+            case cookState.run:
                 dia.SetActive(false);
-                //能被攻击
                 foreach (GameObject g in colliders)
                 {
                     g.SetActive(true);
@@ -174,21 +173,15 @@ public class ESpirits_Cook : MonoBehaviour
                 ene.canMove = true;
                 ene.ChangeState(CharacterState.Run);
                 break;
-            //发现目标
-            case cookState.find:
-                ene.ChangeState(CharacterState.FindPlayer);
-                break;
-            //冲刺中
-            case cookState.run:
-                foreach (GameObject g in colliders)
-                {
-                    g.SetActive(true);
-                }
+            //抓住你啦
+            case cookState.seize:
+                ene.canMove = false;
                 break;
             //鲨人中
             case cookState.cook:
                 ene.canMove = false;
                 ani.Play("attack_march", 0, 0);
+                ChangeState(cookState.sell);
                 break;
             //返回中
             case cookState.back:
@@ -289,12 +282,6 @@ public class ESpirits_Cook : MonoBehaviour
         {
             StateAct(state);
         }
-        if (die && !once)
-        {
-            once = true;
-            col.enabled = false;
-            ene.ChangeState(CharacterState.Die);
-        }
         if (isInterval)
         {
             intervalTimePast += Time.deltaTime;