public static void HandleCrateSupplyRewardClicked(CrateSupplyVO crateSupply) { IDataController dataController = Service.Get <IDataController>(); DeployableShardUnlockController deployableShardUnlockController = Service.Get <DeployableShardUnlockController>(); IDeployableVO deployableVO = null; EquipmentVO equipmentVO = null; switch (crateSupply.Type) { case SupplyType.Shard: equipmentVO = ArmoryUtils.GetCurrentEquipmentDataByID(crateSupply.RewardUid); break; case SupplyType.Troop: case SupplyType.Hero: deployableVO = dataController.Get <TroopTypeVO>(crateSupply.RewardUid); break; case SupplyType.SpecialAttack: deployableVO = dataController.Get <SpecialAttackTypeVO>(crateSupply.RewardUid); break; case SupplyType.ShardTroop: case SupplyType.ShardSpecialAttack: { ShardVO shard = dataController.Get <ShardVO>(crateSupply.RewardUid); deployableVO = deployableShardUnlockController.GetDeployableVOFromShard(shard); break; } } Entity availableTroopResearchLab = Service.Get <BuildingLookupController>().GetAvailableTroopResearchLab(); if (deployableVO != null) { Service.Get <EventManager>().SendEvent(EventId.LootTableUnitInfoTapped, deployableVO.Uid); TroopUpgradeTag troopUpgradeTag = new TroopUpgradeTag(deployableVO, true); bool showUpgradeControls = !string.IsNullOrEmpty(troopUpgradeTag.Troop.UpgradeShardUid); DeployableInfoScreen screen = new DeployableInfoScreen(troopUpgradeTag, null, showUpgradeControls, availableTroopResearchLab); Service.Get <ScreenController>().AddScreen(screen); return; } if (equipmentVO != null) { EquipmentInfoScreen screen2 = new EquipmentInfoScreen(equipmentVO, null, availableTroopResearchLab, true); Service.Get <ScreenController>().AddScreen(screen2); } }
public unsafe static long $Invoke2(long instance, long *args) { return(GCHandledObjects.ObjectToGCHandle(ArmoryUtils.GetCurrentEquipmentDataByID(Marshal.PtrToStringUni(*(IntPtr *)args)))); }
public static string GetEquipmentDisplayNameById(string equipmentId) { EquipmentVO currentEquipmentDataByID = ArmoryUtils.GetCurrentEquipmentDataByID(equipmentId); return(LangUtils.GetEquipmentDisplayName(currentEquipmentDataByID)); }