Exemple #1
0
    bool CanSelect()
    {
        if (currentPowerUp < 0)
        {
            return(false);
        }

        string powerUpName = powerUpPanel.GetChild(currentPowerUp).name.ToUpper();

        try {
            PowerUPType powerUp = (PowerUPType)Enum.Parse(typeof(PowerUPType), powerUpName);
            if (powerUpTracker.ContainsKey(powerUp))
            {
                if (powerUpTracker[powerUp] == 0)
                {
                    return(false);
                }
            }
        }
        catch {
            return(false);
        }

        return(true);
    }
    public void CreateAndFlyPowerUP(PowerUPType type, PlayerData pm)
    {
        PowerUP powerUP = Instantiate(PowerUPPrefab);

        powerUP.SetPowerType(type, powerUPtypeSprites.Find(x => x.type == type).Sprite);
        powerUP.transform.position = pm.gameObject.transform.position;
        powerUP.FlyToTarget(GetRandomTargetTile(true, true));
    }
Exemple #3
0
 public int GetClampPowerUpValue(PowerUPType type, int value)
 {
     if (ClampUpgrades == false || clampedPowerUPTypeAmount == null || clampedPowerUPTypeAmount.ContainsKey(type) == false)
     {
         return(value);
     }
     return(Mathf.Clamp(value, 0, clampedPowerUPTypeAmount[type]));
 }
Exemple #4
0
 private void RemoveNegativeEffect()
 {
     if (HasNegativEffect == false)
     {
         return;
     }
     lastEffect = PowerUPType.Bomb;
     powerUPTypeToAmount[lastEffect] = 0;
 }
Exemple #5
0
    //void AddOption(PowerUPType powerUp) {
    //    for (int i = 0; i < powerUpPanel.childCount; i++) {
    //        string powerUpName = powerUpPanel.GetChild(i).name.ToUpper();
    //        if ((PowerUPType)Enum.Parse(typeof(PowerUPType), powerUpName) == powerUp)
    //            powerUpPanel.GetChild(i).GetComponentInChildren<Text>().gameObject.SetActive(true);
    //    }
    //}

    void RemoveOption(PowerUPType powerUp)
    {
        for (int i = 0; i < powerUpPanel.childCount; i++)
        {
            string powerUpName = powerUpPanel.GetChild(i).name.ToUpper();
            if ((PowerUPType)Enum.Parse(typeof(PowerUPType), powerUpName) == powerUp)
            {
                powerUpPanel.GetChild(i).GetComponentInChildren <Text>().gameObject.SetActive(false);
            }
        }
    }
Exemple #6
0
        private void AddPowerUp(PowerUPType type)
        {
            switch (type)
            {
            case PowerUPType.DoubleJump:
                doubleJumpPowerUp.SetActive(true);
                break;

            case PowerUPType.Sprint:
                sprintPowerUp.SetActive(true);
                break;
            }
        }
Exemple #7
0
        public void ReactOnPowerUpAdded(PowerUPType powerUPType)
        {
            switch (powerUPType)
            {
            case PowerUPType.DoubleJump:
                thirdPersonCharacter.doubleJumpUnlocked = true;
                break;

            case PowerUPType.Sprint:
                thirdPersonUserControl.sprintUnlocked = true;
                break;
            }
        }
Exemple #8
0
        // For saves
        public void ReactOnPowerUpAdded(PowerUPType powerUPType)
        {
            switch (powerUPType)
            {
            case PowerUPType.DoubleJump:
                audioManager.PlaySFx(SFXType.PowerUpJump);
                powerUpDoubleJumpUnlocked = true;
                break;

            case PowerUPType.Sprint:
                audioManager.PlaySFx(SFXType.PowerUpSprint);
                powerUpSprintUnlocked = true;
                break;
            }
        }
Exemple #9
0
    void PowerUpPlayer()
    {
        if (currentPowerUp < 0)
        {
            return;
        }

        string      powerUpName = powerUpPanel.GetChild(currentPowerUp).name.ToUpper();
        PowerUPType powerUp     = (PowerUPType)Enum.Parse(typeof(PowerUPType), powerUpName);

        switch (powerUp)
        {
        case PowerUPType.SPEEDUP:
            FindObjectOfType <Player>().speed += 1.5f;
            break;

        case PowerUPType.MISSLES:
            FindObjectOfType <Player>().AddLauncher();
            break;

        case PowerUPType.EXTRABLASTERS:
            FindObjectOfType <Player>().AddBlaster();
            break;

        case PowerUPType.SHIELD:
            FindObjectOfType <Player>().ShieldsUp();
            break;

        default:
            break;
        }

        if (powerUpTracker.ContainsKey(powerUp))
        {
            powerUpTracker[powerUp]--;
            if (powerUpTracker[powerUp] == 0)
            {
                RemoveOption(powerUp);
            }
        }

        ResetOption();
    }
    private void OnBoxDestroy(Vector3Int vector3Int)
    {
        int         random = UnityEngine.Random.Range(0, 8);
        PowerUPType put    = PowerUPType.Blastradius;

        switch (random)
        {
        case 0:
        case 1:
        case 2:
            //Speed, Blastradius, Bomb
            put = (PowerUPType)random;
            break;

        case 3:
            //Push, Throw
            put = (PowerUPType)(random + UnityEngine.Random.Range(0, 2));
            break;

        case 4:
            //Diarrhea, Joint, Superspeed
            int negative = UnityEngine.Random.Range(0, 16);
            if (negative > 2)
            {
                //no powereffect
                return;
            }
            put = (PowerUPType)5 + negative;
            break;

        default:
            return;
        }
        PowerUP pu = Instantiate(PowerUPPrefab);

        pu.SetPowerType(put, powerUPtypeSprites.Find(x => x.type == put).Sprite);
        pu.transform.position = new Vector3(0.5f, 0.5f) + vector3Int;
        Tiles[vector3Int.x, vector3Int.y].Type = TileType.Floor;
    }
Exemple #11
0
    internal void AddPowerUP(PowerUPType powerType)
    {
        if (HasNegativEffect)
        {
            MapController.Instance.CreateAndFlyPowerUP(lastEffect, PlayerData);
            RemoveNegativeEffect();
        }
        switch (powerType)
        {
        case PowerUPType.Diarrhea:
        case PowerUPType.Joint:
        case PowerUPType.Superspeed:
            audioSource.PlayOneShot(Array.Find(PlayerData.powerUPsounds, x => x.type == powerType).clip);
            NegativeEffectTimer = NegativeEffectTime;
            break;

        default:
            audioSource.PlayOneShot(PlayerData.OtherPowerUPSound);
            break;
        }
        powerUPTypeToAmount[powerType]++;
        lastEffect = powerType;
    }
Exemple #12
0
 public void ConfigureType(PowerUPType type)
 {
     powerUPType = type;
     thisMeshRenderer.material = type == PowerUPType.DoubleJump ? jumpMaterial : sprintMaterial;
 }
Exemple #13
0
 public PowerUp(PowerUPType type, Vector2Int pos)
 {
     this.type = type;
     this.pos  = pos;
 }
Exemple #14
0
 internal void SetPowerType(PowerUPType powerUPType, Sprite sprite)
 {
     PowerType = powerUPType;
     GetComponent <SpriteRenderer>().sprite = sprite;
 }
Exemple #15
0
        public PowerUp SpawnPowerUp(Vector3 pos, PowerUPType type)
        {
            var p = powerPool.Spawn(pos, type);

            return(p);
        }
Exemple #16
0
 public static DBPowerUP PowerUP(PowerUPType type)
 {
     return(instance.powerUps[type]);
 }