本文整理汇总了C++中stringw::equals_ignore_case方法的典型用法代码示例。如果您正苦于以下问题:C++ stringw::equals_ignore_case方法的具体用法?C++ stringw::equals_ignore_case怎么用?C++ stringw::equals_ignore_case使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类stringw
的用法示例。
在下文中一共展示了stringw::equals_ignore_case方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: LoadObjectStates
bool CGWIC_Cell::LoadObjectStates()
{
path filenm = GWIC_CELLSTORE_DIR;
filenm += GetCellFileSuffix();
filenm += ".xml";
IXMLReader* xml = graphics->getFileSystem()->createXMLReader(filenm);
if (!xml) {
std::cerr << "LoadObjectStates(): can't create xml reader for " << filenm.c_str() << std::endl;
return false;
}
const stringw tg_obj(L"object");
const stringw tg_pos(L"position");
const stringw tg_opt(L"options");
stringw cur_tag;
path cfile;
CIrrStrParser pos,rot,scl;
CGWIC_GameObject* optr = NULL;
while (xml->read()) {
switch (xml->getNodeType()) {
case EXN_ELEMENT:
if ((cur_tag.empty()) && (tg_obj.equals_ignore_case(xml->getNodeName()))) {
cur_tag = tg_obj;
cfile = xml->getAttributeValueSafe(L"file");
optr = new CGWIC_GameObject(cfile,GetCoord(),graphics,physics);
if (!optr)
std::cerr << "Failed to create object from " << cfile.c_str() << std::endl;
else
objects.push_back(optr);
} else if ((cur_tag == tg_obj) && (optr)) {
if (tg_pos.equals_ignore_case(xml->getNodeName())) {
pos = xml->getAttributeValueSafe(L"pos");
rot = xml->getAttributeValueSafe(L"rot");
scl = xml->getAttributeValueSafe(L"scale");
optr->SetPos(pos.ToVector3f());
optr->SetScale(scl.ToVector3f());
optr->SetRot(rot.ToVector3f());
} else if (tg_pos.equals_ignore_case(xml->getNodeName())) {
optr->SetPhysical(xml->getAttributeValueAsInt(L"physical"));
optr->SetEnabled(xml->getAttributeValueAsInt(L"enabled"));
}
}
break;
case EXN_ELEMENT_END:
cur_tag = L"";
optr = NULL;
break;
default: break;
}
}
xml->drop();
return false;
}
示例2: readWalkableObjectIndex
void World::readWalkableObjectIndex() {
//std::cout << "Loaidng objects that are walkable: " << endl;
//filepath for the object file
stringw path = WALK_OBJECT_INDEX;
//the only tag in this file is the object tag to define a new object
const stringw object("objectWalkable");
//initialize an XML reader
io::IXMLReader* reader = Client::device->getFileSystem()->createXMLReader(path);
//start the reading loop
while (reader->read()) {
switch (reader->getNodeType()) {
//we found a new element
case irr::io::EXN_ELEMENT:
//new <object> tag
if (object.equals_ignore_case(reader->getNodeName())) {
u16 id = reader->getAttributeValueAsInt(L"id");
u16 x = reader->getAttributeValueAsInt(L"x");
u16 y = reader->getAttributeValueAsInt(L"y");
u16 f = reader->getAttributeValueAsInt(L"f");
u16 h = reader->getAttributeValueAsInt(L"h");
object_walkable_index.push_back(ObjectWalkableData(id, x, y, f, h));
//cout << "object loaded: " << id << " " << x << " " << y << " " << f << endl;
}
break;
}
}
//drop the xml reader
reader->drop();
}
示例3: writeResAndExePathIntoConfig
// ----------------------------------------------------------------------------
void Editor::writeResAndExePathIntoConfig()
{
stringc p;
IFileSystem* file_system = m_device->getFileSystem();
IXMLReader* xml_reader = file_system->createXMLReader(m_config_loc + "/config.xml");
if (xml_reader)
{
const stringw node_name(L"data_dir");
while (xml_reader->read())
{
if (xml_reader->getNodeType() == EXN_ELEMENT
&& node_name.equals_ignore_case(xml_reader->getNodeName()))
{
p = xml_reader->getAttributeValueSafe(L"path");
}
}
xml_reader->drop();
}
std::ofstream f;
f.open((m_config_loc + "/config.xml").c_str());
f << "<config>\n";
f << " <data_dir path=\"" << p.c_str() << "\" />\n";
if (!m_exe_loc.empty())
f << " <exe path=\"" << m_exe_loc.c_str() << "\" />\n";
f << " <res x=\"" << m_screen_size.Width << "\" y=\"";
f << m_screen_size.Height << "\" />\n";
f << "</config>\n";
f.close();
} // writeResAndExePathIntoConfig
示例4: readWaterIndex
void World::readWaterIndex() {
//filepath for the object file
stringw path = WATER_INDEX;
//the only tag in this file is the object tag to define a new object
const stringw object("water");
//initialize an XML reader
io::IXMLReader* reader = Client::device->getFileSystem()->createXMLReader(path);
//start the reading loop
while (reader->read()) {
switch (reader->getNodeType()) {
//we found a new element
case irr::io::EXN_ELEMENT:
//new <object> tag
if (object.equals_ignore_case(reader->getNodeName())) {
u16 id = reader->getAttributeValueAsInt(L"id");
u16 x = reader->getAttributeValueAsInt(L"x");
u16 y = reader->getAttributeValueAsInt(L"y");
u16 w = reader->getAttributeValueAsInt(L"w");
u16 l = reader->getAttributeValueAsInt(L"l");
float h = reader->getAttributeValueAsFloat(L"height");
water_index.push_back(WaterData(id, x, y, w, l, h));
cout << "Water loaded " << id << " " << x << " " << y << " " << w << " " << l << " " << h << endl;
}
break;
}
}
//drop the xml reader
reader->drop();
}
示例5: readConfigFile
// ----------------------------------------------------------------------------
void Editor::readConfigFile(IFileSystem* file_system)
{
IXMLReader* xml_reader = file_system->createXMLReader(path(PHYSFS_getBaseDir())
+ "config.xml");
if (!xml_reader)
{
path dir = PHYSFS_getUserDir();
m_config_loc = dir + "/.stk-te";
xml_reader = file_system->createXMLReader(m_config_loc + "/config.xml");
if (!xml_reader)
{
PHYSFS_setWriteDir(dir.c_str());
PHYSFS_mkdir(".stk-te");
return;
}
}
else m_config_loc = PHYSFS_getBaseDir();
const stringw node_name(L"data_dir");
const stringw res(L"res");
const stringw exe(L"exe");
while (xml_reader->read())
{
if (xml_reader->getNodeType() == EXN_ELEMENT)
{
if (res.equals_ignore_case(xml_reader->getNodeName()))
{
m_screen_size = dimension2du(
atol(((stringc)xml_reader->getAttributeValueSafe(L"x")).c_str()),
atol(((stringc)xml_reader->getAttributeValueSafe(L"y")).c_str()));
}
else if (node_name.equals_ignore_case(xml_reader->getNodeName()))
{
m_data_loc = xml_reader->getAttributeValueSafe(L"path");
m_icons_loc = m_data_loc + "editor/icons/";
}
else if (exe.equals_ignore_case(xml_reader->getNodeName()))
{
m_exe_loc = xml_reader->getAttributeValueSafe(L"path");
}
}
}
xml_reader->drop();
} // readConfigFile
示例6: readZonesFromFile
void ZoneSoundLoader::readZonesFromFile(){
m_firstRun = true; // dont remove this :) in here for good execution flow
// clear the zone_index vector
m_zone_index.clear();
// read from .dat file which contains zone boundaries
stringw reader_path = SOUND_INDEX;
io::IXMLReader* reader = Client::device->getFileSystem()->createXMLReader(reader_path);
const stringw zone("zone");
// read through the zones
while (reader->read()){
switch (reader->getNodeType()) {
// if new zone is found..
case irr::io::EXN_ELEMENT:
//new <object> tag
if (zone.equals_ignore_case(reader->getNodeName())) {
u16 id = reader->getAttributeValueAsInt(L"id");
u16 x = reader->getAttributeValueAsInt(L"x");
u16 z = reader->getAttributeValueAsInt(L"z");
u16 tox = reader->getAttributeValueAsInt(L"tox");
u16 toz = reader->getAttributeValueAsInt(L"toz");
//stringw name = reader->getAttributeValue(L"name");
const wchar_t* songName = reader->getAttributeValue(L"songName");
const wchar_t* name = reader->getAttributeValue(L"name");
wstring sN(songName);
//std::cout << "Song name:" << endl;
//std::wcout << sN.c_str() << endl;
// push the object to a vector
m_zone_index.push_back(ZoneData(id, x, z, tox, toz, name, songName));
}
break;
}
}
}
示例7: file
// ----------------------------------------------------------------------------
std::list<stringc> Editor::readRecentlyOpenedList()
{
std::list<stringc> list;
IFileSystem* file_system = m_device->getFileSystem();
IXMLReader* xml_reader = file_system->createXMLReader(m_config_loc + "/recent.xml");
stringc s;
if (xml_reader)
{
const stringw file(L"file");
while (xml_reader->read())
{
if (xml_reader->getNodeType() == EXN_ELEMENT
&& file.equals_ignore_case(xml_reader->getNodeName()))
{
s = xml_reader->getAttributeValueSafe(L"name");
list.push_back(s);
}
}
xml_reader->drop();
}
return list;
} // readRecentlyOpenedList
示例8: readClickableObjectIndex
void World::readClickableObjectIndex() {
ObjectClickable oc;
//filepath for the objects that are clickable file
stringw path = CLICK_OBJECT_INDEX;
//the only tag in this file is the object tag to define a new object
const stringw object("object");
//initialize an XML reader
io::IXMLReader* reader = Client::device->getFileSystem()->createXMLReader(path);
//start the reading loop
while (reader->read()) {
switch (reader->getNodeType()) {
//we found a new element
case irr::io::EXN_ELEMENT:
//new <object> tag
if (object.equals_ignore_case(reader->getNodeName())) {
u16 id = reader->getAttributeValueAsInt(L"id");
u16 x = reader->getAttributeValueAsInt(L"x");
u16 y = reader->getAttributeValueAsInt(L"y");
u16 f = reader->getAttributeValueAsInt(L"f");
stringw m = oc.getMenuItemsList(id);
//oc.addTriangleSelector();
object_clickable_index.push_back(ObjectClickableData(id, x, y, f, m));
cout << "CLICKABLE object loaded: " << id << " " << x << " " << y << " " << f << endl;
//u16 height = reader->getAttributeValueAsInt(L"h");
//object_walkable_index.push_back(ObjectWalkableData(id, x, y, f, height));
}
break;
}
}
//drop the xml reader
reader->drop();
}
示例9: load
/*
Load xml from disk, overwrite default settings
The xml we are trying to load has the following structure
settings nested in sections nested in the root node, like so
<pre>
<?xml version="1.0"?>
<mygame>
<video>
<setting name="driver" value="Direct3D9" />
<setting name="fullscreen" value="0" />
<setting name="resolution" value="1024x768" />
</video>
</mygame>
</pre>
*/
bool load()
{
//if not able to create device don't attempt to load
if (!NullDevice)
return false;
irr::io::IXMLReader* xml = NullDevice->getFileSystem()->createXMLReader(SettingsFile); //create xml reader
if (!xml)
return false;
const stringw settingTag(L"setting"); //we'll be looking for this tag in the xml
stringw currentSection; //keep track of our current section
const stringw videoTag(L"video"); //constant for videotag
//while there is more to read
while (xml->read())
{
//check the node type
switch (xml->getNodeType())
{
//we found a new element
case irr::io::EXN_ELEMENT:
{
//we currently are in the empty or mygame section and find the video tag so we set our current section to video
if (currentSection.empty() && videoTag.equals_ignore_case(xml->getNodeName()))
{
currentSection = videoTag;
}
//we are in the video section and we find a setting to parse
else if (currentSection.equals_ignore_case(videoTag) && settingTag.equals_ignore_case(xml->getNodeName() ))
{
//read in the key
stringw key = xml->getAttributeValueSafe(L"name");
//if there actually is a key to set
if (!key.empty())
{
//set the setting in the map to the value,
//the [] operator overrides values if they already exist or inserts a new key value
//pair into the settings map if it was not defined yet
SettingMap[key] = xml->getAttributeValueSafe(L"value");
}
}
//..
// You can add your own sections and tags to read in here
//..
}
break;
//we found the end of an element
case irr::io::EXN_ELEMENT_END:
//we were at the end of the video section so we reset our tag
currentSection=L"";
break;
}
}
// don't forget to delete the xml reader
xml->drop();
return true;
}
示例10: LoadModelFile
bool CGWIC_BodyPart::LoadModelFile(irr::io::path fname)
{
IXMLReader* mio = irDevice->getFileSystem()->createXMLReader(fname);
if (!mio) return false;
std::cout << "Reading model XML: " << fname.c_str() << std::endl;
const stringw mt_model(L"Model");
const stringw mt_inslot(L"InSlot");
const stringw mt_outslot(L"OutSlot");
const stringw mt_collision(L"Collision");
const stringw mt_colbox(L"StandardBox");
const stringw mt_colsph(L"StandardSphere");
const stringw mt_coltri(L"TriMeshShape");
const stringw mt_colcvx(L"ConvexHull");
const stringw mt_colgim(L"GImpact");
GWIC_BPSlot cslot;
CIrrStrParser strparse;
nocollision = true; //in case we can't load or found collision shape model
while (mio->read()) {
if (mt_model.equals_ignore_case(mio->getNodeName())) {
mesh = scManager->getMesh(GWIC_BPARTS_DIR+mio->getAttributeValueSafe(L"file"));
if (mesh) root = scManager->addAnimatedMeshSceneNode(
mesh,parent,GWIC_PICKABLE_MASK | GWIC_ACTOR_MASK);
if (root) {
root->updateAbsolutePosition();
root->setMaterialFlag(EMF_NORMALIZE_NORMALS,true);
ITriangleSelector* sel = scManager->createTriangleSelector(mesh,root);
root->setTriangleSelector(sel);
sel->drop();
}
//TODO: texturing
} else if (mt_inslot.equals_ignore_case(mio->getNodeName())) {
strparse = mio->getAttributeValueSafe(L"position");
slot_in.posit = strparse.ToVector3f();
strparse = mio->getAttributeValueSafe(L"rotation");
slot_in.rotat = strparse.ToVector3f();
strparse = mio->getAttributeValueSafe(L"axis");
slot_in.axis = strparse.ToVector3f();
} else if (mt_outslot.equals_ignore_case(mio->getNodeName())) {
cslot.ID = mio->getAttributeValueAsInt(L"ID");
strparse = mio->getAttributeValueSafe(L"position");
cslot.posit = strparse.ToVector3f();
strparse = mio->getAttributeValueSafe(L"rotation");
cslot.rotat = strparse.ToVector3f();
strparse = mio->getAttributeValueSafe(L"axis");
cslot.axis = strparse.ToVector3f();
slot_outs.push_back(cslot);
} else if (mt_collision.equals_substring_ignore_case(mio->getNodeName())) {
mass = mio->getAttributeValueAsFloat(L"mass");
stringw data = mio->getAttributeValueSafe(L"type");
nocollision = false;
if (data.equals_substring_ignore_case(mt_colbox))
coltype = ECST_BOX;
else if (data.equals_substring_ignore_case(mt_colsph))
coltype = ECST_SPHERE;
else if (data.equals_substring_ignore_case(mt_coltri))
coltype = ECST_BVHTRIMESH;
else if (data.equals_substring_ignore_case(mt_colcvx))
coltype = ECST_CONVEXHULL;
else if (data.equals_substring_ignore_case(mt_colgim))
coltype = ECST_GIMPACT;
else {
std::cerr << "Collision model unknown: " << data.c_str() << std::endl;
nocollision = true;
}
//colmesh = scManager->getMesh(mio->getAttributeValueSafe(L"file"));
}
}
mio->drop();
return true;
}