Prechádzať zdrojové kódy

建筑生成表新增消失时间参数

LAPTOP-OM1V99U2\永远de小亡灵 1 rok pred
rodič
commit
1f1d315784

+ 8 - 1
ActionTowerDefense/Assets/Gen/SingleCreateBuildingConfig.cs

@@ -31,10 +31,11 @@ public sealed partial class SingleCreateBuildingConfig :  Bright.Config.BeanBase
         { var __json0 = _json["Scale"]; if(!__json0.IsArray) { throw new SerializationException(); } Scale = new System.Collections.Generic.List<float>(__json0.Count); foreach(JSONNode __e0 in __json0.Children) { float __v0;  { if(!__e0.IsNumber) { throw new SerializationException(); }  __v0 = __e0; }  Scale.Add(__v0); }   }
         { if(!_json["AttackRatio"].IsNumber) { throw new SerializationException(); }  AttackRatio = _json["AttackRatio"]; }
         { if(!_json["HPRatio"].IsNumber) { throw new SerializationException(); }  HPRatio = _json["HPRatio"]; }
+        { if(!_json["DisappearTime"].IsNumber) { throw new SerializationException(); }  DisappearTime = _json["DisappearTime"]; }
         PostInit();
     }
 
-    public SingleCreateBuildingConfig(int ID, int BuildingID, int PositionType, int Type, float Time, float RefreshBuildingHP, float DelayTime, int RefreshBuildingID, System.Collections.Generic.List<float> Position, System.Collections.Generic.List<float> Position1, System.Collections.Generic.List<float> Scale, float AttackRatio, float HPRatio ) 
+    public SingleCreateBuildingConfig(int ID, int BuildingID, int PositionType, int Type, float Time, float RefreshBuildingHP, float DelayTime, int RefreshBuildingID, System.Collections.Generic.List<float> Position, System.Collections.Generic.List<float> Position1, System.Collections.Generic.List<float> Scale, float AttackRatio, float HPRatio, float DisappearTime ) 
     {
         this.ID = ID;
         this.BuildingID = BuildingID;
@@ -49,6 +50,7 @@ public sealed partial class SingleCreateBuildingConfig :  Bright.Config.BeanBase
         this.Scale = Scale;
         this.AttackRatio = AttackRatio;
         this.HPRatio = HPRatio;
+        this.DisappearTime = DisappearTime;
         PostInit();
     }
 
@@ -109,6 +111,10 @@ public sealed partial class SingleCreateBuildingConfig :  Bright.Config.BeanBase
     /// 血量倍率
     /// </summary>
     public float HPRatio { get; private set; }
+    /// <summary>
+    /// 消失时间
+    /// </summary>
+    public float DisappearTime { get; private set; }
 
     public const int __ID__ = 2141851578;
     public override int GetTypeId() => __ID__;
@@ -138,6 +144,7 @@ public sealed partial class SingleCreateBuildingConfig :  Bright.Config.BeanBase
         + "Scale:" + Bright.Common.StringUtil.CollectionToString(Scale) + ","
         + "AttackRatio:" + AttackRatio + ","
         + "HPRatio:" + HPRatio + ","
+        + "DisappearTime:" + DisappearTime + ","
         + "}";
     }
     

+ 14 - 4
ActionTowerDefense/Assets/Scripts/EnemyCreater.cs

@@ -178,11 +178,11 @@ public class EnemyCreater : MonoBehaviour
         {
             case 0:
                 List<float> pos = singleCreateBuilding.Position.Concat(singleCreateBuilding.Position1).ToList();
-                CreatePortal(singleCreateBuilding.ID, singleCreateBuilding.BuildingID, pos, singleCreateBuilding.Scale, singleCreateBuilding.HPRatio, createTime);
+                CreatePortal(singleCreateBuilding.ID, singleCreateBuilding.BuildingID, pos, singleCreateBuilding.Scale, singleCreateBuilding.HPRatio, createTime, singleCreateBuilding.DisappearTime);
                 break;
             case 1:
                 Vector3 positon = new Vector3(singleCreateBuilding.Position[0], singleCreateBuilding.Position[1], singleCreateBuilding.Position[2]);
-                CreateEnemyTower(singleCreateBuilding.ID, singleCreateBuilding.BuildingID, singleCreateBuilding.HPRatio, singleCreateBuilding.AttackRatio, positon);
+                CreateEnemyTower(singleCreateBuilding.ID, singleCreateBuilding.BuildingID, singleCreateBuilding.HPRatio, singleCreateBuilding.AttackRatio, positon, singleCreateBuilding.DisappearTime);
                 break;
         }
     }
@@ -225,7 +225,7 @@ public class EnemyCreater : MonoBehaviour
         }
     }
 
-    public void CreateEnemyTower(int ID, int buildingID, float hpRatio, float attackRatio, Vector3 pos)
+    public void CreateEnemyTower(int ID, int buildingID, float hpRatio, float attackRatio, Vector3 pos, float disappearTime)
     {
         SingleBuildingConfig cfgBuilding = GameManager.instance.allCfgData.CfgBuilding.Get(buildingID);
         GameObject towerObj = Util.Instantiate(cfgBuilding.BuildingPrefab);
@@ -237,9 +237,14 @@ public class EnemyCreater : MonoBehaviour
         AttackInfo attackInfo = enemyTower.attack1Infos[0];
         attackInfo.damage = (int)(cfgBuilding.Attack * attackRatio);
         enemyTower.attack1Infos[0] = attackInfo;
+        if(disappearTime > 0)
+        {
+            enemyTower.haveDisappearTime = true;
+            enemyTower.disappearTime = disappearTime;
+        }
     }
 
-    public void CreatePortal(int ID, int buildingID, List<float> pos, List<float> scale, float hpRatio, float createTime)
+    public void CreatePortal(int ID, int buildingID, List<float> pos, List<float> scale, float hpRatio, float createTime, float disappearTime)
     {
         SingleBuildingConfig cfgBuilding = GameManager.instance.allCfgData.CfgBuilding.Get(buildingID);
         GameObject portalObj = Util.Instantiate(cfgBuilding.BuildingPrefab);
@@ -258,6 +263,11 @@ public class EnemyCreater : MonoBehaviour
                 portalsCreater.coreCharacter.CoreBreak();
             }
         }
+        if(disappearTime > 0)
+        {
+            portalsCreater.haveDisappearTime = true;
+            portalsCreater.disappearTime = disappearTime + createTime;
+        }
     }
 
     public void CreateEnemy(int enemyId, Vector3 pos, float hpRatio, float attackRatio)

+ 15 - 0
ActionTowerDefense/Assets/Scripts/EnemyTower.cs

@@ -6,12 +6,27 @@ using TMPro;
 public class EnemyTower : Character
 {
     public float height = 8;
+
+    public bool haveDisappearTime; //ÓÐÏûʧʱ¼ä
+    public float disappearTime;     //Ïûʧʱ¼ä
     private void Awake()
     {
         TowerMap.enemyTowers.Add(gameObject);
         Init();
     }
 
+    private void Update()
+    {
+        if (haveDisappearTime)
+        {
+            disappearTime -= Time.deltaTime;
+            if(state!=CharacterState.Die &&  disappearTime < 0)
+            {
+                ChangeState(CharacterState.Die);
+            }
+        }
+    }
+
     public bool GetAttack()
     {
         if (targetCharacter != null)

+ 16 - 0
ActionTowerDefense/Assets/Scripts/Portal/PortalsCreater.cs

@@ -27,6 +27,9 @@ public class PortalsCreater : MonoBehaviour
     public Transform portalUIParent;            //传送门出现提示UI的父物体
     public bool onlyEnemy;                      //是否只能召唤怪物
 
+    public bool haveDisappearTime;              //有消失时间
+    public float disappearTime;                 //消失时间
+
     private void Start()
     {
         coreCharacter.totalHp = totalHp;
@@ -42,6 +45,10 @@ public class PortalsCreater : MonoBehaviour
 
     private void Update()
     {
+        if (coreCharacter.isCoutDown)
+        {
+            return;
+        }
         if (createTimeCountDown > 0)
         {
             createTimeCountDown -= Time.deltaTime;
@@ -70,6 +77,14 @@ public class PortalsCreater : MonoBehaviour
                 }
             }
         }
+        if (haveDisappearTime)
+        {
+            disappearTime -= Time.deltaTime;
+            if(coreCharacter.state != CharacterState.Die && disappearTime < 0)
+            {
+                coreCharacter.CoreBreak();
+            }
+        }
     }
     public void Init(List<float> position, List<float> scale, float createTime)
     {
@@ -126,5 +141,6 @@ public class PortalsCreater : MonoBehaviour
         portalsDownUI = countDownUI.GetComponent<PortalsCountDownUI>();
         portalsDownUI.portalPos = portal[0].transform.position; 
         createTimeCountDown = createTime;
+        print(createTimeCountDown);
     }
 }

+ 2 - 45
ActionTowerDefense/GenerateDatas/json/cfgcreatebuilding.json

@@ -19,50 +19,7 @@
       1
     ],
     "AttackRatio": 1,
-    "HPRatio": 1
-  },
-  {
-    "ID": 5,
-    "BuildingID": 4,
-    "PositionType": 1,
-    "Type": 1,
-    "Time": 0,
-    "RefreshBuildingHP": 90,
-    "DelayTime": 0,
-    "RefreshBuildingID": 4,
-    "Position": [
-      30,
-      0,
-      0
-    ],
-    "Position1": [],
-    "Scale": [
-      -1,
-      1
-    ],
-    "AttackRatio": 1.5,
-    "HPRatio": 1.5
-  },
-  {
-    "ID": 6,
-    "BuildingID": 4,
-    "PositionType": 0,
-    "Type": 1,
-    "Time": 5,
-    "RefreshBuildingHP": 0,
-    "DelayTime": 0,
-    "RefreshBuildingID": 0,
-    "Position": [
-      5,
-      0,
-      0
-    ],
-    "Position1": [],
-    "Scale": [
-      -1,
-      1
-    ],
-    "AttackRatio": 2,
-    "HPRatio": 2
+    "HPRatio": 1,
+    "DisappearTime": 5
   }
 ]

+ 5 - 5
ActionTowerDefense/Luban/.cache.meta

@@ -3,18 +3,18 @@ D:/ActionTowerDefense/ActionTowerDefense/Assets/Gen/CfgCreateBuilding.cs,B422E4B
 D:/ActionTowerDefense/ActionTowerDefense/Assets/Gen/CfgCreateEnemy.cs,3A9B470F9A1FA351330EA275C82C399,1404,1720757251245
 D:/ActionTowerDefense/ActionTowerDefense/Assets/Gen/CfgEnemy.cs,FDE1CE1B09C67F343EE84B2F88F27A6,1820,1720757251245
 D:/ActionTowerDefense/ActionTowerDefense/Assets/Gen/SingleBuildingConfig.cs,E5CE78694DF91B719BA63E763E9F43B8,2416,1729935158819
-D:/ActionTowerDefense/ActionTowerDefense/Assets/Gen/SingleCreateBuildingConfig.cs,636062652FD26C232BC2CE5CCC3474,6585,1729935158819
+D:/ActionTowerDefense/ActionTowerDefense/Assets/Gen/SingleCreateBuildingConfig.cs,A5CEF7AD82D873DCD2FA861988424AD7,6940,1730206038536
 D:/ActionTowerDefense/ActionTowerDefense/Assets/Gen/SingleCreateEnemyConfig.cs,ED718E759D953241C23099CA5F9FF321,6048,1729935158819
 D:/ActionTowerDefense/ActionTowerDefense/Assets/Gen/SingleEnemyConfig.cs,F946CAF5CDD6631E3684465F8D20B27D,3662,1729935158819
 D:/ActionTowerDefense/ActionTowerDefense/Assets/Gen/Tables.cs,46193A1A6CB953DBC592AFB9672A44,1830,1729935158822
 D:/ActionTowerDefense/ActionTowerDefense/GenerateDatas/json/cfgbuilding.json,C8A0B352B2E68CD577618E26D18FA6,439,1728805809964
-D:/ActionTowerDefense/ActionTowerDefense/GenerateDatas/json/cfgcreatebuilding.json,C7FC4FC2628FE94CD1C68BDF6CFD12,1045,1729935158819
-D:/ActionTowerDefense/ActionTowerDefense/GenerateDatas/json/cfgcreateenemy.json,B6F78DC21EB387EA66F1E2EA47EB8C,8011,1729935158819
+D:/ActionTowerDefense/ActionTowerDefense/GenerateDatas/json/cfgcreatebuilding.json,BFB7876EA186D0AB2B53E9CE746E37E,374,1730207447036
+D:/ActionTowerDefense/ActionTowerDefense/GenerateDatas/json/cfgcreateenemy.json,B6F78DC21EB387EA66F1E2EA47EB8C,8011,1730207481898
 D:/ActionTowerDefense/ActionTowerDefense/GenerateDatas/json/cfgenemy.json,EF66E9D688D904D97A9405D129C5448,1457,1728805809990
 D:/ActionTowerDefense/ActionTowerDefense/Luban/Config/Datas/__beans__.xlsx,98987DA7288FEE34BCD08EA883D425E,9603,1719819418545
 D:/ActionTowerDefense/ActionTowerDefense/Luban/Config/Datas/__enums__.xlsx,647733322F7261DFA483C2DBE2D1F9A4,10293,1719819418545
 D:/ActionTowerDefense/ActionTowerDefense/Luban/Config/Datas/__tables__.xlsx,F4967F4C27B521B7755BA24B6C1271,9974,1726673560554
-D:/ActionTowerDefense/ActionTowerDefense/Luban/Config/Datas/出怪表.xlsx,6BC37D83316F27B7DF0922F21B04A75,12238,1729935116155
+D:/ActionTowerDefense/ActionTowerDefense/Luban/Config/Datas/出怪表.xlsx,6BC37D83316F27B7DF0922F21B04A75,12238,1730207472829
 D:/ActionTowerDefense/ActionTowerDefense/Luban/Config/Datas/怪物表.xlsx,A6F557E7075AC634747F53D672D38C2,10005,1728127362602
 D:/ActionTowerDefense/ActionTowerDefense/Luban/Config/Datas/建筑表.xlsx,5F82FF9D22F6BD8E585646E443C0BF50,9638,1728029767222
-D:/ActionTowerDefense/ActionTowerDefense/Luban/Config/Datas/建筑生成表.xlsx,C51577BC6EC961BCF9869DECE4C440,11130,1729935146762
+D:/ActionTowerDefense/ActionTowerDefense/Luban/Config/Datas/建筑生成表.xlsx,A1999659BF76EB8217F2C8A51A51077,11174,1730207443683

BIN
ActionTowerDefense/Luban/Config/Datas/建筑生成表.xlsx