org.lee.mugen.core
Class StateMachine

java.lang.Object
  extended by org.lee.mugen.core.StateMachine
All Implemented Interfaces:
Game

public class StateMachine
extends java.lang.Object
implements Game

Author:
Dr Wong StateMachine is the core of the program

Nested Class Summary
protected static class StateMachine.SpriteLoader
           
 
Field Summary
static int TEAMSIDE_ONE
           
static int TEAMSIDE_TWO
           
 
Method Summary
 void addAfterImageSprite(AfterImageSprite afterimageSprite)
           
 void addDebugHisResRender(Renderable r)
           
 void addMakedustSpriteManager(MakeDustSpriteManager manager)
           
 void addRender(Renderable r)
           
 void addSpriteHelper(SpriteHelper sprClone)
           
 int countHelper(java.lang.String spriteId)
           
static int countNormalPlayer(java.util.Collection<Sprite> sprites)
           
 java.util.List<Renderable> getDebugHisResRender()
           
 java.util.Collection<Sprite> getEnnmies(AbstractSprite spriteHitter)
           
 java.util.Collection<Sprite> getEnnmies(Sprite sprite)
           
 FightEngine getFightEngine()
           
 Sprite getFirstEnnmy(java.lang.String spriteId)
           
 GameState getGameState()
           
 GameGlobalEvents getGlobalEvents()
           
 Sprite getHelper(Sprite sprite)
           
 Sprite getHelper(java.lang.String spriteId)
           
 java.lang.String getHelperId(Sprite sprite)
           
 java.lang.String getHelperId(java.lang.String spriteId)
           
 java.lang.String getHelperIdWithID(Sprite sprite, int id)
           
 java.lang.String getHelperIdWithID(java.lang.String spriteId, int id)
           
 Sprite getHelperWithID(Sprite sprite, int id)
           
 Sprite getHelperWithID(java.lang.String spriteId, int id)
           
static StateMachine getInstance()
           
 Stage getInstanceOfStage()
           
 java.util.Map<java.lang.String,StateDef> getInstanceOfStatedefFromOther(java.lang.String spriteId)
           
 java.util.List<AbstractSprite> getOtherSprites()
           
 Sprite getParent(Sprite spr)
           
 Sprite getParent(java.lang.String spriteId)
           
 java.lang.String getParentId(Sprite spr)
           
 java.lang.String getParentId(java.lang.String spriteId)
           
 java.util.Collection<Sprite> getPartners(AbstractSprite spriteHitter)
           
 java.util.Collection<Sprite> getPartners(Sprite sprite)
           
 java.util.Collection<java.lang.String> getPlayersIds()
           
 java.util.List<Renderable> getRenderables()
           
 ImageSpriteSFF.RenderType getRenderType()
           
 Sprite getRoot(Sprite spr)
           
 Sprite getRoot(java.lang.String spriteId)
           
 java.lang.String getRootId(Sprite sprite)
           
 java.lang.String getRootId(java.lang.String spriteId)
           
 java.util.Map<java.lang.String,SpriteCmdProcess> getSpriteCmdProcessMap()
           
 SpriteDef getSpriteDef(java.lang.String spriteId)
           
 Sprite getSpriteInstance(java.lang.String spriteId)
           
 Renderable getSpriteRenderInstance(java.lang.String spriteId)
           
 java.util.Collection<Sprite> getSprites()
           
 java.util.Map<java.lang.String,Sprite> getTeamOne()
           
 java.util.Map<java.lang.String,Sprite> getTeamTwo()
           
 Timer getTimer()
           
 java.lang.Object getWindow()
           
 void init(java.lang.Object container)
          Initialise the game.
 boolean isHomeTeam(java.lang.String spriteId)
           
 boolean isSpriteInSameTeam(java.lang.String id, java.lang.String id2)
           
 void orderRenderList()
           
 void preloadSprite(int teamSide, java.lang.String spriteId, java.lang.String def, int pal)
           
 void preloadStage(java.lang.String fileDef)
           
 void removeAfterImageSprite(AfterImageSprite afterimageSprite)
           
 void removeExplod(java.lang.String spriteId)
           
 void removeExplod(java.lang.String spriteId, int id)
           
 void removeSpriteHelper(java.lang.String sprCloneId)
           
 void render()
          Render the game's screen here.
 void renderDebugInfo()
           
 void setAfterImageTime(java.lang.String spriteId, int itime)
           
 void setKind(ImageSpriteSFF.RenderType kind)
           
 void setWindow(java.lang.Object gameWindows)
           
 void update(int delta)
          Update the game logic here.
 void update(int delta, boolean forceUpdate)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

TEAMSIDE_ONE

public static final int TEAMSIDE_ONE
See Also:
Constant Field Values

TEAMSIDE_TWO

public static final int TEAMSIDE_TWO
See Also:
Constant Field Values
Method Detail

getTeamOne

public java.util.Map<java.lang.String,Sprite> getTeamOne()

getTeamTwo

public java.util.Map<java.lang.String,Sprite> getTeamTwo()

isSpriteInSameTeam

public boolean isSpriteInSameTeam(java.lang.String id,
                                  java.lang.String id2)

getTimer

public Timer getTimer()

getWindow

public java.lang.Object getWindow()

setWindow

public void setWindow(java.lang.Object gameWindows)

getRenderType

public ImageSpriteSFF.RenderType getRenderType()

setKind

public void setKind(ImageSpriteSFF.RenderType kind)

getFightEngine

public FightEngine getFightEngine()

getGameState

public GameState getGameState()

getInstance

public static StateMachine getInstance()

getGlobalEvents

public GameGlobalEvents getGlobalEvents()

preloadStage

public void preloadStage(java.lang.String fileDef)
                  throws java.io.FileNotFoundException,
                         java.io.IOException
Throws:
java.io.FileNotFoundException
java.io.IOException

getInstanceOfStage

public Stage getInstanceOfStage()

getSpriteDef

public SpriteDef getSpriteDef(java.lang.String spriteId)

getSprites

public java.util.Collection<Sprite> getSprites()

getPlayersIds

public java.util.Collection<java.lang.String> getPlayersIds()

getSpriteInstance

public Sprite getSpriteInstance(java.lang.String spriteId)

getSpriteRenderInstance

public Renderable getSpriteRenderInstance(java.lang.String spriteId)

addSpriteHelper

public void addSpriteHelper(SpriteHelper sprClone)

removeSpriteHelper

public void removeSpriteHelper(java.lang.String sprCloneId)

preloadSprite

public void preloadSprite(int teamSide,
                          java.lang.String spriteId,
                          java.lang.String def,
                          int pal)

getOtherSprites

public java.util.List<AbstractSprite> getOtherSprites()

addRender

public void addRender(Renderable r)
Specified by:
addRender in interface Game

addDebugHisResRender

public void addDebugHisResRender(Renderable r)
Specified by:
addDebugHisResRender in interface Game

getRenderables

public java.util.List<Renderable> getRenderables()
Specified by:
getRenderables in interface Game

getDebugHisResRender

public java.util.List<Renderable> getDebugHisResRender()
Specified by:
getDebugHisResRender in interface Game

orderRenderList

public void orderRenderList()

init

public void init(java.lang.Object container)
          throws java.io.IOException
Description copied from interface: Game
Initialise the game. This can be used to load static resources. It's called before the game loop starts

Specified by:
init in interface Game
Parameters:
container - The container holding the game
Throws:
java.io.IOException

update

public void update(int delta)
            throws java.lang.Exception
Description copied from interface: Game
Update the game logic here. No rendering should take place in this method though it won't do any harm.

Specified by:
update in interface Game
Parameters:
delta - The amount of time thats passed since last update in milliseconds
Throws:
java.lang.Exception - Throw to indicate an internal error

update

public void update(int delta,
                   boolean forceUpdate)
            throws java.lang.Exception
Throws:
java.lang.Exception

render

public void render()
Description copied from interface: Game
Render the game's screen here.

Specified by:
render in interface Game

renderDebugInfo

public void renderDebugInfo()
Specified by:
renderDebugInfo in interface Game

getSpriteCmdProcessMap

public java.util.Map<java.lang.String,SpriteCmdProcess> getSpriteCmdProcessMap()

getInstanceOfStatedefFromOther

public java.util.Map<java.lang.String,StateDef> getInstanceOfStatedefFromOther(java.lang.String spriteId)

countHelper

public int countHelper(java.lang.String spriteId)

getParent

public Sprite getParent(Sprite spr)

getParent

public Sprite getParent(java.lang.String spriteId)

getParentId

public java.lang.String getParentId(Sprite spr)

getParentId

public java.lang.String getParentId(java.lang.String spriteId)

getRoot

public Sprite getRoot(Sprite spr)

getRoot

public Sprite getRoot(java.lang.String spriteId)

getRootId

public java.lang.String getRootId(Sprite sprite)

getRootId

public java.lang.String getRootId(java.lang.String spriteId)

getHelper

public Sprite getHelper(Sprite sprite)

getHelper

public Sprite getHelper(java.lang.String spriteId)

getHelperId

public java.lang.String getHelperId(Sprite sprite)

getHelperId

public java.lang.String getHelperId(java.lang.String spriteId)

getHelperWithID

public Sprite getHelperWithID(Sprite sprite,
                              int id)

getHelperWithID

public Sprite getHelperWithID(java.lang.String spriteId,
                              int id)

getHelperIdWithID

public java.lang.String getHelperIdWithID(Sprite sprite,
                                          int id)

getHelperIdWithID

public java.lang.String getHelperIdWithID(java.lang.String spriteId,
                                          int id)

getFirstEnnmy

public Sprite getFirstEnnmy(java.lang.String spriteId)

getEnnmies

public java.util.Collection<Sprite> getEnnmies(Sprite sprite)

getEnnmies

public java.util.Collection<Sprite> getEnnmies(AbstractSprite spriteHitter)

getPartners

public java.util.Collection<Sprite> getPartners(Sprite sprite)

getPartners

public java.util.Collection<Sprite> getPartners(AbstractSprite spriteHitter)

isHomeTeam

public boolean isHomeTeam(java.lang.String spriteId)

removeExplod

public void removeExplod(java.lang.String spriteId,
                         int id)

removeAfterImageSprite

public void removeAfterImageSprite(AfterImageSprite afterimageSprite)

addAfterImageSprite

public void addAfterImageSprite(AfterImageSprite afterimageSprite)

setAfterImageTime

public void setAfterImageTime(java.lang.String spriteId,
                              int itime)

addMakedustSpriteManager

public void addMakedustSpriteManager(MakeDustSpriteManager manager)

countNormalPlayer

public static int countNormalPlayer(java.util.Collection<Sprite> sprites)

removeExplod

public void removeExplod(java.lang.String spriteId)