Last change
on this file since 3249 was
3232,
checked in by patrick, 20 years ago
|
orxonox/trunk: unstable - cleared track
|
File size:
1.2 KB
|
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 | // Vector* direction; // unity direction vector: it is costy to always recalculate it |
---|
23 | //Vector* up; // direction where up is ment to be - diffuse in space, eh? |
---|
24 | //Vector* traverse; // right-left |
---|
25 | Uint32 nextID; |
---|
26 | |
---|
27 | |
---|
28 | public: |
---|
29 | Track (); |
---|
30 | Track (Uint32 number, Uint32 next, Vector* start, Vector* finish); |
---|
31 | ~Track (); |
---|
32 | virtual void init(); |
---|
33 | |
---|
34 | virtual void postEnter (WorldEntity* entity); // handle coordinate transition in here !!! (when dist < 0 or dist > lasttracklenght) |
---|
35 | virtual void postLeave (WorldEntity* entity); |
---|
36 | virtual void tick (float deltaT); |
---|
37 | virtual void mapCamera (Location* lookat, Placement* camplc); |
---|
38 | virtual bool mapCoords (Location* loc, Placement* plc); // this should return true if the entity left track boundaries |
---|
39 | }; |
---|
40 | |
---|
41 | #endif /* _TRACK_H */ |
---|
Note: See
TracBrowser
for help on using the repository browser.