private void SetEnemy(MultiTowerFloorParam param) { int index1 = 0; if (param.map == null) { return; } string src = AssetManager.LoadTextData(AssetPath.LocalMap(param.map[0].mapSetName)); if (src == null) { return; } JSON_MapUnit jsonObject = JSONParser.parseJSONObject <JSON_MapUnit>(src); if (jsonObject == null || !Object.op_Inequality((Object)this.EnemyTemplate, (Object)null)) { return; } for (int index2 = 0; index2 < jsonObject.enemy.Length; ++index2) { NPCSetting npcSetting = new NPCSetting(jsonObject.enemy[index2]); Unit data = new Unit(); if (data != null && data.Setup((UnitData)null, (UnitSetting)npcSetting, (Unit.DropItem)null, (Unit.DropItem)null) && !data.IsGimmick) { GameObject root; if (index1 + 1 > this.mEnemyObject.Count) { root = (GameObject)Object.Instantiate <GameObject>((M0)this.EnemyTemplate); if (!Object.op_Equality((Object)root, (Object)null)) { this.mEnemyObject.Add(root); } else { continue; } } else { root = this.mEnemyObject[index1]; } DataSource.Bind <Unit>(root, data); GameParameter.UpdateAll(root); if (Object.op_Inequality((Object)this.EnemyRoot, (Object)null)) { root.get_transform().SetParent(this.EnemyRoot.get_transform(), false); } root.SetActive(true); ++index1; } } for (int index2 = index1; index2 < this.mEnemyObject.Count; ++index2) { this.mEnemyObject[index2].SetActive(false); } this.EnemyTemplate.SetActive(false); }
private void SetEnemies(JSON_MapEnemyUnit[] json) { for (int index = 0; index < this.UnknownEnemyList.Count; ++index) { ((Component)this.UnknownEnemyList[index]).get_gameObject().SetActive(false); } List <JSON_MapEnemyUnit> list = ((IEnumerable <JSON_MapEnemyUnit>)json).ToList <JSON_MapEnemyUnit>(); TowerResuponse towerResuponse = MonoSingleton <GameManager> .Instance.TowerResuponse; TowerFloorParam towerFloorParam = (TowerFloorParam)null; if (towerResuponse != null) { towerFloorParam = towerResuponse.GetCurrentFloor(); } this.EnemyUnits.Clear(); int index1 = 0; for (int index2 = 0; index2 < list.Count; ++index2) { NPCSetting npcSetting = new NPCSetting(list[index2]); Unit data = new Unit(); data.Setup((UnitData)null, (UnitSetting)npcSetting, (Unit.DropItem)null, (Unit.DropItem)null); if (!data.IsGimmick) { TowerEnemyListItem towerEnemyListItem; if (this.EnemyList.Count <= index1) { towerEnemyListItem = (TowerEnemyListItem)((GameObject)Object.Instantiate <GameObject>((M0)this.EnemyTemplate)).GetComponent <TowerEnemyListItem>(); ((Component)towerEnemyListItem).get_transform().SetParent(this.EnemiesRoot.get_transform(), false); this.EnemyList.Add(towerEnemyListItem); } else { towerEnemyListItem = this.EnemyList[index1]; } if (towerFloorParam != null && towerFloorParam.iname == GlobalVars.SelectedQuestID && MonoSingleton <GameManager> .Instance.TowerEnemyUnit != null) { TowerResuponse.EnemyUnit enemyUnit = MonoSingleton <GameManager> .Instance.TowerEnemyUnit[index2]; data.Damage((int)data.MaximumStatus.param.hp - enemyUnit.hp, false); } DataSource.Bind <Unit>(((Component)towerEnemyListItem).get_gameObject(), data); this.EnemyUnits.Add(data); ++index1; } } for (int index2 = 0; index2 < this.EnemyList.Count; ++index2) { bool flag = index2 < list.Count && index2 < 10; ((Component)this.EnemyList[index2]).get_gameObject().SetActive(flag); this.EnemyList[index2].UpdateValue(); } }
private void SetEnemies(JSON_MapEnemyUnit[] json) { for (int index = 0; index < this.UnknownEnemyList.Count; ++index) { ((Component)this.UnknownEnemyList[index]).get_gameObject().SetActive(false); } List <JSON_MapEnemyUnit> list = ((IEnumerable <JSON_MapEnemyUnit>)json).Where <JSON_MapEnemyUnit>((Func <JSON_MapEnemyUnit, bool>)(enemy => { if (enemy.elem != 0) { return(enemy.side == 1); } return(false); })).ToList <JSON_MapEnemyUnit>(); TowerResuponse towerResuponse = MonoSingleton <GameManager> .Instance.TowerResuponse; TowerFloorParam towerFloorParam = (TowerFloorParam)null; if (towerResuponse != null) { towerFloorParam = towerResuponse.GetCurrentFloor(); } this.EnemyUnits.Clear(); for (int index = 0; index < list.Count; ++index) { TowerEnemyListItem towerEnemyListItem; if (this.EnemyList.Count <= index) { towerEnemyListItem = (TowerEnemyListItem)((GameObject)Object.Instantiate <GameObject>((M0)this.EnemyTemplate)).GetComponent <TowerEnemyListItem>(); ((Component)towerEnemyListItem).get_transform().SetParent(this.EnemiesRoot.get_transform(), false); this.EnemyList.Add(towerEnemyListItem); } else { towerEnemyListItem = this.EnemyList[index]; } NPCSetting npcSetting = new NPCSetting(list[index]); Unit data = new Unit(); data.Setup((UnitData)null, (UnitSetting)npcSetting, (Unit.DropItem)null, (Unit.DropItem)null); DataSource.Bind <Unit>(((Component)towerEnemyListItem).get_gameObject(), data); this.EnemyUnits.Add(data); } if (towerFloorParam != null && towerFloorParam.iname == GlobalVars.SelectedQuestID) { MonoSingleton <GameManager> .Instance.TowerResuponse.CalcEnemyDamage(this.EnemyUnits); } for (int index = 0; index < this.EnemyList.Count; ++index) { bool flag = index < list.Count && index < 10; ((Component)this.EnemyList[index]).get_gameObject().SetActive(flag); this.EnemyList[index].UpdateValue(); } }
private void UpdateGridColor() { if (this.CurrentMap == null) { return; } GameSettings instance1 = GameSettings.Instance; GridMap <Color32> grid = new GridMap <Color32>(this.CurrentMap.Width, this.CurrentMap.Height); MyPhoton instance2 = PunMonoSingleton <MyPhoton> .Instance; if (this.CurrentMap.PartyUnitSettings != null) { using (List <UnitSetting> .Enumerator enumerator = this.CurrentMap.PartyUnitSettings.GetEnumerator()) { while (enumerator.MoveNext()) { UnitSetting current = enumerator.Current; grid.set((int)current.pos.x, (int)current.pos.y, Color32.op_Implicit(instance1.Colors.WalkableArea)); } } } using (List <TacticsUnitController> .Enumerator enumerator = this.m_Units.GetEnumerator()) { while (enumerator.MoveNext()) { TacticsUnitController current = enumerator.Current; if (current.Unit.OwnerPlayerIndex != instance2.MyPlayerIndex) { grid.set(current.Unit.x, current.Unit.y, Color32.op_Implicit(instance1.Colors.Helper)); } } } if (this.CurrentMap.NPCUnitSettings != null) { using (List <NPCSetting> .Enumerator enumerator = this.CurrentMap.NPCUnitSettings.GetEnumerator()) { while (enumerator.MoveNext()) { NPCSetting current = enumerator.Current; grid.set((int)current.pos.x, (int)current.pos.y, Color32.op_Implicit(instance1.Colors.Enemy)); } } } this.m_SceneRoot.ShowGridLayer(0, grid, true); }
public void Refresh() { TowerFloorParam towerFloor = MonoSingleton <GameManager> .Instance.FindTowerFloor(GlobalVars.SelectedQuestID); if (towerFloor == null) { return; } QuestParam questParam = towerFloor.GetQuestParam(); DataSource.Bind <QuestParam>(((Component)this).get_gameObject(), questParam); this.SetRecommendText((int)towerFloor.lv, (int)towerFloor.joblv); int downloadAssetNum = ((FlowNode_DownloadTowerMapSets)((Component)this).GetComponentInParent <FlowNode_DownloadTowerMapSets>()).DownloadAssetNum; TowerFloorParam currentFloor = MonoSingleton <GameManager> .Instance.TowerResuponse.GetCurrentFloor(); if (currentFloor == null) { return; } if ((int)towerFloor.FloorIndex < (int)currentFloor.FloorIndex + downloadAssetNum) { if (questParam.state == QuestStates.Cleared) { GameUtility.SetGameObjectActive(this.UnkownIcon, false); GameUtility.SetGameObjectActive((Component)this.RewardText, true); GameUtility.SetGameObjectActive(this.ClearIcon, true); this.HideAllEnemyIcon(); this.SetRewards(MonoSingleton <GameManager> .Instance.FindTowerReward(towerFloor.reward_id)); } else { string path = AssetPath.LocalMap(towerFloor.map[0].mapSetName); string src = AssetManager.LoadTextData(path); if (string.IsNullOrEmpty(src)) { DebugUtility.LogError("配置ファイルがありません : QuestIname = " + towerFloor.iname + ",SetFilePath = " + path); return; } JSON_MapUnit jsonObject = JSONParser.parseJSONObject <JSON_MapUnit>(src); GameUtility.SetGameObjectActive(this.UnkownIcon, false); GameUtility.SetGameObjectActive((Component)this.RewardText, true); GameUtility.SetGameObjectActive(this.ClearIcon, false); TowerResuponse towerResuponse = MonoSingleton <GameManager> .Instance.TowerResuponse; this.HideAllEnemyIcon(); if (jsonObject.enemy != null) { TowerFloorParam towerFloorParam = (TowerFloorParam)null; if (MonoSingleton <GameManager> .Instance.TowerResuponse != null) { towerFloorParam = MonoSingleton <GameManager> .Instance.TowerResuponse.GetCurrentFloor(); } bool flag1 = towerResuponse.lot_enemies != null && towerResuponse.lot_enemies.Length > 0; bool flag2 = towerFloor.iname == currentFloor.iname; if (flag1 && flag2) { jsonObject.enemy = jsonObject.ReplacedRandEnemy(towerResuponse.lot_enemies, false); } List <TowerQuestInfo.EnemyIconData> enemyIconDataList1 = new List <TowerQuestInfo.EnemyIconData>(); for (int i = 0; i < jsonObject.enemy.Length; ++i) { bool flag3 = false; if (jsonObject.enemy[i].IsRandSymbol) { flag3 = true; } if (flag1 && flag2) { flag3 = Array.Find <RandDeckResult>(towerResuponse.lot_enemies, (Predicate <RandDeckResult>)(lot => lot.set_id == i)) != null; } Unit unit = (Unit)null; if (!jsonObject.enemy[i].IsRandSymbol) { NPCSetting npcSetting = new NPCSetting(jsonObject.enemy[i]); unit = new Unit(); unit.Setup((UnitData)null, (UnitSetting)npcSetting, (Unit.DropItem)null, (Unit.DropItem)null); } enemyIconDataList1.Add(new TowerQuestInfo.EnemyIconData() { unit = unit, enemy = jsonObject.enemy[i], is_rand = flag3 }); } List <TowerQuestInfo.EnemyIconData> enemyIconDataList2 = new List <TowerQuestInfo.EnemyIconData>(); for (int index = 0; index < enemyIconDataList1.Count; ++index) { if (!enemyIconDataList1[index].enemy.IsRandSymbol && !enemyIconDataList1[index].unit.IsGimmick) { enemyIconDataList2.Add(enemyIconDataList1[index]); } } List <TowerQuestInfo.EnemyIconData> enemyIconDataList3 = new List <TowerQuestInfo.EnemyIconData>((IEnumerable <TowerQuestInfo.EnemyIconData>)enemyIconDataList2); if (towerFloorParam != null && towerFloorParam.iname == GlobalVars.SelectedQuestID && MonoSingleton <GameManager> .Instance.TowerEnemyUnit != null) { for (int index = 0; index < enemyIconDataList3.Count; ++index) { if (enemyIconDataList3[index].unit != null) { int num = (int)enemyIconDataList3[index].unit.MaximumStatus.param.hp - MonoSingleton <GameManager> .Instance.TowerEnemyUnit[index].hp; enemyIconDataList3[index].unit.Damage(num, false); } } } List <TowerQuestInfo.EnemyIconData> icon_datas = new List <TowerQuestInfo.EnemyIconData>(); List <TowerQuestInfo.EnemyIconData> enemyIconDataList4 = new List <TowerQuestInfo.EnemyIconData>(); List <TowerQuestInfo.EnemyIconData> enemyIconDataList5 = new List <TowerQuestInfo.EnemyIconData>(); for (int index = 0; index < enemyIconDataList3.Count; ++index) { if (!enemyIconDataList3[index].is_rand) { enemyIconDataList4.Add(enemyIconDataList3[index]); } } if (towerResuponse.lot_enemies == null || (int)towerFloor.FloorIndex > (int)currentFloor.FloorIndex) { if (jsonObject.deck != null && jsonObject.deck.Length > 0 && (jsonObject.rand_tag != null && jsonObject.rand_tag.Length > 0)) { int num = 0; for (int index = 0; index < jsonObject.rand_tag.Length; ++index) { num += jsonObject.rand_tag[index].spawn; } for (int index = 0; index < num; ++index) { TowerQuestInfo.EnemyIconData enemyIconData = new TowerQuestInfo.EnemyIconData(); enemyIconDataList5.Add(enemyIconData); } } } else { for (int index = 0; index < enemyIconDataList3.Count; ++index) { if (enemyIconDataList3[index].is_rand) { enemyIconDataList5.Add(enemyIconDataList3[index]); } } } icon_datas.AddRange((IEnumerable <TowerQuestInfo.EnemyIconData>)enemyIconDataList4); icon_datas.AddRange((IEnumerable <TowerQuestInfo.EnemyIconData>)enemyIconDataList5); this.SetIcon(icon_datas); } this.SetRewards(MonoSingleton <GameManager> .Instance.FindTowerReward(towerFloor.reward_id)); } } else { GameUtility.SetGameObjectActive(this.UnkownIcon, true); GameUtility.SetGameObjectActive((Component)this.RewardText, true); GameUtility.SetGameObjectActive(this.ClearIcon, false); if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.UnkownIcon, (UnityEngine.Object)null)) { Text component = (Text)this.UnkownIcon.GetComponent <Text>(); if (UnityEngine.Object.op_Inequality((UnityEngine.Object)component, (UnityEngine.Object)null)) { component.set_text(LocalizedText.Get("sys.TOWER_UNKNOWN_TEXT", new object[1] { (object)((int)towerFloor.FloorIndex - downloadAssetNum + 1) })); } } this.HideAllEnemyIcon(); this.SetRewards(MonoSingleton <GameManager> .Instance.FindTowerReward(towerFloor.reward_id)); } if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.m_BattleResetCost, (UnityEngine.Object)null)) { this.m_BattleResetCost.set_text(MonoSingleton <GameManager> .Instance.FindTower(towerFloor.tower_id).floor_reset_coin.ToString()); } GameParameter.UpdateAll(((Component)this).get_gameObject()); this.FloorID = GlobalVars.SelectedQuestID; }