| | |
| | | using UnityEngine; |
| | | using LitJson; |
| | | using System; |
| | | using System.Linq; |
| | | |
| | | public class BattleManager : GameSystemManager<BattleManager> |
| | | { |
| | |
| | | { |
| | | if (!allow) |
| | | { |
| | | _package.socketType = ServerType.MainFight; |
| | | packQueue.Enqueue(_package); |
| | | } |
| | | } |
| | |
| | | |
| | | List<GameNetPackBasic> newPackList = ParseBattlePackList(string.Empty, packQueueSnapshot); |
| | | |
| | | #if UNITY_EDITOR |
| | | Action printNewPack = () => |
| | | { |
| | | string temp = "After AnalysisPackQueueAndDistribute newPackList count: " + newPackList.Count + "\n"; |
| | |
| | | }; |
| | | |
| | | printNewPack(); |
| | | |
| | | #endif |
| | | // HashSet<int> skipIndexes = new HashSet<int>(); |
| | | |
| | | // // 这里已经是按照Dequeue的顺序了 |
| | |
| | | public static List<GameNetPackBasic> ParseBattlePackList(string guid, List<GameNetPackBasic> packQueueSnapshot) |
| | | { |
| | | var list = CustomHB426CombinePack.CombineToSkillPackFromList(guid, packQueueSnapshot); |
| | | string str = "ParseBattlePackList \n"; |
| | | for (int i = 0; i < list.Count; i++) |
| | | { |
| | | str += " " + list[i].GetType().Name + "\n"; |
| | | } |
| | | // string str = "ParseBattlePackList \n"; |
| | | // for (int i = 0; i < list.Count; i++) |
| | | // { |
| | | // str += " " + list[i].GetType().Name + "\n"; |
| | | // } |
| | | // BattleDebug.LogError(str); |
| | | return list; |
| | | |
| | |
| | | isCreate = false; |
| | | } |
| | | else |
| | | { |
| | | { |
| | | BattleDebug.LogError("战场已存在 先进行销毁"); |
| | | battleField.Destroy(); |
| | | } |
| | | } |
| | | |
| | | var bf = GetBattleFieldByMapID(MapID); |
| | | if (bf != null && !string.IsNullOrEmpty(guid)) |
| | | { |
| | | BattleDebug.LogError("相同地图ID的战场已存在 先进行销毁"); |
| | | bf.Destroy(); |
| | | } |
| | | |
| | | if (isCreate) |
| | |
| | | |
| | | public void DestroyAllBattleField() |
| | | { |
| | | foreach (var kvp in battleFields) |
| | | var battleFieldsList = battleFields.Values.ToList(); |
| | | foreach (var battleField in battleFieldsList) |
| | | { |
| | | BattleField battleField = kvp.Value; |
| | | if (battleField == null) |
| | | continue; |
| | | |
| | | DestroyBattleField(battleField); |
| | | battleField.Destroy(); |
| | | } |
| | | } |
| | | |
| | | } |