private void UpdateButtons(ModulesScreenUIComponent screen, SelectedSlotNode selectedSlot, SelectedModuleNode selectedModule, EquipButtonNode equipButton, SelfUserMoneyNode selfUserMoney) { int slot = (int)selectedSlot.slotUserItemInfo.Slot; equipButton.mountModuleButton.SetEquipButtonState(slot, (selectedSlot.Entity.HasComponent <ModuleGroupComponent>() && selectedModule.Entity.HasComponent <ModuleGroupComponent>()) && (selectedSlot.Entity.GetComponent <ModuleGroupComponent>().Key == selectedModule.Entity.GetComponent <ModuleGroupComponent>().Key)); int level = selectedModule.moduleCardItemUi.Level; int cardsCount = selectedModule.moduleCardItemUi.CardsCount; int maxCardsCount = selectedModule.moduleCardItemUi.MaxCardsCount; List <ModulePrice> upgradePrices = selectedModule.moduleCardsComposition.UpgradePrices; int price = 0; int priceXCry = 0; if ((level > -1) && ((level - 1) < upgradePrices.Count)) { price = upgradePrices[level - 1].Crystals; priceXCry = upgradePrices[level - 1].XCrystals; } int money = (int)selfUserMoney.userMoney.Money; int userXCryCount = (int)selfUserMoney.userXCrystals.Money; equipButton.mountModuleButton.mountButtonActive = (level != -1) && (selectedSlot.slotUserItemInfo.ModuleBehaviourType == selectedModule.moduleBehaviourType.Type); foreach (UpgradeModuleBaseButtonComponent component in screen.GetComponentsInChildren <UpgradeModuleBaseButtonComponent>(true)) { component.Setup(level, cardsCount, maxCardsCount, price, priceXCry, money, userXCryCount); } }
public void OnModuleWasUpgraded(ModuleUpgradedEvent e, SelectedModuleNode module, [JoinAll] SelectedSlotNode selectedSlot, [JoinAll] EquipButtonNode equipButton, [JoinAll] SelfUserMoneyNode selfUserMoney, [JoinAll] SingleNode <ModulesScreenUIComponent> screen) { this.UpdateButtons(screen.component, selectedSlot, module, equipButton, selfUserMoney); }
public void SelectedSlotWithModules(NodeAddedEvent e, SelectedSlotNode selectedSlot, SelectedModuleNode selectedModule, [JoinAll, Context] EquipButtonNode equipButton, [JoinAll] SelfUserMoneyNode selfUserMoney, [JoinAll] SingleNode <ModulesScreenUIComponent> screen) { this.UpdateButtons(screen.component, selectedSlot, selectedModule, equipButton, selfUserMoney); }
public void ModuleUnmounted(NodeRemoveEvent e, SelectedSlotWithModuleNode selectedSlotWithModule, [JoinAll] SelectedModuleNode selectedModule, [JoinAll] EquipButtonNode equipButton) { int slot = (int)selectedSlotWithModule.slotUserItemInfo.Slot; equipButton.mountModuleButton.SetEquipButtonState(slot, false); }