File indexing completed on 2024-11-24 05:05:28

0001 #ifndef PRJVEHICLE_H
0002 #define PRJVEHICLE_H
0003 
0004 #include <prjvhc_wheel.h>
0005 
0006 namespace Codethink { namespace prjact { class Actor; }}
0007 
0008 namespace Codethink {
0009 namespace prjvhc {
0010 
0011 class Vehicle {
0012 public:
0013     Vehicle();
0014     ~Vehicle();
0015 
0016     void drive(); // noop.
0017     void setActor(prjact::Actor *actor);
0018 
0019     class InnerVehicle {
0020         // this should just create an inner vehicle inside of vehicle.
0021     };
0022 
0023 private:
0024     void drive_impl();
0025 
0026     enum Wheels {
0027         E_FRONT_LEFT,
0028         E_FRONT_RIGHT,
0029         E_BACK_LEFT,
0030         E_BACK_RIGHT,
0031         COUNT
0032     };
0033 
0034     Wheel m_wheels[Wheels::COUNT];
0035     prjact::Actor *m_actor;
0036 };
0037 
0038 } // end namespace prjvhc
0039 } // end namespace codethink
0040 
0041 #endif