Last change
on this file since 2329 was
2190,
checked in by bensch, 20 years ago
|
orxonox/trunk: merged and copied all files from branches/chris into trunk. it all seems to be in propper order.
|
File size:
955 bytes
|
Line | |
---|
1 | /*! |
---|
2 | \file track.h |
---|
3 | \brief Basic level architecture |
---|
4 | */ |
---|
5 | |
---|
6 | #ifndef TRACK_H |
---|
7 | #define TRACK_H |
---|
8 | |
---|
9 | #include "stdincl.h" |
---|
10 | |
---|
11 | //! The Red Line through a level |
---|
12 | /** |
---|
13 | Handles level boundaries, bound movement mapping, camera placement and scripting. |
---|
14 | To create special levels with special camera movement, rules or whatever, derive from this base class. |
---|
15 | */ |
---|
16 | class Track |
---|
17 | { |
---|
18 | private: |
---|
19 | Uint32 ID; |
---|
20 | Vector* offset; |
---|
21 | Vector* end; |
---|
22 | Uint32 nextID; |
---|
23 | |
---|
24 | public: |
---|
25 | Track (); |
---|
26 | Track (Uint32 number, Uint32 next, Vector* start, Vector* finish); |
---|
27 | ~Track (); |
---|
28 | |
---|
29 | virtual void post_enter (WorldEntity* entity); // handle coordinate transition in here !!! (when dist < 0 or dist > lasttracklenght) |
---|
30 | virtual void post_leave (WorldEntity* entity); |
---|
31 | virtual void tick (float deltaT); |
---|
32 | virtual void map_camera (Location* lookat, Placement* camplc); |
---|
33 | virtual bool map_coords (Location* loc, Placement* plc); // this should return true if the entity left track boundaries |
---|
34 | }; |
---|
35 | |
---|
36 | #endif |
---|
Note: See
TracBrowser
for help on using the repository browser.