public Entity AddHexTileDefinition(HexTileDefinitionComponent.TileType newType, bool newIsBlocked) { var component = _hexTileDefinitionComponentPool.Count > 0 ? _hexTileDefinitionComponentPool.Pop() : new HexTileDefinitionComponent(); component.type = newType; component.isBlocked = newIsBlocked; return AddComponent(ComponentIds.HexTileDefinition, component); }
public Entity ReplaceHexTileDefinition(HexTileDefinitionComponent.TileType newType, bool newIsBlocked) { var previousComponent = hasHexTileDefinition ? hexTileDefinition : null; var component = _hexTileDefinitionComponentPool.Count > 0 ? _hexTileDefinitionComponentPool.Pop() : new HexTileDefinitionComponent(); component.type = newType; component.isBlocked = newIsBlocked; ReplaceComponent(ComponentIds.HexTileDefinition, component); if (previousComponent != null) { _hexTileDefinitionComponentPool.Push(previousComponent); } return this; }