protected void InitTroopGrid() { base.InitGrid(); GamePlayer worldOwner = GameUtils.GetWorldOwner(); List <SquadDonatedTroop> worldOwnerSquadBuildingTroops = SquadUtils.GetWorldOwnerSquadBuildingTroops(); int count = worldOwnerSquadBuildingTroops.Count; if (count > 0) { Dictionary <string, string> dictionary = null; if (worldOwner.Squad != null) { dictionary = new Dictionary <string, string>(); List <SquadMember> memberList = worldOwner.Squad.MemberList; int i = 0; int count2 = memberList.Count; while (i < count2) { SquadMember squadMember = memberList[i]; dictionary.Add(squadMember.MemberID, squadMember.MemberName); i++; } } StaticDataController staticDataController = Service.StaticDataController; for (int j = 0; j < count; j++) { SquadDonatedTroop squadDonatedTroop = worldOwnerSquadBuildingTroops[j]; TroopTypeVO troopTypeVO = staticDataController.Get <TroopTypeVO>(squadDonatedTroop.TroopUid); int totalAmount = squadDonatedTroop.GetTotalAmount(); if (totalAmount > 0) { string tooltipString = this.GetTooltipString(troopTypeVO, squadDonatedTroop, dictionary); base.AddTroopItem(troopTypeVO, totalAmount, tooltipString); } } } if (!this.inVisitMode && worldOwner.Squad != null && SquadUtils.GetDonatedTroopStorageUsedByWorldOwner() < this.buildingInfo.Storage) { this.AddTroopRequestItem(); } else { this.requestResendCost = null; } base.RepositionGridItems(); }
protected void InitTroopGrid() { this.storageItemGrid = base.GetElement <UXGrid>("GridCurrentTroops"); this.storageItemGrid.SetTemplateItem("CardCurrentTroops"); this.storageItemGrid.Clear(); this.troopList = new List <TroopUpgradeTag>(); int num = 0; GamePlayer worldOwner = GameUtils.GetWorldOwner(); List <SquadDonatedTroop> list; int squadStorageCapacity; if (this.isWarRequest) { SquadMemberWarData currentMemberWarData = Service.SquadController.WarManager.GetCurrentMemberWarData(); list = currentMemberWarData.WarTroops; squadStorageCapacity = currentMemberWarData.BaseMap.GetSquadStorageCapacity(); } else { list = SquadUtils.GetWorldOwnerSquadBuildingTroops(); squadStorageCapacity = worldOwner.Map.GetSquadStorageCapacity(); } int count = list.Count; if (count > 0) { StaticDataController staticDataController = Service.StaticDataController; for (int i = 0; i < count; i++) { SquadDonatedTroop squadDonatedTroop = list[i]; TroopTypeVO troopTypeVO = staticDataController.Get <TroopTypeVO>(squadDonatedTroop.TroopUid); int totalAmount = squadDonatedTroop.GetTotalAmount(); if (totalAmount > 0) { this.AddTroopItem(troopTypeVO, totalAmount); num += totalAmount * troopTypeVO.Size; } } } this.canRequestTroops = (num < squadStorageCapacity); this.UpdateScreenElementVisibility(); this.storageItemGrid.RepositionItems(); }