public void ModuleInited(NodeAddedEvent e, ModuleWithUINode moduleWithUI, [JoinByParentGroup] Optional <ModuleCardNode> moduleCard)
 {
     moduleWithUI.moduleCardItemUi.Type          = moduleWithUI.moduleBehaviourType.Type;
     moduleWithUI.moduleCardItemUi.TankPart      = moduleWithUI.moduleTankPart.TankPart;
     moduleWithUI.moduleCardItemUi.Icon          = moduleWithUI.itemBigIcon.SpriteUid;
     moduleWithUI.moduleCardItemUi.Level         = -1;
     moduleWithUI.moduleCardItemUi.ModuleName    = moduleWithUI.descriptionItem.Name;
     moduleWithUI.moduleCardItemUi.MaxCardsCount = moduleWithUI.moduleCardsComposition.CraftPrice.Cards;
     moduleWithUI.moduleCardItemUi.CardsCount    = !moduleCard.IsPresent() ? 0 : ((int)moduleCard.Get().userItemCounter.Count);
     moduleWithUI.moduleCardItemUi.Active        = moduleWithUI.moduleBehaviourType.Type == ModuleBehaviourType.ACTIVE;
 }
 public void ModuleUserInited(NodeAddedEvent e, [Combine] UserModuleNode userModule, [JoinByMarketItem, Context] ModuleWithUINode moduleWithUI, [JoinByParentGroup] Optional <ModuleCardNode> moduleCards, [JoinAll] Optional <SelectedSlotWithModuleNode> selectedSlot, [JoinAll] SelfUserNode selfUser)
 {
     if (userModule.userGroup.Key == selfUser.userGroup.Key)
     {
         moduleWithUI.Entity.RemoveComponent <ModuleCardItemUIComponent>();
         moduleWithUI.Entity.RemoveComponent <ToggleListItemComponent>();
         if (moduleWithUI.Entity.HasComponent <ToggleListSelectedItemComponent>())
         {
             moduleWithUI.Entity.RemoveComponent <ToggleListSelectedItemComponent>();
         }
         if (userModule.Entity.HasComponent <ModuleCardItemUIComponent>())
         {
             userModule.Entity.RemoveComponent <ModuleCardItemUIComponent>();
         }
         if (userModule.Entity.HasComponent <ToggleListItemComponent>())
         {
             userModule.Entity.RemoveComponent <ToggleListItemComponent>();
         }
         userModule.Entity.AddComponent(moduleWithUI.moduleCardItemUi);
         userModule.Entity.AddComponent(moduleWithUI.moduleCardItemUi.GetComponent <ToggleListItemComponent>());
         this.SetModuleLevel(moduleWithUI.moduleCardItemUi, userModule.moduleUpgradeLevel, moduleWithUI.moduleCardsComposition, moduleCards);
         this.SelectMountedModuleCard(moduleWithUI.moduleCardItemUi, userModule.moduleGroup, selectedSlot);
     }
 }