82 #include <emscripten.h>
85 ConsoleCallback::~ConsoleCallback() {
87 console.log(
'~ConsoleCallback destructor');
91 void ConsoleCallback::autoGoto(
Micropolis *micropolis, emscripten::val callbackVal,
int x,
int y, std::string message) {
93 console.log(
'autoGoto:',
'x:', $0,
'y:', $1,
'message:', UTF8ToString($2));
94 }, x, y, message.c_str());
97 void ConsoleCallback::didGenerateMap(
Micropolis *micropolis, emscripten::val callbackVal,
int seed) {
99 console.log(
'didGenerateMap:',
'seed:', $0);
103 void ConsoleCallback::didLoadCity(
Micropolis *micropolis, emscripten::val callbackVal, std::string filename) {
105 console.log(
'didLoadCity:',
'filename:', UTF8ToString($0));
106 }, filename.c_str());
109 void ConsoleCallback::didLoadScenario(
Micropolis *micropolis, emscripten::val callbackVal, std::string name, std::string fname) {
111 console.log(
'didLoadScenario:',
'name:', UTF8ToString($0),
'fname:', UTF8ToString($1));
112 }, name.c_str(), fname.c_str());
115 void ConsoleCallback::didLoseGame(
Micropolis *micropolis, emscripten::val callbackVal) {
117 console.log(
'didLoseGame');
121 void ConsoleCallback::didSaveCity(
Micropolis *micropolis, emscripten::val callbackVal, std::string filename) {
123 console.log(
'didSaveCity:',
'filename:', UTF8ToString($0));
124 }, filename.c_str());
127 void ConsoleCallback::didTool(
Micropolis *micropolis, emscripten::val callbackVal, std::string name,
int x,
int y) {
129 console.log(
'didTool:',
'name:', UTF8ToString($0),
'x:', $1,
'y:', $2);
130 }, name.c_str(), x, y);
133 void ConsoleCallback::didWinGame(
Micropolis *micropolis, emscripten::val callbackVal) {
135 console.log(
'didWinGame');
139 void ConsoleCallback::didntLoadCity(
Micropolis *micropolis, emscripten::val callbackVal, std::string filename) {
141 console.log(
'didntLoadCity:',
'filename:', UTF8ToString($0));
142 }, filename.c_str());
145 void ConsoleCallback::didntSaveCity(
Micropolis *micropolis, emscripten::val callbackVal, std::string filename) {
147 console.log(
'didntSaveCity:',
'filename:', UTF8ToString($0));
148 }, filename.c_str());
151 void ConsoleCallback::makeSound(
Micropolis *micropolis, emscripten::val callbackVal, std::string channel, std::string sound,
int x,
int y) {
153 console.log(
'makeSound:',
'channel:', UTF8ToString($0),
'sound:', UTF8ToString($1),
'x:', $2,
'y:', $3);
154 }, channel.c_str(), sound.c_str(), x, y);
157 void ConsoleCallback::newGame(
Micropolis *micropolis, emscripten::val callbackVal) {
159 console.log(
'newGame');
163 void ConsoleCallback::saveCityAs(
Micropolis *micropolis, emscripten::val callbackVal, std::string filename) {
165 console.log(
'saveCityAs:',
'filename:', UTF8ToString($0));
166 }, filename.c_str());
169 void ConsoleCallback::sendMessage(
Micropolis *micropolis, emscripten::val callbackVal,
int messageIndex,
int x,
int y,
bool picture,
bool important) {
171 console.log(
'sendMessage:',
'messageIndex:', $0,
'x:', $1,
'y:', $2,
'picture:', $3,
'important:', $4);
172 }, messageIndex, x, y, picture, important);
175 void ConsoleCallback::showBudgetAndWait(
Micropolis *micropolis, emscripten::val callbackVal) {
177 console.log(
'showBudgetAndWait');
181 void ConsoleCallback::showZoneStatus(
Micropolis *micropolis, emscripten::val callbackVal,
int tileCategoryIndex,
int populationDensityIndex,
int landValueIndex,
int crimeRateIndex,
int pollutionIndex,
int growthRateIndex,
int x,
int y) {
183 console.log(
'showZoneStatus:',
'tileCategoryIndex:', $0,
'populationDensityIndex:', $1,
'landValueIndex:', $2,
'crimeRateIndex:', $3,
'pollutionIndex:', $4,
'growthRateIndex:', $5,
'x:', $6,
'y:', $7);
184 }, tileCategoryIndex, populationDensityIndex, landValueIndex, crimeRateIndex, pollutionIndex, growthRateIndex, x, y);
187 void ConsoleCallback::simulateRobots(
Micropolis *micropolis, emscripten::val callbackVal) {
189 console.log(
'simulateRobots');
193 void ConsoleCallback::simulateChurch(
Micropolis *micropolis, emscripten::val callbackVal,
int posX,
int posY,
int churchNumber) {
195 console.log(
'simulateChurch:',
'posX:', $0,
'posY:', $1,
'churchNumber:', $2);
196 }, posX, posY, churchNumber);
199 void ConsoleCallback::startEarthquake(
Micropolis *micropolis, emscripten::val callbackVal,
int strength) {
201 console.log(
'startEarthquake:',
'strength:', $0);
205 void ConsoleCallback::startGame(
Micropolis *micropolis, emscripten::val callbackVal) {
207 console.log(
'startGame');
211 void ConsoleCallback::startScenario(
Micropolis *micropolis, emscripten::val callbackVal,
int scenario) {
213 console.log(
'startScenario:',
'scenario:', $0);
217 void ConsoleCallback::updateBudget(
Micropolis *micropolis, emscripten::val callbackVal) {
219 console.log(
'updateBudget');
223 void ConsoleCallback::updateCityName(
Micropolis *micropolis, emscripten::val callbackVal, std::string cityName) {
225 console.log(
'updateCityName:',
'cityName:', UTF8ToString($0));
226 }, cityName.c_str());
229 void ConsoleCallback::updateDate(
Micropolis *micropolis, emscripten::val callbackVal,
int cityYear,
int cityMonth) {
231 console.log(
'updateDate:',
'cityYear:', $0,
'cityMonth:', $1);
232 }, cityYear, cityMonth);
235 void ConsoleCallback::updateDemand(
Micropolis *micropolis, emscripten::val callbackVal,
float r,
float c,
float i) {
237 console.log(
'updateDemand:',
'r:', $0,
'c:', $1,
'i:', $2);
241 void ConsoleCallback::updateEvaluation(
Micropolis *micropolis, emscripten::val callbackVal) {
243 console.log(
'updateEvaluation');
247 void ConsoleCallback::updateFunds(
Micropolis *micropolis, emscripten::val callbackVal,
int totalFunds) {
249 console.log(
'updateFunds:',
'totalFunds:', $0);
253 void ConsoleCallback::updateGameLevel(
Micropolis *micropolis, emscripten::val callbackVal,
int gameLevel) {
255 console.log(
'updateGameLevel:',
'gameLevel:', $0);
259 void ConsoleCallback::updateHistory(
Micropolis *micropolis, emscripten::val callbackVal) {
261 console.log(
'updateHistory');
265 void ConsoleCallback::updateMap(
Micropolis *micropolis, emscripten::val callbackVal) {
267 console.log(
'updateMap');
271 void ConsoleCallback::updateOptions(
Micropolis *micropolis, emscripten::val callbackVal) {
273 console.log(
'updateOptions');
277 void ConsoleCallback::updatePasses(
Micropolis *micropolis, emscripten::val callbackVal,
int passes) {
279 console.log(
'updatePasses:',
'passes:', $0);
283 void ConsoleCallback::updatePaused(
Micropolis *micropolis, emscripten::val callbackVal,
bool simPaused) {
285 console.log(
'updatePaused:',
'simPaused:', $0);
289 void ConsoleCallback::updateSpeed(
Micropolis *micropolis, emscripten::val callbackVal,
int speed) {
291 console.log(
'updateSpeed:',
'speed:', $0);
295 void ConsoleCallback::updateTaxRate(
Micropolis *micropolis, emscripten::val callbackVal,
int cityTax) {
297 console.log(
'updateTaxRate:',
'cityTax:', $0);
Header file for Micropolis game engine.