Example #1
0
    /*Método das Skills*/
    void UseSkills()
    {
        // condição de poder usar o congelar e se usar as coisas que acontecem
        if (Input.GetKeyDown(KeyCode.Space) && skillFreeze.canUseSkill == true && mana.currentMana >= skillFreeze.costManaSkill)
        {
            mana.GastarMana(skillFreeze.costManaSkill);
            skillFreeze.canUseSkill = false;
            skillFreeze.particleSkill.Play();
            skillFreeze.colliderSkill.enabled = true;
            StartCoroutine(DesativeCollidersFreeze());
            StartCoroutine(StartSkillFreeze());
        }
        else if (skillFreeze.canUseSkill == false) // Carregaremnto da skill
        {
            if (ativouSkillLaserIce == false)
            {
                skillFreeze.auxTimeForActiveSkill      -= Time.deltaTime;
                skillFreeze.timeForActiveSkillText.text = ((int)skillFreeze.auxTimeForActiveSkill).ToString();
                DesativeOrActiveTimeSkills(skillFreeze, true);
            }
            // skillFreeze.imageSkill.fillAmount = skillFreeze.auxTimeForActiveSkill / skillFreeze.timeForActiveSkill;
        }

        // condição de poder usar a tempestade e se usar as coisas que acontecem
        if (Input.GetKeyDown(KeyCode.E) && skillStormIce.canUseSkill == true && mana.currentMana >= skillStormIce.costManaSkill)
        {
            mana.GastarMana(skillStormIce.costManaSkill);
            skillStormIce.canUseSkill = false;

            camRay = Camera.main.ScreenPointToRay(Input.mousePosition);
            //Captura a posição do mouse
            if (Physics.Raycast(camRay, out floorHit, canRayLenght, floorMask))
            {
                positionMouse = floorHit.point;
            }
            positionMouse.y = 10f;
            //Seta a posição da particula, na posição do mouse
            skillStormIce.particleSkill.transform.position = positionMouse;

            //Inicia a particula e seu collider
            skillStormIce.particleSkill.Play();
            skillStormIce.colliderSkill.enabled = true;

            StartCoroutine(StartSkillStormIce());
            StartCoroutine(DesativeColiderStormIce());
        }
        else if (skillStormIce.canUseSkill == false) // Carregaremnto da skill
        {
            if (ativouSkillLaserIce == false)
            {
                skillStormIce.auxTimeForActiveSkill      -= Time.deltaTime;
                skillStormIce.timeForActiveSkillText.text = ((int)skillStormIce.auxTimeForActiveSkill).ToString();
                DesativeOrActiveTimeSkills(skillStormIce, true);
            }
        }

        // condição de poder usar o buraco negro e se usar as coisas que acontecem
        if (Input.GetKeyDown(KeyCode.R) && skillBlackHole.canUseSkill == true && mana.currentMana >= skillBlackHole.costManaSkill)
        {
            mana.GastarMana(skillBlackHole.costManaSkill);
            animBlackHole.SetBool("ActiveBlackHole", true);
            skillBlackHole.canUseSkill = false;

            camRay = Camera.main.ScreenPointToRay(Input.mousePosition);
            //Captura a posição do mouse
            if (Physics.Raycast(camRay, out floorHit, canRayLenght, floorMask))
            {
                positionMouse = floorHit.point;
            }
            positionMouse.y = 1f;
            //Seta a posição da particula, na posição do mouse
            skillBlackHole.particleSkill.transform.position = positionMouse;

            //Inicia a particula e seu collider
            skillBlackHole.particleSkill.Play();
            skillBlackHole.colliderSkill.enabled = true;



            StartCoroutine(StartSkillBlackHole());
            StartCoroutine(DesativeColiderBlackHole());
        }
        else if (skillBlackHole.canUseSkill == false) // Carregaremnto da skill
        {
            if (ativouSkillLaserIce == false)
            {
                skillBlackHole.auxTimeForActiveSkill      -= Time.deltaTime;
                skillBlackHole.timeForActiveSkillText.text = ((int)skillBlackHole.auxTimeForActiveSkill).ToString();
                DesativeOrActiveTimeSkills(skillBlackHole, true);
            }
        }


        timeLostManaLaserIce += Time.deltaTime;
        if (Input.GetKey(KeyCode.F) && skillLaserIce.canUseSkill == true && mana.currentMana >= skillLaserIce.costManaSkill)
        {
            playerMovement.speed       = 0;
            skillFreeze.canUseSkill    = false;
            skillBlackHole.canUseSkill = false;
            skillStormIce.canUseSkill  = false;
            playerShooting.canFire     = false;

            if (timeLostManaLaserIce >= 1f)
            {
                mana.GastarMana(skillLaserIce.costManaSkill);
                timeLostManaLaserIce = 0;
            }
            //
            // skillLaserIce.canUseSkill = false;
            if (ativouSkillLaserIce == false)
            {
                skillLaserIce.particleSkill.Play();
                ativouSkillLaserIce = true;
            }
            colliderLaserIce.enabled = true;
        }
        else if (ativouSkillLaserIce)
        {
            playerMovement.speed = auxSpeed;

            skillFreeze.canUseSkill    = true;
            skillBlackHole.canUseSkill = true;
            skillStormIce.canUseSkill  = true;
            playerShooting.canFire     = true;
            skillLaserIce.canUseSkill  = false;

            colliderLaserIce.enabled = false;
            skillLaserIce.particleSkill.Stop();
            timer += Time.deltaTime;
            skillLaserIce.auxTimeForActiveSkill      -= Time.deltaTime;
            skillLaserIce.timeForActiveSkillText.text = ((int)skillLaserIce.auxTimeForActiveSkill).ToString();
            DesativeOrActiveTimeSkills(skillLaserIce, true);
            ContarLaserIce();
        }
    }