本文整理汇总了C++中ogre::String::compare方法的典型用法代码示例。如果您正苦于以下问题:C++ String::compare方法的具体用法?C++ String::compare怎么用?C++ String::compare使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ogre::String
的用法示例。
在下文中一共展示了String::compare方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: getFullscreenStr
Ogre::String ConfigManager::getFullscreenStr() const
{
Ogre::String str = cf.getSetting("Fullscreen", "Settings", "false");
if (str.compare("false") == 0)
return Ogre::String("No");
else if (str.compare("true") == 0)
return Ogre::String("Yes");
return Ogre::String("No");
}
示例2: receive
void HealthManager::receive(const HitEvent &event)
{
std::cout<<"ricevuto"<<std::endl;
entityx::ptr<entityx::EntityManager> entities = ScreenManager::getPtr()->getCurrentEntities();
for(auto entity : entities->entities_with_components<Destroyable, Renderable>())
{
ptr<Destroyable> points = entity.component<Destroyable>();
std::string entName = entity.component<Name>()->name;
Ogre::String name;
if(entName != "Block"){
ptr<Children> child = entity.component<Children>();
name = child->children["body"].component<Renderable>()->sceneNode->getName();
}else{
ptr<Renderable> rend = entity.component<Renderable>();
name = rend->sceneNode->getName();
}
std::cout<<"name: "<<name<<std::endl;
int max = points->maxHealth;
if(name.compare(event.targetName)==0)
{
points->health-=event.points;
if(points->health<=0)
{
MessageManager::getPtr()->emit<ObjectDestroyed>(entity);
if(entity.valid()){
if(entity.component<Name>()->name == "Block")
{
MapManager::getPtr()->deletePosition(entity.component<Position>()->position);
RenderManager::getPtr()->getSceneManager()->destroySceneNode(entity.component<Renderable>()->sceneNode);
entity.destroy();
}else{
entity.assign<Position>(MapManager::getPtr()->getFreePos());
entity.assign<Destroyable>(max,max);
}
}
return;
}else{
std::cout<<"punti"<<points->health<<std::endl;
entity.assign<Destroyable>(points->health,max);
}
return;
}
}
return;
}
示例3: shouldUseStaticGeometry
bool ConfigurationManager::shouldUseStaticGeometry()
{
Ogre::String mode = getSystemConfig()->getSetting( "use_static_geometry" );
if( mode == Ogre::StringUtil::BLANK )
mode = "auto";
if( mode.compare("yes") == 0 )
{
return true;
}
else if( mode.compare("no") == 0 )
{
return false;
}
else
{
// Überprüfen ob der Renderer VertexBuffer unterstützt
return Ogre::Root::getSingleton().getRenderSystem()
->getCapabilities()->hasCapability( Ogre::RSC_VBO );
}
}
示例4: parseDate
/// __DATE__ sieht ca. so aus : Nov 08 2005
long parseDate(char* date)
{
Ogre::String dateStr = Ogre::String(date);
Ogre::String monthStr = dateStr.substr(0,3);
int day = Ogre::StringConverter::parseInt( dateStr.substr(4,2) );
int year = Ogre::StringConverter::parseInt( dateStr.substr(7,4) );
int month = 0;
while( month < 12 && monthStr.compare(sMonths[month]) != 0 )
month++;
return /* Jahr */ year * 100000 +
/* Monat */ (month+1) * 1000 +
/* Tag */ day * 10 +
/* Sub-Version */ 0;
}
示例5: parseNode
bool SceneLoader::parseNode(TiXmlElement *XMLNode)
{
TiXmlElement *XMLRotation;
TiXmlElement *XMLPosition;
TiXmlElement *XMLEntity;
TiXmlElement *XMLScale;
TiXmlElement *XMLProperty;
Ogre::String nodeName;
Ogre::String meshName;
Ogre::String meshFile;
Ogre::Vector3 vec3Position;
Ogre::Vector3 vec3Scale;
Ogre::Quaternion quatRotation;
Ogre::Entity *ent;
//Get the name of the node
nodeName = XMLNode->Attribute("name");
std::cout << "NodeName: " << nodeName << std::endl;
//Get the position element;
XMLPosition = XMLNode->FirstChildElement("position");
vec3Position.x = Ogre::StringConverter::parseReal(XMLPosition->Attribute("x"));
vec3Position.y = Ogre::StringConverter::parseReal(XMLPosition->Attribute("y"));
vec3Position.z = Ogre::StringConverter::parseReal(XMLPosition->Attribute("z"));
//Debug text
std::cout << "Position: " << "x: " << XMLPosition->Attribute("x");
std::cout << " y: " << XMLPosition->Attribute("y");
std::cout << " z: " << XMLPosition->Attribute("z") << std::endl;
//Get the rotation
XMLRotation = XMLNode->FirstChildElement("quaternion");
quatRotation.x = Ogre::StringConverter::parseReal(XMLRotation->Attribute("x"));
quatRotation.y = Ogre::StringConverter::parseReal(XMLRotation->Attribute("y"));
quatRotation.z = Ogre::StringConverter::parseReal(XMLRotation->Attribute("z"));
quatRotation.w = Ogre::StringConverter::parseReal(XMLRotation->Attribute("w"));
//Debug text
std::cout << "Quat: " << "qx: " << XMLRotation->Attribute("x");
std::cout << "qy: " << XMLRotation->Attribute("y");
std::cout << "qz: " << XMLRotation->Attribute("z");
std::cout << "qw: " << XMLRotation->Attribute("w") << std::endl;
//Get the scale
XMLScale = XMLNode->FirstChildElement("scale");
vec3Scale.x = Ogre::StringConverter::parseReal(XMLScale->Attribute("x"));
vec3Scale.y = Ogre::StringConverter::parseReal(XMLScale->Attribute("y"));
vec3Scale.z = Ogre::StringConverter::parseReal(XMLScale->Attribute("z"));
//Degub text
std::cout << "Scale: " << "x: " << XMLScale->Attribute("x");
std::cout << " y: " << XMLScale->Attribute("y");
std::cout << " z: " << XMLScale->Attribute("z") << std::endl;
//Get the entity
XMLEntity = XMLNode->FirstChildElement("entity");
meshName = XMLEntity->Attribute("name");
meshFile = XMLEntity->Attribute("meshFile");
std::cout << "meshname: " << meshName << " meshFile: " << meshFile << std::endl;
//Create the entity
ent = mvpSceneMgr->createEntity(meshName,meshFile);
//if(Ogre::StringConverter::parseBool(XMLEntity->Attribute("castShadows")))
ent->setCastShadows(false);
//if(ent->getCastShadows())
// std::cout << "ent casts shadows"<< std::endl;
std::cout << "nodeName + Node";
Ogre::String str = nodeName;
str += "Node";
//vec3Position.y = mvpTerrain->getHeightAtWorldPosition(vec3Position);
//vec3Position.y -= 0.3; //@todo wtf!
Ogre::SceneNode *node = mvpSceneMgr->getRootSceneNode()->createChildSceneNode(str,vec3Position,quatRotation);
std::cout << "createChildNode";
node->scale(vec3Scale);
std::cout << "scale";
node->attachObject(ent);
//Get physicsproperties
std::vector<Ogre::Vector3> posList;
TiXmlElement * XMLUserData = XMLNode->FirstChildElement("userData");
XMLProperty = XMLUserData->FirstChildElement("property");
bool EntityIsStatic = false;
int collisionGroup;
int mass = 0;
Ogre::String posString;
Ogre::Vector3 tempVec(0,0,0);
Ogre::Real speed;
double tempDouble;
while(XMLProperty)
{
Ogre::String propName = XMLProperty->Attribute("name");
if (propName.compare("isStatic") == 0)
if (Ogre::StringConverter::parseInt(XMLProperty->Attribute("data")) == 1)
EntityIsStatic = true;
if (propName.compare("mass") == 0)
//.........这里部分代码省略.........
示例6: doAttach
void Actor::doAttach(
Actor* actor,
const Ogre::String& slot,
const Ogre::String& childSlot,
const Ogre::Vector3& offsetPosition,
const Ogre::Quaternion& offsetOrientation )
{
Ogre::Vector3 offsetPositionMod = offsetPosition;
Ogre::Quaternion offsetOrientationMod = offsetOrientation;
if( actor == NULL )
Throw(NullPointerException,
"Aktor "+mName+": Der anzufügende Aktor darf nicht NULL sein." );
if( actor->mParent != NULL )
Throw(NullPointerException,
"Aktor "+mName+": Der Aktor ist bereits an einen anderen Aktor angefügt." );
// Verschiebung durch den Child-Slot berechnen
// Ist es ein nicht Standard-Slot && Kontrolliert der Aktor ein Objekt && Ist dieses ein Mesh
if( childSlot.compare(DEFAULT_SLOT_NAME) != 0 &&
actor->getControlledObject() != NULL &&
actor->getControlledObject()->isMeshObject() )
{
Entity* ent = dynamic_cast<MeshObject*>(actor->getControlledObject())->getEntity();
// Braucht ein Skelett
if( !ent->hasSkeleton() )
Throw(IllegalArgumentException,
"Aktor "+mName+": Das kontrollierte MeshObject des ChildAktor hat kein Skeleton." );
// Der Slot muss existieren
try
{
Bone* bone = ent->getSkeleton()->getBone( childSlot );
Vector3 vec = bone->_getDerivedPosition();
Quaternion quat = bone->_getDerivedOrientation();
// Durch den Bone ExtraOffset hinzufügen
offsetOrientationMod = offsetOrientation * quat;
offsetPositionMod = ( offsetOrientationMod * (-vec) ) + offsetPosition;
}
catch (Ogre::Exception) {
Throw(IllegalArgumentException,
"Aktor "+mName+": Der geforderte Slot '"+childSlot+"' am ChildAktor existiert nicht." );
}
}
// Das wirkliche Anfügen
// Ist es ein nicht Standard-Slot && Kontrolliert der Aktor ein Objekt && Ist dieses ein Mesh
if( slot.compare(DEFAULT_SLOT_NAME) != 0 &&
getControlledObject() != NULL &&
getControlledObject()->isMeshObject() )
{
if( actor->getControlledObject() == NULL )
Throw(IllegalArgumentException,
"Aktor "+mName+": Der zu befestigende Aktor darf bei SLOTs nicht leer sein." );
MovableObject* movObj = actor->getControlledObject()->getMovableObject();
Entity* ent = dynamic_cast<MeshObject*>(getControlledObject())->getEntity();
// Braucht ein Skelett
if( !ent->hasSkeleton() )
Throw(IllegalArgumentException,
"Aktor "+mName+": Das kontrollierte MeshObject hat kein Skeleton." );
// Der Slot muss existieren
try
{
ent->getSkeleton()->getBone( slot );
}
catch (Ogre::Exception) {
Throw(IllegalArgumentException,
"Aktor "+mName+": Der geforderte Slot '"+slot+"' existiert nicht." );
}
// Am Bone befestigen
ent->attachObjectToBone( slot, movObj, offsetOrientationMod, offsetPositionMod );
// Der Aktor wurde an einem Bone befestigt
actor->mBone = ent->getSkeleton()->getBone( slot );
return;
}
// Wenn hier kein MeshObjekt dran ist, trotzdem irgendwie zusammenfügen
else
{
actor->placeIntoNode( mSceneNode, offsetPositionMod, offsetOrientationMod );
// Der Aktor wurde nicht an einem Bone befestigt
actor->mBone = 0;
return;
}
}