Exemplo n.º 1
0
    public void GainCoins(string source)
    {
        int amount = 0;

        switch (source)
        {
        case "ItemPurchase":
            amount = -itemCost;
            Instantiate(itemCostDeductedText, transform.position, Quaternion.identity);
            coins           += amount;
            coinCounter.text = coins.ToString();
            return;

        case "Collectible":
            amount = collectibleCoinAmount;
            DecrementCollectiblesRemaining();
            break;

        case "Enemy":
            amount = enemyCoinAmount;
            break;

        case "Fuel":
            amount = fuelCoinAmount * Mathf.RoundToInt(illuminate.GetRemainingFuel() * 100);
            GameObject bonusTextFuel = Instantiate(bonusCoinsFuel, transform.position, Quaternion.identity);
            bonusTextFuel.GetComponentInChildren <TextMeshProUGUI>().text = "+" + Mathf.RoundToInt(amount * coinMultiplier).ToString();
            break;

        case "Sword":
            amount = swordCoinAmount;
            GameObject bonusTextSword = Instantiate(bonusCoinsSword, transform.position, Quaternion.identity);
            bonusTextSword.GetComponentInChildren <TextMeshProUGUI>().text = "+" + Mathf.RoundToInt(amount * coinMultiplier).ToString();
            break;

        case "StageCleared":
            amount = stageClearedAmount;
            GameObject bonusTextStageCleared = Instantiate(bonusCoinsStageCleared, transform.position, Quaternion.identity);
            bonusTextStageCleared.GetComponentInChildren <TextMeshProUGUI>().text = "+" + Mathf.RoundToInt(amount * coinMultiplier).ToString() + "\n" + "Loot cleared!";
            break;

        default:
            Debug.LogWarning("Invalid coin amount/source");
            break;
        }
        coins           += Mathf.RoundToInt(amount * coinMultiplier);
        coinCounter.text = coins.ToString();
    }