/** * @file com_execute_cycle_loop.cpp * @author Julian Iseringhausen * @date Mon Apr 18 12:34:13 2011 * * @brief Executes a single cycle as long as it returns * "Continue" */ #ifdef HAVE_CONFIG_H #include #endif #include "base/command.hpp" #include "base/command_list.hpp" #include "base/factory.hpp" using namespace VMG; class VMGCommandExecuteCycleLoop : public Command { public: Request Run(Command::argument_vector arguments) { MPE_EVENT_BEGIN() while (MG::GetFactory().Get(arguments[0])->Cast()->ExecuteList() == Continue); MPE_EVENT_END() return Continue; } static const char* Name() {return "ExecuteCycleLoop";} static int Arguments() {return 1;} }; CREATE_INITIALIZER(VMGCommandExecuteCycleLoop)