void ShaderBrush::loadShaderVertex(const std::string &vert, const std::string &frag) { auto fileUtiles = FileUtils::getInstance(); // frag auto fragmentFilePath = fileUtiles->fullPathForFilename(frag); auto fragSource = fileUtiles->getStringFromFile(fragmentFilePath); // vert std::string vertSource; if (vert.empty()) { //vertSource = ccPositionTextureColor_vert; vertSource = ccPositionTextureColor_noMVP_vert; } else { std::string vertexFilePath = fileUtiles->fullPathForFilename(vert); vertSource = fileUtiles->getStringFromFile(vertexFilePath); } auto glprogram = GLProgram::createWithByteArrays(vertSource.c_str(), fragSource.c_str()); auto glprogramstate = GLProgramState::getOrCreateWithGLProgram(glprogram); // brush _brush = Sprite::create(NAME_BRUSH); _brush->retain(); _blend = { GL_ONE, GL_ZERO }; //_blend = BlendFunc{ GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA }; _brush->setBlendFunc(_blend); _brush->setGLProgramState(glprogramstate); auto s = Director::getInstance()->getVisibleSize(); GLProgramState* pGLPS = _brush->getGLProgramState(); pGLPS->setUniformVec2("resolution", Vec2(s)); }
void Picking::displayIcon() { auto fileU = FileUtils::getInstance(); auto fileContent = fileU->getStringFromFile("data/animData.xml"); UserDefault* def = UserDefault::getInstance(); int key = def->getIntegerForKey(SaveDataKey[n_DataKeyNum::eMonsterData01 + m_battleNum].c_str()); doc.Parse(fileContent.c_str()); fileContent = fileU->getStringFromFile("data/monsterData.xml"); mData.Parse(fileContent.c_str()); m_HP = atoi(mData.FirstChildElement()->FirstChildElement(MonsterNameData[key].c_str())->FirstChildElement("HP")->GetText()); auto sprite = doc.FirstChildElement()->FirstChildElement(MonsterNameData[key].c_str()); key = def->getIntegerForKey(SaveDataKey[n_DataKeyNum::eEnemyMonster01 + m_battleNum].c_str()); m_enemyHP = atoi(mData.FirstChildElement()->FirstChildElement(MonsterNameData[key].c_str())->FirstChildElement("HP")->GetText()); //cut image to fit inside frame m_iconSprite = Sprite::create(sprite->FirstChildElement("spriteList")->FirstChildElement("animation")->FirstChildElement("stand")->GetText()); m_iconSprite->setScale(m_Mag * 1.5); m_iconSprite->setPosition(Vec2((m_visibleSize.width / 6) * 1.8, m_visibleSize.height / 2)); m_instance->addChild(m_iconSprite); }
void readBookFromFile(FILE *input, Book *book) { int id; int maxID = 0; bool unsorted = false; char *name, *number; while (!feof(input)) { fscanf(input, "%d", &id); name = getStringFromFile(input); number = getStringFromFile(input); if (name[0] == 0 || number[0] == 0) { free(name); free(number); continue; } if (!correctName(name) || !correctNumber(number)) { printf("ERROR: cannot getStringFromFile %d %s %s\n", id, name, number); free(name); free(number); return; } if (id < maxID) unsorted = true; appendBookID(book, name, number, id); maxID = max(id, maxID); free(name); free(number); } if (unsorted) qsort(book->contacts, book->size, sizeof(Contact), compareContacts); book->lastId = maxID; }
bool GLProgram::initWithFilenames(const std::string& vShaderFilename, const std::string& fShaderFilename, const std::string& compileTimeDefines) { auto fileUtils = FileUtils::getInstance(); std::string vertexSource = fileUtils->getStringFromFile(FileUtils::getInstance()->fullPathForFilename(vShaderFilename)); std::string fragmentSource = fileUtils->getStringFromFile(FileUtils::getInstance()->fullPathForFilename(fShaderFilename)); return initWithByteArrays(vertexSource.c_str(), fragmentSource.c_str(), compileTimeDefines); }
void DrawNode3D::loadShaderVertex(const std::string &vert, const std::string &frag) { auto fileUtiles = FileUtils::getInstance(); // frag auto fragmentFilePath = fileUtiles->fullPathForFilename(frag); auto fragSource = fileUtiles->getStringFromFile(fragmentFilePath); // vert auto vertexFilePath = fileUtiles->fullPathForFilename(vert); auto vertSource = fileUtiles->getStringFromFile(vertexFilePath); auto glprogram = GLProgram::createWithByteArrays(vertSource.c_str(), fragSource.c_str()); auto glprogramstate = GLProgramState::getOrCreateWithGLProgram(glprogram); setGLProgramState(glprogramstate); }
bool FileUtilsTest::init() { BackLayer::init(); Size visibleSize = Director::getInstance()->getVisibleSize(); auto fileutils = FileUtils::getInstance(); //check file //实际上,读取的是编译后的目录,不是Resources下的 if (fileutils->isFileExist("FileUtilsTest/hellotest.txt")) { log("test.txt is exist"); //read file std::string ret; ret = fileutils->getStringFromFile("FileUtilsTest/hellotest.txt"); log("content: %s", ret.c_str()); } else { log("test.txt is not exist"); } //读取中文字符的例子 auto item = MenuItemFont::create("read chinese text", this, menu_selector(FileUtilsTest::onMenuCallBack)); auto menu = Menu::create(item, nullptr); addChild(menu); return true; }
void Picking::displayEnemy() { auto fileU = FileUtils::getInstance(); auto fileContent = fileU->getStringFromFile("data/animData.xml"); doc.Parse(fileContent.c_str()); UserDefault* def = UserDefault::getInstance(); enemyMonster = def->getIntegerForKey(SaveDataKey[(n_DataKeyNum::eEnemyMonster01) + m_battleNum].c_str()); auto sprite = doc.FirstChildElement()->FirstChildElement(MonsterNameData[enemyMonster].c_str()); /* //CARD on the center m_enemySpecial = Sprite::create("img/UI/battle/UI_B_12.png"); m_enemySpecial->setScale(m_Mag * 0.8); m_enemySpecial->setPosition(Vec2(m_visibleSize.width / 2, m_visibleSize.height - m_enemySpecial->getBoundingBox().getMaxY() * 0.75)); m_instance->addChild(m_enemySpecial); m_enemySpecial->setVisible(false); //hidden for animation */ //Monster Sprite number 2 m_enemyCard = Sprite::create(sprite->FirstChildElement("spriteList")->FirstChildElement("animation")->FirstChildElement("stand")->GetText()); m_enemyCard->setScale(m_Mag * 1.5); m_enemyCard->setPosition(Vec2((m_visibleSize.width / 6) * 4.5, m_visibleSize.height /2)); m_instance->addChild(m_enemyCard); }
void LevelLoader::loadJSONData(std::string const & filename) { m_JSONData.clear(); auto fileUtils = cocos2d::FileUtils::getInstance(); // Loads all the data in the file into a std::string. m_JSONData = fileUtils->getStringFromFile(filename); }
void BattleFieldUI::setGrayShader(Sprite * avatar) {//to turn the pictrue gray auto fileUtiles = FileUtils::getInstance(); auto fragmentFullPath = fileUtiles->fullPathForFilename("shader3D/greyScale.fsh"); auto fragSource = fileUtiles->getStringFromFile(fragmentFullPath); auto glprogram = cocos2d::GLProgram::createWithByteArrays(ccPositionTextureColor_noMVP_vert, fragSource.c_str()); auto glprogramstate = cocos2d::GLProgramState::getOrCreateWithGLProgram(glprogram); avatar->setGLProgramState(glprogramstate); }
void ScoreProgressStart::setStartSpriteShader(const std::string & shader_path) { auto fileUtiles = cocos2d::FileUtils::getInstance(); std::string fragmentFullPath = fileUtiles->fullPathForFilename(shader_path.c_str()); std::string fragSource = fileUtiles->getStringFromFile(fragmentFullPath); cocos2d::GLProgram* shader_program = cocos2d::GLProgram::createWithByteArrays(cocos2d::ccPositionTextureColor_noMVP_vert, fragSource.c_str()); cocos2d::GLProgramState* program_state = cocos2d::GLProgramState::getOrCreateWithGLProgram(shader_program); this->setGLProgramState(program_state); }
bool BaseEffect3D::initGLProgramState(const std::string& vertFilename, const std::string& fragFilename) { auto fileUtiles = FileUtils::getInstance(); auto vertexFullPath = fileUtiles->fullPathForFilename(vertFilename); auto fragmentFullPath = fileUtiles->fullPathForFilename(fragFilename); auto vertSource = fileUtiles->getStringFromFile(vertexFullPath); auto fragSource = fileUtiles->getStringFromFile(fragmentFullPath); auto glprogram = GLProgram::createWithByteArrays(vertSource.c_str(), fragSource.c_str()); #if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) m_strVertSource = vertSource; m_strFragSource = fragSource; #endif m_pGLprogramstate = GLProgramState::getOrCreateWithGLProgram(glprogram); m_pGLprogramstate->retain(); return m_pGLprogramstate != nullptr; }
void ShaderNode::loadShaderVertex(const std::string &vert, const std::string &frag) { auto fileUtiles = FileUtils::getInstance(); // frag auto fragmentFilePath = fileUtiles->fullPathForFilename(frag); auto fragSource = fileUtiles->getStringFromFile(fragmentFilePath); // vert std::string vertSource; if (vert.empty()) { vertSource = ccPositionTextureColor_vert; } else { std::string vertexFilePath = fileUtiles->fullPathForFilename(vert); vertSource = fileUtiles->getStringFromFile(vertexFilePath); } auto glprogram = GLProgram::createWithByteArrays(vertSource.c_str(), fragSource.c_str()); auto glprogramstate = GLProgramState::getOrCreateWithGLProgram(glprogram); setGLProgramState(glprogramstate); }
bool Effect::initGLProgramState(const std::string &fragmentFilename) { auto fileUtiles = FileUtils::getInstance(); auto fragmentFullPath = fileUtiles->fullPathForFilename(fragmentFilename); auto fragSource = fileUtiles->getStringFromFile(fragmentFullPath); auto glprogram = GLProgram::createWithByteArrays(ccPositionTextureColor_noMVP_vert, fragSource.c_str()); _glprogramstate = GLProgramState::getOrCreateWithGLProgram(glprogram); _glprogramstate->retain(); return _glprogramstate != nullptr; }
/*----------------------------------------------------------------------*/ static int sourceFileNumber(char *fileName) { SourceFileEntry *entries = pointerTo(header->sourceFileTable); int n; for (n = 0; *(Aword*)&entries[n] != EOF; n++) { char *entryName; entryName = getStringFromFile(entries[n].fpos, entries[n].len); if (strcmp(entryName, fileName) == 0) return n; entryName = baseNameStart(entryName); if (strcmp(entryName, fileName) == 0) return n; } return -1; }
GLProgram* CustomFilter::loadShader() { const GLchar* vertShader = nullptr; const GLchar* fragShader = nullptr; auto fileUtiles = FileUtils::getInstance(); if (0 == m_vertFile.size()) { vertShader = ccPositionTextureColor_noMVP_vert; } else { auto vertFullPath = fileUtiles->fullPathForFilename(m_vertFile); auto vertSource = fileUtiles->getStringFromFile(vertFullPath); vertShader = vertSource.c_str(); } auto fragmentFullPath = fileUtiles->fullPathForFilename(m_fragFile); auto fragSource = fileUtiles->getStringFromFile(fragmentFullPath); fragShader = fragSource.c_str(); GLProgram* p = GLProgram::createWithByteArrays(vertShader, fragShader); return p; }
GLProgramState* Mx::getGLProgramState(string fragmentFilename){ auto fileUtiles = FileUtils::getInstance(); auto fragmentFullPath = fileUtiles->fullPathForFilename(fragmentFilename); auto fragSource = fileUtiles->getStringFromFile(fragmentFullPath); auto glprogram = GLProgram::createWithByteArrays(ccPositionTextureColor_noMVP_vert, fragSource.c_str()); //#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) // _fragSource = fragSource; //#endif return GLProgramState::getOrCreateWithGLProgram(glprogram); }
void FileUtilsLayer::OnClickMenu3(Ref* pSender) { auto sharedFileUtils = FileUtils::getInstance(); std::string fullPathForFilename = sharedFileUtils->fullPathForFilename("test.txt"); log("test.txt path = %s", fullPathForFilename.c_str()); Data data = sharedFileUtils->getDataFromFile(fullPathForFilename); //Data构建string std::string content1 = std::string((const char*)data.getBytes(),0,data.getSize()); log("content1 : %s",content1.c_str()); std::string content2 = sharedFileUtils->getStringFromFile(fullPathForFilename); log("content2 : %s",content2.c_str()); }
void AcceEffectSpace::initShaders() { auto fileUtils = FileUtils::getInstance(); auto vertSource = fileUtils->getStringFromFile("3d/acce.vsh"); auto fragSource = fileUtils->getStringFromFile("3d/acce.fsh"); auto glprogram = GLProgram::createWithByteArrays(vertSource.c_str(), fragSource.c_str()); glprogram->bindAttribLocation("a_position", AcceEffectSpace::VERTEX_ATTRIB_POSITION); glprogram->bindAttribLocation("a_texcoord", AcceEffectSpace::VERTEX_ATTRIB_TEXCOORD); glprogram->link(); glprogram->updateUniforms(); _programState = GLProgramState::getOrCreateWithGLProgram(glprogram); _programState->retain(); }
bool ShaderEffect::initWithFragmentFile(const char* fragmentFilename) { auto fileUtiles = FileUtils::getInstance(); auto fragmentFullPath = fileUtiles->fullPathForFilename(fragmentFilename); std::string fragSource=""; if (fileUtiles->isFileExist(fragmentFullPath)) { fragSource = fileUtiles->getStringFromFile(fragmentFullPath); } else { fragSource=ccPositionTextureColor_noMVP_frag; } return initWithFragmentSource(fragSource.c_str()); }
void BattleHighNode::prepareShaders() { auto fileUtils = FileUtils::getInstance(); auto vertSource = fileUtils->getStringFromFile("3d/battle_high.vsh"); auto fragSource = fileUtils->getStringFromFile("3d/battle_high.fsh"); auto glprogram = GLProgram::createWithByteArrays(vertSource.c_str(), fragSource.c_str()); glprogram->bindAttribLocation("a_positioin", MY_VERTEX_ATTRIB_POSITION); glprogram->bindAttribLocation("a_texcoord", MY_VERTEX_ATTRIB_TEXCOORD); glprogram->link(); glprogram->updateUniforms(); _programState = GLProgramState::getOrCreateWithGLProgram(glprogram); _programState->retain(); }
void RoadNode::initShaders() { if (_roadProgram) return; // Road { auto fileUtils = FileUtils::getInstance(); auto vertSource = fileUtils->getStringFromFile("3d/road.vsh"); auto fragSource = fileUtils->getStringFromFile("3d/road.fsh"); auto glprogram = GLProgram::createWithByteArrays(vertSource.c_str(), fragSource.c_str()); glprogram->bindAttribLocation("a_position", 0); glprogram->bindAttribLocation("a_texCoord", 1); glprogram->link(); glprogram->updateUniforms(); _roadProgram = glprogram; _roadProgram->retain(); _roadTexture = Director::getInstance()->getTextureCache()->addImage("3d/road_shadow.png"); } // Line { auto fileUtils = FileUtils::getInstance(); auto vertSource = fileUtils->getStringFromFile("3d/road_line.vsh"); auto fragSource = fileUtils->getStringFromFile("3d/road_line.fsh"); auto glprogram = GLProgram::createWithByteArrays(vertSource.c_str(), fragSource.c_str()); glprogram->bindAttribLocation("a_position", 0); glprogram->bindAttribLocation("a_texCoord", 1); glprogram->link(); glprogram->updateUniforms(); _lineProgram = glprogram; _lineProgram->retain(); } }
void SimplePixelNode::prepareShaders() { auto fileUtils = FileUtils::getInstance(); auto vertSource = fileUtils->getStringFromFile("3d/simple_pixel.vsh"); auto fragSource = fileUtils->getStringFromFile("3d/simple_pixel.fsh"); auto glprogram = GLProgram::createWithByteArrays(vertSource.c_str(), fragSource.c_str()); glprogram->bindAttribLocation("a_positioin", 0); glprogram->bindAttribLocation("a_color", 1); glprogram->link(); glprogram->updateUniforms(); _programState = GLProgramState::getOrCreateWithGLProgram(glprogram); _programState->retain(); }
void ShadowCover::prepareShaders() { auto fileUtils = FileUtils::getInstance(); auto vertSource = fileUtils->getStringFromFile("3d/shadow_cover.vsh"); auto fragSource = fileUtils->getStringFromFile("3d/shadow_cover.fsh"); auto glprogram = GLProgram::createWithByteArrays(vertSource.c_str(), fragSource.c_str()); glprogram->bindAttribLocation("a_positioin", 0); glprogram->bindAttribLocation("a_texcoord", 1); glprogram->bindAttribLocation("a_radio", 2); glprogram->link(); glprogram->updateUniforms(); _programState = GLProgramState::getOrCreateWithGLProgram(glprogram); _programState->retain(); }
__Array* CSVParser::parse(const char* fileName) { auto sharedFileUtils = FileUtils::getInstance(); string pathKey = sharedFileUtils->fullPathForFilename(fileName); string content = sharedFileUtils->getStringFromFile(pathKey); __String* contentStr = __String::create(content); __Array* rows = contentStr->componentsSeparatedByString("\n"); __Array* ret = __Array::createWithCapacity(rows->count()); Ref *obj = nullptr; CCARRAY_FOREACH(rows, obj) { auto fieldStr = static_cast<__String*>(obj); __Array* fields = fieldStr->componentsSeparatedByString(","); ret->addObject(fields); }
void FileUtilsLayer::OnClickMenu6(Ref* pSender) { auto sharedFileUtils = FileUtils::getInstance(); sharedFileUtils->purgeCachedEntries(); std::vector<std::string> searchPaths = sharedFileUtils->getSearchPaths(); std::string writablePath = sharedFileUtils->getWritablePath(); searchPaths.insert(searchPaths.begin(), "dir1"); searchPaths.insert(searchPaths.begin()+1, writablePath); sharedFileUtils->setSearchPaths(searchPaths); std::string fullPathForFilename = sharedFileUtils->fullPathForFilename("test.txt"); log("test.txt 's fullPathForFilename is : %s",fullPathForFilename.c_str()); Data data = sharedFileUtils->getDataFromFile(fullPathForFilename); std::string content = sharedFileUtils->getStringFromFile(fullPathForFilename); log("File content is : %s",content.c_str()); }
int main(int argc, char const *argv[]) { if (argc == 1) { printf("ERROR: the program takes one argument\n"); return 0; } argv[1]; Book *book = createBook(); if( access( argv[1], R_OK ) != -1 ) { FILE *input = fopen(argv[1], "r"); readBookFromFile(input, book); fclose(input); } sh_fileName = (char *) malloc(strlen(argv[1] + 1)); strcpy(sh_fileName, argv[1]); sh_book = book; signal(SIGINT, signal_handler); char command[10]; char *name = NULL; //(char *) malloc(sizeof(char)*80); char *number = NULL; // (char *) malloc(sizeof(char)*80); char *str = NULL; //(char *) malloc(80); bool corName; bool corNumber; while (true) { corName = true; corNumber = true; scanf("%s", command); if(!strcmp(command, "debprint")) { fullPrint(book); } else if(!strcmp(command, "print")) { printBook(stdout, book); } else if(!strcmp(command, "find")) { str = getStringFromFile(stdin); if (correctName(str) || correctNumber(str)) printFound(stdout, book, str); free(str); } else if(!strcmp(command, "create")) { name = getStringFromFile(stdin); number = getStringFromFile(stdin); corName = correctName(name); corNumber = correctNumber(number); if (correctName && correctNumber) { appendBook(book, name, number); } free(name); free(number); } else if(!strcmp(command, "delete")) { int id; scanf("%d", &id); removeContact(book, id); } else if(!strcmp(command, "change")) { int id; scanf("%d%s", &id, command); str = getStringFromFile(stdin); if(!strcmp(command, "number")) { corName = correctName(str); if (corName) changeNumber(book, id, str); } else if (!strcmp(command, "name")) { corNumber = correctNumber(str); if (corNumber) changeName(book, id, str); } else { printf("ERROR: Expected \"name\" or \"number\" after id in the command change\n"); } free(str); } else if(!strcmp(command, "exit")) { FILE* output = fopen(argv[1], "w"); printBook(output, book); fclose(output); deleteBook(book); break; } else { printf("ERROR: Unknown command %s\n", command); } if (!corName) { printf("ERROR: Invalid name\n"); } if (!corNumber) { printf("ERROR: Invalid number\n"); } fflush(stdout); } return 0; }
void Picking::randomize(int iterator) { auto fileU = FileUtils::getInstance(); auto fileContent = fileU->getStringFromFile("data/monsterData.xml"); mData.Parse(fileContent.c_str()); UserDefault* def = UserDefault::getInstance(); int key = def->getIntegerForKey(SaveDataKey[n_DataKeyNum::eMonsterData01 + m_battleNum].c_str()); int rockProb = atoi(mData.FirstChildElement()->FirstChildElement(MonsterNameData[key].c_str())->FirstChildElement("luck")->FirstChildElement("rock")->GetText()); int sissorsProb = atoi(mData.FirstChildElement()->FirstChildElement(MonsterNameData[key].c_str())->FirstChildElement("luck")->FirstChildElement("sissors")->GetText()); int paperProb = atoi(mData.FirstChildElement()->FirstChildElement(MonsterNameData[key].c_str())->FirstChildElement("luck")->FirstChildElement("paper")->GetText()); //int monsterLevel = atoi(mData.FirstChildElement()->FirstChildElement(MonsterNameData[key].c_str())->FirstChildElement("special")->FirstChildElement("level")->GetText()); int specialProb = rockProb + sissorsProb + paperProb; int randomNum = rand() % 100; if (randomNum < (100 - specialProb)) //------------------ normal card { randomNum = rand() % 3; } else if (randomNum >= (100 - specialProb)) //--------------------- super card { //randomNum = rand() % 3 + 3; randomNum = rand() % specialProb; if (randomNum <= rockProb) { randomNum = rand() % 10; if (randomNum < 7) randomNum = SUPER_ROCK; else randomNum = ULTRA_ROCK; } else if (randomNum <= (rockProb + sissorsProb) && randomNum > rockProb) { randomNum = rand() % 10; if (randomNum < 7) randomNum = SUPER_SISSORS; else randomNum = ULTRA_SISSORS; } else if (randomNum > (rockProb + sissorsProb)) { randomNum = rand() % 10; if (randomNum < 7) randomNum = SUPER_PAPER; else randomNum = ULTRA_PAPER; } else //error case randomNum = rand() % 3; } else //error case { randomNum = rand() % 3; } switch (randomNum) { case ROCK: m_cards[iterator] = Sprite::create("img/UI/battle/UI_B_08.png"); break; case SISSORS: m_cards[iterator] = Sprite::create("img/UI/battle/UI_B_09.png"); break; case PAPER: m_cards[iterator] = Sprite::create("img/UI/battle/UI_B_10.png"); break; case SUPER_ROCK: m_cards[iterator] = Sprite::create("img/UI/battle/UI_B_11.png"); break; case SUPER_SISSORS: m_cards[iterator] = Sprite::create("img/UI/battle/UI_B_12.png"); break; case SUPER_PAPER: m_cards[iterator] = Sprite::create("img/UI/battle/UI_B_13.png"); break; case ULTRA_ROCK: m_cards[iterator] = Sprite::create("img/UI/battle/UI_B_11-G.png"); break; case ULTRA_SISSORS: m_cards[iterator] = Sprite::create("img/UI/battle/UI_B_12-G.png"); break; case ULTRA_PAPER: m_cards[iterator] = Sprite::create("img/UI/battle/UI_B_13-G.png"); break; } m_cards[iterator]->setScale(m_Mag*0.5); m_cards[iterator]->setPosition(Vec2(m_visibleSize.width / 8 * (((iterator + 1) * 1.5) + 1), m_cards[iterator]->getBoundingBox().getMaxY())); m_cards[iterator]->setName("Cards" + Generic::intToStrnig(iterator)); m_cards[iterator]->setZOrder(10); m_instance->addChild(m_cards[iterator]); cardData[iterator] = randomNum; }
void WebViewImpl::loadFile(const std::string &fileName) { auto fileUtiles = FileUtils::getInstance(); auto fileFullPath = fileUtiles->fullPathForFilename(fileName); auto contentsString = fileUtiles->getStringFromFile(fileFullPath); loadHTMLString(contentsString, "text/html"); }
void Picking::setCards() { string cardPath; auto fileU = FileUtils::getInstance(); auto fileContent = fileU->getStringFromFile("data/monsterData.xml"); mData.Parse(fileContent.c_str()); UserDefault* def = UserDefault::getInstance(); //----------------------------------------------------------------------------------- //Player Special Card //----------------------------------------------------------------------------------- int key = def->getIntegerForKey(SaveDataKey[n_DataKeyNum::eMonsterData01 + m_battleNum].c_str()); int type = atoi(mData.FirstChildElement()->FirstChildElement(MonsterNameData[key].c_str())->FirstChildElement("special")->FirstChildElement("type")->GetText()); int level = atoi(mData.FirstChildElement()->FirstChildElement(MonsterNameData[key].c_str())->FirstChildElement("special")->FirstChildElement("level")->GetText()); if (type == ROCK) { if (level == 0) { //normal cardPath = "img/UI/battle/UI_B_08.png"; m_specialType = ROCK; } else if (level == 1) { cardPath = "img/UI/battle/UI_B_11.png"; m_specialType = SUPER_ROCK; } else { //super or ultra cardPath = "img/UI/battle/UI_B_11-G.png"; m_specialType = ULTRA_ROCK; } } else if (type == SISSORS) { if (level == 0) //normal { cardPath = "img/UI/battle/UI_B_09.png"; m_specialType = SISSORS; } else if (level == 1) { cardPath = "img/UI/battle/UI_B_12.png"; m_specialType = SUPER_SISSORS; } else //super or ultra { cardPath = "img/UI/battle/UI_B_12-G.png"; m_specialType = ULTRA_SISSORS; } } else if (type == PAPER) { if (level == 0) //normal { cardPath = "img/UI/battle/UI_B_10.png"; m_specialType = PAPER; } else if (level == 1) { cardPath = "img/UI/battle/UI_B_13.png"; m_specialType = SUPER_PAPER; } else //super or ultra { cardPath = "img/UI/battle/UI_B_13-G.png"; m_specialType = ULTRA_PAPER; } } //render player special card m_specialCard = Sprite::create(cardPath); m_specialCard->setScale(m_Mag * 0.5); m_specialCard->setPosition(Vec2(m_specialCard->getBoundingBox().getMaxX() * 1.8, m_specialCard->getBoundingBox().getMaxY())); m_specialCard->setScale(m_Mag * 1.2); m_specialCard->setZOrder(10); m_instance->addChild(m_specialCard); auto smallenPlayer = ScaleTo::create(0.5, m_Mag*0.5); m_specialCard->runAction(Sequence::create(smallenPlayer, NULL)); //----------------------------------------------------------------------------------- //Enemy Special Card //----------------------------------------------------------------------------------- key = def->getIntegerForKey(SaveDataKey[n_DataKeyNum::eEnemyMonster01 + m_battleNum].c_str()); type = atoi(mData.FirstChildElement()->FirstChildElement(MonsterNameData[key].c_str())->FirstChildElement("special")->FirstChildElement("type")->GetText()); level = atoi(mData.FirstChildElement()->FirstChildElement(MonsterNameData[key].c_str())->FirstChildElement("special")->FirstChildElement("level")->GetText()); if (type == ROCK) { if (level == 0) { //normal cardPath = "img/UI/battle/UI_B_08.png"; m_enemySpecialType = ROCK; } else if (level == 1) //super { cardPath = "img/UI/battle/UI_B_11.png"; m_enemySpecialType = SUPER_ROCK; } else //ultra { cardPath = "img/UI/battle/UI_B_11-G.png"; m_enemySpecialType = ULTRA_ROCK; } } else if (type == SISSORS) { if (level == 0) //normal { cardPath = "img/UI/battle/UI_B_09.png"; m_enemySpecialType = SISSORS; } else if (level == 1) //super { cardPath = "img/UI/battle/UI_B_12.png"; m_enemySpecialType = SUPER_SISSORS; } else //ultra { cardPath = "img/UI/battle/UI_B_12-G.png"; m_enemySpecialType = ULTRA_SISSORS; } } else if (type == PAPER) { if (level == 0) //normal { cardPath = "img/UI/battle/UI_B_10.png"; m_enemySpecialType = PAPER; } else if (level == 1) //super { cardPath = "img/UI/battle/UI_B_13.png"; m_enemySpecialType = SUPER_PAPER; } else //ultra { cardPath = "img/UI/battle/UI_B_13-G.png"; m_enemySpecialType = ULTRA_PAPER; } } //render enemy Special card m_enemySpecial = Sprite::create(cardPath); m_enemySpecial->setScale(m_Mag * 0.5); m_enemySpecial->setPosition(Vec2(m_visibleSize.width - m_enemySpecial->getBoundingBox().getMaxX() * 1.8, m_visibleSize.height - m_enemySpecial->getBoundingBox().getMaxY())); m_enemySpecial->setScale(m_Mag * 1.2); m_enemySpecial->setZOrder(10); m_instance->addChild(m_enemySpecial); auto smallenEnemy = ScaleTo::create(0.5, m_Mag*0.5); m_enemySpecial->runAction(Sequence::create(smallenEnemy, NULL)); //----------------------------------------------------------------------------------- //Other Cards //----------------------------------------------------------------------------------- srand(time(NULL)); for (int i = 0; i < 4; i++) { randomize(i); m_hiddenCards[i] = Sprite::create("img/UI/battle/UI_B_14.png"); m_hiddenCards[i]->setPositionX(m_cards[i]->getPositionX() - 270); m_hiddenCards[i]->setScale(m_Mag*0.5); m_hiddenCards[i]->setPositionY(m_visibleSize.height - m_hiddenCards[i]->getBoundingBox().getMaxY()); m_instance->addChild(m_hiddenCards[i]); } auto callback = CallFunc::create([this]() { this->displayUI(); }); MoveTo* appear[4]; MoveTo* appearEnemy[4]; for (int i = 0; i < 4; i++) { //player other cards animation appear[i] = MoveTo::create((4-i)*0.5, Vec2(m_cards[i]->getPosition().x, m_cards[i]->getPosition().y)); auto wait = DelayTime::create(1.5); m_cards[i]->setPosition(m_cards[i]->getPosition().x, -m_cards[i]->getBoundingBox().getMaxY()*(4-i)); if (i == 3) m_cards[i]->runAction(Sequence::create(appear[i], wait, callback, NULL)); else m_cards[i]->runAction(appear[i]); //enemy other cards animation appearEnemy[i] = MoveTo::create(i * 0.5, Vec2(m_hiddenCards[i]->getPositionX(), m_hiddenCards[i]->getPositionY())); m_hiddenCards[i]->setPosition(m_hiddenCards[i]->getPositionX(), m_visibleSize.height + m_hiddenCards[i]->getBoundingBox().getMaxY() * i); m_hiddenCards[i]->runAction(appearEnemy[i]); } }