00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #include <engine/Action.h>
00022
00023 Action::Action(const char *name, ActionRenderer *renderer) :
00024 name_(name),
00025 renderer_(renderer), context_(0),
00026 actionStartTime_(0), actionEvent_(false)
00027 {
00028 }
00029
00030 Action::~Action()
00031 {
00032 if (renderer_) delete renderer_;
00033 renderer_ = 0;
00034 }
00035
00036 void Action::draw()
00037 {
00038 if (renderer_) renderer_->draw(this);
00039 }
00040
00041 void Action::setActionRender(ActionRenderer *renderer)
00042 {
00043 if (renderer_) delete renderer_;
00044 renderer_ = renderer;
00045 }
00046
00047 void Action::setScorchedContext(ScorchedContext *context)
00048 {
00049 context_ = context;
00050 }
00051
00052 ScorchedContext *Action::getScorchedContext()
00053 {
00054 return context_;
00055 }
00056
00057 void Action::simulate(fixed frameTime, bool &removeAction)
00058 {
00059 if (renderer_) renderer_->simulate(this, frameTime.asFloat(), removeAction);
00060 }
00061
00062 ActionRenderer::ActionRenderer()
00063 {
00064 }
00065
00066 ActionRenderer::~ActionRenderer()
00067 {
00068 }
00069
00070 void ActionRenderer::simulate(Action *action, float frametime, bool &removeAction)
00071 {
00072 }
00073
00074 SpriteAction::SpriteAction(ActionRenderer *render) :
00075 Action("SpriteAction", render)
00076 {
00077 }
00078
00079 SpriteAction::~SpriteAction()
00080 {
00081 }
00082
00083 void SpriteAction::init()
00084 {
00085 }