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); }
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); }