- added a new lua method to add text on the console for Elimnator's scenario.

This commit is contained in:
Mark Vejvoda 2011-03-19 12:19:22 +00:00
parent bca617cf18
commit 97017b2f1f
4 changed files with 19 additions and 0 deletions

View File

@ -78,6 +78,7 @@ void ScriptManager::init(World* world, GameCamera *gameCamera){
//register functions //register functions
luaScript.registerFunction(showMessage, "showMessage"); luaScript.registerFunction(showMessage, "showMessage");
luaScript.registerFunction(setDisplayText, "setDisplayText"); luaScript.registerFunction(setDisplayText, "setDisplayText");
luaScript.registerFunction(addConsoleText, "addConsoleText");
luaScript.registerFunction(DisplayFormattedText, "DisplayFormattedText"); luaScript.registerFunction(DisplayFormattedText, "DisplayFormattedText");
luaScript.registerFunction(clearDisplayText, "clearDisplayText"); luaScript.registerFunction(clearDisplayText, "clearDisplayText");
luaScript.registerFunction(setCameraPosition, "setCameraPosition"); luaScript.registerFunction(setCameraPosition, "setCameraPosition");
@ -390,6 +391,11 @@ void ScriptManager::setDisplayText(const string &text){
displayText= wrapString(Lang::getInstance().getScenarioString(text), displayTextWrapCount); displayText= wrapString(Lang::getInstance().getScenarioString(text), displayTextWrapCount);
} }
void ScriptManager::addConsoleText(const string &text){
ScriptManager_STREFLOP_Wrapper streflopWrapper;
world->addConsoleText(text);
}
void ScriptManager::DisplayFormattedText(const char *fmt, ...) { void ScriptManager::DisplayFormattedText(const char *fmt, ...) {
SystemFlags::OutputDebug(SystemFlags::debugLUA,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__); SystemFlags::OutputDebug(SystemFlags::debugLUA,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__);
@ -837,6 +843,12 @@ int ScriptManager::setDisplayText(LuaHandle* luaHandle){
return luaArguments.getReturnCount(); return luaArguments.getReturnCount();
} }
int ScriptManager::addConsoleText(LuaHandle* luaHandle){
LuaArguments luaArguments(luaHandle);
thisScriptManager->addConsoleText(luaArguments.getString(-1));
return luaArguments.getReturnCount();
}
int ScriptManager::clearDisplayText(LuaHandle* luaHandle){ int ScriptManager::clearDisplayText(LuaHandle* luaHandle){
LuaArguments luaArguments(luaHandle); LuaArguments luaArguments(luaHandle);
thisScriptManager->clearDisplayText(); thisScriptManager->clearDisplayText();

View File

@ -173,6 +173,7 @@ private:
void showMessage(const string &text, const string &header); void showMessage(const string &text, const string &header);
void clearDisplayText(); void clearDisplayText();
void setDisplayText(const string &text); void setDisplayText(const string &text);
void addConsoleText(const string &text);
void DisplayFormattedText(const char *fmt,...); void DisplayFormattedText(const char *fmt,...);
void setCameraPosition(const Vec2i &pos); void setCameraPosition(const Vec2i &pos);
void createUnit(const string &unitName, int factionIndex, Vec2i pos); void createUnit(const string &unitName, int factionIndex, Vec2i pos);
@ -238,6 +239,7 @@ private:
//callbacks, commands //callbacks, commands
static int showMessage(LuaHandle* luaHandle); static int showMessage(LuaHandle* luaHandle);
static int setDisplayText(LuaHandle* luaHandle); static int setDisplayText(LuaHandle* luaHandle);
static int addConsoleText(LuaHandle* luaHandle);
static int DisplayFormattedText(LuaHandle* luaHandle); static int DisplayFormattedText(LuaHandle* luaHandle);
static int clearDisplayText(LuaHandle* luaHandle); static int clearDisplayText(LuaHandle* luaHandle);
static int setCameraPosition(LuaHandle* luaHandle); static int setCameraPosition(LuaHandle* luaHandle);

View File

@ -984,6 +984,10 @@ void World::togglePauseGame(bool pauseStatus) {
game->setPaused(pauseStatus); game->setPaused(pauseStatus);
} }
void World::addConsoleText(const string &text) {
game->getConsole()->addLine(text);
}
void World::giveUpgradeCommand(int unitId, const string &upgradeName) { void World::giveUpgradeCommand(int unitId, const string &upgradeName) {
Unit *unit= findUnitById(unitId); Unit *unit= findUnitById(unitId);
if(unit != NULL) { if(unit != NULL) {

View File

@ -207,6 +207,7 @@ public:
void stopAllSound(); void stopAllSound();
void moveToUnit(int unitId, int destUnitId); void moveToUnit(int unitId, int destUnitId);
void togglePauseGame(bool pauseStatus); void togglePauseGame(bool pauseStatus);
void addConsoleText(const string &text);
void giveResource(const string &resourceName, int factionIndex, int amount); void giveResource(const string &resourceName, int factionIndex, int amount);
int getResourceAmount(const string &resourceName, int factionIndex); int getResourceAmount(const string &resourceName, int factionIndex);