public void BuyItem() { /*chamado dps que o item fom comprado efetivamente!! */ /* se a arma nao for repetida ( conseguiu adicionar ), incremente o lvl dela * e atualize na variavel local itemUpgradeLevel*/ if (PlayerGlobalStatus.AddPlayerItem(item)) { if (item.CompareTag(Constantes.WEAPON)) { itemUpgradeLevel = item.GetComponent <Weapon>().GetWeaponLevel(); } else if (item.CompareTag(Constantes.BOMB)) { itemUpgradeLevel = item.GetComponent <Bomb>().GetBombLevel(); } else if (item.CompareTag(Constantes.SHIELD)) { itemUpgradeLevel = item.GetComponent <Shield>().GetShieldLevel(); } } UpdateItemPricesAndSetFactor(); UpdateUpgradePanelStatus(); CheckChildsTags(); }
/* essa funcao chamará o playerFireManager! passo fundamental e uma vez * mais, um exemplo de onde um delegate e evento seria util... */ private void AddWeaponAndManageAmmoVector(GameObject playerDefaultLaser) { PlayerGlobalStatus.AddPlayerItem(playerDefaultLaser); playerFireManager.ManageAmmoVector(); }