Term
What is the State Machine state structure? |
|
Definition
Entity* m_pEntity
State* m_pCurState
State* m_pPreState
float fTimeInCurState
AnimationStateMachine(pEntity)
Update(fTime)
ChangeState(pNewState)
RevertToPreviousState() |
|
|
Term
What is in the Entity Class? |
|
Definition
Model m_Model
AnimStateMachine* m_pAnimStateMachine
vector m_vInterpolatedFrames |
|
|
Term
|
Definition
Will inherit from ABC - must override Enter(*pEntity), Execute(*pEntity, fTime), and Exit(pEntity)
All states that inherit from ABC use be singleton |
|
|
Term
What do we use in-between states for, and what is an example of an inbetween state? |
|
Definition
use for blending, we interpolate the result of our interpolators by dissolving
ex: WalkState - WalkToRunState - RunState |
|
|
Term
What is the dissolve factor for? |
|
Definition
once dissolve has finished, we change from our in-between state to next state
FromWalkToRunState, our dissolve factor at 0.0f would imply our walk animation being used while 1.0f would indicate a switch to our RunState |
|
|
Term
What will our Current State do? |
|
Definition
will check to see if messages have been received that will represent an event that would cause a state to change from one to another |
|
|
Term
What does the Enter function do? |
|
Definition
- Animation(s) that will be played during that state will be set to their interpolator(s) - make sure times are reset
if blending, set up transition time and interpolators the blender will use |
|
|
Term
What does the Execute function do? |
|
Definition
increase the time of interpolator and process
check for following events:
--If the state changes when the animation ends, check the interpolator's time
--If the state changes based on a button/key press, check for user input |
|
|
Term
What does the Exit function do? |
|
Definition
delete any dynamic memory you may have allocated |
|
|