#ifndef _camera_hh_ #define _camera_hh_ #include #include #include #include "time.hh" #define YMIN 6.0 #define YMAX 12.5 class Camera { double posX; double posY; double posZ; double angY; //angle round y-axis double angXZ; //angle in XY plane int moveAngY; int moveX; int moveZ; int moveY; bool findPlyr; public: Camera() : posX( 2 ), posY( 10.0 ), posZ( 2 ), angY( 0 ), angXZ( -45 ), findPlyr( false ) { } void set(); void move(); void findPlayer(); double getPosX(); double getPosZ(); void toggleThirdP(); inline int getMoveX(); inline int getMoveY(); inline int getMoveZ(); inline int getMoveAngY(); void setMoveY( int ); void setMoveX( int ); //set upgradeorder for next round void setMoveZ( int ); //set upgradeorder for next round void setMoveAngY( int ); //rotate round y }; extern Camera camera; namespace camMove //wrapper for functipnpointers in Keyboard { //rotate void setMoveAngYF(); void setMoveAngYB(); void setMoveAngYSF(); void setMoveAngYSB(); void setFindPlayer(); void setMoveYF(); void setMoveYB(); void setMoveYSF(); void setMoveYSB(); //forward and backward void setMoveZF(); void setMoveZB(); void setMoveZSF(); void setMoveZSB(); //left right void setMoveXF(); void setMoveXB(); void setMoveXSF(); void setMoveXSB(); void toggleFindPlyr(); } #endif