Example #1
0
    private void SpreadFire()
    {
        int           flamesCount = flames.Count;
        int           index       = 0;
        FireDirection freeDir     = FireDirection.None;
        bool          looping     = true;

        while (looping)
        {
            flamesCount = flames.Count;
            index       = Random.Range(0, flamesCount);
            freeDir     = GetFreeDirection(flames[index]);
            if (freeDir != FireDirection.None)
            {
                looping = false;
            }
            else
            {
                flames.RemoveAt(index);
            }
        }

        Transform obj = Instantiate(flame);

        obj.transform.position = flames[index].transform.position + GetSpreadOffset(freeDir);
        flames.Add(obj);
    }
    void fireball()
    {
        int targetNumber = 2;

        Target[]      targets   = new Target[targetNumber];
        FireDirection direction = getFireDirection();

        switch (direction)
        {
        case FireDirection.AY:
            targets[0] = Target.Aria;
            targets[1] = Target.Yazir;
            break;

        case FireDirection.XA:
            targets[0] = Target.Xaine;
            targets[1] = Target.Aria;
            break;

        case FireDirection.XB:
            targets[0] = Target.Xaine;
            targets[1] = Target.Bayl;
            break;

        case FireDirection.XY:
            targets[0] = Target.Xaine;
            targets[1] = Target.Yazir;
            break;

        default:
            break;
        }
        attackCommand(myFireball, targets, targetNumber, DragonAttack.Fireball, fireballPrefab);
        audioSource.PlayOneShot(fireballSound);
    }
Example #3
0
    private Vector3 GetSpreadOffset(FireDirection dir)
    {
        switch (dir)
        {
        case FireDirection.Up:
            return(new Vector3(0.0f, -1.0f, 0.0f));

            break;

        case FireDirection.Down:
            return(new Vector3(0.0f, 1.0f, 0.0f));

            break;

        case FireDirection.Left:
            return(new Vector3(-1.0f, 0.0f, 0.0f));

            break;

        case FireDirection.Right:
            return(new Vector3(1.0f, 0.0f, 0.0f));

            break;

        default:
            return(new Vector3(0.0f, 0.0f, 0.0f));
        }
    }
Example #4
0
    private Vector2 RayDirection(FireDirection dir)
    {
        switch (dir)
        {
        case FireDirection.Up:
            return(Vector2.down);

            break;

        case FireDirection.Down:
            return(Vector2.up);

            break;

        case FireDirection.Left:
            return(Vector2.left);

            break;

        case FireDirection.Right:
            return(Vector2.right);

            break;

        default:
            return(new Vector3(0.0f, 0.0f, 0.0f));
        }
    }
        public void FireWeapon(FireDirection dir, GameTime gameTime)
        {
            float facing = RotationAngle;

            if (dir == FireDirection.Up && _frontWeapon != null)
            {
                if (_frontWeapon.Fire(facing, gameTime))
                    _owner.ShotsFired++;
            }
            else if (dir == FireDirection.Down && _backWeapon != null)
            {
                if (_backWeapon.Fire(facing - (float)Math.PI, gameTime))
                    _owner.ShotsFired++;
            }
            else if (dir == FireDirection.Left && _leftWeapon != null)
            {
                if (_leftWeapon.Fire(facing + (float)Math.PI / 2, gameTime))
                    _owner.ShotsFired++;
            }
            else if (dir == FireDirection.Right && _rightWeapon != null)
            {
                if (_rightWeapon.Fire(facing - (float)Math.PI / 2, gameTime))
                    _owner.ShotsFired++;
            }
        }
Example #6
0
 // Use this for initialization
 void Awake()
 {
     m_fireDirection = GetComponent<FireDirection>();
     m_fireControlString = FireControl.ToString();
 }
Example #7
0
 // Use this for initialization
 void Awake()
 {
     m_fireDirection     = GetComponent <FireDirection>();
     m_fireControlString = FireControl.ToString();
 }
 // Use this for initialization
 void Awake()
 {
     m_fireDirection = GetComponent<FireDirection>();
 }
Example #9
0
 // Use this for initialization
 void Awake()
 {
     m_fireDirection = GetComponent <FireDirection>();
 }