#ifndef _AS_GA_MARKER #define _AS_GA_MARKER #ifndef _AS_GA_ARENA #include "ga_arena.hpp" #endif const int AS_MAX_MARKERS = 50; class AsMarker; class AsArenaBuilder; class AsPlayer; class AsMarkerManager { AsMarker *markers[AS_MAX_MARKERS]; AsArenaBuilder *map; AsPlayer *player; int numberOfMarkers; public: AsMarkerManager(); ~AsMarkerManager(); void Reset(); void SetFeatures(AsArenaBuilder *_map,AsPlayer *_player); AsMarker *GetCurrentMarker(); AsMarker *GetMarker(int i); AsMarker *FindInactiveMarker(); }; class AsMarker { public: // position int X; int Y; int Z; int xRoom; int yRoom; int zRoom; int active; // rotation in units of AS_DEGREES_360 unsigned int aroundX; unsigned int aroundY; unsigned int aroundZ; // Matrix3D worldView[AS_MAX_REPLICATE]; public: AsMarker(); void Reset(); void Set(int playerX, int playerY, int playerZ,int turnAngle,int lookAngle ,int xBlock,int yBlock,int zBlock); void SetPosition(int newX, int newY, int newZ); }; #endif