00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef TG_CONTROLLERPERIODIC_H
00019 #define TG_CONTROLLERPERIODIC_H
00020
00021 #include "Controller.h"
00022
00023 namespace tagGame
00024 {
00026 class ControllerPeriodic : public Controller
00027 {
00028 public:
00029 ControllerPeriodic(PerceptionPtr perception, Real const period, ControllerPtr controller);
00030 virtual ~ControllerPeriodic();
00031
00032 inline void setPeriod(Real const period);
00033 inline Real getPeriod();
00034
00035 inline void setController(ControllerPtr controller);
00036 inline ControllerPtr getController();
00037
00038 virtual void calcAction();
00039
00040 protected:
00041 Real timeOfLastDecision;
00042 Real period;
00043 ControllerPtr controller;
00044 private:
00045 };
00046
00047 void ControllerPeriodic::setPeriod(Real const period)
00048 {
00049 this->period = period;
00050 }
00051
00052 Real ControllerPeriodic::getPeriod()
00053 {
00054 return period;
00055 }
00056
00057 void ControllerPeriodic::setController(ControllerPtr controller)
00058 {
00059 this->controller = controller;
00060 }
00061
00062 ControllerPtr ControllerPeriodic::getController()
00063 {
00064 return controller;
00065 }
00066 }
00067
00068 #endif