From b1fe9f6635f1b797b9185e200bdcc89ce408ce4b Mon Sep 17 00:00:00 2001 From: liutao <821580467@qq.com> Date: Thu, 14 Dec 2023 15:31:46 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=88=98=E6=96=97=E8=A7=84?= =?UTF-8?q?=E5=88=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Code/Scripts/Framework/GUIDManager.cs | 2 +- .../Gameplay/Character/CharacterManager.cs | 9 --- .../Code/Scripts/Gameplay/Level/Level.cs | 2 - .../Gameplay/Level/State/BattleState.cs | 2 +- .../Gameplay/Level/State/PrepareState.cs | 1 - .../Code/Scripts/Gameplay/Team/TeamManager.cs | 4 - .../Gameplay/Unit/Data/UnitContainer.cs | 4 +- .../Scripts/Gameplay/Unit/GameUnitManager.cs | 21 ++++- .../Scripts/Gameplay/Vehicle/BaseVehicle.cs | 10 --- .../Gameplay/Vehicle/Impl/NormalVehicle.cs | 8 +- .../Gameplay/Vehicle/VehicleManager.cs | 78 +------------------ 11 files changed, 31 insertions(+), 110 deletions(-) diff --git a/ProjectNLD/Assets/Code/Scripts/Framework/GUIDManager.cs b/ProjectNLD/Assets/Code/Scripts/Framework/GUIDManager.cs index 3dff36c966b..12bbbee8ecd 100644 --- a/ProjectNLD/Assets/Code/Scripts/Framework/GUIDManager.cs +++ b/ProjectNLD/Assets/Code/Scripts/Framework/GUIDManager.cs @@ -2,7 +2,7 @@ namespace Framework { public class GUIDManager { - private static uint _guid = 0; + private static uint _guid = 100; public static uint GenGuid() { return ++_guid; diff --git a/ProjectNLD/Assets/Code/Scripts/Gameplay/Character/CharacterManager.cs b/ProjectNLD/Assets/Code/Scripts/Gameplay/Character/CharacterManager.cs index 668deeb293b..1b3b8c0ddf4 100644 --- a/ProjectNLD/Assets/Code/Scripts/Gameplay/Character/CharacterManager.cs +++ b/ProjectNLD/Assets/Code/Scripts/Gameplay/Character/CharacterManager.cs @@ -13,15 +13,6 @@ namespace Gameplay.Character private readonly List _characterList = new List(); private readonly Dictionary _troopDict = new Dictionary(); - public void UpdateTargets() - { - for (int i = 0; i < _characterList.Count; i++) - { - var character = _characterList[i]; - character.UpdateTargets(); - } - } - public void Dispose() { foreach (var charactor in _characterList) diff --git a/ProjectNLD/Assets/Code/Scripts/Gameplay/Level/Level.cs b/ProjectNLD/Assets/Code/Scripts/Gameplay/Level/Level.cs index 7c53130d14c..40b40ffc425 100644 --- a/ProjectNLD/Assets/Code/Scripts/Gameplay/Level/Level.cs +++ b/ProjectNLD/Assets/Code/Scripts/Gameplay/Level/Level.cs @@ -146,7 +146,6 @@ namespace Gameplay.Level AIManager.Instance.Init(); GameUnitManager.CreateInstance(); - VehicleManager.CreateInstance(); GameUnitMapper.CreateInstance(); SkillManager.CreateInstance(); @@ -157,7 +156,6 @@ namespace Gameplay.Level public void Release() { EmojiManager.inst.Dispose(); - VehicleManager.Inst.Dispose(); GameUnitMapper.Inst.Dispose(); SkillManager.instance.Dispose(); diff --git a/ProjectNLD/Assets/Code/Scripts/Gameplay/Level/State/BattleState.cs b/ProjectNLD/Assets/Code/Scripts/Gameplay/Level/State/BattleState.cs index bdb8640e800..913e0e49c33 100644 --- a/ProjectNLD/Assets/Code/Scripts/Gameplay/Level/State/BattleState.cs +++ b/ProjectNLD/Assets/Code/Scripts/Gameplay/Level/State/BattleState.cs @@ -65,8 +65,8 @@ namespace Gameplay.Level SkillManager.instance.LogicUpdate(deltaTime); BulletManager.instance.LogicUpdate(deltaTime); BuffManager.instance.LogicUpdate(deltaTime); + GameUnitManager.instance.LogicUpdate(deltaTime); SummonManager.instance.LogicUpdate(deltaTime); - VehicleManager.Inst.LogicUpdate(deltaTime); AreaManager.instance.LogicUpdate(deltaTime); PauseManager.instance.LogicUpdate(deltaTime); TireMarkManager.instance.LogicUpdate(deltaTime); diff --git a/ProjectNLD/Assets/Code/Scripts/Gameplay/Level/State/PrepareState.cs b/ProjectNLD/Assets/Code/Scripts/Gameplay/Level/State/PrepareState.cs index 1d2b0bc84ee..34e8f5e53b1 100644 --- a/ProjectNLD/Assets/Code/Scripts/Gameplay/Level/State/PrepareState.cs +++ b/ProjectNLD/Assets/Code/Scripts/Gameplay/Level/State/PrepareState.cs @@ -24,7 +24,6 @@ namespace Gameplay.Level protected override void _OnUpdate(float deltaTime) { - VehicleManager.Inst.PreviewUpdate(deltaTime); } protected override void _OnExit() diff --git a/ProjectNLD/Assets/Code/Scripts/Gameplay/Team/TeamManager.cs b/ProjectNLD/Assets/Code/Scripts/Gameplay/Team/TeamManager.cs index cbfa6ed45ed..1e26c1a48ef 100644 --- a/ProjectNLD/Assets/Code/Scripts/Gameplay/Team/TeamManager.cs +++ b/ProjectNLD/Assets/Code/Scripts/Gameplay/Team/TeamManager.cs @@ -5,13 +5,9 @@ using Cysharp.Threading.Tasks; using UnityEngine; using Framework; using Gameplay; -using Gameplay.Character; -using Gameplay.Common; using Gameplay.Level; using Gameplay.Unit; using Gameplay.Unit.Data; -using Gameplay.Vehicle; -using Gameplay.Vehicle.Impl; using PhxhSDK; using Constants = Framework.Constants; using EventManager = Framework.EventManager; diff --git a/ProjectNLD/Assets/Code/Scripts/Gameplay/Unit/Data/UnitContainer.cs b/ProjectNLD/Assets/Code/Scripts/Gameplay/Unit/Data/UnitContainer.cs index ad8019ac5e5..09089195651 100644 --- a/ProjectNLD/Assets/Code/Scripts/Gameplay/Unit/Data/UnitContainer.cs +++ b/ProjectNLD/Assets/Code/Scripts/Gameplay/Unit/Data/UnitContainer.cs @@ -52,14 +52,14 @@ namespace Gameplay.Unit.Data { return unit; } - DebugUtil.LogError("不存在相同guid的单位:{0}", guid); + DebugUtil.LogError("不存在指定guid的单位:{0}", guid); return null; } public GameUnit GetByIndex(int index) { if (index < 0 || index >= _unitList.Count) { - DebugUtil.LogError("不存在相同index的单位:{0}", index); + DebugUtil.LogError("不存在指定index的单位:{0}", index); return null; } return _unitList[index]; diff --git a/ProjectNLD/Assets/Code/Scripts/Gameplay/Unit/GameUnitManager.cs b/ProjectNLD/Assets/Code/Scripts/Gameplay/Unit/GameUnitManager.cs index 50d7bb3bcd9..779708e93fd 100644 --- a/ProjectNLD/Assets/Code/Scripts/Gameplay/Unit/GameUnitManager.cs +++ b/ProjectNLD/Assets/Code/Scripts/Gameplay/Unit/GameUnitManager.cs @@ -1,11 +1,11 @@ using System; -using System.Collections.Generic; using Cysharp.Threading.Tasks; using Framework; using Gameplay.Character; using Gameplay.Character.Utils; using Gameplay.Level; using Gameplay.Unit.Data; +using Gameplay.Vehicle; using Gameplay.Vehicle.Impl; namespace Gameplay.Unit { @@ -34,6 +34,7 @@ namespace Gameplay.Unit public UnitContainer totalUnits = new UnitContainer(); public CharacterManager characterManager; + public VehicleManager vehicleManager; private bool _needUpdateTargets; @@ -48,6 +49,7 @@ namespace Gameplay.Unit private GameUnitManager() { characterManager = new CharacterManager(); + vehicleManager = new VehicleManager(); } public void Init() @@ -212,6 +214,7 @@ namespace Gameplay.Unit for (int i = 0; i < infightUnits.count; i++) { var unit = infightUnits.GetByIndex(i); + unit.LogicUpdate(dt); if (unit.needRemove) @@ -227,7 +230,21 @@ namespace Gameplay.Unit private void _UpdateTargets() { - characterManager.UpdateTargets(); + for (int i = 0; i < infightUnits.count; i++) + { + var unit = infightUnits.GetByIndex(i); + switch (unit.gameunitType) + { + case EGameUnitType.Character: + if (unit is Character.Character character) + character.UpdateTargets(); + break; + case EGameUnitType.Vehicle: + if (unit is NormalVehicle vehicle) + vehicle.UpdateTargets(); + break; + } + } } public void Dispose() diff --git a/ProjectNLD/Assets/Code/Scripts/Gameplay/Vehicle/BaseVehicle.cs b/ProjectNLD/Assets/Code/Scripts/Gameplay/Vehicle/BaseVehicle.cs index 3f969f0733f..bf07868ca97 100644 --- a/ProjectNLD/Assets/Code/Scripts/Gameplay/Vehicle/BaseVehicle.cs +++ b/ProjectNLD/Assets/Code/Scripts/Gameplay/Vehicle/BaseVehicle.cs @@ -54,16 +54,6 @@ namespace Gameplay.Vehicle PerformanceManager.instance.HandleCreateUnit(obj); } - - public void LogicUpdate(float dt) - { - _OnLogicUpdate(dt); - } - - protected virtual void _OnLogicUpdate(float dt) - { - - } } } diff --git a/ProjectNLD/Assets/Code/Scripts/Gameplay/Vehicle/Impl/NormalVehicle.cs b/ProjectNLD/Assets/Code/Scripts/Gameplay/Vehicle/Impl/NormalVehicle.cs index b26e5aa3f2c..f6bbc69bf01 100644 --- a/ProjectNLD/Assets/Code/Scripts/Gameplay/Vehicle/Impl/NormalVehicle.cs +++ b/ProjectNLD/Assets/Code/Scripts/Gameplay/Vehicle/Impl/NormalVehicle.cs @@ -167,6 +167,12 @@ namespace Gameplay.Vehicle.Impl protected override void _OnLogicUpdate(float dt) { + + if (SkillManager.instance.needSkillPaused && SkillManager.instance.skillingUnit != this) + { + return; + } + if (!statusData.isDead) { battery.LogicUpdate(dt); @@ -188,8 +194,6 @@ namespace Gameplay.Vehicle.Impl transData.Reset(); vAnim.ViewUpdate(dt); - - } public bool CheckCanUp(GameUnit unit) diff --git a/ProjectNLD/Assets/Code/Scripts/Gameplay/Vehicle/VehicleManager.cs b/ProjectNLD/Assets/Code/Scripts/Gameplay/Vehicle/VehicleManager.cs index 23701dfd0e3..1815dcc4afa 100644 --- a/ProjectNLD/Assets/Code/Scripts/Gameplay/Vehicle/VehicleManager.cs +++ b/ProjectNLD/Assets/Code/Scripts/Gameplay/Vehicle/VehicleManager.cs @@ -1,86 +1,12 @@ -using System.Collections.Generic; -using Gameplay.Skill; -using Gameplay.Vehicle.Impl; -namespace Gameplay.Vehicle +namespace Gameplay.Vehicle { public class VehicleManager { - private static VehicleManager _instance; - - public static VehicleManager Inst - { - get - { - return _instance; - } - } - - public static VehicleManager CreateInstance() - { - if (_instance != null) - { - DebugUtil.LogError("请勿重复创建VehicleManager"); - return _instance; - } - _instance = new VehicleManager(); - return _instance; - } - - private readonly List _preCreateVehicles = new List(); - private readonly List _vehicles = new List(); - - private VehicleManager() + public VehicleManager() { } - - private void _AddVehicle(NormalVehicle vehicle) - { - _vehicles.Add(vehicle); - } - - public void UpdateTargets() - { - for (int i = 0; i < _vehicles.Count; i++) - { - var vehicle = _vehicles[i]; - if (SkillManager.instance.needSkillPaused && SkillManager.instance.skillingUnit != vehicle) - { - continue; - } - vehicle.UpdateTargets(); - } - } - - public void Dispose() - { - _instance = null; - } - - public void PreviewUpdate(float dt) - { - for (int i = 0; i < _preCreateVehicles.Count; i++) - { - var vehicle = _preCreateVehicles[i]; - vehicle.PreviewUpdate(dt); - } - } - - public void LogicUpdate(float dt) - { - for (int i = 0; i < _vehicles.Count; i++) - { - var vehicle = _vehicles[i]; - - if (SkillManager.instance.needSkillPaused && SkillManager.instance.skillingUnit != vehicle) - { - continue; - } - - vehicle.LogicUpdate(dt); - } - } } }