X-Git-Url: http://gitweb.pgornicz.com/gitweb.cgi?a=blobdiff_plain;f=src%2FeffectManager.cpp;h=2e50c651ebabc8d43c3b9b491c64c71f22e5c205;hb=refs%2Ftags%2Fv0.05;hp=b661f51a29f6d044074e2247d9161575a9e774fd;hpb=33b8c69b7b2e8d3f31124130a503ec2179c4969c;p=physics.git diff --git a/src/effectManager.cpp b/src/effectManager.cpp index b661f51..2e50c65 100644 --- a/src/effectManager.cpp +++ b/src/effectManager.cpp @@ -1,20 +1,49 @@ +/* + * Copyright (C) 2008 Patrik Gornicz, Gornicz_P (at) hotmail (dot) com. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + #include "effectManager.h" #include "Effects/Effect.h" #include "Effects/Gravity.h" +#include "Effects/GravityWell.h" +#include "Effects/Screen.h" + +#include "Vector2.h" +#include "input/inputManager.h" /// ***** Private Variables ***** + Effect** effects; int numEffects; -/// ***** Public Methods ***** +GravityWell* mouseWell; + +/// ***** Initializers/Cleaners ***** void effect::init() { - numEffects = 1; + numEffects = 3; effects = new Effect*[numEffects](); - effects[0] = new Gravity(); + mouseWell = new GravityWell(input::mousePosition()); + + effects[0] = mouseWell; + effects[1] = new Gravity(); + effects[2] = new Screen(); } void effect::clean() { @@ -23,7 +52,18 @@ void effect::clean() delete effects[i]; } - delete effects; + delete[] effects; +} + +/// ***** Public Methods ***** + +void effect::update(float) +{ + +} +void effect::handleInput() +{ + mouseWell->setPosition(input::mousePosition()); } Vector2 effect::positionDelta(const PhysicsEntity* e, float time_step)