当前位置: 首页>>代码示例>>C++>>正文


C++ XML::getString方法代码示例

本文整理汇总了C++中XML::getString方法的典型用法代码示例。如果您正苦于以下问题:C++ XML::getString方法的具体用法?C++ XML::getString怎么用?C++ XML::getString使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在XML的用法示例。


在下文中一共展示了XML::getString方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: fromXml

void PlayerDetails::fromXml(XML& xml){
	mMesh = xml.getString("ship", "mesh");
	mDll = xml.getString("ship", "dll");
	mShield = xml.getFloat("ship", "shield");
	mShieldRegen = xml.getFloat("ship", "shield_regen");
	mArmour = xml.getFloat("ship", "armour");
	mEnergy = xml.getFloat("ship", "energy");
	mEnergyRegen = xml.getFloat("ship", "energy_regen");
	mAmmo = xml.getInt("ship", "ammo");
	mSpeed = xml.getFloat("ship", "speed");
	mDeathFX = xml.getString("death_fx");
	if (xml.getError() != XML_OK){
		mDeathFX = "";
	}

	{
		XMLIterator it(&xml);
		it.setElemName("ship>weaponchain");
		it.gotoZero();
		while(it.gotoNext()==true){
			WeaponChain wc(it.getElem());
			mWeaponChain.push_back(wc);
		}
	}{
		XMLIterator it(&xml);
		it.setElemName("ship>reactor");
		it.gotoZero();
		while(it.gotoNext()==true){
			mReactorNodes.push_back(it.getElem().getString("childName"));
		}
	}


/*
	XMLIterator it(&xml);
	it.setElemName("");
	it.gotoZero();
	it.gotoNext();
	XML elem;

	if (it.gotoNext() == false){
		throw("Ship Definition File Missing 3 Weapon Chain");
	}
	elem = it.getElem();

	if (it.gotoNext() == false){
		throw("Ship Definition File Missing 2 Weapon Chain");
	}
	elem = it.getElem();
	mSecondaryWeapon.fromXml(elem);

	if (it.gotoNext() == false){
		throw("Ship Definition File Missing 1 Weapon Chain");
	}
	elem = it.getElem();
	mSuperWeapon.fromXml(elem);*/
	int g=0;
}
开发者ID:christianboutin,项目名称:Shmoulette,代码行数:58,代码来源:level.cpp

示例2: createFromXml

	void Cell::createFromXml(XML* xml){
		/*mOverlay = mOverlayManager.create(getId());
		mOverlay->setZOrder(xml->getFloat("z"));
		mOverlay->show();*/

		//mZOrder = xml->getFloat("z");

		//mTrack = new RefinedTrack(xml, false);
		mX = new RefinedNumericTrack(xml, "posx");
		mY = new RefinedNumericTrack(xml, "posy");
		mAlpha = new RefinedNumericTrack(xml, "alpha");
		mScaleX = new RefinedNumericTrack(xml, "sclx");
		mScaleY = new RefinedNumericTrack(xml, "scly");

		//mAngle = new RefinedNumericTrack(xml, "angle");

		mPos.x = xml->getFloat("posx");
		mPos.y = xml->getFloat("posy");

		XMLIterator xmlIt(xml);


		/*xmlIt.setElemName("cell");
		xmlIt.gotoZero();
		while(xmlIt.gotoNext()==true){
			mElement.push_back(new Cell(&(xmlIt.getElem())));
		}*/
		xmlIt.setElemName("cell>image");
		xmlIt.gotoZero();
		
		while(xmlIt.gotoNext()==true){
			Image* img = new Image();
			img->init(&(xmlIt.getElem()));
			mElement.push_back(img);
			img->setDelta(Ogre::Vector2(-1, -1));
			img->moveTimes(getTimeOn());
		}
		xmlIt.setElemName("cell>textzone");
		xmlIt.gotoZero();
		while(xmlIt.gotoNext()==true){
			XML xml = xmlIt.getElem();
			string txttype = xml.getString("type");
			Text* txt;
			if (txttype == "rolling"){
				txt = new RollingText();
			}else if (txttype == "static"){
				txt = new StaticText();
			}else{
				txt = new StaticText();
			}
			txt->init(&(xmlIt.getElem()));
			txt->setFontStyle(FontStyleManager::getSingleton()->requestFontStyle(xmlIt.getElem().getString("style")));
			mElement.push_back(txt);
			txt->setDelta(Ogre::Vector2(-1, -1));
			txt->moveTimes(getTimeOn());
		}
	}
开发者ID:christianboutin,项目名称:Shmoulette,代码行数:57,代码来源:cell.cpp

示例3: get

	WeaponDBE* WeaponDB::get(string id){
		for (list<WeaponDBE*>::iterator it = mEntry.begin();it!=mEntry.end();it++){
			if ((*it)->getId() == id){
				return (*it);
			};
		}
		File f(id+".xml", "media\\weapons\\weapons");
		XML* xml;
		if (f.error() != FILE_OK){
			throw("Error accessing file : "+id+" in context weapons\\weapons");
			xml = NULL;
		}else{
			xml = new XML(f.getStrContent());
		}
		string type = xml->getString("weapon","type");
		if (xml->getError() != XML_OK){
			throw("Error : Weapon requires type");
		}
		
		WeaponDBE* rv;
		if (type == "dll"){
			rv = new DLLWeaponDBE(id, *xml);
		}else if (type == "internal"){
			string subtype = xml->getString("weapon","subtype");
			if (xml->getError() != XML_OK){
				throw("Error : Weapon requires subtype");
			}
			if (subtype == "ammo"){
				rv = new AmmoWeaponDBE(id, *xml);
			}else if (subtype == "beam"){
				rv = new BeamWeaponDBE(id, *xml);
			}else{
				throw("Subtype : "+subtype+" not recognized");
			}
		}else{
			throw("Type : "+type+" not recognized");
		}
		//rv->setMount(launcher, mMount);
		delete xml;
		mEntry.push_back(rv);
		return rv;

	}
开发者ID:christianboutin,项目名称:Shmoulette,代码行数:43,代码来源:weapondb.cpp

示例4: init

void DroneDBE::init(XML& dronestatXml, XML& objectMovementXml){
	/*File f(getId()+".xml", "media/drones");
	if (f.error() != FILE_OK){
		throw("Drone without an XML file ("+getId()+")");
	}
	XML* xml;
	xml = new XML();
	xml->setContent((char*)f.content());*/
	
	//XML* xml = new XML(getId()+".xml", "media/drones");

	mMaxTime = dronestatXml.getFloat("maxtime");

	std::string s;
	s = dronestatXml.getString("class");
	if (dronestatXml.getError() != XML_OK){
		throw("Drone class undefined ("+getId()+")");
	}


	/*File file(s+".xml", "media/drones/classes");
	if (file.error() != FILE_OK){
		throw("Drone without an XML class file ("+getId()+")");
	}
	XML* classXml;
	classXml = new XML();
	classXml->setContent((char*)file.content());*/
	XML* classXml = new XML(s+".xml", "media/drones/classes");

	mScale = vector3FromString(classXml->getString("drone", "scale"));
	if (classXml->getError() != XML_OK){
		mScale = Ogre::Vector3(1,1,1);
	}/*else{
		int g=0;
	}*/


	mMaxLife = classXml->getFloat("drone", "life");
	if (classXml->getError() != XML_OK) 
		throw("Class File Missing Argument : "+getId()+" (life)");
	mScore= classXml->getInt("drone", "score");
	if (classXml->getError() != XML_OK) 
		throw("Class File Missing Argument : "+getId()+" (score)");
	
	string dllName= classXml->getString("drone", "dll");
	if (classXml->getError() == XML_OK){
		#ifdef _DEBUG
			string name = dllName+"d";
			mDll = LoadLibrary(name.c_str());
		#else
			mDll = LoadLibrary(dllName.c_str());
		#endif
		//mDllCallback = (DLLCallback)::GetProcAddress(weaponModule, "getInstance");
	}else{
		mDll = NULL;
		//mDllCallback = NULL;
	}
	
	{
	XMLIterator it(classXml);
	it.setElemName("drone>death");
	it.gotoZero();
	while(it.gotoNext() != false){
		DEATH_BEHAVIOUR db;
		
		
		XML dbxml = it.getElem();
		db.mFX = dbxml.getString("fx");
		if (dbxml.getError() != XML_OK) db.mFX = "";
		db.mDLLCustomCode = dbxml.getString("dll");
		if (dbxml.getError() != XML_OK) db.mDLLCustomCode = "";
		db.mTime = dbxml.getFloat("time");
		if (dbxml.getError() != XML_OK) db.mTime = 0;

#if 0
		XMLIterator dit(&dbxml);
		dit.setElemName("death>debris");
		dit.gotoZero();
		while(dit.gotoNext() != false){

			db.mDebris.push_back(dit.getElem());

			/*DEBRIS_DETAIL dd;
			XML ditElem = dit.getElem();
			string dir = ditElem.getString("direction");
			if (dir == "forward"){
				dd.mDirection = DEBRIS_DIRECTION_FORWARD;
			}else if (dir == "random"){
				dd.mDirection = DEBRIS_DIRECTION_RANDOM;
			}else{
				throw("Unsupported debris direction : "+dir);
			}
			dd.mSpinMultiplier = ditElem.getFloat("spin");
			dd.mMesh = ditElem.getString("mesh");
			dd.mPython = ditElem.getString("python");
			if (ditElem.getError() != XML_OK){
				dd.mPython = "";
			}
			

//.........这里部分代码省略.........
开发者ID:christianboutin,项目名称:Shmoulette,代码行数:101,代码来源:dronedbe.cpp

示例5: init

void Level::init(string filename){
	_resetStdVar();
	mViewport= NULL;

	//mProgressBar->draw(Core::getSingleton()->getWindow());
	//File::setLoadCallback(mProgressBar);
	ResourceGroupManager::getSingleton().createResourceGroup("Level");

	//File* lf;
	XML* lx;
	/*lf = new File(filename, "media\\levels");
	if (lf->error() != FILE_OK){
		throw((string)("Level file not found : "+filename));
	}
	lx = new XML(lf->getStrContent());*/
	lx = new XML(filename, "media\\levels");

	string loadingSoundString;
	loadingSoundString = lx->getString("level","loadingsound");
	if (lx->getError() == XML_OK){
		mLoadingSound = SoundManager::getSingleton()->createSound(loadingSoundString+".ogg", true);
		mLoadingSound->play();
	}else{
		mLoadingSound = NULL;
	}
	mTimer = 0;
	
	/*mContainer->setSolid(false);
	mContainer->setType(OBJ_TYPE_CONTAINER);
	mContainer->build();*/

	
	//openLevelFile(filename);
	//Util::Log("Loading World...");

	
	XMLIterator XMLIt(lx);
	XMLIt.setElemName("level>segment");
	XMLIt.gotoZero();
	
	//LevelSegment* seg;


	while(XMLIt.gotoNext()==true){
		XML elem = XMLIt.getElem();
		addSegment(
			elem.getString("name"), 
			"media\\levels", 
			elem.getString("name").substr(0,elem.getString("name").length()-4),
			elem.getFloat("length"), elem.getString("append")=="1");

		
		/*File* f;
		XML elem = XMLIt.getElem();
		f = new File(elem.getString("name"),"levels");
		Util::Log("Loading : "+elem.getString("name"), 4);
		if (f->error() != FILE_OK){
			throw((string)("Level file not found : "+(string)filename));
		}else{
			XML xml;
			xml.setContent(f->getStrContent());
			addSegment(
				xml, 
				elem.getString("name").substr(0,elem.getString("name").length()-4),
				elem.getFloat("length"));
			
			//mCurrentSegment = new LevelSegment();
			//mCurrentSegment->build(&xml, elem.getString("name").substr(0,elem.getString("name").length()-4), elem.getFloat("length"));
			//mSegment.push_back(mCurrentSegment);
		}
		delete f;*/
	}
	if (mSegment.size() == 0) throw ("Your level has 0 segments.");
	delete lx;
	//delete lf;

//	closeLevelFile();
}
开发者ID:christianboutin,项目名称:Shmoulette,代码行数:78,代码来源:level.cpp

示例6: init

void DefaultDroneDBE::init(XML& dronestatXml, XML& objectMovementXml){
		string coord = objectMovementXml.getString("transform_c");
		if (objectMovementXml.getError() != XML_OK){
			coord = "macro:zero_transform";
		}else{
			int g=0;
		}
		mTransformCoordinator = dynamic_cast<Coordinator::TransformCoordinator*>(Coordinator::CoordinatorFactory::getSingleton()->get(coord));
			
		mMaxTime = mTransformCoordinator->getLength();

		{
			XMLIterator it(&objectMovementXml);
			it.setElemName("##anything##>goanim");
			it.gotoZero();
		
			while(it.gotoNext() != false){
				XML* goxml = new XML(it.getElem().getContent());
				mGoAnim.push_back(goxml);
			};
		}{
			XMLIterator it(&objectMovementXml);
			it.setElemName("##anything##>anim");
			it.gotoZero();
		
			while(it.gotoNext() != false){
				XML* goxml = new XML(it.getElem().getContent());
				mAnim.push_back(goxml);
			};
		}

		mMaxTime = 9999;

		Parent::init(dronestatXml,objectMovementXml);

		/*XML xml3;
		xml3 = xml->extractElem("level>dronestats");
		if (xml->getError()!=XML_OK){
			throw("WTF?");
		}*/

		{
		XMLIterator it(&dronestatXml);
		it.setElemName("##anything##>fire");
		it.gotoZero();
		FIRING_TIME ft;
		std::string g;

		while(it.gotoNext() != false){
			XML itXml = it.getElem();
			string time = itXml.getString("time");
			string mount = itXml.getString("mount");
			vector<string> t;
			vector<string> m;
			Tokenize(time,t,",");
			Tokenize(mount,m,",");

			vector<string>::iterator ti;
			vector<string>::iterator mi;
			string is = itXml.getString("inertia");
			if (itXml.getError() == XML_OK){
				if (is == "a"){ // as in actual;
					ft.inertia = Ogre::Vector3(FLT_MAX,FLT_MAX,FLT_MAX);
				}else{
					ft.inertia = vector3FromString(is);
				}
			}else{
				ft.inertia = Ogre::Vector3(0,0,0);
			}
			mi = m.begin();
			//for (mi = m.begin();mi!=m.end();mi++){
				for (ti = t.begin();ti!=t.end();ti++){
					//ft.mount = atoi((*m.begin()).c_str());
					if ((*ti).find("-") != string::npos){
						vector<string> i;
						Tokenize((*ti),i,"-");
						if (i.size() != 3){
							i.push_back("0");
							//throw("Invalid drone firing times range, requires 3 arguments ("+(*ti)+")");
						}
						float start, end, step;
						start = atof(i[0].c_str());
						end = atof(i[1].c_str());
						step = atof(i[2].c_str());

						ft.time = start;
						ft.firingOption = FIRING_START;
						for (mi = m.begin();mi!=m.end();mi++){
							ft.mount = atoi((*mi).c_str());
							mFiringTime.push_back(ft);
							ft.time +=step;
						}

						ft.time = end;
						ft.firingOption = FIRING_STOP;
						for (mi = m.begin();mi!=m.end();mi++){
							ft.mount = atoi((*mi).c_str());
							mFiringTime.push_back(ft);
							ft.time +=step;
						}
//.........这里部分代码省略.........
开发者ID:christianboutin,项目名称:Shmoulette,代码行数:101,代码来源:defaultdrone.cpp


注:本文中的XML::getString方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。