ControllerPeriodic.h

00001 // ----------------------------------------------------------------------------
00002 //
00003 // tagGame - Example code from the book:
00004 //
00005 //           Artficial Intelligence for Computer Games: An Introduction
00006 //           by John David Funge
00007 //
00008 //           www.ai4games.org
00009 //
00010 // Source code distributed under the Copyright (c) 2003-2007, John David Funge
00011 // Original author: John David Funge (www.jfunge.com)
00012 //
00013 // Licensed under the Academic Free License version 3.0 
00014 // (for details see LICENSE.txt in this directory).
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

Generated on Sat Mar 31 22:30:54 2007 for tagGame by  doxygen 1.5.1