public static void Recycle(Hall hall) { if (hall != null) { instance = null; hall.Data = null; ResourceManager.Instance.RecycleAsset(hall.Script.gameObject); hall.Script = null; } else { BaseLogger.Log("Recyle a null hall!"); } }
public static Hall Create(int kid) { ResourceManager resManager = ResourceManager.Instance; Hall hall = new Hall(); hall.Uid = Guid.NewGuid().ToString(); hall.Data = HallDataManager.Instance.GetData(kid) as HallData; hall.Script = resManager.LoadAsset<HallScript>(ObjectType.GameObject, hall.Data.GetResPath()); hall.Script.Uid = hall.Uid; hall.SetPosition(GlobalConfig.HallConfig.HallPosition); instance = hall; return hall; }
private void HandleHallDespawn(Hall hall) { monsterProxy.InitRecordHallList(hall.Data.Kid); monsterProxy.IterateMonstersInHall((Monster monster) => { battleProxy.RemoveMonster(monster.Uid); if (monster.Info.IsAlive) { monsterProxy.HideMonsterInHall(monster.Uid, hall.Data.Kid); } else { monsterProxy.RemoveMonsterInHall(monster.Uid, hall.Data.Kid); } }); monsterProxy.ClearMonstersInHall(); }
private void HandleHallSpawn(Hall hall) { List<MonsterRecord> recordList = monsterProxy.GetRecordHallList(hall.Data.Kid); if(recordList != null) { for(int i = 0; i < recordList.Count; ++i) { MonsterRecord record = recordList[i]; Monster monster = Monster.Create(record); InitMonsterInHall(monster, record.WorldPosition.ToVector3()); } } else { PositionScript[] positionList = hall.Script.GetPositionList(PositionType.Monster); for (int i = 0; i < positionList.Length; ++i) { PositionScript birth = positionList[i]; Monster monster = Monster.Create(birth.Kid); InitMonsterInHall(monster, birth.transform.position); } } }
private void HandleHallDespawn(Hall hall) { explorationProxy.IterateInHall((Exploration expl) => { explorationProxy.RemoveInHall(expl.Uid); }); explorationProxy.ClearInHall(); }
private void HandleHallSpawn(Hall hall) { PositionScript[] positionList = hall.Script.GetPositionList(PositionType.Exploration); for(int i = 0; i < positionList.Length; ++i) { PositionScript birth = positionList[i]; List<object> paramList = new List<object>();//TODO: How to change this hard code? paramList.Add(TransporterDirectionType.Back); CreateExploration(birth.Kid, birth, paramList); } }