private void OnNewWave(AISpawnTDWavesData.TDWaveSpData tdData, int wave) { if (wave == tdData._waveDatas.Count - 1) { Invoke("DestroySelf", 10.0f); } }
void OnNewWave(AISpawnTDWavesData.TDWaveSpData spData, int idxWave) { m_IsReady = false; m_SpawnFinished = (idxWave >= spData._waveDatas.Count - 1); m_Npcs.Clear(); m_Towers.Clear(); m_Buildings.Clear(); m_Defences.Clear(); m_Entities.Clear(); List <PeEntity> npcs = CSMain.GetCSNpcs(m_Creator); for (int i = 0; i < npcs.Count; i++) { if (npcs[i] != null && PETools.PEUtil.SqrMagnitude(npcs[i].position, assemblyPosition) < assemblyRadius * assemblyRadius) { m_Npcs.Add(npcs[i]); } } m_Towers = EntityMgr.Instance.GetTowerEntities(assemblyPosition, assemblyRadius, false); m_Buildings = CSMain.GetCSBuildings(m_Creator); m_Defences.AddRange(m_Npcs); m_Defences.AddRange(m_Towers); m_Entities.AddRange(m_Defences); m_Entities.AddRange(m_Buildings); }
void OnNewWave(AISpawnTDWavesData.TDWaveSpData spData, int idxWave) { //string value = "0_0_0_1_0"; // just for pass checking in IsReplyTarget: x(spType), num, cnt, created, completeTarget //playerMission.ModifyQuestVariable(MissionId, "TDMONS" + _idxTarId, value); MissionManager.mTowerCurWave = (idxWave + 1).ToString(); MissionManager.mTowerTotalWave = spData._waveDatas.Count.ToString(); MissionManager.Instance.UpdateMissionTrack(MissionId); }
void OnNewWave(AISpawnTDWavesData.TDWaveSpData spData, int idxWave) { if (idxWave == spData._waveDatas.Count - 1) { if (m_Beacon != null) { m_Beacon.handlerNewWave -= OnNewWave; GameObject.Destroy(m_Beacon.gameObject); } } }
void OnNewWave(AISpawnTDWavesData.TDWaveSpData tdData, int wave) { wave++; if (null != tdData) { float coolTime = 0; float preTime = 0; if (tdData._waveDatas.Count != wave) { coolTime = tdData._timeToCool; preTime = tdData._waveDatas[wave]._delayTime; } SyncTDInfo(totalCount, wave, preTime, coolTime); if (null != _mbEntity) { _mbEntity.UpdateUI(_missionId, totalCount, totalWave, preTime); } } }
public static EntityMonsterBeacon CreateMonsterBeaconBySweepID(List <int> sweepDataId, Transform targetTrans, TowerInfoUIData uiData, int preTime, int entityId = -1, TypeTowerDefendsData data = null, int releaseNpcid = -1) { GameObject go = new GameObject("MonsterBeacon"); Vector3 v = new Vector3(); if (null != data) { switch (data.m_Pos.type) { case TypeTowerDefendsData.PosType.getPos: v = PeCreature.Instance.mainPlayer.position; break; case TypeTowerDefendsData.PosType.pos: v = data.m_Pos.pos; break; case TypeTowerDefendsData.PosType.npcPos: v = EntityMgr.Instance.Get(data.m_Pos.id).position; break; case TypeTowerDefendsData.PosType.doodadPos: v = EntityMgr.Instance.GetDoodadEntities(data.m_Pos.id)[0].position; break; case TypeTowerDefendsData.PosType.conoly: if (!CSMain.GetAssemblyPos(out v)) { v = PeCreature.Instance.mainPlayer.position; } break; case TypeTowerDefendsData.PosType.camp: if (VArtifactUtil.GetTownPos(data.m_Pos.id, out v)) { v = PeCreature.Instance.mainPlayer.position; } break; default: break; } data.finallyPos = v; } go.transform.position = v; AISpawnTDWavesData.TDWaveSpData spData = MonsterSweepData.GetWaveSpData(sweepDataId, v); if (spData == null) { return(null); } EntityMonsterBeacon bcn = go.AddComponent <EntityMonsterBeacon>(); bcn.isSweep = true; EntityMgr.Instance.AddAfterAssignId(bcn, entityId != -1 ? entityId : Pathea.WorldInfoMgr.Instance.FetchNonRecordAutoId()); bcn._uiData = uiData; bcn._spData = spData; bcn._position = v; bcn._forward = Vector3.forward; bcn.PreTime = (float)(preTime + spData._waveDatas[0]._delayTime); if (UITowerInfo.Instance != null && uiData != null) { UITowerInfo.Instance.SetInfo(uiData); UITowerInfo.Instance.Show(); UITowerInfo.Instance.e_BtnReady += () => { bcn.PreTime = 0; }; } bcn.StartCoroutine(bcn.RefreshTowerMission()); return(bcn); }
public static EntityMonsterBeacon CreateMonsterBeaconByTDID(int spDataId, Transform targetTrans, TowerInfoUIData uiData, int entityId = -1, TypeTowerDefendsData data = null, int releaseNpcid = -1, bool bOnlyMonster = false) { // Get type mask int campCol = -1; List <int> spawnTypes = GetSpawnTypeMask(bOnlyMonster, out campCol); AISpawnTDWavesData.TDWaveSpData spData = AISpawnTDWavesData.GetWaveSpData(spDataId, UnityEngine.Random.value, spawnTypes); if (spData == null) { return(null); } GameObject go = new GameObject("MonsterBeacon"); Vector3 v = new Vector3(); if (null != data) { switch (data.m_Pos.type) { case TypeTowerDefendsData.PosType.getPos: v = PeCreature.Instance.mainPlayer.position; break; case TypeTowerDefendsData.PosType.pos: v = data.m_Pos.pos; break; case TypeTowerDefendsData.PosType.npcPos: v = EntityMgr.Instance.Get(data.m_Pos.id).position; break; case TypeTowerDefendsData.PosType.doodadPos: v = EntityMgr.Instance.GetDoodadEntities(data.m_Pos.id)[0].position; break; case TypeTowerDefendsData.PosType.conoly: if (!CSMain.GetAssemblyPos(out v)) { v = PeCreature.Instance.mainPlayer.position; } break; case TypeTowerDefendsData.PosType.camp: if (!VArtifactUtil.GetTownPos(data.m_Pos.id, out v)) { v = PeCreature.Instance.mainPlayer.position; } break; default: break; } data.finallyPos = v; go.transform.position = v; go.transform.rotation = Quaternion.identity; } else if (targetTrans != null) { v = targetTrans.position; go.transform.position = targetTrans.position; go.transform.rotation = targetTrans.rotation; } EntityMonsterBeacon bcn = go.AddComponent <EntityMonsterBeacon>(); EntityMgr.Instance.AddAfterAssignId(bcn, entityId != -1 ? entityId : Pathea.WorldInfoMgr.Instance.FetchNonRecordAutoId()); bcn._campCol = campCol; bcn._uiData = uiData; bcn._spData = spData; bcn._spDataId = spDataId; bcn._position = go.transform.position; bcn._forward = go.transform.forward; bcn.PreTime = (float)(spData._timeToStart + spData._waveDatas[0]._delayTime); if (UITowerInfo.Instance != null && uiData != null) { UITowerInfo.Instance.SetInfo(uiData); UITowerInfo.Instance.Show(); UITowerInfo.Instance.e_BtnReady += () => { bcn.PreTime = 0; }; } bcn.StartCoroutine(bcn.RefreshTowerMission()); return(bcn); }
void OnNewWave(AISpawnTDWavesData.TDWaveSpData data, int idxWave) { m_IsReady = true; m_SpawnFinished = (idxWave >= data._waveDatas.Count - 1); }