public void AddItems(NodeAddedEvent e, ItemsListNode itemListNode, [Context, JoinByScreen] SingleNode <SimpleHorizontalListComponent> horizontalListNode) { base.NewEvent <ShowGarageItemsEvent>().AttachAll(itemListNode.itemsListForView.Items).Schedule(); }
public void UnMarkMountedItem(NodeRemoveEvent e, MountedUserItemNode item, [JoinAll] ScreenNode screenNode, [JoinByScreen] ItemsListNode itemsList) { this.MarkItem(item.Entity, itemsList.itemsListForView.Items, screenNode, false); }
public void ReplaceUserItemToMarketItem(NodeRemoveEvent e, UserItemNode userItem, [JoinByMarketItem] Optional <MarketItemNode> marketItem, [JoinAll] ScreenNode screenNode, [JoinByScreen] SingleNode <SelectedItemComponent> selectedItemNode, [JoinByScreen] ItemsListNode itemsList) { bool select = ReferenceEquals(selectedItemNode.component.SelectedItem, userItem.Entity); if (marketItem.IsPresent()) { this.ReplaceItem(screenNode.simpleHorizontalList, itemsList.itemsListForView, userItem.Entity, marketItem.Get().Entity, select); } else { screenNode.simpleHorizontalList.RemoveItem(userItem.Entity); itemsList.itemsListForView.Items.Remove(userItem.Entity); if (select && (screenNode.simpleHorizontalList.Count != 0)) { base.ScheduleEvent <SelectGarageItemEvent>(screenNode.simpleHorizontalList.GetItems().First <Entity>()); } else if (screenNode.simpleHorizontalList.Count == 0) { base.ScheduleEvent <ItemsListEmptyEvent>(screenNode); } } }
public void ReplaceBoughtItem(NodeAddedEvent e, UserItemNode userItemNode, [JoinByMarketItem] MarketItemNode boughtItem, [JoinAll] ScreenNode screenNode, [JoinByScreen] SingleNode <SelectedItemComponent> selectedItemNode, [JoinByScreen] ItemsListNode itemsList) { Entity item = boughtItem.Entity; if (itemsList.itemsListForView.Items.Contains(item)) { bool select = ReferenceEquals(selectedItemNode.component.SelectedItem, item); this.ReplaceItem(screenNode.simpleHorizontalList, itemsList.itemsListForView, item, userItemNode.Entity, select); } }
public void MarkMountedItem(ShowGarageItemsEvent e, [Combine] MountedUserItemNode item, [JoinAll] ScreenNode screenNode, [JoinByScreen] ItemsListNode itemsList) { this.MarkItem(item.Entity, itemsList.itemsListForView.Items, screenNode, true); }
public void MarkMountedItem(NodeAddedEvent e, MountedUserItemNode item, [JoinAll] ScreenNode screenNode, [JoinByScreen] ItemsListNode itemsList) { this.MarkItem(item.Entity, itemsList.itemsListForView.Items, screenNode, true); }