#ifndef TRACK_H #define TRACK_H class Track { private: Uint32 ID; Vector* offset; Vector* end; Uint32 nextID; public: Track (Uint32 number, Uint32 next, Vector* start, Vector* finish); ~Track (); virtual void post_enter (WorldEntity* entity); // handle coordinate transition in here !!! (when dist < 0 or dist > lasttracklenght) virtual void post_leave (WorldEntity* entity); virtual void tick (float deltaT); virtual void map_camera (Location* lookat, Placement* camplc); virtual bool map_coords (Location* loc, Placement* plc); // this should return true if the entity left track boundaries }; #endif