using Duality;
using Duality.Components.Physics;

namespace Breakout
{
  public class Ball : Component, ICmpCollisionListener
  {
    public float PaddleImpulse { get; set; }

    void ICmpCollisionListener.OnCollisionBegin(Component sender, CollisionEventArgs args)
    {
    }

    void ICmpCollisionListener.OnCollisionEnd(Component sender, CollisionEventArgs args)
    {
    }

    void ICmpCollisionListener.OnCollisionSolve(Component sender, CollisionEventArgs args)
    {
      if (args.CollideWith.Name == "Paddle")
      {
        this.GameObj.GetComponent<RigidBody>().ApplyLocalImpulse(-Vector2.UnitY * PaddleImpulse);
      }
    }
  }
}