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); }
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)); } }
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++; } }
// Use this for initialization void Awake() { m_fireDirection = GetComponent<FireDirection>(); m_fireControlString = FireControl.ToString(); }
// Use this for initialization void Awake() { m_fireDirection = GetComponent <FireDirection>(); m_fireControlString = FireControl.ToString(); }
// Use this for initialization void Awake() { m_fireDirection = GetComponent<FireDirection>(); }
// Use this for initialization void Awake() { m_fireDirection = GetComponent <FireDirection>(); }