JK2eA
 All Classes Functions Variables
ControllerPath.h
00001 #pragma once
00002 
00003 #include "controller.h"
00004 #include "CurvePath.h"
00005 #include <Vector.h>
00006 
00013 class CControllerPath : public CController {
00014 private:
00015         CCurvePath*     m_path_graph;   
00016         int                     m_last_node_id;
00017         float           m_speed;                
00018         float           m_curr_s;               
00019 
00020         vec* m_par_position;            
00021         vec* m_par_direction;           
00022 
00023 public:
00031         CControllerPath(const std::string& name, CCurvePath* path_graph, vec* par_position, vec* par_direction = NULL);
00036         CControllerPath(const std::string& name);
00040         virtual ~CControllerPath();
00041 
00046         void Assign(CCurvePath* graph);
00052         void Connect(vec* par_position, vec* par_direction = NULL);
00053 
00060         virtual void Update(float dt);
00061 
00066         float&           GetSpeed();
00067 
00068         CNTRL_CLASS_NAME(CControllerLinearPath);
00069 };
00070