public override void OnRender(RenderTarget Target) { if (mask != null) { Target.Layer += 3; for (int i = 0; i < items.Count; i++) { if (mask.Contains(items[i])) { Target.DrawSprite(itemWindows[i].Position, maskSprite); } } Target.Layer -= 3; } if (selection != null && selection.Count > 0) { Target.Layer += 3; for (int i = 0; i < itemWindows.Length; i++) { if (gridPositions[i] >= 0 && gridPositions[i] < items.Count && selection.Contains(items[gridPositions[i]])) { Target.DrawSprite(itemWindows[i].Position, selectionSprite); } } Target.Layer -= 3; } }
bool CanConstruct(IItemCollection primary, IItemCollection secondary, ConstructionInfo construction) { for (int i = 0; i < construction.Items.Length; i++) { if (!primary.Contains(construction.Items[i]) && !secondary.Contains(construction.Items[i])) { return(false); } } for (int i = 0; i < construction.Tools.Length; i++) { if (!primary.Contains(construction.Tools[i]) && !secondary.Contains(construction.Tools[i])) { return(false); } } return(true); }
bool MainItemsAvailable(IItemCollection primary, IItemCollection secondary, ConstructionInfo construction) { for (int i = 0; i < construction.MainItems.Length; i++) { if (primary.Contains(construction.MainItems[i]) || secondary.Contains(construction.MainItems[i])) { return(true); } } return(false); }