Labyrinth
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends
Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Friends | List of all members
LxS::Game::MapWindow Class Reference

Class representing game itself (not the main window or main menu) More...

#include <mapwindow.hpp>

Inheritance diagram for LxS::Game::MapWindow:
Inheritance graph
Collaboration diagram for LxS::Game::MapWindow:
Collaboration graph

Public Types

enum  mode_t {
  Battle, Victory, BattleResult, GameOver,
  Exploration, Menu, GameOverScreen, VictoryScreen,
  Talk
}
 modes More...
 
enum  Rendermode { ForReal, ForCoords3D, ForCoordsGame }
 purpose of rendering. ForReal is "to display", ForCoords3D is "to determine where user has clicked" More...
 

Public Member Functions

mode_t GetMode ()
 get current game mode
 
void SaveFile ()
 serialize game state!
 
void SetBattleResult (LxS::Game::BattleResult *_br)
 victory screen!
 
void MenuButtonPressed ()
 menu button - on android phone (no such button on iphone)
 
void BackButtonPressed ()
 back button - on android phone (no such button on iphone)
 
void SetFilename (std::string s)
 to start with saved game, not a new game
 
Game::CharacterGetProtagonist ()
 return main character
 
virtual void Render (Rendermode mode)
 render something
 
void DisplayHintBoxIfRequired (std::string hint)
 
virtual void Animate (float dt)
 some windows are animated
 
virtual void Initialize ()
 load resources, prepare to display
 
virtual void UnloadResources ()
 free resources to save some space
 
void ResizeHandler ()
 rearrange after resizing
 
virtual void JoystickAxes (int Axis, const float *direction)
 
virtual void Released (float x, float y)
 
virtual void Clicked (float x, float y)
 
virtual void Dragged (float x, float y)
 
virtual void DraggedAngle (float x, float y)
 as degrees given current camera angle!
 
unsigned long GetTexelsCount ()
 sum of dimensionsxdepths of all textures
 
unsigned long GetFacesCount ()
 all 3D faces
 
float GetInitializedPercentage ()
 0= uninitialized; 100=ready; other? for progress bars
 
void SelfDestruct ()
 delete and reinitialize self in place thus freeing the state but remaining correct object
 
virtual void EraseChildren ()
 remove all children
 
virtual void AttachChildAtFront (Window *child)
 attach child - first to be drawn, first on auto-generated layouts
 
virtual void AttachChild (Window *child)
 attach child at end
 
virtual void DetachChild (Window *child)
 detach particular child
 
virtual void OnFocus ()
 window appears
 
virtual void ReplaceChild (Window *old_child, Window *new_child)
 replace child. new is emplaced at position right before old one
 
void MovementHandler ()
 rearrange after movement
 
virtual void Render (Renderable::Rendermode mode)
 rendering routine of a window
 
virtual void Refresh ()
 rearrange
 
WindowGetRoot ()
 recursive GetParent;
 
WindowGetParent ()
 Return parent window.
 
float GetX ()
 return position x (from bottom left corner)
 
float GetY ()
 return position y (from bottom left corner)
 
float GetWidth ()
 return height of the window
 
float GetHeight ()
 return width of the window
 
virtual float SetX (float f)
 set position x (from bottom left corner)
 
virtual float SetY (float f)
 set position y (from bottom left corner)
 
virtual float SetWidth (float f)
 set width of the window
 
virtual float SetHeight (float f)
 set height of the window
 
virtual void SetWH (float w, float h)
 set width and height of the window
 
virtual void SetYX (float y, float x)
 set position - both coords (from bottom left corner)
 
virtual void SetParent (Window *_parent)
 set pointer to parent window
 
virtual void Maximize ()
 maximize
 
virtual void RefreshAssets ()
 To facilitate refreshing app after switching OpenGL Context (as in Android lifecycle)
 

Protected Types

typedef Windowchilddata
 typedef of pointer to window
 
typedef std::vector< childdatachildvector
 typedef for vector of contained windows
 

Protected Member Functions

void ReplaceSelf (Window *replacement)
 replace reference to this in parent window for a new window does not delete this from main memory - only swaps pointer in parent window
 

Protected Attributes

Windowclicked
 which subwindow may be clicked?
 
childvector children
 windows within this window
 
float initialized_percentage
 0-100; 0- just constructed; 100 - redy to render; 0-100 - for progressbar
 

Friends

class Map
 
class SimpleCSE
 

Detailed Description

Class representing game itself (not the main window or main menu)

Member Enumeration Documentation

modes

Enumerator
Battle 

screen for battling with NPC enemies

Victory 

immediately after killing NPCs in battle mode, victory animation plays (this always transitions to Bttle result)

BattleResult 

Battle result is a screen detailing how much XP/loot was gained from this particular fight.

GameOver 

immediately after losing battle, this mode appears - triumphant NPC and bleeding player character - always transitions to GameOverScreen

Exploration 

main interactive map exploration mode

Menu 

menu mode

GameOverScreen 

Screen that reads "game over".

VictoryScreen 

Screen displayed when "you have won the game".

Talk 

Talk mode.

purpose of rendering. ForReal is "to display", ForCoords3D is "to determine where user has clicked"

Enumerator
ForReal 

proper rendering for display

ForCoords3D 

rendering for coordinate detection

ForCoordsGame 

for detection of ingame coordinate system - unused

Member Function Documentation

void MapWindow::Clicked ( float  x,
float  y 
)
virtual

window was clicked; coordinates from left-bottom corner of the window

Reimplemented from LxS::Windowing::ContainerWindow.

void MapWindow::DisplayHintBoxIfRequired ( std::string  hint)

if hint named "hint" wasn't displayed, display it right now.

void MapWindow::Dragged ( float  x,
float  y 
)
virtual

object within window is dragged; coordinates from left-bottom corner of the window

Reimplemented from LxS::Windowing::ContainerWindow.

void MapWindow::JoystickAxes ( int  Axis,
const float *  direction 
)
virtual

axis-numbering: 0-1, left analog X-Y; 2-3, right analog 4-7 - nothing; 8 d-pad up; 9 dpad right; 10 dpad down; 11 dpad left 12 - l2, 13-r2, 14- l1, 15 - r1 16 - triangle, 17 - circle, 18 - cross, 19 - square; 20 - nothing

Reimplemented from LxS::Windowing::Window.

void MapWindow::Released ( float  x,
float  y 
)
virtual

window was pressed and released; coordinates from left-bottom corner of the window

Reimplemented from LxS::Windowing::ContainerWindow.


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