/*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(); } }