Bladeren bron

修复紫魂使用不消耗数量问题

LAPTOP-OM1V99U2\永远de小亡灵 1 jaar geleden
bovenliggende
commit
135d32bacf

+ 7 - 12
ActionTowerDefense/Assets/Scripts/PlayerController.cs

@@ -616,32 +616,27 @@ public class PlayerController : MoveCharacter
                 {
                     for (int i = 0; i < 3; i++)
                     {
-                        if(spirits.ownSpirits[i] == spirits.currentSpirit) {
-                            if(spirits.ultimateTimes[i] == 1)
-                            {
-                                spirits.hasSpirits -= 1;
-                            }
-                            else
-                            {
-                                spirits.ultimateTimes[i] -= 1;
-                            }
+                        if(spirits.ownSpirits[i] == spirits.currentSpirit) 
+                        {
+                            spirits.ultimateTimes[i] -= 1;
                             break;
                         }
                     }
                     switch (playerId)
                     {
                         case 0:
-                            SpiritSystem.isSelect1 = true;
+                            //SpiritSystem.isSelect1 = true;
+                            SpiritSystem.isEndtran1 = true;
                             break;
                         case 1:
-                            SpiritSystem.isSelect2 = true;
+                            //SpiritSystem.isSelect2 = true;
+                            SpiritSystem.isEndtran2 = true;
                             break;
                         default:
                             break;
                     }
                     //Transfiguration((int)spirits.currentSpirit + 3);
                     Summon((int)spirits.currentSpirit + 3);
-                   
                 }
             }
             else

+ 44 - 28
ActionTowerDefense/Assets/Scripts/Spirits/Base_Spirits/SpiritSystem.cs

@@ -236,44 +236,59 @@ public class SpiritSystem : MonoBehaviour
         switch (id)
         {
             case 0:
-                if (s1.hasSpirits > 0)
+                if (s1.ultimateTimes[curCard1]==0)
                 {
-                    s1.hasSpirits--;
-                    for (int i = curCard1; i < s1.hasSpirits; i++)
+                    if (s1.hasSpirits > 0)
                     {
-                        player1cards[i].sprite = player1cards[i + 1].sprite;
-                        s1.ownSpirits[i] = s1.ownSpirits[i + 1];
-                        s1.ultimateTimes[i] = s1.ultimateTimes[i + 1];
-                        s1.hps[i] = s1.hps[i + 1];
+                        s1.hasSpirits--;
+                        for (int i = curCard1; i < s1.hasSpirits; i++)
+                        {
+                            player1cards[i].sprite = player1cards[i + 1].sprite;
+                            s1.ownSpirits[i] = s1.ownSpirits[i + 1];
+                            s1.ultimateTimes[i] = s1.ultimateTimes[i + 1];
+                            s1.hps[i] = s1.hps[i + 1];
+                        }
+                        tranHp1 = s1.hps[0];
+                        player1cards[s1.hasSpirits].sprite = NoneHead;
+                        s1.ownSpirits[s1.hasSpirits] = Spirits.SpiritType.None;
+                        s1.currentSpirit = s1.ownSpirits[0];
+                        choose1.transform.position = player1cards[0].transform.position;
+                        P1nums[s1.hasSpirits].gameObject.SetActive(false);
+                        curCard1 = 0;
                     }
-                    tranHp1 = s1.hps[0];
-                    player1cards[s1.hasSpirits].sprite = NoneHead;
-                    s1.ownSpirits[s1.hasSpirits] = Spirits.SpiritType.None;
-                    s1.currentSpirit = s1.ownSpirits[0];
-                    choose1.transform.position = player1cards[0].transform.position;
-                    P1nums[s1.hasSpirits].gameObject.SetActive(false);
-                    curCard1 = 0;
+                }
+                else
+                {
+                    P1nums[curCard1].text = s1.ultimateTimes[curCard1].ToString();
                 }
                 break;
             case 1:
-                if (s2.hasSpirits > 0)
+                if (s2.ultimateTimes[curCard2] == 0)
                 {
-                    s2.hasSpirits--;
-                    for (int i = curCard2; i < s2.hasSpirits; i++)
+                    if (s2.hasSpirits > 0)
                     {
-                        player2cards[i].sprite = player2cards[i + 1].sprite;
-                        s2.ownSpirits[i] = s2.ownSpirits[i + 1];
-                        s2.ultimateTimes[i] = s2.ultimateTimes[i + 1];
-                        s2.hps[i] = s2.hps[i + 1];
+                        s2.hasSpirits--;
+                        for (int i = curCard2; i < s2.hasSpirits; i++)
+                        {
+                            player2cards[i].sprite = player2cards[i + 1].sprite;
+                            s2.ownSpirits[i] = s2.ownSpirits[i + 1];
+                            s2.ultimateTimes[i] = s2.ultimateTimes[i + 1];
+                            s2.hps[i] = s2.hps[i + 1];
+                        }
+                        tranHp2 = s2.hps[0];
+                        player2cards[s2.hasSpirits].sprite = NoneHead;
+                        s2.ownSpirits[s2.hasSpirits] = Spirits.SpiritType.None;
+                        s2.currentSpirit = s2.ownSpirits[0];
+                        choose2.transform.position = player2cards[0].transform.position;
+                        P2nums[s2.hasSpirits].gameObject.SetActive(false);
+                        curCard2 = 0;
                     }
-                    tranHp2 = s2.hps[0];
-                    player2cards[s2.hasSpirits].sprite = NoneHead;
-                    s2.ownSpirits[s2.hasSpirits] = Spirits.SpiritType.None;
-                    s2.currentSpirit = s2.ownSpirits[0];
-                    choose2.transform.position = player2cards[0].transform.position;
-                    P2nums[s2.hasSpirits].gameObject.SetActive(false);
-                    curCard2 = 0;
                 }
+                else
+                {
+                    P2nums[curCard2].text = s2.ultimateTimes[curCard2].ToString();
+                }
+
                 break;
             default:
                 break;
@@ -405,6 +420,7 @@ public class SpiritSystem : MonoBehaviour
 
     private void Update()
     {
+        //print(p1Spirits.ultimateTimes[curCard1]);
         if (isP1Out)
         {
             playerUIout(0);