BasicActor.cs 880 B

123456789101112131415161718192021222324252627282930313233
  1. using System;
  2. using Microsoft.Xna.Framework;
  3. namespace MonoGame.Extended.Collisions.Tests
  4. {
  5. public class BasicActor : ICollisionActor
  6. {
  7. public Vector2 Position { get; set; }
  8. public IShapeF Bounds { get; set; }
  9. public Vector2 Velocity { get; set; }
  10. public BasicActor()
  11. {
  12. Bounds = new RectangleF(0f, 0f, 1f, 1f);
  13. }
  14. public void OnCollision(CollisionEventArgs collisionInfo)
  15. {
  16. Bounds.Position -= collisionInfo.PenetrationVector;
  17. Position -= collisionInfo.PenetrationVector;
  18. if (collisionInfo.Other is BasicActor)
  19. {
  20. CollisionCount++;
  21. }
  22. else
  23. {
  24. Console.WriteLine(collisionInfo.Other.GetType().Name);
  25. }
  26. }
  27. public int CollisionCount { get; set; }
  28. }
  29. }