public TroopTab ConvertTroopTypeToTab(TroopType type) { TroopTab result = TroopTab.All; switch (type) { case TroopType.Infantry: result = TroopTab.Infantry; break; case TroopType.Vehicle: result = TroopTab.Vehicle; break; case TroopType.Mercenary: result = TroopTab.Mercenary; break; case TroopType.Hero: result = TroopTab.Hero; break; default: Service.Get <StaRTSLogger>().WarnFormat("Cannot convert TroopType {0} to TroopTab", new object[] { type }); break; } return(result); }
public TroopTab ConvertTroopRoleToTab(TroopRole role) { TroopTab result = TroopTab.All; switch (role) { case TroopRole.Generic: result = TroopTab.Generic; break; case TroopRole.Striker: result = TroopTab.Striker; break; case TroopRole.Breacher: result = TroopTab.Breacher; break; case TroopRole.Looter: result = TroopTab.Looter; break; case TroopRole.Bruiser: result = TroopTab.Bruiser; break; case TroopRole.Healer: result = TroopTab.Healer; break; case TroopRole.Destroyer: result = TroopTab.Destroyer; break; default: Service.Get <StaRTSLogger>().WarnFormat("Cannot convert TroopRole {0} to TroopTab", new object[] { role }); break; } return(result); }
private void PopulateTroopGrid() { List <TroopUpgradeScreen.DeployableUpgradeData> list = new List <TroopUpgradeScreen.DeployableUpgradeData>(); this.contractHidden = (this.activeContract != null); string a = string.Empty; int i = 0; int count = this.eligibleDeployables.Count; while (i < count) { TroopUpgradeScreen.DeployableUpgradeData deployableUpgradeData = this.eligibleDeployables[i]; TroopTab currentTab = (TroopTab)this.filterHelper.CurrentTab; if (deployableUpgradeData.CurrentType is SpecialAttackTypeVO) { if (currentTab == TroopTab.All || currentTab == TroopTab.Starship) { if (this.contractHidden) { SpecialAttackTypeVO nextLevel = Service.StarshipUpgradeCatalog.GetNextLevel((SpecialAttackTypeVO)deployableUpgradeData.CurrentType); if (nextLevel != null && nextLevel.PlayerFacing) { a = nextLevel.Uid; } } goto IL_13F; } } else if (currentTab != TroopTab.Starship) { if (currentTab != TroopTab.All) { TroopType type = ((TroopTypeVO)deployableUpgradeData.CurrentType).Type; TroopTabHelper troopTabHelper = this.filterHelper as TroopTabHelper; TroopTab troopTab = troopTabHelper.ConvertTroopTypeToTab(type); if (currentTab != troopTab) { goto IL_16F; } } if (!this.contractHidden) { goto IL_13F; } TroopTypeVO nextLevel2 = Service.TroopUpgradeCatalog.GetNextLevel((TroopTypeVO)deployableUpgradeData.CurrentType); if (nextLevel2 != null && nextLevel2.PlayerFacing) { a = nextLevel2.Uid; goto IL_13F; } goto IL_13F; } IL_16F: i++; continue; IL_13F: if (this.contractHidden && a == this.activeContract.ProductUid) { this.contractHidden = false; } list.Add(deployableUpgradeData); goto IL_16F; } list.Sort(new Comparison <TroopUpgradeScreen.DeployableUpgradeData>(this.CompareUpgradeDataBySortOrder)); int num = 2; int count2 = list.Count; int num2 = (count2 % num != 0) ? (count2 / num + 1) : (count2 / num); this.troopGrid.MaxItemsPerLine = num2; if (count2 % num == 1) { int sortOrder = 2 * num2 - 1; this.AddSpacerElement(sortOrder, this.troopGrid); } int j = 0; int count3 = list.Count; while (j < count3) { int num3 = j % num; int sortOrder2 = num3 * num2 + j / num; TroopUpgradeScreen.DeployableUpgradeData deployableUpgradeData2 = list[j]; this.AddUpgradeableItemToTroopGrid(deployableUpgradeData2.UpgradeType, deployableUpgradeData2.CurrentType, sortOrder2); j++; } this.troopGrid.RepositionItemsFrameDelayed(new UXDragDelegate(this.FinishTroopGridSetup), 1); this.CheckActiveContract(); }