bool DynamicWorldLoader::Parse (iDocumentNode* child, iPcDynamicWorld* dynworld) { csStringID id = xmltokens.Request (child->GetValue ()); switch (id) { case XMLTOKEN_CURVE: if (!ParseCurve (child, dynworld)) return false; break; case XMLTOKEN_ROOM: if (!ParseRoom (child, dynworld)) return false; break; case XMLTOKEN_FOLIAGEDENSITY: if (!ParseFoliageDensity (child, dynworld)) return false; break; default: return false; } return true; }
StageState::StageState() : tileSet(152,76), tileMap("map/tileMap.txt", &tileSet), moneyText("font/enhanced_dot_digital-7.ttf", 40, Text::TEXT_BLENDED, "-", WHITE, 100), occupancyMap(tileMap.GetWidth(), tileMap.GetWidth()), sheet(PERMONKEY), subGuiEdit("img/icons/door.png", "img/icons/wall.jpg"), okTile("img/tileset/tile_grama_1.png"), noTile("img/tileset/tile_grama_2.png"), music("music/can_o do vinho.ogg"), costText("font/Deltoid-sans.ttf", 35, Text::TEXT_BLENDED, "-", RED), click("music/click_interface.wav"){ cMusic = 0; music.Play(1); cout << music.isOverInd << endl; instance = this; string file, file2, tile, line, endLine("\n"), initFile("img/tileset/"); FILE *tileFile, *objectFile; Point roomBegin, roomEnd; ifstream objFile, roomFile; char c; vector<string> objectList, roomList; obstacleMap = occupancyMap.Update(&tileMap, &objectArray); creationTimer.Restart(); rType = CORRIDOR; roomBegin.SetPoint(0, 0); roomEnd.SetPoint(25, 25); action = NONE; bg.Open("img/fundo_espaco.png"); //Room *newRoom = new Room(roomBegin, roomEnd, &tileMap, &objectArray, roomArray.size(), rType); //roomArray.emplace_back(newRoom); file = "img/tileset/tilelist.txt"; tileFile = fopen(file.c_str(), "r"); if(tileFile == NULL) exit(EXIT_FAILURE); while (!feof(tileFile)) { fscanf(tileFile, "%c", &c); line = c; while(line.find(endLine)== string::npos){ fscanf(tileFile, "%c", &c); line = line + c; } line.pop_back(); tile = initFile+line; if(tile.compare(initFile)!= 0) tileSet.Open(tile); } fclose(tileFile); cout << "Aqui inicio" << endl; switch (StateData::langInd){ case 0: objFile.open("obj/pt-br-objects.txt"); break; case 1: objFile.open("obj/en-objects.txt"); break; } cout << "Aqui inicio" << endl; while (!objFile.eof()){ getline(objFile, file); objectList.emplace_back(file); } for (int i = 0; i < objectList.size(); i++){ cout << objectList[i] << endl; } cout << "Ended" << endl; ParseObject(objectList); roomFile.open("room/rooms.txt"); while (!roomFile.eof()){ getline(roomFile, file); roomList.emplace_back(file); } for (int i = 0; i < roomList.size(); i++){ cout << roomList[i] << endl; } ParseRoom(roomList); Point monkeyTile(4, 4); Point teste(4, 4); monkeyTile = tileMap.GetTileCenter(monkeyTile); Permonkey* pM = new Permonkey(monkeyTile.x, monkeyTile.y, teste, tileMap, objList); objectArray.emplace_back(pM); data = new StateData(); data->money = 5000; data->fame = 128; moneyText.SetText(to_string(data->money)); moneyText.SetPos(20, 20, false, false); }