Frame of Reference Game API  1.0.3
Public Member Functions | Protected Member Functions | Protected Attributes | Properties | Events | List of all members
FrameOfReference.Presentation.EditorPresenter Class Reference

Displays a map for editing More...

Inheritance diagram for FrameOfReference.Presentation.EditorPresenter:
FrameOfReference.Presentation.InteractivePresenter FrameOfReference.Presentation.Presenter AlphaFramework.Presentation.PresenterBase< Universe, Vector2 >

Public Member Functions

 EditorPresenter (Engine engine, Universe universe, bool lighting)
 Creates a new editor presenter More...
 
override void Initialize ()
 
override void Hover (Point target)
 
override void AreaSelection (Rectangle area, bool accumulate, bool done)
 
override void Click (MouseEventArgs e, bool accumulate)
 
Circle GetCollisionCircle ()
 Calculates a collision Circle from the BoundingSpheres of pickable OmegaEngine.Graphics.Renderables.PositionableRenderables. More...
 
Box GetCollisionBox ()
 Calculates a collision Box from the BoundingBoxs of pickable OmegaEngine.Graphics.Renderables.PositionableRenderables. More...
 
- Public Member Functions inherited from FrameOfReference.Presentation.InteractivePresenter
override void Initialize ()
 
void SwingCameraTo (CameraState< Vector2 > cameraState=null)
 Switches from the current camera view to a new view using a cinematic effect. More...
 
void SwingCameraTo (Vector2 target)
 Swings the camera to look at a specifc set of 2D coordinates. More...
 
void SwingCameraTo (PositionableRenderable target)
 Swings the camera to look at a specifc PositionableRenderable. More...
 
void TakeOverSelection ()
 Turns all currently selected Entitys into player-controlled characters. More...
 
void PerspectiveChange (Point pan, int rotation, int zoom)
 
virtual void DoubleClick (MouseEventArgs e)
 
- Public Member Functions inherited from FrameOfReference.Presentation.Presenter
override void Initialize ()
 
void RebuildTerrain ()
 Rebuilds the terrain from World.Universe.Terrain to reflect any modifications performed. More...
 
override void DimDown ()
 
override void DimUp ()
 
- Public Member Functions inherited from AlphaFramework.Presentation.PresenterBase< Universe, Vector2 >
virtual void HookIn ()
 
virtual void HookOut ()
 
void Dispose ()
 

Protected Member Functions

override void RegisterRenderablesSync ()
 
override void MovePositionables (IEnumerable< Positionable< Vector2 >> positionables, Vector2 target)
 Informs observers that one or more Positionable<TCoordinates>s are to be moved to a new position. More...
 
- Protected Member Functions inherited from FrameOfReference.Presentation.InteractivePresenter
 InteractivePresenter (Engine engine, Universe universe)
 Creates a new interactive presenter More...
 
override void Dispose (bool disposing)
 
virtual void PickPositionables (IEnumerable< Positionable< Vector2 >> positionables, bool accumulate)
 Adds one or more Positionable<TCoordinates>s to SelectedPositionables. More...
 
- Protected Member Functions inherited from FrameOfReference.Presentation.Presenter
 Presenter (Engine engine, Universe universe)
 Creates a new presenter. More...
 
override void Dispose (bool disposing)
 To be called by IDisposable.Dispose and the object destructor. More...
 
Camera CreateCamera (CameraState< Vector2 > state=null)
 Creates a new camera based on a state usually loaded from the Universe. More...
 
virtual double CameraController (DoubleVector3 coordinates)
 Ensures the camera does not go under or outside the Terrain. More...
 
void SwitchMusicTheme (string theme, bool immediate=false)
 Switches the theme of the music played More...
 
delegate PositionableRenderable RenderCompononentToEngine< TComponent > (Entity entity, TComponent component)
 A callback for mapping a Render component to an Engine representation. More...
 
void RegisterRenderComponent< TComponent > (RenderCompononentToEngine< TComponent > create)
 Registers a callback for converting a Render component to an Engine representation. More...
 
void UpdateRepresentation (Positionable< Vector2 > element, IPositionable representation)
 Applies the position of a Model element to a View representation. More...
 
void UpdateRepresentation (Entity element, PositionableRenderable representation)
 Applies the position and rotation of a Model element to a View representation. More...
 
void UpdateRepresentation (Entity element, PointLight representation)
 Applies the position and rotation of a Model element to a View representation. More...
 
override void RegisterRenderablesSync ()
 
void UpdateLighting ()
 Updates _lightSun and _lightMoon based on the light phase in PresenterBase<TUniverse,TCoordinates>.Universe. More...
 
- Protected Member Functions inherited from AlphaFramework.Presentation.PresenterBase< Universe, Vector2 >
 PresenterBase (Engine engine, TUniverse universe)
 

Protected Attributes

override double MaxCameraRadius => 10000
 
- Protected Attributes inherited from FrameOfReference.Presentation.Presenter
virtual double MaxCameraRadius => 2250
 The value for StrategyCamera.MaxRadius. More...
 
bool Lighting = true
 Use lighting in this presentation? More...
 
- Protected Attributes inherited from AlphaFramework.Presentation.PresenterBase< Universe, Vector2 >
readonly ModelViewSync< Positionable< TCoordinates >, PositionableRenderable > RenderablesSync
 
readonly ModelViewSync< Positionable< TCoordinates >, LightSource > LightsSync
 
readonly Engine Engine
 
readonly Scene Scene
 

Properties

TerrainBrushTerrainBrush [get, set]
 Controls the shape and size of the area that is visuallly highlighted for TerrainPainting. More...
 
- Properties inherited from FrameOfReference.Presentation.InteractivePresenter
MonitoredCollection< Positionable< Vector2 > > SelectedPositionables = new MonitoredCollection<Positionable<Vector2>>() [get]
 The Positionable<TCoordinates>s the user has selected with the mouse More...
 
- Properties inherited from FrameOfReference.Presentation.Presenter
bool WireframeTerrain [get, set]
 Render the OmegaEngine.Graphics.Renderables.Terrain in wireframe-mode More...
 
bool WireframeEntities [get, set]
 Render all entities in wireframe-mode More...
 
bool BoundingSphereEntities [get, set]
 Visualize the bounding spheres of all entities More...
 
bool BoundingBoxEntities [get, set]
 Visualize the bounding boxes of all entities More...
 
Terrain Terrain [get]
 The OmegaEngine representation of World.Universe.Terrain More...
 
CameraState< Vector2 > CameraState [get]
 Retreives the current state of the Camera for storage in the Universe. More...
 
- Properties inherited from AlphaFramework.Presentation.PresenterBase< Universe, Vector2 >
View View
 
TUniverse Universe
 
bool Initialized
 
bool Disposed
 

Events

PostionableMoveHandler PostionableMove
 Occurs when an Positionable<TCoordinates> is to be moved. More...
 
TerrainPaint TerrainPaint
 Occurs when the user selects an area while TerrainBrush is set to a value other than null. Passes the coordinates in world space. More...
 

Detailed Description

Displays a map for editing

Constructor & Destructor Documentation

◆ EditorPresenter()

FrameOfReference.Presentation.EditorPresenter.EditorPresenter ( Engine  engine,
Universe  universe,
bool  lighting 
)
inline

Creates a new editor presenter

Parameters
engineThe engine to use for rendering
universeThe universe to display
lightingShall lighting be used for rendering?

Member Function Documentation

◆ GetCollisionBox()

Box FrameOfReference.Presentation.EditorPresenter.GetCollisionBox ( )
inline

Calculates a collision Box from the BoundingBoxs of pickable OmegaEngine.Graphics.Renderables.PositionableRenderables.

◆ GetCollisionCircle()

Circle FrameOfReference.Presentation.EditorPresenter.GetCollisionCircle ( )
inline

Calculates a collision Circle from the BoundingSpheres of pickable OmegaEngine.Graphics.Renderables.PositionableRenderables.

◆ MovePositionables()

override void FrameOfReference.Presentation.EditorPresenter.MovePositionables ( IEnumerable< Positionable< Vector2 >>  positionables,
Vector2  target 
)
inlineprotectedvirtual

Informs observers that one or more Positionable<TCoordinates>s are to be moved to a new position.

Parameters
positionablesThe Positionable<TCoordinates>s to be moved.
targetThe terrain position to move the positionables to.

This replaces InteractivePresenters pathfinding based movement with a callback event.

Implements FrameOfReference.Presentation.InteractivePresenter.

Property Documentation

◆ TerrainBrush

TerrainBrush? FrameOfReference.Presentation.EditorPresenter.TerrainBrush
getset

Controls the shape and size of the area that is visuallly highlighted for TerrainPainting.

Raise the TerrainPaint event instead of selecting Positionable<TCoordinates>s when set to a value other than null.

Event Documentation

◆ PostionableMove

PostionableMoveHandler FrameOfReference.Presentation.EditorPresenter.PostionableMove

Occurs when an Positionable<TCoordinates> is to be moved.

◆ TerrainPaint

TerrainPaint FrameOfReference.Presentation.EditorPresenter.TerrainPaint

Occurs when the user selects an area while TerrainBrush is set to a value other than null. Passes the coordinates in world space.


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