Exemplo n.º 1
0
    public void Start()
    {
        playerCrafting.materialGainedEvent.AddListener(UpdateMaterialsText);
        playerCrafting.craftingLevelUpEvent.AddListener(UpdateCraftingLevel);

        playerCrafting.GetComponent <PersistanceManager>().persistantDataLoadedEvent.AddListener(Refresh);
    }
Exemplo n.º 2
0
    IEnumerator GenerateOres()
    {
        while (true)
        {
            if (numCurrentOres < MAX_ORES)
            {
                int     oreType = GetOreType(0);
                Vector3 offset  = new Vector3(Random.Range(-70, 70), Random.Range(-50, 50), 0);
                var     newOre  = Instantiate(ores[oreType], transform.position + offset, Quaternion.identity);
                newOre.transform.SetParent(transform);

                newOre.GetComponent <Button>().onClick.AddListener(() => {
                    playerCrafting.MineOre(oreType);
                    numCurrentOres--;
                    Destroy(newOre.gameObject);
                });

                numCurrentOres++;
            }

            float oreRateBonus = playerCrafting.GetComponent <PlayerStats>().GetOreRateMultiplier();
            yield return(new WaitForSeconds(timeBetweenOres * 1f / (1 + oreRateBonus)));
        }
    }