From 998ebc0dc00c103b365e36797c1a1ac4a6a2afa5 Mon Sep 17 00:00:00 2001 From: chenxin <chenxin6991@163.com> Date: Thu, 19 Nov 2020 17:26:28 +0800 Subject: [PATCH] 放置区塔不进行置换 泡泡炸弹逻辑修改 --- Assets/Scripts/TowerDefense/Level/EndlessWaveManager.cs | 12 +++--- Assets/Scripts/TowerDefense/UI/HUD/EndlessGameUI.cs | 3 - Assets/Scripts/TowerDefense/Agents/Agent.cs | 3 + Assets/Prefabs/Towers/Water/CopyCatTower_0.prefab | 1 Assets/Scripts/TowerDefense/UI/EndlessUIStart.cs | 3 + Assets/Scripts/TowerDefense/UI/EndlessBossSkill/BossSkillBubbleBomb.cs | 33 +++++----------- Assets/Scripts/TowerDefense/Towers/Placement/TowerPlacementGridEndless.cs | 5 +- Assets/Scripts/TowerDefense/Agents/BubbleBombAgent.cs | 1 Assets/Scripts/TowerDefense/UI/EndlessScoreManager.cs | 6 +- 9 files changed, 28 insertions(+), 39 deletions(-) diff --git a/Assets/Prefabs/Towers/Water/CopyCatTower_0.prefab b/Assets/Prefabs/Towers/Water/CopyCatTower_0.prefab index cd34085..b8ef3da 100644 --- a/Assets/Prefabs/Towers/Water/CopyCatTower_0.prefab +++ b/Assets/Prefabs/Towers/Water/CopyCatTower_0.prefab @@ -43608,6 +43608,7 @@ m_Script: {fileID: 11500000, guid: 70719dcea2b0be54580a41e62debeab1, type: 3} m_Name: m_EditorClassIdentifier: + offect: {x: 0, y: 0.07, z: 0.04} --- !u!1 &4886038783420556509 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/TowerDefense/Agents/Agent.cs b/Assets/Scripts/TowerDefense/Agents/Agent.cs index 9db35c3..b705e9a 100644 --- a/Assets/Scripts/TowerDefense/Agents/Agent.cs +++ b/Assets/Scripts/TowerDefense/Agents/Agent.cs @@ -466,7 +466,8 @@ // 统一管理器内删除当前的Agent: AgentInsManager.instance.removeAgent(this); - EventCenter.Ins.BroadCast((int)KTGMGemClient.EventType.EndlessAgentDead, this); + if (EnemyData != null) + EventCenter.Ins.BroadCast((int)KTGMGemClient.EventType.EndlessAgentDead, EnemyData.point); base.Remove(); if (m_LevelManager) m_LevelManager.DecrementNumberOfEnemies(); diff --git a/Assets/Scripts/TowerDefense/Agents/BubbleBombAgent.cs b/Assets/Scripts/TowerDefense/Agents/BubbleBombAgent.cs index a1fb6be..5e80da5 100644 --- a/Assets/Scripts/TowerDefense/Agents/BubbleBombAgent.cs +++ b/Assets/Scripts/TowerDefense/Agents/BubbleBombAgent.cs @@ -1,5 +1,4 @@ using DG.Tweening; -using Core.Utilities; using UnityEngine; /** diff --git a/Assets/Scripts/TowerDefense/Level/EndlessWaveManager.cs b/Assets/Scripts/TowerDefense/Level/EndlessWaveManager.cs index e137274..c07baf8 100644 --- a/Assets/Scripts/TowerDefense/Level/EndlessWaveManager.cs +++ b/Assets/Scripts/TowerDefense/Level/EndlessWaveManager.cs @@ -170,13 +170,13 @@ InitWaveData(); RefreshBoss(); - // if (!GameConfig.IsNewbie) - // { - // endless_boss bossData = EndlessBossData.GetDataById(waveData[0].Config.resource); + if (!GameConfig.IsNewbie) + { + endless_boss bossData = EndlessBossData.GetDataById(waveData[0].Config.resource); - // if (bossData != null) - // EndlessBossSkillManager.instance.Init(bossData.skill); - // } + if (bossData != null) + EndlessBossSkillManager.instance.Init(bossData.skill); + } } /// <summary> diff --git a/Assets/Scripts/TowerDefense/Towers/Placement/TowerPlacementGridEndless.cs b/Assets/Scripts/TowerDefense/Towers/Placement/TowerPlacementGridEndless.cs index 6fa8a24..57aedeb 100644 --- a/Assets/Scripts/TowerDefense/Towers/Placement/TowerPlacementGridEndless.cs +++ b/Assets/Scripts/TowerDefense/Towers/Placement/TowerPlacementGridEndless.cs @@ -890,10 +890,11 @@ for (int tx = 0; tx < dimensions.x; tx++) { - m_arrGridType[tx, sy] = PlacementGridType.EGridWaitBuy; + // cx test m_arrGridType[tx, sy - 1] = PlacementGridType.EGridWaitBuy; + m_arrGridType[tx, sy] = PlacementGridType.EGridOpen; } - m_arrGridType[2, 3] = PlacementGridType.EGridOpen; + // m_arrGridType[2, 3] = PlacementGridType.EGridOpen; ++GameConfig.EndlessOpenAttackTowerCount; } diff --git a/Assets/Scripts/TowerDefense/UI/EndlessBossSkill/BossSkillBubbleBomb.cs b/Assets/Scripts/TowerDefense/UI/EndlessBossSkill/BossSkillBubbleBomb.cs index 5eb9475..d3d58ab 100644 --- a/Assets/Scripts/TowerDefense/UI/EndlessBossSkill/BossSkillBubbleBomb.cs +++ b/Assets/Scripts/TowerDefense/UI/EndlessBossSkill/BossSkillBubbleBomb.cs @@ -101,8 +101,6 @@ /// </summary> protected List<GameObject> bubbleBombPool; - protected int capacity = 10; - private int getCount; private int recycleCount; @@ -209,18 +207,9 @@ public override void Init() { base.Init(); - Debug.Log("--------------------- 泡泡炸弹技能初始化 ---------------------"); + Debug.Log("---- 泡泡炸弹技能初始化 ----"); bubbleBombList = new List<BubbleBombConfig>(); bubbleBombPool = new List<GameObject>(); - - GameObject prefab = Resources.Load<GameObject>(prefabPath); - - for (int i = 0; i < capacity; ++i) - { - GameObject obj = GameObject.Instantiate(prefab); - obj.SetActive(false); - bubbleBombPool.Add(obj); - } } /// <summary> @@ -298,10 +287,10 @@ { BubbleBombConfig config = bubbleBombList[i]; // 攻击次数够了被打死了 或者 达到基地了 - if (config.Agent.bInDeathState) return; + if (config.IsAttackDeath || config.IsArrived) return; ++config.AttackCount; - Debug.Log($"--------------------- BubbleBombAgent Id: {id}, AttackCount:{config.AttackCount} ---------------------"); + Debug.Log($"---- BubbleBombAgent Id: {id}, AttackCount: {config.AttackCount} ----"); if (config.AttackCount >= config.NeedAttackCount) AgentDead(config); @@ -323,7 +312,7 @@ { BubbleBombConfig config = bubbleBombList[i]; - if (config.Agent.bInDeathState) return; + if (config.IsAttackDeath || config.IsArrived) return; AgentDead(config); break; @@ -344,7 +333,7 @@ { BubbleBombConfig config = bubbleBombList[i]; - if (config.Agent.bInDeathState) return; + if (config.IsAttackDeath || config.IsArrived) return; config.IsDizzinessed = true; config.Agent.CanMove = false; @@ -361,11 +350,10 @@ /// <param name="config"></param> private void AgentDead(BubbleBombConfig config) { + config.IsAttackDeath = true; + AgentInsManager.instance.removeAgent(config.Agent); config.Agent.StopNormalEffect(); config.Agent.PlayExplodeEffect(); - AgentInsManager.instance.removeAgent(config.Agent); - config.Agent.bInDeathState = true; - config.IsAttackDeath = true; } /// <summary> @@ -375,10 +363,9 @@ private void AgentArrived(BubbleBombConfig config) { config.IsArrived = true; + AgentInsManager.instance.removeAgent(config.Agent); config.Agent.StopNormalEffect(); config.Agent.PlayExplodeEffect(); - AgentInsManager.instance.removeAgent(config.Agent); - config.Agent.bInDeathState = true; } public override void Update(float deltaTime) @@ -433,7 +420,7 @@ } // 更新移动 - if (config.Agent != null && !config.Agent.bInDeathState && config.Agent.CanMove) + if (config.Agent.CanMove) { Vector3 pos = config.obj.transform.position; pos.z -= deltaTime * config.MoveSpeed; @@ -449,7 +436,7 @@ else { // cx test - Debug.Log("--------------------- 泡泡炸弹不能移动 ---------------------"); + Debug.LogError("---- 泡泡炸弹不能移动??? ----"); } } } diff --git a/Assets/Scripts/TowerDefense/UI/EndlessScoreManager.cs b/Assets/Scripts/TowerDefense/UI/EndlessScoreManager.cs index f0f1e69..d2a300e 100644 --- a/Assets/Scripts/TowerDefense/UI/EndlessScoreManager.cs +++ b/Assets/Scripts/TowerDefense/UI/EndlessScoreManager.cs @@ -67,7 +67,7 @@ private void Start() { Init(); - EventCenter.Ins.Add<Agent>((int)KTGMGemClient.EventType.EndlessAgentDead, AgentDead); + EventCenter.Ins.Add<int>((int)KTGMGemClient.EventType.EndlessAgentDead, AgentDead); EventCenter.Ins.Add((int)KTGMGemClient.EventType.EndlessOneHit, OnHit); EventCenter.Ins.Add<int>((int)KTGMGemClient.EventType.EndlessOneTimeKillCount, OnTimeKill); canvasGroup = DoubleHit.GetComponent<CanvasGroup>(); @@ -97,10 +97,10 @@ } } - private void AgentDead(Agent agent) + private void AgentDead(int point) { if (EndlessGameUI.instance.state == EndlessGameUI.State.GameOver) return; - AddScore(agent.EnemyData.point); + AddScore(point); } // Update is called once per frame diff --git a/Assets/Scripts/TowerDefense/UI/EndlessUIStart.cs b/Assets/Scripts/TowerDefense/UI/EndlessUIStart.cs index 5df7cac..41649f8 100644 --- a/Assets/Scripts/TowerDefense/UI/EndlessUIStart.cs +++ b/Assets/Scripts/TowerDefense/UI/EndlessUIStart.cs @@ -74,7 +74,8 @@ //查询是否已经做过了新手引导 int guide = PlayerPrefs.GetInt("GemBattleGuide"); GameConfig.IsNewbie = guide == 0; - //GameConfig.IsNewbie = false; + // cx test + GameConfig.IsNewbie = false; if (GameConfig.IsNewbie) { Debug.Log("开始新手引导"); diff --git a/Assets/Scripts/TowerDefense/UI/HUD/EndlessGameUI.cs b/Assets/Scripts/TowerDefense/UI/HUD/EndlessGameUI.cs index a2ab1bd..d435e9e 100644 --- a/Assets/Scripts/TowerDefense/UI/HUD/EndlessGameUI.cs +++ b/Assets/Scripts/TowerDefense/UI/HUD/EndlessGameUI.cs @@ -705,7 +705,7 @@ if (sTower && sTower != towerToMove) { - if (towerToMove && sTower.towerFeature == EFeatureTower.NULL && towerToMove.towerFeature == EFeatureTower.NULL && sTower.bInAttackMode == towerToMove.bInAttackMode) + if (towerToMove && sTower.towerFeature == EFeatureTower.NULL && towerToMove.towerFeature == EFeatureTower.NULL && sTower.bInAttackMode && towerToMove.bInAttackMode) return true; } } @@ -1141,7 +1141,6 @@ if (playEffect) PlayUpgradeEffect(createdTower); - addTower(createdTower); Destroy(currentTower.gameObject); -- Gitblit v1.9.1