public Entity ReplaceCraftingQueue(Nito.Deque<Tuple<string, int>> newDeque) { var previousComponent = hasCraftingQueue ? craftingQueue : null; var component = _craftingQueueComponentPool.Count > 0 ? _craftingQueueComponentPool.Pop() : new CraftingQueueComponent(); component.deque = newDeque; ReplaceComponent(CoreGameComponentIds.CraftingQueue, component); if (previousComponent != null) { _craftingQueueComponentPool.Push(previousComponent); } return this; }
public Entity AddCraftingQueue(Nito.Deque<Tuple<string, int>> newDeque) { var component = _craftingQueueComponentPool.Count > 0 ? _craftingQueueComponentPool.Pop() : new CraftingQueueComponent(); component.deque = newDeque; return AddComponent(CoreGameComponentIds.CraftingQueue, component); }