public void SetMode(TankPartModuleType tankPartMode) { if (tankPartMode != this.currentMode) { this.currentMode = tankPartMode; this.UpdateView(); if (this.onModeChange != null) { this.onModeChange(); } } }
private int GetSlotsCount(ICollection <SlotNode> slots, TankPartModuleType tankPartType) { int num = 0; foreach (SlotNode node in slots) { if (node.slotTankPart.TankPart == tankPartType) { num++; } } return(num); }
public TankPartModeController(TankPartCollectionView turretCollectionView, TankPartCollectionView hullCollectionView, CollectionView collectionView) { this.turretCollectionView = turretCollectionView; this.hullCollectionView = hullCollectionView; this.collectionView = collectionView; turretCollectionView.GetComponent <SimpleClickHandler>().onClick = new Action <GameObject>(this.OnTurretClick); hullCollectionView.GetComponent <SimpleClickHandler>().onClick = new Action <GameObject>(this.OnHullClick); collectionView.turretToggle.onValueChanged.AddListener(new UnityAction <bool>(this.OnTurretToggleValueChanged)); collectionView.hullToggle.onValueChanged.AddListener(new UnityAction <bool>(this.OnHullToggleValueChanged)); collectionView.turretToggle.isOn = true; collectionView.hullToggle.isOn = false; this.currentMode = TankPartModuleType.WEAPON; this.UpdateView(); }
public void ShowTankPartStatGarage(ButtonClickEvent e, SingleNode <TankPartItemPropertiesButtonComponent> tankPartItemPropertiesButton, [JoinAll] SingleNode <SelectedPresetComponent> selectedPreset, [JoinByUser] ICollection <MountedModuleItemNode> mountedModules, [JoinAll] ICollection <SlotNode> slots, [JoinAll] ModuleUpgradeConfigNode moduleUpgradeConfig, [JoinAll] SingleNode <SelectedHullUIComponent> garageScreen) { List <ModuleItemNode> modules = new List <ModuleItemNode>(); TankPartModuleType tankPartModuleType = tankPartItemPropertiesButton.component.tankPartModuleType; foreach (MountedModuleItemNode node in mountedModules) { if (node.moduleTankPart.TankPart == tankPartModuleType) { modules.Add(node); } } int slotsCount = this.GetSlotsCount(slots, tankPartModuleType); float coef = TankUpgradeUtils.CalculateUpgradeCoeff(this.GetTierAndLevelsDictionary(modules), slotsCount, moduleUpgradeConfig.moduleUpgradablePowerConfig); tankPartItemPropertiesButton.component.itemPropertiesUiComponent.Show(null, coef, coef); }
private List <ModuleItemNode> GetMountedModules(ICollection <MountedModuleItemNode> modules, TankPartModuleType tankPartModuleType) { List <ModuleItemNode> list = new List <ModuleItemNode>(); foreach (MountedModuleItemNode node in modules) { if (node.moduleTankPart.TankPart == tankPartModuleType) { list.Add(node); } } return(list); }