Effect methods changed from pure virtual to defaulting to a 0,0 vector
[physics.git] / src / Effects / Effect.h
index 75d349a..5d0f1f9 100644 (file)
@@ -1,12 +1,23 @@
 #ifndef EFFECT_H
 #define EFFECT_H
 
+#include "../Vector2.h"
+
+//#include "../Entities/PhysicsEntity.h"
+class PhysicsEntity;
+
 /// ***** Header Class *****
 class Effect
 {
+  protected:
+    Effect();
+
   public:
-    virtual Vector2 positionAfter(const Vector&, float) const = 0;
-    virtual Vector2 velocityAfter(const Vector&, float) const = 0;
-}
+    virtual ~Effect();
+
+    virtual Vector2 positionDelta(const PhysicsEntity*, float) const;
+    virtual Vector2 velocityDelta(const PhysicsEntity*, float) const;
+    virtual Vector2 forceDelta(const PhysicsEntity*, float) const;
+};
 
 #endif // EFFECT_H