public void Phase3Shot() { for (var i = 0; i < 10; ++i) { for (var j = 0; j < 5; ++j) { var pq = ParameterQueue.GetInstance(); var bullet = new Bullet(pq, BulletOrigin, 51) { SpawnDelay = 5 + j }; bullet.Shoot(_angle2 + j * 4, 0); pq.AddTask(j * 4, 1f, null, 0f, .1f, 3f); } for (var j = 0; j < 5; ++j) { var pq = ParameterQueue.GetInstance(); var bullet = new Bullet(pq, BulletOrigin, 51) { SpawnDelay = 5 + j }; bullet.Shoot(_angle2 - j * 4, 0); pq.AddTask(j * 4, 1f, null, 0f, .1f, 3f); } _angle2 += 36f; //360f / 10f; } }
public void PlayerPrison() { float angle = 0; for (var i = 0; i < 120; ++i) { var radian = MathHelper.ToRadians(angle); var pq = ParameterQueue.GetInstance(); var bullet = new Bullet(pq, new Vector2(Player.PlayerPosX + 150f * (float)Math.Cos(radian), Player.PlayerPosY + 150f * (float)Math.Sin(radian)), 50, BlendState.Additive) { Acceleration = .1f, SpeedLimit = 0, AutomaticCollision = false }; bullet.Shoot(angle, -3); pq.AddTask(110, 0f, angle, 0f, 0f, 0f); pq.AddTask(380, -1f, angle, .2f, 0f, 0f); pq.AddTask(700, null, null, 0f, -.5f, -3); pq = ParameterQueue.GetInstance(); var bullet2 = new Bullet(pq, new Vector2(Player.PlayerPosX + 90f * (float)Math.Cos(radian), Player.PlayerPosY + 90f * (float)Math.Sin(radian)), 50, BlendState.Additive) { Acceleration = .05f, SpeedLimit = 0, AutomaticCollision = false }; bullet2.Shoot(angle, -2); pq.AddTask(110, 0f, angle, 0f, 0f, 0f); pq.AddTask(380, 1, angle, .05f, 0f, 0f); pq.AddTask(700, null, null, 0f, .5f, 3f); angle += 3f; //360 / 120; } }
public object Convert(ICommandContext context, ParameterQueue queue) { string parameter = queue.Dequeue(); if (!parameter.StartsWith('"')) { return(parameter); } // concat parameters between quotes // "this will be passed as a single parameter" var sb = new StringBuilder(); parameter = parameter.Substring(1); while (true) { if (parameter.EndsWith('"')) { sb.Append(parameter.Substring(0, parameter.Length - 1)); break; } sb.Append(parameter); if (queue.Count == 0) { break; } sb.Append(" "); parameter = queue.Dequeue(); } return(sb.ToString()); }
public virtual object Convert(ICommandContext context, ParameterQueue queue) { string parameter = queue.Dequeue(); if (!parameter.StartsWith('"')) { return(parameter); } // concat parameters between quotes // "this will be passed as a single parameter" var sb = new StringBuilder(); parameter = parameter[1..];
public void ButterflyCircleShot(int modifier) { float angle = 0; for (float i = 0; i < 10; ++i) { for (var j = 0; j < 60; ++j) { var pq = ParameterQueue.GetInstance(); var bullet = new Bullet(pq, BulletOrigin, 228); bullet.SetParameters(null, null, -3f * modifier, -.5f, 2f); bullet.Shoot(angle * modifier, 5f); pq.AddTask(60, 2f, null, 1f * modifier, .2f, 2f + i / 3f); pq.AddTask(120, null, null, 0f, 0f, 0f); angle += 6f; //360 / 60; } } }
public void ButterflyBarrage2(int modifier) { for (float i = 0; i < 20; ++i) { for (var j = 0; j < 30; ++j) { var pq = ParameterQueue.GetInstance(); var bullet = new Bullet(pq, BulletOrigin, 228) { TurnSpeed = -3 * modifier, Acceleration = -.2f, SpeedLimit = 1 }; bullet.Shoot(_angle * modifier, 5); pq.AddTask(60, 2, null, .5f * modifier, .1f, 1 + i / 4f); pq.AddTask(120, null, null, 0f, 0f, 0f); _angle += 12f; //360f / 30; } } }
public IEnumerator <int> Pentagram(params float[] parameters) { var mod = parameters[0]; var rand = VariableProvider.RandomSeed; for (var j = 0; j < 50; ++j) { for (var i = 0; i < 15; ++i) { var radian = MathHelper.ToRadians(_angle); var pq = ParameterQueue.GetInstance(); var bullet = new Bullet(pq, new Vector2(BulletOrigin.X - 120f * (float)Math.Cos(radian), BulletOrigin.Y - 120f * (float)Math.Sin(radian)), 172, BlendState.Additive); bullet.SetParameters(null, null, mod, -.1f, 1); bullet.AutomaticCollision = false; bullet.Shoot(_angle, 5); pq.AddTask(150, rand.NextFloat(1f, 1.5f), _angle, rand.NextFloat(-.2f, .2f), 0, 0); _angle += 72f; //360f / 5; } for (var i = 0; i < 18; ++i) { var radian = MathHelper.ToRadians(_angle3); var pq = ParameterQueue.GetInstance(); var bullet = new Bullet(pq, new Vector2(BulletOrigin.X + 120f * (float)Math.Cos(radian), BulletOrigin.Y + 120f * (float)Math.Sin(radian)), 176, BlendState.Additive) { AutomaticCollision = false }; bullet.SetParameters(null, null, -1 * mod, 0, 0); bullet.Shoot(_angle3 + 90, -1 * mod); pq.AddTask(120, mod, _angle3 + 90, 0, 0, 0); _angle3 += 20f; //360 / 18; } _angle3 += 5f * mod; _angle += 5f * mod; yield return(10); } }
public IEnumerator <int> BulletFlower(params float[] parameters) { var mod = parameters[0]; var rand = VariableProvider.RandomSeed; for (var j = 0; j < 10; ++j) { for (var i = 0; i < 80; ++i) { var pq = ParameterQueue.GetInstance(); var bullet = new Bullet(pq, BulletOrigin, 51); bullet.SetParameters(null, null, 0, -.1f, 1); bullet.AutomaticCollision = false; bullet.Shoot(_angle2, 5); pq.AddTask(60, 1, _angle2, 0, -.2f, -1); pq.AddTask(120, -1, _angle2, -2 * mod, .2f, 2); pq.AddTask(180, -1, _angle2, rand.NextFloat(-.1f, .1f), -.1f, rand.NextFloat(-3, -1)); _angle2 += 6f; //360f / 60; } yield return(6); } }
public override object Convert(ICommandContext context, ParameterQueue queue) { return(((string)base.Convert(context, queue)).ToLower()); }
public object Convert(ICommandContext context, ParameterQueue queue) { return(ushort.Parse(queue.Dequeue())); }
public object Convert(ICommandContext context, ParameterQueue queue) { return(new Vector3(float.Parse(queue.Dequeue()), float.Parse(queue.Dequeue()), float.Parse(queue.Dequeue()))); }
public object Convert(ICommandContext context, ParameterQueue queue) { return(Enum.Parse(typeof(T), queue.Dequeue())); }
/// <summary> /// Invoke <see cref="CommandCategory"/> with the supplied <see cref="ICommandContext"/> and <see cref="ParameterQueue"/>. /// </summary> public override CommandResult Invoke(ICommandContext context, ParameterQueue queue) { CommandManager.Instance.HandleHelp(context, queue); return(CommandResult.Ok); }