コード例 #1
0
        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("");
        }
コード例 #2
0
ファイル: inventory.cs プロジェクト: paulfysh/Zombocalypse
        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
        }
コード例 #3
0
        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
        }
コード例 #4
0
 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;
 }
コード例 #5
0
            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);
            }
コード例 #6
0
        public bool contains(resource.resourceTypes res, int quantity)
        {
            foreach (inventoryItem item in items)
            {
                if (item.type == res && item.quantity >= quantity)
                {
                    return(true);
                }
            }

            return(false);
        }
コード例 #7
0
            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("");
            }
コード例 #8
0
        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);
        }
コード例 #9
0
        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;
        }
コード例 #10
0
        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);
        }
コード例 #11
0
ファイル: inventory.cs プロジェクト: paulfysh/Zombocalypse
 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;
 }
コード例 #12
0
            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);
            }
コード例 #13
0
        //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;
                                }
                            }
                        }
                    }
                }
            }
        }