Wartbed:Framework

From Dark Omen Wiki

(Difference between revisions)
Jump to: navigation, search
(Classes: Added a few)
(Classes: Added ''mvc'' namespace)
 
(One intermediate revision not shown)
Line 1: Line 1:
{{stub}}
{{stub}}
-
''Stub page the may be updated as I go along. Does not in anyway represent the current state of the WARTBED code base''.
+
:''Stub page the may be updated as I go along. Does not in anyway represent the current state of the WARTBED code base. This page will be replaced by an auto-generated JavaDoc (or similar) reference later.''
Reference for WARTBED development framework
Reference for WARTBED development framework
Line 20: Line 20:
:
:
:<span style="color:purple;">''Modules''</span>
:<span style="color:purple;">''Modules''</span>
 +
:<span style="color:gray;">''It is quite likely that all module-specific namespaces will not be part of the WARTBED''</span>
 +
:<span style="color:gray;">''proper, but rather be used in separate Game-to-WARTBED conversion utilities''</span>
 +
::'''sothr'''    { <span style="color:green">Code specific to handle Warhammer: Shadow of the Horned Rat</span> }
::'''darkomen''' { <span style="color:green">Code specific to handle Warhammer: Dark Omen</span> }
::'''darkomen''' { <span style="color:green">Code specific to handle Warhammer: Dark Omen</span> }
:}
:}
</tt>
</tt>
-
 
-
==Input Listeners==
 
-
OGRE and WARTBED uses listener objects to capture and respond to user input. The raw input is then promulgated to event managers and/or the GUI system for handling. Gererally, WARTBED creates the appropriate or sufficient listener objects by default, replacing the old:
 
-
 
-
* When OGRE is initialised through <code>ogre::BootSystem()</code> basic inert listeners are created. These are unresponsive and cause no events.
 
-
* When CEGUI is initialised through <code>ogre::InitialiseCEGUI()</code> <code>wb::gui::KeyListener</code> and <code>wb::gui::MouseListener</code> objects are created. These objects forward raw input into the GUI system.
 
-
* When the <code>Wartbed</code> object is created (first time <code>Wartbed::getInstance()</code> is called) basic <code>wb::KeyListener</code> and <code>wb::MouseListener</code> (which are aliases for <code>wb::input::KeyListener</code> and <code>wb::input::MouseListener</code>) are created. These listeners cause WARTBED input events but are unconcerned with the GUI.
 
-
* When the GUI is initialised through <code>Wartbed::initialiseGUI()</code> (when the <code>Wartbed::GUI</code> singleton  is first created) default listeners inheriting from both <code>input::*Listener</code> and <code>gui::*Listener</code> are created.
 
-
 
-
If further specialisation is required appropriate classes must be defined by the client application.
 
==Classes==
==Classes==
Line 63: Line 56:
|-
|-
| TargetOrder  || wb_Orders.h || (Abstract) Base class for all orders specifically targeting another Model
| TargetOrder  || wb_Orders.h || (Abstract) Base class for all orders specifically targeting another Model
 +
|}
 +
<br>
 +
<div style="background:black; color:white;">namespace '''wb::mvc'''</div>
 +
{| class="prettytable" style="border:1px solid black; width:100%;"
 +
! Symbol !! #include !! Description
 +
|-
 +
| Controller || wb_MVC.h || Abstract base for classes facilitating interaction between users and views and the underlying simulation.
 +
|-
 +
| Model || wb_MVC.h || Game entities that constitutes the simulation
 +
|-
 +
| View || wb_MVC.h || Representations of the simulated universe
 +
|-
|}
|}
<br>
<br>
Line 69: Line 74:
! Symbol !! #include !! Description
! Symbol !! #include !! Description
|-
|-
-
| Defend || wb_Orders.h || (Abstract)  
+
| Defend || wb_Orders.h || (Abstract) Base class for all orders designating a target to be defended
|-
|-
| Escort || wb_Orders.h ||  
| Escort || wb_Orders.h ||  

Current revision as of 13:53, 29 January 2010

Stub page the may be updated as I go along. Does not in anyway represent the current state of the WARTBED code base. This page will be replaced by an auto-generated JavaDoc (or similar) reference later.

Reference for WARTBED development framework

See also the The WARTBED Manual

Namespaces

wb // main WARTBED namespace
{
WARTBED-common namespaces
camera { enums for controlling a WARTBED Camera object }
gui { all things CEGUI and GUI are encapsulated here }
input { all input-related aspects are collected here }
mvc { contains the base classes for the Model-View-Controller architecture }
ogre { all things OGRE are encapsulated here }
order { the order queue and all specific order classes are contained here }
Modules
It is quite likely that all module-specific namespaces will not be part of the WARTBED
proper, but rather be used in separate Game-to-WARTBED conversion utilities
sothr { Code specific to handle Warhammer: Shadow of the Horned Rat }
darkomen { Code specific to handle Warhammer: Dark Omen }
}

Classes

namespace ::
Symbol #include Description
Wartbed Wartbed.h Framework initialisation object. When created will boot OGRE and initialise all basic facilities.


namespace wb
Symbol #include Description
Actor wb_Models.h
Camera wb_Kernel.h Versatile camera abstraction that is designed for automate movement, focusing, swiveling, circling and orbiting operations.
Order wb_Orders.h
Orderable wb_Orders.h
Progressive wb_Models.h
Prop wb_Models.h
Target wb_Target.h
TargetOrder wb_Orders.h (Abstract) Base class for all orders specifically targeting another Model


namespace wb::mvc
Symbol #include Description
Controller wb_MVC.h Abstract base for classes facilitating interaction between users and views and the underlying simulation.
Model wb_MVC.h Game entities that constitutes the simulation
View wb_MVC.h Representations of the simulated universe


namespace wb::order
Symbol #include Description
Defend wb_Orders.h (Abstract) Base class for all orders designating a target to be defended
Escort wb_Orders.h
Hold wb_Orders.h
Move wb_Orders.h
Queue wb_Orders.h Stack of Orders used by Actor
Personal tools
communication