public class AppStateManager
extends java.lang.Object
AppStateManager holds a list of AppStates which
 it will update and render.AppState is attached or detached, the
 AppState.stateAttached(com.jme3.app.state.AppStateManager) and
 AppState.stateDetached(com.jme3.app.state.AppStateManager) methods
 will be called respectively.
 The lifecycle for an attached AppState is as follows:
| Constructor and Description | 
|---|
| AppStateManager(Application app) | 
| Modifier and Type | Method and Description | 
|---|---|
| boolean | attach(AppState state)Attach a state to the AppStateManager, the same state cannot be attached
 twice. | 
| void | attachAll(AppState... states)Attaches many state to the AppStateManager in a way that is guaranteed
 that they will all get initialized before any of their updates are run. | 
| void | attachAll(java.lang.Iterable<AppState> states)Attaches many state to the AppStateManager in a way that is guaranteed
 that they will all get initialized before any of their updates are run. | 
| void | cleanup()Calls cleanup on attached states, do not call directly. | 
| boolean | detach(AppState state)Detaches the state from the AppStateManager. | 
| Application | getApplication()Returns the Application to which this AppStateManager belongs. | 
| protected AppState[] | getInitializing() | 
| <T extends AppState> | getState(java.lang.Class<T> stateClass)Returns the first state that is an instance of subclass of the specified class. | 
| <T extends AppState> | getState(java.lang.Class<T> stateClass,
        boolean failOnMiss)Returns the first state that is an instance of subclass of the specified class. | 
| <T extends AppState> | getState(java.lang.String id,
        java.lang.Class<T> stateClass)Returns the state associated with the specified ID at the time it was
 attached or null if not state was attached with that ID. | 
| protected AppState[] | getStates() | 
| protected AppState[] | getTerminating() | 
| boolean | hasState(AppState state)Check if a state is attached or not. | 
| boolean | hasState(java.lang.String id)Returns true if there is currently a state associated with the specified
 ID. | 
| protected void | initializePending() | 
| void | postRender()Calls render for all attached and initialized states, do not call directly. | 
| void | render(RenderManager rm)Calls render for all attached and initialized states, do not call directly. | 
| <T extends AppState> | stateForId(java.lang.String id,
          java.lang.Class<T> stateClass)Returns the state associated with the specified ID at the time it
  was attached or throws an IllegalArgumentException if the ID was
  not found. | 
| protected void | terminatePending() | 
| void | update(float tpf)Calls update for attached states, do not call directly. | 
public AppStateManager(Application app)
public Application getApplication()
protected AppState[] getInitializing()
protected AppState[] getTerminating()
protected AppState[] getStates()
public boolean attach(AppState state)
state - The state to attachpublic void attachAll(AppState... states)
states - The states to attachpublic void attachAll(java.lang.Iterable<AppState> states)
states - The states to attachpublic boolean detach(AppState state)
state - The state to detachpublic boolean hasState(AppState state)
state - The state to checkattach(com.jme3.app.state.AppState)public <T extends AppState> T getState(java.lang.Class<T> stateClass)
T - the desired type of AppStatestateClass - the desired type of AppStatepublic <T extends AppState> T getState(java.lang.Class<T> stateClass, boolean failOnMiss)
T - the desired type of AppStatestateClass - the desired type of AppStatefailOnMiss - true to throw an exception, false to return nullpublic <T extends AppState> T getState(java.lang.String id, java.lang.Class<T> stateClass)
T - the desired type of AppStateid - the AppState IDstateClass - the desired type of AppStatepublic boolean hasState(java.lang.String id)
id - the AppState IDpublic <T extends AppState> T stateForId(java.lang.String id, java.lang.Class<T> stateClass)
T - the desired type of AppStateid - the AppState IDstateClass - the desired type of AppStateprotected void initializePending()
protected void terminatePending()
public void update(float tpf)
tpf - Time per frame.public void render(RenderManager rm)
rm - The RenderManagerpublic void postRender()
public void cleanup()