public void fire(Vector2 start, Vector2 target) { m_Positions[0] = start; m_Positions[1] = start; m_PosXInFunction = start.X; if (target.X > start.X) { m_Direction = MovementValue.RIGHT; } else { m_Direction = MovementValue.LEFT; } m_Sin[0] = new SinFunction(50.0f, 0.08f, 0.0f, start.Y); m_Sin[1] = new SinFunction(50.0f, 0.08f, SinFunction.degreesToRadians(180.0f), start.Y); m_Positions[0] = new Vector2(start.X, 0); m_Positions[1] = new Vector2(start.X, 0); for (int i = 0; i < m_CollisionRects.Length; i++) { m_Particles[i].Stop = false; } }
public SinusoidalBeam(Rectangle boundries, Color[] color) { m_Boundries = boundries; for (int i = 0; i < m_CollisionRects.Length; i++) { m_CollisionRects[i] = new Rectangle(0, 0, 4, 4); m_Colors[i] = color[i]; m_Sin[i] = new SinFunction(); } for (int i = 0; i < m_Particles.Length; i++) { m_Particles[i] = new Particles(new Vector2(), color[i % 2], 15.0f, 5, 0.0f, new Vector2(0, 0), 5.0f, true, 70, 3, 3.0f); } }