Pārlūkot izejas kodu

修改字不消失的bug

SZAND\msx_2 6 mēneši atpakaļ
vecāks
revīzija
5ac6cb9e99
1 mainītis faili ar 11 papildinājumiem un 12 dzēšanām
  1. 11 12
      ActionTowerDefense/Assets/Scripts/Characters/Character.cs

+ 11 - 12
ActionTowerDefense/Assets/Scripts/Characters/Character.cs

@@ -93,6 +93,7 @@ public class Character : MonoBehaviour
     public GameObject statePre;
     private GameObject curStateObj;
     private TextMeshProUGUI stateText;
+    private float pastWordTime;
 
     [Header("ËřťęËţ")]
     public LockSoul ls;
@@ -156,6 +157,15 @@ public class Character : MonoBehaviour
 
     public virtual void OnState()
     {
+        if (pastWordTime > 0)
+        {
+            pastWordTime -= Time.deltaTime;
+            if (pastWordTime <= 0)
+            {
+                curStateObj.SetActive(false);
+                pastWordTime = 0;
+            }
+        }
     }
 
     public virtual void ChangeState(CharacterState newState)
@@ -194,7 +204,6 @@ public class Character : MonoBehaviour
             }
         }
 
-
         uiHp.Show(hp, totalHp);
         if (hp <= 0)
         {
@@ -210,7 +219,6 @@ public class Character : MonoBehaviour
         {
             return;
         }
-
     }
 
     public virtual Vector3 GetMoveDir()
@@ -263,10 +271,7 @@ public class Character : MonoBehaviour
             curStateObj = Instantiate(statePre, transform);
             stateText = curStateObj.GetComponentInChildren<TextMeshProUGUI>();
         }
-        if (curStateObj.activeSelf)
-        {
-            CancelInvoke();
-        }
+        pastWordTime += 0.5f;
         switch (state)
         {
             case CharacterState.SpecialStatus_Float:
@@ -286,11 +291,5 @@ public class Character : MonoBehaviour
                 break;
         }
         curStateObj.SetActive(true);
-        Invoke("TextDisappear", 0.5f);
-    }
-
-    private void TextDisappear()
-    {
-        curStateObj.SetActive(false);
     }
 }