EnemyTargeting.Hachoir C# (CSharp) Method

Hachoir() public method

public Hachoir ( ) : void
return void
    void Hachoir()
    {
        if(lastTimeHachoir > Time.realtimeSinceStartup - 10.0f)
        {
            //Ajouter Ce sort n'est pas encore disponible
            SfText =  Instantiate(Resources.Load("Prefab/SfUse"),new Vector3(0.4f,0.20f,0f), Quaternion.identity) as GameObject;
            SfText.guiText.color = Color.red;
            SfText.guiText.text = "Ce sort n'est pas encore disponible";
            return;
        }

        if(!barreAction.useSf(2))
            return;

        lastTimeHachoir=Time.realtimeSinceStartup;

        Plane playerPlane = new Plane(Vector3.up, transform.position);
        Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
        float hitdist = 0.0f;
        Vector3 destinationPosition;

        if (playerPlane.Raycast(ray, out hitdist)) {
            Vector3 targetPoint = ray.GetPoint(hitdist);
            destinationPosition = ray.GetPoint(hitdist);
            Quaternion targetRotation = Quaternion.LookRotation(targetPoint - transform.position);
            transform.rotation = targetRotation;
        }

        Instantiate(Resources.Load<GameObject>("Prefab/Hachoir"), transform.position, transform.rotation);
        audio.PlayOneShot(SalveSound);

        foreach (GameObject enemy in GameObject.FindGameObjectsWithTag("Enemy")){
            if(Vector3.Distance(transform.position, enemy.transform.position) < 12.0f) // Si dans un rayon de 180°
                if(Vector3.Angle(transform.position, enemy.transform.position) < 90 ){
                        if(enemy.GetComponent<EnnemyAI>())
                            enemy.GetComponent<EnnemyAI>().UpdateVitality(-((110 * (int)PlayerCaract.GetForce())/100));
                    }
        }
    }