private void CreateCirclesMenu() { _inventoryCircle = PlayerUtils.InitializeCircleMenu(GameObject.FindObjectOfType <Game>().player.inventory, _dresserInventoryLocation.transform, new Vector3(0, 0, 0), 0.2f, 0.45f, true); _stockCircle = PlayerUtils.InitializeCircleMenu(GameObject.FindObjectOfType <Game>().player.stock, _dresserStockLocation.transform, new Vector3(0, 0, 0), 0.2f, 0.45f, true); ApplyRotationCircle(_inventoryCircle, _rotationInventory); ApplyRotationCircle(_stockCircle, _rotationStock); foreach (GameObject go in _uiHelpers) { go.SetActive(true); } StartCoroutine(PlayerUtils.MessageCoroutine("Cliquer les items sélectionnés pour les faire passer dans l'inventaire et inversement", 6, GameObject.FindObjectOfType <Game>())); }
public void InitializeCircleMenu() { DestroyCircleMenu(); _circleInventory = PlayerUtils.InitializeCircleMenu(GameObject.FindObjectOfType <Game>().player.inventory, m_canvas.transform.parent.parent.parent.parent, new Vector3(-0.6f, 0.65f, 1f), 0.6f, 0.75f); /* * Dictionary<Item,int> inventory = new Dictionary<Item, int>(); * foreach (Item item in GameObject.FindObjectOfType<Game>().player.inventory) * { * if (inventory.ContainsKey(item)) inventory[item]++; * else inventory[item] = 1; * } * * //inventory[FindObjectOfType<Game>().items[0]] = 1; * //inventory[FindObjectOfType<Game>().items[1]] = 3; * * * _circleInventory = new GameObject("Inventory"); * _circleInventory.transform.parent = m_canvas.transform.parent.parent.parent.parent; * _circleInventory.transform.localPosition = new Vector3(-0.6f, 0.65f, 1f); * * int totalItems = inventory.Count; * int i = 0; * foreach (KeyValuePair<Item, int> kvp in inventory) * { * GameObject prefab = kvp.Key.GetPrefab(); * GameObject item = Instantiate(prefab); * item.GetComponent<Rigidbody>().useGravity = false; * item.GetComponent<Rigidbody>().isKinematic = true; * //capsule.transform.localScale = new Vector3(0.1f,0.1f,0.1f); * item.transform.parent = _circleInventory.transform; * float angle = (360 / (totalItems + 0.0f)) * i * Mathf.PI / 180; * item.transform.localPosition = new Vector3(0.7f*Mathf.Cos(angle),0,0.7f*Mathf.Sin(angle)); * item.transform.localScale *= 0.75f; * GameObject text = new GameObject("3DText"); * TextMesh tm = text.AddComponent<TextMesh>(); * tm.transform.localScale = new Vector3(0.1f, 0.1f, 0.1f); * tm.transform.parent = item.transform; * tm.transform.localPosition = new Vector3(0, 0, 0); * tm.text = kvp.Value.ToString(); * i++; * } */ ApplyRotationOnCircleMenu(); }