Modifier and Type | Interface and Description |
---|---|
static class |
SimulationMode.Placement
placement for any object
|
static class |
SimulationMode.SimulationModeDisplay
Displayable
SimulationMode items
THINKABOUT currently, SimulationModes are treated as singletons, this should fall once they have state |
Modifier and Type | Method and Description |
---|---|
void |
determinePointsForRanking()
PRELIM the
SimulationMode determines the points to achieve for every participant. |
void |
drawLandscape(ArenaController arenaController,
javax.media.opengl.GL gl,
Vector drawableSize,
SimulationRun simulationRun,
int simulationStateIndex)
As
SimulationMode s have different Landscapes ,
drawing the background is their obligation. |
boolean |
evaluateMatchEnd(SimulationState currentState,
double absoluteTime,
double timeLimit,
SimulationRun sr)
evaluates if victory conditions are met for the given simulation mode
|
Vector |
getAdditiveAcceleration(Body body,
TerrainType surface)
An opportunity to add a static force, which is valid over the current frame
|
Landscape |
getLandscape()
Every simulation mode has a background.
|
SimulationMode.Placement |
getNextBodyStartPos(java.util.List<Body> bodies)
sets position and orientation for body
|
SimulationModeState |
getSimulationModeState(SimulationModeState simulationModeState)
sets a new state if the old one is invalid
|
void |
hookChargeEnergy(java.util.List<Body> bodies,
double elapsedTime)
leaves the energy management up to the
SimulationMode . |
void |
hookCollisionDetection(java.util.LinkedList<Collision> collisions,
java.util.List<MotionTargetPanzer> motionTargets)
This hook is called at every simulation frame.
|
void |
hookSimulationCycle(SimulationState currentState)
This hook is called at every simulation frame.
|
void |
nextCameraMode(SimulationState currentState)
Changes the camera mode
|
void |
select()
Initialization routine
|
void determinePointsForRanking()
SimulationMode
determines the points to achieve for every participant.
TODO call at end of match
TODO implement points for rankingvoid drawLandscape(ArenaController arenaController, javax.media.opengl.GL gl, Vector drawableSize, SimulationRun simulationRun, int simulationStateIndex)
SimulationMode
s have different Landscapes
,
drawing the background is their obligation.arenaController
- - for drawinggl
- - drawing routines need thatdrawableSize
- - size of canvassimulationStateIndex
- - index of the SimulationState within the
entire SimulationRun that should be drawn by this callsimulationRun
- - the entire run, because sometimes we need to
access more than the current state, which should be drawnboolean evaluateMatchEnd(SimulationState currentState, double absoluteTime, double timeLimit, SimulationRun sr)
currentState
- absoluteTime
- timeLimit
- sr
- Vector getAdditiveAcceleration(Body body, TerrainType surface)
body
- - for positionsurface
- - yet unusednull
Landscape getLandscape()
SimulationMode.Placement getNextBodyStartPos(java.util.List<Body> bodies)
bodies
- SimulationMode.Placement
SimulationModeState getSimulationModeState(SimulationModeState simulationModeState)
SimulationModeState
for this SimulationMode
; not null
void hookChargeEnergy(java.util.List<Body> bodies, double elapsedTime)
SimulationMode
.bodies
- elapsedTime
- void hookCollisionDetection(java.util.LinkedList<Collision> collisions, java.util.List<MotionTargetPanzer> motionTargets)
SimulationMode
in the running Simulation
.collisions
- - to be filledmotionTargets
- - to be readvoid hookSimulationCycle(SimulationState currentState)
SimulationMode
in the running Simulation
.currentState
- void nextCameraMode(SimulationState currentState)
currentState
- can be used to select the next camera mode depending
on the currently displayed simulation state.void select()