static void array_Value(CCArray * aArray, const cocos2d::ValueVector & value) { cocos2d::ValueVector::const_iterator beg = value.begin(); cocos2d::ValueVector::const_iterator end = value.end(); for (; beg != end; ++beg) { const Value & v = *beg; if (v.getType() == Value::Type::MAP) { CCDictionary * dict = new CCDictionary(); dict->init(); dictionary_Value(dict, v.asValueMap()); aArray->addObject(dict); dict->release(); } else if (v.getType() == Value::Type::VECTOR) { CCArray * arr = new CCArray(); arr->init(); array_Value(arr, v.asValueVector()); aArray->addObject(arr); arr->release(); } else { CCString * str = new CCString(); if (v.getType() == Value::Type::DOUBLE) str->initWithFormat("%f", v.asDouble()); else str->initWithFormat("%s", v.asString().c_str()); aArray->addObject(str); str->release(); } } }
void World::spawnWave(const cocos2d::ValueVector &waveData) { for (unsigned int i = 0; i < waveData.size(); i++) { const auto &model = getModel((unsigned int) waveData.at(i).asInt()); _gameplayLayer->addEnemyShip(model, i, _mapLayer->_path, _spawnManager->getCurrentWave()); } _hudLayer->updateWaveIndicators(_spawnManager->getCurrentWave(), _spawnManager->getMaxWave()); }
void Json_Parser::read_to_map_for_array(cocos2d::ValueVector &temp,rapidjson::Value &va,int i){ CCLOG("dex:%d",i); if (va.IsBool()) { const bool flag=va.GetBool(); temp.push_back(Value(flag)); } else if (va.IsDouble()) { const double flag=va.GetDouble(); temp.push_back(Value(flag)); } else if (va.IsInt()) { const int flag=va.GetInt(); temp.push_back(Value(flag)); } else if (va.IsString()) { const std::string flag=va.GetString(); temp.push_back(Value(flag)); // CCLOG("++:%d",temp.size()); } else if (va.IsNull()) { temp.push_back(Value(nullptr)); } else if(va.IsObject()) { cocos2d::ValueMap temp2; auto it=va.MemberBegin(); for (;it!=va.MemberEnd();it++) { if (va.HasMember(it->name)) { read_to_map(temp2,va,it->name.GetString()); } } temp.push_back(Value(temp2)); // CCLOG("mapinvectro层:%lu",temp2.size()); } else if(va.IsArray()) { cocos2d::ValueVector temp2; for (int i=0; i<va.Size();i++) { read_to_map_for_array(temp2,va[i],i); } temp.push_back(Value(temp2)); // CCLOG("vectorinvectro层:%lu",temp.size()); } }
bool SQLite::createTable(const std::string &tableName, const cocos2d::ValueVector &columnVector) { std::string sql = "CREATE TABLE IF NOT EXISTS "; sql.append(tableName); sql.append("("); int count = columnVector.size(); for (int i = 0;i<count;i++) { std::string columnName = columnVector[i].asString(); sql.append(columnName); sql.append(" TEXT"); if (i != count-1) { sql.append(","); } } sql.append(")"); return this->executeUpdate(sql); }
bool SQLite::insertIntoTable(const std::string &tableName, const cocos2d::ValueVector& valueArray) { std::string sql = "INSERT INTO "; sql.append(tableName); sql.append(" VALUES("); int count = valueArray.size(); for (int i = 0;i < count;i++) { std::string value = valueArray[i].asString(); sql.append("'"); sql.append(value); sql.append("'"); if (i != count-1) { sql.append(","); } i++; } sql.append(")"); return this->executeUpdate(sql); }
std::string SQLite::getExecuteSql(const std::string &tableName, const std::string &columnName, const cocos2d::ValueVector &columnValues) { std::string sql = "SELECT * FROM "; sql.append(tableName); sql.append(" WHERE "); sql.append(columnName); sql.append(" IN ("); int count = columnValues.size(); for (int i = 0; i < count; i++) { std::string value = columnValues[i].asString(); sql.append("'"); sql.append(value); sql.append("'"); if (i != count-1) { sql.append(","); } } sql.append(")"); return sql; }
void Json_Parser::write_a_array(cocos2d::ValueVector &temp,rapidjson::Value &val2,rapidjson::Document::AllocatorType&allocator){ rapidjson::Value array2(rapidjson::kArrayType); for (int i=0; i<temp.size(); i++) { rapidjson::Value v; if(temp.at(i).getType()==Value::Type::DOUBLE){ v.SetDouble(temp.at(i).asDouble()); val2.PushBack(v,allocator); } else if(temp.at(i).getType()==Value::Type::STRING){ v.SetString(temp.at(i).asString().c_str(),allocator); val2.PushBack(v,allocator); } else if(temp.at(i).getType()==Value::Type::BOOLEAN){ v.SetBool(temp.at(i).asBool()); val2.PushBack(v,allocator); } else if(temp.at(i).getType()==Value::Type::INTEGER){ v.SetInt(temp.at(i).asInt()); val2.PushBack(v,allocator); } else if(temp.at(i).getType()==Value::Type::NONE){ v.SetNull(); val2.PushBack(v,allocator); } else if(temp.at(i).getType()==Value::Type::MAP){ ValueMap chmap=temp.at(i).asValueMap(); v.SetObject(); write_a_map(chmap,v,allocator); val2.PushBack(v,allocator); } else if(temp.at(i).getType()==Value::Type::VECTOR){ ValueVector chvec=temp.at(i).asValueVector(); v.SetArray(); write_a_array(chvec, v, allocator); val2.PushBack(v, allocator); } } }