コード例 #1
0
    //Call this to check if there are enough of a certain colored spore
    public bool SporesAvailable(Enums.SporeColors sporeColor, int amount)
    {
        bool available = false;

        switch (sporeColor)
        {
        case Enums.SporeColors.red:
            if (amount + _pendingRedSpores <= _redSporeCount)
            {
                available         = true;
                _pendingRedSpores = amount;
            }
            break;

        case Enums.SporeColors.green:
            if (amount + _pendingGreenSpores <= _greenSporeCount)
            {
                available           = true;
                _pendingGreenSpores = amount;
            }
            break;

        case Enums.SporeColors.blue:
            if (amount + _pendingBlueSpores <= _blueSporeCount)
            {
                available          = true;
                _pendingBlueSpores = amount;
            }
            break;
        }

        return(available);
    }
コード例 #2
0
    //Call this to add a certain colored spore
    public void AddSpores(Enums.SporeColors sporeColor, int amount)
    {
        switch (sporeColor)
        {
        case Enums.SporeColors.red:
            _redSporeCount += amount;

            break;

        case Enums.SporeColors.green:
            _greenSporeCount += amount;

            break;

        case Enums.SporeColors.blue:
            _blueSporeCount += amount;

            break;
        }

        SetSporeText();
    }
コード例 #3
0
    //Call this to use a certain colored spore
    public void ConsumeSpores(Enums.SporeColors sporeColor, int amount)
    {
        switch (sporeColor)
        {
        case Enums.SporeColors.red:
            _redSporeCount -= amount;
            //_redSporeText.text = "x" + _redSporeCount;
            break;

        case Enums.SporeColors.green:
            _greenSporeCount -= amount;
            //_greenSporeText.text = "x" + _greenSporeCount;
            break;

        case Enums.SporeColors.blue:
            _blueSporeCount -= amount;
            //_blueSporeText.text = "x" + _blueSporeCount;
            break;
        }

        SetSporeText();
        ResetPending();
    }
コード例 #4
0
    public void SporeClick(string colorString)
    {
        //Don't start filling the potion if it's already filling or it's full!
        if (isFilling || potionSlider.value > 0.55f)
        {
            return;
        }

        //Determine the color of the spore to be added
        Color color = Color.white;

        Enums.SporeColors sporeColor = Enums.SporeColors.red;
        switch (colorString)
        {
        case "red":
            color      = redColor;
            sporeColor = Enums.SporeColors.red;
            break;

        case "green":
            color      = greenColor;
            sporeColor = Enums.SporeColors.green;
            break;

        case "blue":
            color      = blueColor;
            sporeColor = Enums.SporeColors.blue;
            break;
        }

        //Make sure we have enough spores to add to the potion
        if (GameController.instance.sporeSystem.SporesAvailable(sporeColor, sporeCost))
        {
            potionColors[colorIndex++] = sporeColor;
            StartCoroutine(FillingPotion(color));
        }
    }