Tactics: Western Philosophers Vs. Musicians  0.12
A turn-based tactical game combining rules and gameplay elements inspired by Final Fantasy Tactics and the Mayfair Exponential Game System. Unlike most games of this type, motion is in full, grid-less 3D.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Static Public Member Functions | Protected Attributes | Friends | List of all members
OpenSkyNet::Graphics::UI Class Reference

#include <GUI.h>

Inheritance diagram for OpenSkyNet::Graphics::UI:
OpenSkyNet::Graphics::OgreApp OpenSkyNet::CoreDesigner3DViewer::App Tactics3D::App

Public Member Functions

 UI (InputListener *inputListener_=0)
 
void setCanTranslateCam (bool val_)
 
void setCanRotateCam (bool val_)
 
virtual void moveCamera ()
 
void showDebugOverlay (bool show_)
 
virtual void destroyScene (bool doDestroyPersistentData_)
 
void quit ()
 
virtual ~UI ()
 
Setup Operations
virtual bool setup (bool restoreOgreConfig_)
 
void setTopNodeForMousePicking (Ogre::SceneNode *n_=0)
 
virtual void setupEventHandlers ()
 
Screen Stack Operations
UIScreengetTopScreen () const
 
virtual void pushScreen (UIScreen *screen_)
 
virtual void popScreen (bool doUnload_=true)
 
void popAndUnloadScreenNextUpdate ()
 
Input/Window/Frame Event Handlers
virtual bool processUnbufferedKeyInput (const Ogre::FrameEvent &evt)
 
virtual bool processUnbufferedMouseInput (const Ogre::FrameEvent &evt)
 
virtual void windowResized (Ogre::RenderWindow *rw)
 
virtual void windowClosed (Ogre::RenderWindow *rw)
 
virtual bool frameStarted (const Ogre::FrameEvent &evt)
 
virtual bool frameEnded (const Ogre::FrameEvent &evt)
 
Set/Get input types
virtual void switchMouseMode ()
 
virtual void switchKeyMode ()
 
InputListenergetInputListener ()
 
- Public Member Functions inherited from OpenSkyNet::Graphics::OgreApp
 OgreApp ()
 
virtual ~OgreApp ()
 
Ogre::SceneNode * getSceneNode (const char *name_) const
 
Ogre::SceneManager * getSceneManager () const
 
const Ogre::Camera * getCam () const
 
Ogre::RenderWindow * getWindow () const
 
const std::vector
< Ogre::SceneNode * > & 
getNonPersistentNodes () const
 
virtual void createScene (const char *sceneGraphXML_)
 
Ogre::SceneNode * createSceneNode (const char *name_, bool isPersistent_, Ogre::SceneNode *parent_)
 
virtual void go ()
 
void serializeSceneGraph (const char *sceneGraphXML_)
 

Static Public Member Functions

static CEGUI::MouseButton convertOISMouseButtonToCegui (OIS::MouseButtonID buttonID_)
 
static bool doesHitAABB (const Ogre::AxisAlignedBox &AABB_, const Ogre::Vector3 &origin_, const Ogre::Vector3 &direction_)
 

Protected Attributes

CEGUI::OgreRenderer * _gUIRenderer
 
CEGUI::System * _gUISystem
 
std::stack< UIScreen * > _screens
 
bool _useBufferedInputKeys
 
bool _useBufferedInputMouse
 
Ogre::Real _moveSpeed
 
Ogre::Real _rotateSpeed
 
float _moveScale
 
float _rotScale
 
bool _statsOn
 
Utils::uint _numScreenShots
 
Ogre::Real _timeUntilNextToggle
 
int _sceneDetailIndex
 
Ogre::Vector3 _translateVector
 
int _aniso
 
Ogre::TextureFilterOptions _filtering
 
float _rotX
 
float _rotY
 
bool _canTranslateCam
 
bool _canRotateCam
 
OIS::InputManager * _inputManager
 
OIS::Mouse * _mouse
 
OIS::Keyboard * _keyboard
 
InputListener_inputListener
 
OgreBites::SdkTrayManager * _trayManager
 
volatile bool _quit
 
Ogre::Vector3 _trans
 
Ogre::DisplayString _debugText
 
- Protected Attributes inherited from OpenSkyNet::Graphics::OgreApp
Ogre::Root * _root
 
Ogre::Camera * _camera
 
Ogre::SceneManager * _sceneMgr
 
Ogre::RenderWindow * _window
 
std::map< std::string,
Ogre::SceneNode * > 
_namesToSerializableNodes
 
std::vector< Ogre::SceneNode * > _nonPersistentNodes
 
std::map< std::string,
Ogre::Light * > 
_namesToSerializableLights
 
std::vector< Ogre::Light * > _nonPersistentLights
 

Friends

class Graphics::InputListener
 

Additional Inherited Members

- Protected Member Functions inherited from OpenSkyNet::Graphics::OgreApp
virtual void setupResources ()
 
virtual bool configure (bool restoreOgreConfig_)
 
virtual void chooseSceneManager ()
 
virtual void createCamera ()
 
virtual void createViewports ()
 
virtual void createResourceListener ()
 
virtual void loadResources ()
 
void processSceneGraphXML (TiXmlElement *element_, Ogre::SceneNode *parentSceneNode_)
 
void serialize (TiXmlElement *element_, Ogre::SceneNode *parentSceneNode_)
 

Detailed Description

User interface using CEGUI and OGRE for rendering and mouse/key event handling. Also implements mouse picking.

Constructor & Destructor Documentation

UI::UI ( InputListener inputListener_ = 0)
UI::~UI ( )
virtual

Member Function Documentation

CEGUI::MouseButton UI::convertOISMouseButtonToCegui ( OIS::MouseButtonID  buttonID_)
static
void UI::destroyScene ( bool  doDestroyPersistentData_)
virtual

Free memory used by application elements.

Reimplemented from OpenSkyNet::Graphics::OgreApp.

Reimplemented in OpenSkyNet::CoreDesigner3DViewer::App.

bool UI::doesHitAABB ( const Ogre::AxisAlignedBox &  AABB_,
const Ogre::Vector3 &  origin_,
const Ogre::Vector3 &  direction_ 
)
static
virtual bool OpenSkyNet::Graphics::UI::frameEnded ( const Ogre::FrameEvent &  evt)
inlinevirtual
bool UI::frameStarted ( const Ogre::FrameEvent &  evt)
virtual
InputListener* OpenSkyNet::Graphics::UI::getInputListener ( )
inline
UIScreen* OpenSkyNet::Graphics::UI::getTopScreen ( ) const
inline
virtual void OpenSkyNet::Graphics::UI::moveCamera ( )
inlinevirtual

Make all the changes to the camera. Note that YAW direction is around a fixed axis (freelook style) rather than a natural YAW (e.g. airplane).

Reimplemented in Tactics3D::App, and OpenSkyNet::CoreDesigner3DViewer::App.

void OpenSkyNet::Graphics::UI::popAndUnloadScreenNextUpdate ( )
inline
void UI::popScreen ( bool  doUnload_ = true)
virtual
bool UI::processUnbufferedKeyInput ( const Ogre::FrameEvent &  evt)
virtual
bool UI::processUnbufferedMouseInput ( const Ogre::FrameEvent &  evt)
virtual

Reimplemented in Tactics3D::App.

void UI::pushScreen ( UIScreen screen_)
virtual
void OpenSkyNet::Graphics::UI::quit ( )
inline
void OpenSkyNet::Graphics::UI::setCanRotateCam ( bool  val_)
inline
void OpenSkyNet::Graphics::UI::setCanTranslateCam ( bool  val_)
inline
void OpenSkyNet::Graphics::UI::setTopNodeForMousePicking ( Ogre::SceneNode *  n_ = 0)
inline
bool UI::setup ( bool  restoreOgreConfig_)
virtual

Sets up the application - returns false if the user chooses to abandon configuration.

Reimplemented from OpenSkyNet::Graphics::OgreApp.

Reimplemented in OpenSkyNet::CoreDesigner3DViewer::App.

virtual void OpenSkyNet::Graphics::UI::setupEventHandlers ( )
inlinevirtual
void OpenSkyNet::Graphics::UI::showDebugOverlay ( bool  show_)
inline
virtual void OpenSkyNet::Graphics::UI::switchKeyMode ( )
inlinevirtual
virtual void OpenSkyNet::Graphics::UI::switchMouseMode ( )
inlinevirtual

Reimplemented in Tactics3D::App.

void UI::windowClosed ( Ogre::RenderWindow *  rw)
virtual
void UI::windowResized ( Ogre::RenderWindow *  rw)
virtual

Friends And Related Function Documentation

friend class Graphics::InputListener
friend

Member Data Documentation

int OpenSkyNet::Graphics::UI::_aniso
protected
bool OpenSkyNet::Graphics::UI::_canRotateCam
protected
bool OpenSkyNet::Graphics::UI::_canTranslateCam
protected
Ogre::DisplayString OpenSkyNet::Graphics::UI::_debugText
protected
Ogre::TextureFilterOptions OpenSkyNet::Graphics::UI::_filtering
protected
CEGUI::OgreRenderer* OpenSkyNet::Graphics::UI::_gUIRenderer
protected
CEGUI::System* OpenSkyNet::Graphics::UI::_gUISystem
protected
InputListener* OpenSkyNet::Graphics::UI::_inputListener
protected
OIS::InputManager* OpenSkyNet::Graphics::UI::_inputManager
protected
OIS::Keyboard* OpenSkyNet::Graphics::UI::_keyboard
protected
OIS::Mouse* OpenSkyNet::Graphics::UI::_mouse
protected
float OpenSkyNet::Graphics::UI::_moveScale
protected
Ogre::Real OpenSkyNet::Graphics::UI::_moveSpeed
protected
Utils::uint OpenSkyNet::Graphics::UI::_numScreenShots
protected
volatile bool OpenSkyNet::Graphics::UI::_quit
protected
Ogre::Real OpenSkyNet::Graphics::UI::_rotateSpeed
protected
float OpenSkyNet::Graphics::UI::_rotScale
protected
float OpenSkyNet::Graphics::UI::_rotX
protected
float OpenSkyNet::Graphics::UI::_rotY
protected
int OpenSkyNet::Graphics::UI::_sceneDetailIndex
protected
std::stack<UIScreen*> OpenSkyNet::Graphics::UI::_screens
protected
bool OpenSkyNet::Graphics::UI::_statsOn
protected
Ogre::Real OpenSkyNet::Graphics::UI::_timeUntilNextToggle
protected
Ogre::Vector3 OpenSkyNet::Graphics::UI::_trans
protected
Ogre::Vector3 OpenSkyNet::Graphics::UI::_translateVector
protected
OgreBites::SdkTrayManager* OpenSkyNet::Graphics::UI::_trayManager
protected
bool OpenSkyNet::Graphics::UI::_useBufferedInputKeys
protected
bool OpenSkyNet::Graphics::UI::_useBufferedInputMouse
protected

The documentation for this class was generated from the following files: