Blame |
Last modification |
View Log
| RSS feed
package com.gebauz.bauzoid.menu;
import java.util.Vector;
import com.gebauz.bauzoid.parser.ScanException;
import com.gebauz.bauzoid.parser.Tokenizer;
/** Provides static functions for processing default commands in events. */
public class EventProcessor
{
// Constants========================================================================================
// Embedded Types===================================================================================
// Fields===========================================================================================
// Methods==========================================================================================
/** Breaks the parameter down to a list of Strings containing a statement/instruction each for easier parsing. */
public static Vector<String> parseParameter
(String param
)
{
Vector<String> paramList =
new Vector<String>();
Tokenizer t =
new Tokenizer
(param
);
try
{
while (!t.
isEndOfString())
{
String p = t.
readUntilToken(";");
if (!p.
isEmpty())
paramList.
add(p
);
if (t.
isEndOfString() ||
!t.
checkToken(";"))
break;
t.
readToken(";");
}
}
catch (ScanException e
)
{
e.
log("DefaultEventProcessor");
}
return paramList
;
}
public static void processEvent
(Menu menu,
MenuItem sender,
String msgType,
String param
)
{
Tokenizer t =
new Tokenizer
(param
);
try
{
String command = t.
readIdentifier();
if (command.
equalsIgnoreCase("switchState"))
{
// stitch together identifier
String switchState = t.
readIdentifier();
while (t.
checkToken("."))
{
t.
readToken(".");
switchState = switchState +
"." + t.
readIdentifier();
}
String switchParam = t.
readUntilEndOfString();
menu.
getGame().
getGameStateManager().
switchTo(switchState, switchParam
);
}
/* else if (command.equalsIgnoreCase("fadeOut"))
{
menu.startFadeOut();
}*/
else
{
// unknown command -> skip
return;
}
}
catch (ScanException e
)
{
e.
log("DefaultEventProcessor");
}
}
// Getters/Setters==================================================================================
}