Exemple #1
0
 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);
        }
Exemple #3
0
 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);
        }