private string getTextForItemType(resource.resourceTypes itemType) { switch (itemType) { case resource.resourceTypes.Hatchet: return("Hatchet"); case resource.resourceTypes.Wood: return("Wood"); case resource.resourceTypes.Acorn: return("Acorn"); case resource.resourceTypes.Spike: return("Spike"); case resource.resourceTypes.SpikePit: return("Spike Pit"); case resource.resourceTypes.Tree: return("Tree"); } ; return(""); }
public inventory(ContentManager Content) { background = Content.Load<Texture2D>("InventoryBackground"); itemSlot = Content.Load<Texture2D>("inventorySquare"); selectedItemSlot = Content.Load<Texture2D>("selectedInventorySquare"); wood = Content.Load<Texture2D>("wood"); hatchet = Content.Load<Texture2D>("hatchet"); inventoryDialog = Content.Load<Texture2D>("InventoryDialogBox"); acorn = Content.Load<Texture2D>("acornIcon"); font = Content.Load<SpriteFont>("SpriteFont1"); spike = Content.Load<Texture2D>("woodenStake"); currentWeapon = resource.resourceTypes.Hatchet; //set all inventory slots to unoccupied. for (int i = 0; i < 10; i++) { for (int y = 0; y < 10; y++) { occupiedSlots[i, y] = 'F'; } } //load item textures }
public inventory(ContentManager Content) { background = Content.Load <Texture2D>("InventoryBackground"); itemSlot = Content.Load <Texture2D>("inventorySquare"); selectedItemSlot = Content.Load <Texture2D>("selectedInventorySquare"); wood = Content.Load <Texture2D>("wood"); hatchet = Content.Load <Texture2D>("hatchet"); inventoryDialog = Content.Load <Texture2D>("InventoryDialogBox"); acorn = Content.Load <Texture2D>("acornIcon"); font = Content.Load <SpriteFont>("SpriteFont1"); spike = Content.Load <Texture2D>("woodenStake"); currentWeapon = resource.resourceTypes.Hatchet; //set all inventory slots to unoccupied. for (int i = 0; i < 10; i++) { for (int y = 0; y < 10; y++) { occupiedSlots[i, y] = 'F'; } } //load item textures }
public inventoryItem(resource.resourceTypes itemType, int itemQuantity, Tuple <int, int> pos, Tuple <int, int> lowerPos, bool selected = false) { type = itemType; quantity = itemQuantity; topLeftInventoryPos = pos; bottomRightInventoryPos = lowerPos; itemSelected = selected; }
public constructionItem(resource.resourceTypes itemType, List <Tuple <resource.resourceTypes, int> > itemCost, bool itemAppearsInInventory, bool itemAppearsOnMap, bool itemIsSelected = false) { type = itemType; cost = itemCost; appearsInInventory = itemAppearsInInventory; appearsOnMap = itemAppearsOnMap; name = ""; selected = itemIsSelected; name = lookupNameForType(itemType); }
public bool contains(resource.resourceTypes res, int quantity) { foreach (inventoryItem item in items) { if (item.type == res && item.quantity >= quantity) { return(true); } } return(false); }
public string lookupNameForType(resource.resourceTypes typeToLookup) { switch (typeToLookup) { case resource.resourceTypes.Spike: return("Wooden Spike"); case resource.resourceTypes.SpikePit: return("Wooden Spike Pit"); case resource.resourceTypes.Tree: return("Tree"); } return(""); }
private Texture2D getSpriteForType(resource.resourceTypes type) { switch (type) { case resource.resourceTypes.Spike: return(Spike); case resource.resourceTypes.SpikePit: return(SpikePit); case resource.resourceTypes.Tree: return(Tree); } return(null); }
public void decreaseResource(resource.resourceTypes res, int quantity) { int selectedItemPos = 0; for (int i = 0; i <= items.Count() - 1; i++) { if (items[i].type == res) { selectedItemPos = i; break; } } inventoryItem tmp = items[selectedItemPos]; tmp.decreaseQuantity(quantity); items[selectedItemPos] = tmp; }
private Texture2D getTextureForType(resource.resourceTypes type) { switch (type) { case resource.resourceTypes.Wood: return(wood); case resource.resourceTypes.Hatchet: return(hatchet); case resource.resourceTypes.Acorn: return(acorn); case resource.resourceTypes.Spike: return(spike); } return(null); }
public inventoryItem(resource.resourceTypes itemType, int itemQuantity, Tuple<int,int> pos, Tuple<int, int> lowerPos, bool selected=false) { type = itemType; quantity = itemQuantity; topLeftInventoryPos = pos; bottomRightInventoryPos = lowerPos; itemSelected = selected; }
public constructionItem(resource.resourceTypes itemType, List<Tuple<resource.resourceTypes, int>> itemCost, bool itemAppearsInInventory, bool itemAppearsOnMap, bool itemIsSelected = false) { type = itemType; cost = itemCost; appearsInInventory = itemAppearsInInventory; appearsOnMap = itemAppearsOnMap; name = ""; selected = itemIsSelected; name = lookupNameForType(itemType); }
//this method works but its putting stuff in the wrong way (as in it adds in verticle columns rather than horizontal which was unintended). //TODO: fixme public void addToInventory(resource.resourceTypes type, int quantity) { if (contains(type, 0)) { increaseResource(type, quantity); } else { Texture2D itemTexture = getTextureForType(type); int colSlotsNeeded = itemTexture.Width / 20; int rowSlotsNeeded = itemTexture.Height / 20; for (int col = 0; col < 10; col++) { for (int row = 0; row < 10; row++) { if (occupiedSlots[col, row] == 'F') { //make sure theres enough slots to do the checks if (col + colSlotsNeeded <= 10 && row + rowSlotsNeeded <= 10) { bool columnsMatch = true; bool rowsMatch = true; for (int colSizeCheck = 0; colSizeCheck < colSlotsNeeded; colSizeCheck += 1) { if (occupiedSlots[col + colSizeCheck, row] != 'F') { columnsMatch = false; } } if (columnsMatch) { for (int rowSizeCheck = 0; rowSizeCheck < rowSlotsNeeded; rowSizeCheck += 1) { if (occupiedSlots[col, row + rowSizeCheck] != 'F') { rowsMatch = false; } } } if (rowsMatch && columnsMatch) { //set the rows to used for (int colSizeCheck = 0; colSizeCheck < colSlotsNeeded; colSizeCheck += 1) { occupiedSlots[col + colSizeCheck, row] = 'T'; } for (int rowSizeCheck = 0; rowSizeCheck < rowSlotsNeeded; rowSizeCheck += 1) { occupiedSlots[col, row + rowSizeCheck] = 'T'; } if (items.Count == 0) { items.Add(new inventoryItem(type, quantity, new Tuple <int, int>(col, row), new Tuple <int, int>(col + (colSlotsNeeded - 1), row + (rowSlotsNeeded - 1)), true)); } else { items.Add(new inventoryItem(type, quantity, new Tuple <int, int>(col, row), new Tuple <int, int>(col + (colSlotsNeeded - 1), row + (rowSlotsNeeded - 1)))); } return; } } } } } } }