Пример #1
0
    void DeactivateDarkness()
    {
        elementalPower = GameManager.PowerType.None;
        //GetComponent<MeshRenderer>().material = normalMaterial;
        VFX.transform.GetChild(0).gameObject.transform.GetChild(0).gameObject.SetActive(VFX.transform.GetChild(1).gameObject.transform.GetChild(0).gameObject.activeSelf);
        VFX.transform.GetChild(0).gameObject.transform.GetChild(4).gameObject.SetActive(VFX.transform.GetChild(1).gameObject.transform.GetChild(4).gameObject.activeSelf);
        VFX.transform.GetChild(0).gameObject.transform.GetChild(5).gameObject.SetActive(VFX.transform.GetChild(1).gameObject.transform.GetChild(5).gameObject.activeSelf);
        VFX.transform.GetChild(0).gameObject.transform.GetChild(6).gameObject.SetActive(VFX.transform.GetChild(1).gameObject.transform.GetChild(6).gameObject.activeSelf);

        if (behaviouralPower == GameManager.PowerType.LargeOrb)
        {
            for (int i = 0; i < 4; i++)
            {
                VFX.transform.GetChild(1).gameObject.transform.GetChild(i).transform.localScale /= maxScale;
            }

            for (int i = 0; i < 4; i++)
            {
                VFX.transform.GetChild(0).gameObject.transform.GetChild(i).transform.localScale *= maxScale;
            }
        }

        VFX.transform.GetChild(1).gameObject.SetActive(false);
        VFX.transform.GetChild(0).gameObject.SetActive(true);
    }
Пример #2
0
    /// <summary>
    /// Update the UI power slot according to the new power obtained
    /// </summary>
    /// <param name="slot">use to know the slot to update</param>
    /// <param name="player1">use to know the player affected</param>
    /// <param name="powerSlot">refers to the new powerType obtained</param>
    public void UpdatePowerSlot(int slot, bool player1, GameManager.PowerType powerSlot)
    {
        busySlot[slot] = powerSlot;
        switch (slot)
        {
        case 1:

            if (player1)
            {
                GetImage(elementalPowerFox).sprite = ImageAssignment(powerSlot);
            }
            else
            {
                GetImage(elementalPowerRaccoon).sprite = ImageAssignment(powerSlot);
            }
            break;

        case 2:
            if (player1)
            {
                GetImage(behaviouralPowerFox).sprite = ImageAssignment(powerSlot);
            }
            else
            {
                GetImage(behaviouralPowerRaccoon).sprite = ImageAssignment(powerSlot);
            }
            break;
        }
    }
Пример #3
0
 void DeactivateShield()
 {
     behaviouralPower = GameManager.PowerType.None;
     GameManager.gameManager.shieldP1 = 0;
     GameManager.gameManager.shieldP2 = 0;
     transform.GetChild(0).GetComponent <MeshRenderer>().material = normalMaterial;
 }
Пример #4
0
    //==========DARKNESS==========

    void ActivateDarkness()
    {
        soundEmitter.PlaySound(2);
        elementalPower = GameManager.PowerType.Darkness;
        //GetComponent<MeshRenderer>().material = darknessMaterial;
        VFX.transform.GetChild(1).gameObject.transform.GetChild(0).gameObject.SetActive(VFX.transform.GetChild(0).gameObject.transform.GetChild(0).gameObject.activeSelf);
        VFX.transform.GetChild(1).gameObject.transform.GetChild(4).gameObject.SetActive(VFX.transform.GetChild(0).gameObject.transform.GetChild(4).gameObject.activeSelf);
        VFX.transform.GetChild(1).gameObject.transform.GetChild(5).gameObject.SetActive(VFX.transform.GetChild(0).gameObject.transform.GetChild(5).gameObject.activeSelf);
        VFX.transform.GetChild(1).gameObject.transform.GetChild(6).gameObject.SetActive(VFX.transform.GetChild(0).gameObject.transform.GetChild(6).gameObject.activeSelf);

        if (behaviouralPower == GameManager.PowerType.LargeOrb)
        {
            for (int i = 0; i < 4; i++)
            {
                VFX.transform.GetChild(0).gameObject.transform.GetChild(i).transform.localScale /= maxScale;
            }

            for (int i = 0; i < 4; i++)
            {
                VFX.transform.GetChild(1).gameObject.transform.GetChild(i).transform.localScale *= maxScale;
            }
        }

        VFX.transform.GetChild(0).gameObject.SetActive(false);
        VFX.transform.GetChild(1).gameObject.SetActive(true);
        elementalDurationCoroutine = StartCoroutine(DurationCoroutine(GameManager.PowerType.Darkness, darknessDuration));
    }
Пример #5
0
    public void UpdateDroppedPower(GameManager.PowerType droppedPower)
    {
        orbPower.sprite = ImageAssignment(droppedPower);

        if (droppedPower != GameManager.PowerType.None)
        {
            StartCoroutine(DropFeedback(drop, GameManager.gameManager.orb.transform, orbPower.transform));
        }
    }
Пример #6
0
    /// <summary>
    /// Check if a dropped power is in the orb to give it to a player
    /// </summary>
    public void CheckPowerAttribution(string mode, bool player1)
    {
        if (droppedPower != GameManager.PowerType.None)
        {
            PlayerController player, otherPlayer;
            if (player1)
            {
                player      = GameManager.gameManager.player1.GetComponent <PlayerController>();
                otherPlayer = GameManager.gameManager.player2.GetComponent <PlayerController>();
            }
            else
            {
                player      = GameManager.gameManager.player2.GetComponent <PlayerController>();
                otherPlayer = GameManager.gameManager.player1.GetComponent <PlayerController>();
            }

            if ((GameManager.isElemental(droppedPower) && player.elementalPowerSlot == GameManager.PowerType.None) || (!GameManager.isElemental(droppedPower) && player.behaviouralPowerSlot == GameManager.PowerType.None))
            {
                player.AttributePower(droppedPower);
                droppedPower = GameManager.PowerType.None;
                //UpdateUI
                GameManager.gameManager.UIManager.UpdateDroppedPower(droppedPower);
            }
            else if ((GameManager.isElemental(droppedPower) && otherPlayer.elementalPowerSlot == GameManager.PowerType.None) || (!GameManager.isElemental(droppedPower) && otherPlayer.behaviouralPowerSlot == GameManager.PowerType.None))
            {
                reflectedDrop = true;
            }
            else
            {
                switch (mode)
                {
                case "hit":
                case "miss":
                    player.AttributePower(droppedPower);
                    droppedPower = GameManager.PowerType.None;
                    //UpdateUI
                    GameManager.gameManager.UIManager.UpdateDroppedPower(droppedPower);
                    break;

                case "amortize":
                    if (reflectedDrop)
                    {
                        player.AttributePower(droppedPower);
                        droppedPower = GameManager.PowerType.None;
                        //UpdateUI
                        GameManager.gameManager.UIManager.UpdateDroppedPower(droppedPower);
                    }
                    else
                    {
                        reflectedDrop = true;
                    }
                    break;
                }
            }
        }
    }
Пример #7
0
    /// <summary>
    /// apply the power on the orb if not None
    /// </summary>
    void CheckPowerActivation()
    {
        if (powerToApply != GameManager.PowerType.None)
        {
            string mode = GetComponent <PlayerController>().player1 ? "player1" : "player2";
            orbController.GetComponent <PowerController>().ActivatePower(powerToApply, mode);

            gameObject.GetComponent <PlayerController>().selectedBehavioralFx.GetComponent <ParticleSystem>().Stop();
            gameObject.GetComponent <PlayerController>().selectedElementalFx.GetComponent <ParticleSystem>().Stop();
            powerToApply = GameManager.PowerType.None;
        }
    }
Пример #8
0
    /// <summary>
    /// Deactivate the powerToDeactivate
    /// </summary>
    /// <param name="powerToDeactivate"></param>
    public void DeactivatePower(GameManager.PowerType powerToDeactivate)
    {
        if (GameManager.isElemental(powerToDeactivate) && elementalDurationCoroutine != null)
        {
            StopCoroutine(elementalDurationCoroutine);
        }
        else if (!GameManager.isElemental(powerToDeactivate) && behaviouralDurationCoroutine != null)
        {
            StopCoroutine(behaviouralDurationCoroutine);
        }

        switch (powerToDeactivate)
        {
        case GameManager.PowerType.LargeOrb:
            DeactivateLargeOrb();
            break;

        case GameManager.PowerType.Vortex:
            DeactivateVortex();
            break;

        case GameManager.PowerType.LeechLife:
            DeactivateLeechLife();
            break;

        case GameManager.PowerType.Slug:
            DeactivateSlug();
            break;

        case GameManager.PowerType.Shield:
            DeactivateShield();
            break;

        case GameManager.PowerType.Ice:
            DeactivateIce();
            break;

        case GameManager.PowerType.Fire:
            DeactivateFire();
            break;

        case GameManager.PowerType.Electric:
            DeactivateElectric();
            break;

        case GameManager.PowerType.Darkness:
            DeactivateDarkness();
            break;

        default:
            break;
        }
    }
Пример #9
0
    /// <summary>
    /// Launch cooldown visualisation based on power
    /// </summary>
    /// <param name="power"></param>
    /// <param name="cd"></param>
    public IEnumerator Cooldown(GameManager.PowerType power, float cd, bool player1)
    {
        // lancer start cooldown sur les ( p1 et p2) slot assigner au power

        int slot = getSlotByPower(power);

        if (slot > -1)
        {
            switch (slot)
            {
            case 1:
                if (player1)
                {
                    yield return(StartCoroutine(startCooldown(cd, GetCdImage(elementalPowerFox))));

                    elementalReadyFox.GetComponent <ParticleSystem>().Play();
                }
                else
                {
                    yield return(StartCoroutine(startCooldown(cd, GetCdImage(elementalPowerRaccoon))));

                    elementalReadyRaccoon.GetComponent <ParticleSystem>().Play();
                }
                break;

            case 2:
                if (player1)
                {
                    yield return(StartCoroutine(startCooldown(cd, GetCdImage(behaviouralPowerFox))));

                    behaviouralReadyFox.GetComponent <ParticleSystem>().Play();
                }
                else
                {
                    yield return(StartCoroutine(startCooldown(cd, GetCdImage(behaviouralPowerRaccoon))));

                    behaviouralReadyRaccoon.GetComponent <ParticleSystem>().Play();
                }
                break;

            default:
                break;
            }
        }
        else
        {
            Debug.LogError("NO SLOT FOUND FOR THIS POWER");
        }

        yield return(null);
    }
Пример #10
0
 public void RespawnReset()
 {
     droppedPower = GameManager.PowerType.None;
     GameManager.gameManager.UIManager.UpdateDroppedPower(droppedPower);
     DeactivatePower(elementalPower);
     DeactivatePower(behaviouralPower);
     StopAllCoroutines();
     canBeActivatedByPlayer1 = new List <bool> {
         true, true, true, true, true, true, true, true, true
     };
     canBeActivatedByPlayer2 = new List <bool> {
         true, true, true, true, true, true, true, true, true
     };
 }
Пример #11
0
    void DeactivateVortex()
    {
        behaviouralPower = GameManager.PowerType.None;
        //transform.GetChild(0).GetComponent<MeshRenderer>().material = normalMaterial;
        VFX.transform.GetChild(5).gameObject.SetActive(false);

        for (int i = 0; i < 5; i++)
        {
            if (VFX.transform.GetChild(i).gameObject.activeSelf)
            {
                VFX.transform.GetChild(i).gameObject.transform.GetChild(4).gameObject.SetActive(false);
                VFX.transform.GetChild(i).gameObject.transform.GetChild(0).gameObject.SetActive(true);
            }
        }
    }
Пример #12
0
    int getSlotByPower(GameManager.PowerType power)
    {
        if (busySlot.ContainsValue(power))
        {
            foreach (KeyValuePair <int, GameManager.PowerType> item in busySlot)
            {
                if (item.Value == power)
                {
                    return(item.Key);
                }
            }
        }

        return(-1);
    }
Пример #13
0
    void DeactivateLargeOrb()
    {
        behaviouralPower = GameManager.PowerType.None;
        //transform.localScale = new Vector3(minScale, minScale, minScale);
        //transform.GetChild(0).GetComponent<MeshRenderer>().material = normalMaterial;

        for (int i = 0; i < 5; i++)
        {
            if (VFX.transform.GetChild(i).gameObject.activeSelf)
            {
                for (int j = 0; j < 4; j++)
                {
                    VFX.transform.GetChild(i).gameObject.transform.GetChild(j).transform.localScale /= maxScale;
                }
            }
        }
    }
Пример #14
0
    //==========VORTEX==========

    void ActivateVortex()
    {
        soundEmitter.PlaySound(5);
        behaviouralPower             = GameManager.PowerType.Vortex;
        behaviouralDurationCoroutine = StartCoroutine(VortexPower());
        //transform.GetChild(0).GetComponent<MeshRenderer>().material = vortexMaterial;
        VFX.transform.GetChild(5).gameObject.SetActive(true);

        for (int i = 0; i < 5; i++)
        {
            if (VFX.transform.GetChild(i).gameObject.activeSelf)
            {
                VFX.transform.GetChild(i).gameObject.transform.GetChild(0).gameObject.SetActive(false);
                VFX.transform.GetChild(i).gameObject.transform.GetChild(4).gameObject.SetActive(true);
            }
        }
    }
 /// <summary>
 /// Gives a power dropped by an enemy, and place it on the good slot
 /// </summary>
 public void AttributePower(GameManager.PowerType newPower)
 {
     soundEmitter.PlaySound(4);
     if (GameManager.isElemental(newPower))
     {
         elementalPowerSlot = newPower;
         GameManager.gameManager.UIManager.UpdatePowerSlot(1, player1, newPower);
         GameManager.gameManager.UIManager.OrbToPowerSlotFeedback(player1, true);
     }
     else
     {
         behaviouralPowerSlot = newPower;
         GameManager.gameManager.UIManager.UpdatePowerSlot(2, player1, newPower);
         GameManager.gameManager.UIManager.OrbToPowerSlotFeedback(player1, false);
     }
     GameManager.gameManager.orb.GetComponent <PowerController>().reflectedDrop = false;
 }
Пример #16
0
    //==========SLUG==========

    void ActivateSlug()
    {
        soundEmitter.PlaySound(4);
        behaviouralPower             = GameManager.PowerType.Slug;
        behaviouralDurationCoroutine = StartCoroutine(InstanciateSlug());
        //transform.GetChild(0).GetComponent<MeshRenderer>().material = slugMaterial;

        VFX.transform.GetChild(7).gameObject.SetActive(true);

        for (int i = 0; i < 5; i++)
        {
            if (VFX.transform.GetChild(i).gameObject.activeSelf)
            {
                VFX.transform.GetChild(i).gameObject.transform.GetChild(0).gameObject.SetActive(false);
                VFX.transform.GetChild(i).gameObject.transform.GetChild(6).gameObject.SetActive(true);
            }
        }
    }
 void ApplyFXTail(GameManager.PowerType power)
 {
     if (power.CompareTo(GameManager.PowerType.Darkness) == 0)
     {
         VFXTail.transform.GetChild(0).gameObject.SetActive(true);
     }
     else if (power.CompareTo(GameManager.PowerType.Fire) == 0)
     {
         VFXTail.transform.GetChild(1).gameObject.SetActive(true);
     }
     else if (power.CompareTo(GameManager.PowerType.Electric) == 0)
     {
         VFXTail.transform.GetChild(2).gameObject.SetActive(true);
     }
     else if (power.CompareTo(GameManager.PowerType.Ice) == 0)
     {
         VFXTail.transform.GetChild(3).gameObject.SetActive(true);
     }
     else if (power.CompareTo(GameManager.PowerType.Vortex) == 0)
     {
         VFXTail.transform.GetChild(4).gameObject.SetActive(true);
     }
     else if (power.CompareTo(GameManager.PowerType.LeechLife) == 0)
     {
         VFXTail.transform.GetChild(5).gameObject.SetActive(true);
     }
     else if (power.CompareTo(GameManager.PowerType.Slug) == 0)
     {
         VFXTail.transform.GetChild(6).gameObject.SetActive(true);
     }
     else if (power.CompareTo(GameManager.PowerType.LargeOrb) == 0)
     {
         VFXTail.transform.GetChild(7).gameObject.SetActive(true);
     }
     else if (power.CompareTo(GameManager.PowerType.None) == 0)
     {
         for (int i = 0; i < VFXTail.transform.childCount; i++)
         {
             VFXTail.transform.GetChild(i).gameObject.SetActive(false);
         }
     }
 }
Пример #18
0
    //==========LEACHLIFE==========

    void ActivateLeechLife()
    {
        soundEmitter.PlaySound(7);
        behaviouralPower = GameManager.PowerType.LeechLife;
        //transform.GetChild(0).GetComponent<MeshRenderer>().material = leechLifeMaterial;

        VFX.transform.GetChild(6).gameObject.SetActive(true);

        for (int i = 0; i < 5; i++)
        {
            if (VFX.transform.GetChild(i).gameObject.activeSelf)
            {
                VFX.transform.GetChild(i).gameObject.transform.GetChild(0).gameObject.SetActive(false);
                VFX.transform.GetChild(i).gameObject.transform.GetChild(5).gameObject.SetActive(true);
            }
        }


        behaviouralDurationCoroutine = StartCoroutine(DurationCoroutine(GameManager.PowerType.LeechLife, leechLifeDuration));
    }
Пример #19
0
    //==========BEHAVIORAL POWERS FUNCTIONS==========

    #region LargeOrb
    //==========LARGEORB==========

    void ActivateLargeOrb()
    {
        soundEmitter.PlaySound(6);
        behaviouralPower = GameManager.PowerType.LargeOrb;
        //transform.localScale = new Vector3(maxScale, maxScale, maxScale);
        //transform.GetChild(0).GetComponent<MeshRenderer>().material = normalMaterial;

        for (int i = 0; i < 5; i++)
        {
            if (VFX.transform.GetChild(i).gameObject.activeSelf)
            {
                for (int j = 0; j < 4; j++)
                {
                    VFX.transform.GetChild(i).gameObject.transform.GetChild(j).transform.localScale *= maxScale;
                }
            }
        }


        behaviouralDurationCoroutine = StartCoroutine(DurationCoroutine(GameManager.PowerType.LargeOrb, largeOrbDuration));
    }
Пример #20
0
    /// <summary>
    /// Assign the image corresponding to the power
    /// </summary>
    /// <param name="powerType">refers to the new powerType obtained</param>
    /// <returns></returns>
    public Sprite ImageAssignment(GameManager.PowerType powerType)
    {
        switch (powerType)
        {
        case GameManager.PowerType.None:
            return(none);

        case GameManager.PowerType.LargeOrb:
            return(largeOrb);

        case GameManager.PowerType.Vortex:
            return(vortex);

        case GameManager.PowerType.LeechLife:
            return(leechLife);

        case GameManager.PowerType.Slug:
            return(slug);

        case GameManager.PowerType.Shield:
            return(shield);

        case GameManager.PowerType.Ice:
            return(ice);

        case GameManager.PowerType.Fire:
            return(fire);

        case GameManager.PowerType.Electric:
            return(electric);

        case GameManager.PowerType.Darkness:
            return(darkness);

        default:
            return(none);
        }
    }
Пример #21
0
    public IEnumerator cooldownCoroutine(GameManager.PowerType power, float cooldown, string mode)
    {
        switch (mode)
        {
        case "forced":
            break;

        case "player1":
            canBeActivatedByPlayer1[(int)power - 1] = false;
            StartCoroutine(GameManager.gameManager.UIManager.Cooldown(power, cooldown, true));
            yield return(new WaitForSeconds(cooldown));

            canBeActivatedByPlayer1[(int)power - 1] = true;
            break;

        case "player2":
            canBeActivatedByPlayer2[(int)power - 1] = false;
            StartCoroutine(GameManager.gameManager.UIManager.Cooldown(power, cooldown, false));
            yield return(new WaitForSeconds(cooldown));

            canBeActivatedByPlayer2[(int)power - 1] = true;
            break;
        }
    }
Пример #22
0
    //==========FIRE==========

    void ActivateFire(bool forced)
    {
        soundEmitter.PlaySound(0);
        elementalPower = GameManager.PowerType.Fire;
        //GetComponent<MeshRenderer>().material = fireMaterial;
        VFX.transform.GetChild(2).gameObject.transform.GetChild(0).gameObject.SetActive(VFX.transform.GetChild(0).gameObject.transform.GetChild(0).gameObject.activeSelf);
        VFX.transform.GetChild(2).gameObject.transform.GetChild(4).gameObject.SetActive(VFX.transform.GetChild(0).gameObject.transform.GetChild(4).gameObject.activeSelf);
        VFX.transform.GetChild(2).gameObject.transform.GetChild(5).gameObject.SetActive(VFX.transform.GetChild(0).gameObject.transform.GetChild(5).gameObject.activeSelf);
        VFX.transform.GetChild(2).gameObject.transform.GetChild(6).gameObject.SetActive(VFX.transform.GetChild(0).gameObject.transform.GetChild(6).gameObject.activeSelf);

        if (behaviouralPower == GameManager.PowerType.LargeOrb)
        {
            for (int i = 0; i < 4; i++)
            {
                VFX.transform.GetChild(0).gameObject.transform.GetChild(i).transform.localScale /= maxScale;
            }

            for (int i = 0; i < 4; i++)
            {
                VFX.transform.GetChild(2).gameObject.transform.GetChild(i).transform.localScale *= maxScale;
            }
        }

        VFX.transform.GetChild(0).gameObject.SetActive(false);
        VFX.transform.GetChild(2).gameObject.SetActive(true);

        if (forced)
        {
            elementalDurationCoroutine = StartCoroutine(DurationCoroutine(GameManager.PowerType.Fire, fireDurationBrazier));
            isActivatedByBrazier       = true;
        }
        else
        {
            elementalDurationCoroutine = StartCoroutine(DurationCoroutine(GameManager.PowerType.Fire, fireDuration));
        }
    }
Пример #23
0
    /// <summary>
    /// Activate the powerToActivate, deactivate the power of the same type if there's already an active one
    /// </summary>
    /// <param name="powerToActivate"></param>
    public void ActivatePower(GameManager.PowerType powerToActivate, string mode)
    {
        bool activate = false;

        switch (mode)
        {
        case "forced":
            activate = true;
            break;

        case "player1":
            activate = canBeActivatedByPlayer1[(int)powerToActivate - 1];
            break;

        case "player2":
            activate = canBeActivatedByPlayer2[(int)powerToActivate - 1];
            break;
        }

        if (activate)
        {
            if (GameManager.isElemental(powerToActivate) && elementalPower != GameManager.PowerType.None)
            {
                DeactivatePower(elementalPower);
            }
            else if (!GameManager.isElemental(powerToActivate) && behaviouralPower != GameManager.PowerType.None)
            {
                DeactivatePower(behaviouralPower);
            }

            switch (powerToActivate)
            {
            case GameManager.PowerType.LargeOrb:
                StartCoroutine(cooldownCoroutine(GameManager.PowerType.LargeOrb, largeOrbCooldown, mode));
                ActivateLargeOrb();
                break;

            case GameManager.PowerType.Vortex:
                StartCoroutine(cooldownCoroutine(GameManager.PowerType.Vortex, vortexCooldown, mode));
                ActivateVortex();
                break;

            case GameManager.PowerType.LeechLife:
                StartCoroutine(cooldownCoroutine(GameManager.PowerType.LeechLife, leechLifeCooldown, mode));
                ActivateLeechLife();
                break;

            case GameManager.PowerType.Slug:
                StartCoroutine(cooldownCoroutine(GameManager.PowerType.Slug, slugCooldown, mode));
                ActivateSlug();
                break;

            case GameManager.PowerType.Shield:
                StartCoroutine(cooldownCoroutine(GameManager.PowerType.Shield, shieldCooldown, mode));
                ActivateShield();
                break;

            case GameManager.PowerType.Ice:
                StartCoroutine(cooldownCoroutine(GameManager.PowerType.Ice, iceCooldown, mode));
                ActivateIce();
                break;

            case GameManager.PowerType.Fire:
                StartCoroutine(cooldownCoroutine(GameManager.PowerType.Fire, fireCooldown, mode));
                if (mode == "forced")
                {
                    ActivateFire(true);
                }
                else
                {
                    ActivateFire(false);
                }
                break;

            case GameManager.PowerType.Electric:
                StartCoroutine(cooldownCoroutine(GameManager.PowerType.Electric, electricCooldown, mode));
                ActivateElectric();
                break;

            case GameManager.PowerType.Darkness:
                StartCoroutine(cooldownCoroutine(GameManager.PowerType.Darkness, darknessCooldown, mode));
                ActivateDarkness();
                break;
            }
        }
    }
Пример #24
0
 public void RespawnReset()
 {
     powerToApply = GameManager.PowerType.None;
     StopAllCoroutines();
     hitting = false;
 }
Пример #25
0
    //==========SHIELD==========

    void ActivateShield()
    {
        behaviouralPower   = GameManager.PowerType.Shield;
        currentShieldStack = 2;
        transform.GetChild(0).GetComponent <MeshRenderer>().material = shieldMaterial;
    }
Пример #26
0
    //==========DURATION AND COOLDOWN==========

    IEnumerator DurationCoroutine(GameManager.PowerType power, float duration)
    {
        yield return(new WaitForSeconds(duration));

        DeactivatePower(power);
    }