Пример #1
0
        public void CreateChildrenNodes(List <Item.ItemType> _availableTypes, ItemsDatabase _itemsDatabase)
        {
            int randomTypeIndex = Random.Range(0, _availableTypes.Count);

            Item.ItemType childrenItemType = _availableTypes[randomTypeIndex];
            _availableTypes.RemoveAt(randomTypeIndex);

            List <Item> items     = _itemsDatabase.GetItems(childrenItemType);
            int         itemIndex = Random.Range(0, items.Count - 1);
            int         item0     = 0;
            int         item1     = 0;

            int randomNodeIndex = Random.Range(0, 2);

            if (randomNodeIndex == 0)
            {
                item0 = itemIndex;
                item1 = itemIndex + 1;
            }
            else
            {
                item0 = itemIndex + 1;
                item1 = itemIndex;
            }

            m_node1 = new Node(childrenItemType, items[item0], true, m_depth + 1, _availableTypes, _itemsDatabase);
            m_node2 = new Node(childrenItemType, items[item1], false, m_depth + 1, _availableTypes, _itemsDatabase);
        }
Пример #2
0
    private void AssignItem(Item.ItemType _itemType, GameObject _character)
    {
        List <Item> itemsList = m_itemsDatabase.GetItems(_itemType);
        int         itemIndex = Random.Range(0, itemsList.Count);
        SimpleItem  item      = (SimpleItem)itemsList[itemIndex];

        _character.GetComponent <Character>().AssignHead(item);
    }