public void UpdateDisplay() { foreach (Transform child in transform) { Destroy(child.gameObject); } List <Gem> gems = inventory.GetAllGems(); int count = 0; int y = 0; int x = 0; foreach (Gem gem in gems) { //get RectTransform corners to start at the top left corner Vector3[] corner = new Vector3[4]; gameObject.transform.GetComponent <RectTransform>().GetWorldCorners(corner); Vector3 position = new Vector3(x, y, 0) + corner[1] + new Vector3(0.4f, -0.4f, 0); GameObject newGemSlot = Instantiate(gemSlotGameObject, position, Quaternion.identity, transform); GameObject gemGameObject = Resources.Load("Gems/" + gem.GetType()) as GameObject; GameObject newGem = Instantiate(gemGameObject, position, Quaternion.identity, transform); newGemSlot.GetComponent <GemSlot>().Gem = newGem.GetComponent <Gem>(); if (shopSystem) { GemUI gemUI = newGem.GetComponentInChildren <GemUI>(); gemUI.DisableDrag(); gemUI.GemSlot = newGemSlot.GetComponent <GemSlot>(); gemUI.GemSlot.FindShopSystem(); } count++; count %= 3; if (count == 0) { y -= heightOffset; x = 0; } else { x += widthOffset; } } }
public void StartRewardPhase() { gameObject.SetActive(true); Player.instance.Wallet.Earn(10); // a terme, remplacer le 10 par niveau.getRecompense() foreach (InventorySlot slot in rewardUnitSlots) { slot.PutInSlot(UnitGenerator.GenerateUnit(Unit.allyTag)); } foreach (GemSlot gemSlot in rewardGemSlots) { GameObject gem = Player.instance.Inventory.GenerateRandomGemGameObject(gemSlot.transform); gemSlot.Gem = gem.GetComponent <Gem>(); GemUI gemUI = gem.GetComponentInChildren <GemUI>(); gemUI.DisableDrag(); gemUI.GemSlot = gemSlot; } foreach (uint id in unitsInCombatIds) { Player.instance.Inventory.GetUnit(id).EarnExperience(1); } Player.instance.Inventory.inventoryUI.UpdateGUI(); }