コード例 #1
0
    public override void Run()
    {
        transform.position = Vector3.MoveTowards(transform.position, targetPositions[index], Time.fixedDeltaTime * ultSpeed);
        transform.LookAt(new Vector3(targetPositions[index].x, transform.position.y, targetPositions[index].z));

        if (transform.position == targetPositions[index])
        {
            index++;
        }

        if (index == targetPositions.Count)
        {
            stateManager.TransitionToState(stateManager.defaultState);
        }

        if (AttackRaycaster.Fan(obstructionCheckWidth, obstructionCheckDistance, obstructionCheckRays, transform.position, Vector3.zero, transform.forward, gameObject).Count != 0)
        {
            List <GameObject> hitObjects = AttackRaycaster.Fan(hitRaycastWidth, hitRaycastDistance, obstructionCheckRays, transform.position, Vector3.zero, transform.forward, gameObject);
            foreach (GameObject obj in hitObjects)
            {
                Vector3 direction = new Vector3(obj.transform.position.x - transform.position.x, 0, obj.transform.position.z - transform.position.z);
                print(obj);
                obj.GetComponent <Launchable>().Launch(hitStrength, direction);
                Instantiate(hitpart, obj.transform);
                Debug.Log(hitpart.transform.position);
            }
        }
    }
コード例 #2
0
ファイル: Dash.cs プロジェクト: JakeBur/Faunarena-Snippets
    public override void Run()
    {
        /*//play SFX
         * GetComponent<AudioSource>().clip = dashSound;
         * GetComponent<AudioSource>().pitch = Random.Range(.8f, 1.2f);
         * GetComponent<AudioSource>().Play();*/

        if (Time.time < startupReleaseTime)
        {
            return;
        }

        transform.position += transform.forward * Time.fixedDeltaTime * speed;

        if (Time.time > finishTime)
        {
            stateManager.TransitionToState(stateManager.defaultState);
            return;
        }

        if (AttackRaycaster.Fan(obstructionCheckWidth, obstructionCheckDistance, obstructionCheckRays, transform.position, Vector3.zero, transform.forward, gameObject).Count != 0)
        {
            List <GameObject> hitObjects = AttackRaycaster.Fan(hitRaycastWidth, hitRaycastDistance, obstructionCheckRays, transform.position, Vector3.zero, transform.forward, gameObject);
            foreach (GameObject obj in hitObjects)
            {
                Vector3 direction = new Vector3(obj.transform.position.x - transform.position.x, 0, obj.transform.position.z - transform.position.z);
                print(obj);
                obj.GetComponent <Launchable>().Launch(hitStrength, direction);
                Instantiate(hitpart, obj.transform);
                Debug.Log(hitpart.transform.position);
            }
            stateManager.TransitionToState(GetComponent <BackUp>());
        }
    }
コード例 #3
0
    public override void Initialize()
    {
        print("here");
        endTime = Time.time + length;
        Visual();
        Audio();//TODO this audio code should be replaced with call to an FMOD wrapper class once we add FMOD
        cooldownReleaseTime = Time.time + cooldownLength;

        List <GameObject> hitObjects = AttackRaycaster.Fan(width, range, numberOfRaycasts, transform.position + new Vector3(0, .5f, 0), transform.forward, gameObject);

        LaunchHitObjects(hitObjects);
    }
コード例 #4
0
ファイル: FoxPop.cs プロジェクト: JakeBur/Faunarena-Snippets
    public override void Initialize()
    {
        cooldown = Time.time;
        List <GameObject> hitObjects = AttackRaycaster.Fan(360, radius, raynum, transform.position + new Vector3(0, .5f, 0), transform.forward, gameObject);

        foreach (GameObject obj in hitObjects)
        {
//            float distance = Vector3.Distance(transform.position, obj.transform.position);
            Vector3 direction = new Vector3(obj.transform.position.x - transform.position.x, 0, obj.transform.position.z - transform.position.z);

            if (obj.transform.tag == "Player")
            {
                obj.GetComponent <Launchable>().Launch(force, direction);
            }
            else
            {
                print("hit projectile");
                obj.GetComponent <Launchable>().Launch(force, direction);
            }
            Instantiate(hitpart, obj.transform);
        }
    }