本文整理汇总了C++中YamlNode::AsString方法的典型用法代码示例。如果您正苦于以下问题:C++ YamlNode::AsString方法的具体用法?C++ YamlNode::AsString怎么用?C++ YamlNode::AsString使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类YamlNode
的用法示例。
在下文中一共展示了YamlNode::AsString方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: LoadFromYamlNode
void UISlider::LoadFromYamlNode(YamlNode * node, UIYamlLoader * loader)
{
UIControl::LoadFromYamlNode(node, loader);
InitThumb();
YamlNode * thumbSpriteNode = node->Get("thumbSprite");
if (thumbSpriteNode)
{
YamlNode * spriteNode = thumbSpriteNode->Get(0);
YamlNode * frameNode = thumbSpriteNode->Get(1);
if (spriteNode)
SetThumbSprite(spriteNode->AsString(), frameNode->AsInt());
//SetMinSprite("/XGfx/Options/slider_bg", 1);
//SetMaxSprite("/XGfx/Options/slider_bg", 0);
}
YamlNode * minSpriteNode = node->Get("minSprite");
if (minSpriteNode)
{
YamlNode * spriteNode = minSpriteNode->Get(0);
YamlNode * frameNode = minSpriteNode->Get(1);
if (spriteNode)
SetMinSprite(spriteNode->AsString(), frameNode->AsInt());
//SetMinSprite("/XGfx/Options/slider_bg", 1);
//SetMaxSprite("/XGfx/Options/slider_bg", 0);
}
YamlNode * maxSpriteNode = node->Get("maxSprite");
if (maxSpriteNode)
{
YamlNode * spriteNode = maxSpriteNode->Get(0);
YamlNode * frameNode = maxSpriteNode->Get(1);
if (spriteNode)
SetMaxSprite(spriteNode->AsString(), frameNode->AsInt());
//SetMinSprite("/XGfx/Options/slider_bg", 1);
//SetMaxSprite("/XGfx/Options/slider_bg", 0);
}
YamlNode * valueNode = node->Get("value");
if (valueNode)
SetValue(valueNode->AsFloat());
}
示例2: LoadFromYamlNode
void UIStaticText::LoadFromYamlNode(YamlNode * node, UIYamlLoader * loader)
{
UIControl::LoadFromYamlNode(node, loader);
YamlNode * fontNode = node->Get("font");
YamlNode * textNode = node->Get("text");
YamlNode * multilineNode = node->Get("multiline");
YamlNode * multilineBySymbolNode = node->Get("multilineBySymbol");
YamlNode * fittingNode = node->Get("fitting");
if (fontNode)
{
const String & fontName = fontNode->AsString();
Font * font = loader->GetFontByName(fontName);
SetFont(font);
}
bool multiline = loader->GetBoolFromYamlNode(multilineNode, false);
bool multilineBySymbol = loader->GetBoolFromYamlNode(multilineBySymbolNode, false);
SetMultiline(multiline, multilineBySymbol);
if(fittingNode)
{
int32 fittingArray[] = {TextBlock::FITTING_DISABLED, TextBlock::FITTING_ENLARGE,
TextBlock::FITTING_REDUCE, TextBlock::FITTING_POINTS};
String fittingValues[] = {"Disabled", "Enlarge", "Reduce", "Points"};
const String & fittinOption = fittingNode->AsString();
int32 fittingType = 0;
for(int32 i = 0 ; i < 4; ++i)
{
size_t find = fittinOption.find(fittingValues[i]);
if(find != fittinOption.npos)
{
fittingType |= fittingArray[i];
}
}
SetFittingOption(fittingType);
}
if (textNode)
{
SetText(LocalizedString(textNode->AsWString()));
}
}
示例3: LoadFromYamlNode
bool KeyedArchive::LoadFromYamlNode(YamlNode* rootNode)
{
if(NULL == rootNode)
{
return false;
}
Vector<YamlNode*> &rootVector = rootNode->Get(VariantType::TYPENAME_KEYED_ARCHIVE)->AsVector();
for (Vector<YamlNode*>::const_iterator it = rootVector.begin(); it != rootVector.end(); ++it)
{
YamlNode * node = *it;
String variableNameToArchMap = node->AsString();
VariantType *value = new VariantType(node->AsVariantType());
if(value->GetType() == VariantType::TYPE_NONE)
{
SafeDelete(value);
continue;
}
objectMap[variableNameToArchMap] = value;
}
return true;
}
示例4: Load
bool HierarchyTreePlatformNode::Load(YamlNode* platform)
{
YamlNode* width = platform->Get(WIDTH_NODE);
YamlNode* height = platform->Get(HEIGHT_NODE);
if (!width || !height)
return false;
bool result = true;
SetSize(width->AsInt(), height->AsInt());
ActivatePlatform();
YamlNode* screens = platform->Get(SCREENS_NODE);
if (screens)
{
for (int i = 0; i < screens->GetCount(); i++)
{
YamlNode* screen = screens->Get(i);
if (!screen)
continue;
String screenName = screen->AsString();
QString screenPath = QString(SCREEN_PATH).arg(GetResourceFolder()).arg(QString::fromStdString(screenName));
HierarchyTreeScreenNode* screenNode = new HierarchyTreeScreenNode(this, QString::fromStdString(screenName));
result &= screenNode->Load(screenPath);
AddTreeNode(screenNode);
}
}
return result;
}
示例5: LoadLocalization
bool HierarchyTreePlatformNode::LoadLocalization(YamlNode* platform)
{
if (!platform)
{
return false;
}
YamlNode* pathNode = platform->Get(LOCALIZATION_PATH_NODE);
YamlNode* localeNode = platform->Get(LOCALIZATION_LOCALE_NODE);
if (pathNode && localeNode &&
!pathNode->AsString().empty() &&
!localeNode->AsString().empty())
{
localizationPath = pathNode->AsString();
locale = localeNode->AsString();
}
return true;
}
示例6: LoadFromYamlNode
void UIList::LoadFromYamlNode(YamlNode * node, UIYamlLoader * loader)
{
UIControl::LoadFromYamlNode(node, loader);
YamlNode * orientNode = node->Get("orientation");
if (orientNode)
{
if (orientNode->AsString() == "ORIENTATION_VERTICAL")
orientation = ORIENTATION_VERTICAL;
else if (orientNode->AsString() == "ORIENTATION_HORIZONTAL")
orientation = ORIENTATION_HORIZONTAL;
else
{
DVASSERT(0 && "Orientation constant is wrong");
}
}
// TODO
InitAfterYaml();
}
示例7: LoadFromYamlNode
void UIAggregatorControl::LoadFromYamlNode(YamlNode * node, UIYamlLoader * loader)
{
UIControl::LoadFromYamlNode(node, loader);
YamlNode * pathNode = node->Get(AGGREGATOR_PATH);
if (pathNode)
{
aggregatorPath = FilePath(pathNode->AsString());
String aggregatorFileName = aggregatorPath.GetFilename();
aggregatorPath = loader->GetCurrentPath() + aggregatorFileName;
UIYamlLoader loader;
loader.Load(this, aggregatorPath);
aggregatorPath = FilePath(aggregatorFileName);
}
}
示例8: LoadFromYamlNode
void TheoraPlayer::LoadFromYamlNode(YamlNode * node, UIYamlLoader * loader)
{
UIControl::LoadFromYamlNode(node, loader);
YamlNode * fileNode = node->Get("file");
if(fileNode)
OpenFile(fileNode->AsString());
YamlNode * rectNode = node->Get("rect");
if(rectNode)
{
Rect rect = rectNode->AsRect();
if(rect.dx == -1)
rect.dx = theoraData->thInfo.pic_width;
if(rect.dy == -1)
rect.dy = theoraData->thInfo.pic_height;
SetRect(rect);
}
}
示例9: LoadFromYamlNode
void UISlider::LoadFromYamlNode(YamlNode * node, UIYamlLoader * loader)
{
UIControl::LoadFromYamlNode(node, loader);
InitThumb();
YamlNode * thumbSpriteNode = node->Get("thumbSprite");
if (thumbSpriteNode)
{
YamlNode * spriteNode = thumbSpriteNode->Get(0);
YamlNode * frameNode = thumbSpriteNode->Get(1);
if (spriteNode)
SetThumbSprite(spriteNode->AsString(), frameNode->AsInt());
//SetMinSprite("/XGfx/Options/slider_bg", 1);
//SetMaxSprite("/XGfx/Options/slider_bg", 0);
}
YamlNode * minSpriteNode = node->Get("minSprite");
if (minSpriteNode)
{
YamlNode * spriteNode = minSpriteNode->Get(0);
YamlNode * frameNode = minSpriteNode->Get(1);
if (spriteNode)
SetMinSprite(spriteNode->AsString(), frameNode->AsInt());
//SetMinSprite("/XGfx/Options/slider_bg", 1);
//SetMaxSprite("/XGfx/Options/slider_bg", 0);
}
YamlNode * maxSpriteNode = node->Get("maxSprite");
if (maxSpriteNode)
{
YamlNode * spriteNode = maxSpriteNode->Get(0);
YamlNode * frameNode = maxSpriteNode->Get(1);
if (spriteNode)
SetMaxSprite(spriteNode->AsString(), frameNode->AsInt());
//SetMinSprite("/XGfx/Options/slider_bg", 1);
//SetMaxSprite("/XGfx/Options/slider_bg", 0);
}
// Values
YamlNode * valueNode = node->Get("value");
if (valueNode)
SetValue(valueNode->AsFloat());
YamlNode * minValueNode= node->Get("minValue");
if (minValueNode)
SetMinValue(minValueNode->AsFloat());
YamlNode * maxValueNode= node->Get("maxValue");
if (maxValueNode)
SetMaxValue(maxValueNode->AsFloat());
// Min/Max draw type
YamlNode * minDrawTypeNode = node->Get("minDrawType");
if(minDrawTypeNode)
{
UIControlBackground::eDrawType type = (UIControlBackground::eDrawType)loader->GetDrawTypeFromNode(minDrawTypeNode);
SetMinDrawType(type);
}
YamlNode * maxDrawTypeNode = node->Get("maxDrawType");
if(maxDrawTypeNode)
{
UIControlBackground::eDrawType type = (UIControlBackground::eDrawType)loader->GetDrawTypeFromNode(maxDrawTypeNode);
SetMaxDrawType(type);
}
}
示例10: LoadFromYamlNode
void UITextField::LoadFromYamlNode(YamlNode * node, UIYamlLoader * loader)
{
UIControl::LoadFromYamlNode(node, loader);
YamlNode * textNode = node->Get("text");
if (textNode)
{
SetText(textNode->AsWString());
}
YamlNode * fontNode = node->Get("font");
if (fontNode)
{
Font * font = loader->GetFontByName(fontNode->AsString());
if (font)
SetFont(font);
}
if(staticText)
{
staticText->SetRect(Rect(0,0,GetRect().dx, GetRect().dy));
YamlNode * textColorNode = node->Get("textcolor");
YamlNode * shadowColorNode = node->Get("shadowcolor");
YamlNode * shadowOffsetNode = node->Get("shadowoffset");
YamlNode * textAlignNode = node->Get("textalign");
if(textColorNode)
{
Vector4 c = textColorNode->AsVector4();
SetTextColor(Color(c.x, c.y, c.z, c.w));
}
if(shadowColorNode)
{
Vector4 c = shadowColorNode->AsVector4();
SetShadowColor(Color(c.x, c.y, c.z, c.w));
}
if(shadowOffsetNode)
{
SetShadowOffset(shadowOffsetNode->AsVector2());
}
if(textAlignNode)
{
SetTextAlign(loader->GetAlignFromYamlNode(textAlignNode));
}
}
//InitAfterYaml();
#if 0
YamlNode * orientNode = node->Get("orientation");
if (orientNode)
{
if (orientNode->AsString() == "Vertical")
orientation = ORIENTATION_VERTICAL;
else if (orientNode->AsString() == "Horizontal")
orientation = ORIENTATION_HORIZONTAL;
}
// TODO
InitAfterYaml();
#endif
}
示例11: LoadFromYaml
void ParticleEmitter::LoadFromYaml(const String & filename)
{
Cleanup(true);
YamlParser * parser = YamlParser::Create(filename);
if(!parser)
{
Logger::Error("ParticleEmitter::LoadFromYaml failed (%s)", filename.c_str());
return;
}
configPath = filename;
time = 0.0f;
repeatCount = 0;
lifeTime = 1000000000.0f;
YamlNode * rootNode = parser->GetRootNode();
YamlNode * emitterNode = rootNode->Get("emitter");
if (emitterNode)
{
if (emitterNode->Get("emissionAngle"))
emissionAngle = PropertyLineYamlReader::CreateFloatPropertyLineFromYamlNode(emitterNode, "emissionAngle");
if (emitterNode->Get("emissionVector"))
emissionVector = PropertyLineYamlReader::CreateVector3PropertyLineFromYamlNode(emitterNode, "emissionVector");
YamlNode* emissionVectorInvertedNode = emitterNode->Get("emissionVectorInverted");
if (!emissionVectorInvertedNode)
{
// Yuri Coder, 2013/04/12. This means that the emission vector in the YAML file is not inverted yet.
// Because of [DF-1003] fix for such files we have to invert coordinates for this vector.
InvertEmissionVectorCoordinates();
}
if (emitterNode->Get("emissionRange"))
emissionRange = PropertyLineYamlReader::CreateFloatPropertyLineFromYamlNode(emitterNode, "emissionRange");
if (emitterNode->Get("colorOverLife"))
colorOverLife = PropertyLineYamlReader::CreateColorPropertyLineFromYamlNode(emitterNode, "colorOverLife");
if (emitterNode->Get("radius"))
radius = PropertyLineYamlReader::CreateFloatPropertyLineFromYamlNode(emitterNode, "radius");
emitPointsCount = -1;
YamlNode * emitAtPointsNode = emitterNode->Get("emitAtPoints");
if (emitAtPointsNode)
emitPointsCount = emitAtPointsNode->AsInt();
YamlNode * lifeTimeNode = emitterNode->Get("life");
if (lifeTimeNode)
{
lifeTime = lifeTimeNode->AsFloat();
} else
{
lifeTime = 1000000000.0f;
}
is3D = false;
YamlNode * _3dNode = emitterNode->Get("3d");
if (_3dNode)
{
is3D = _3dNode->AsBool();
}
YamlNode * typeNode = emitterNode->Get("type");
if (typeNode)
{
if (typeNode->AsString() == "point")
emitterType = EMITTER_POINT;
else if (typeNode->AsString() == "line")
{
// Yuri Coder, 2013/04/09. Get rid of the "line" node type -
// it can be completely replaced by "rect" one.
emitterType = EMITTER_RECT;
}
else if (typeNode->AsString() == "rect")
emitterType = EMITTER_RECT;
else if (typeNode->AsString() == "oncircle")
emitterType = EMITTER_ONCIRCLE;
else if (typeNode->AsString() == "shockwave")
emitterType = EMITTER_SHOCKWAVE;
else
emitterType = EMITTER_POINT;
} else
emitterType = EMITTER_POINT;
size = PropertyLineYamlReader::CreateVector3PropertyLineFromYamlNode(emitterNode, "size");
if(size == 0)
{
Vector3 _size(0, 0, 0);
YamlNode * widthNode = emitterNode->Get("width");
if (widthNode)
_size.x = widthNode->AsFloat();
YamlNode * heightNode = emitterNode->Get("height");
if (heightNode)
_size.y = heightNode->AsFloat();
YamlNode * depthNode = emitterNode->Get("depth");
//.........这里部分代码省略.........
示例12: LoadFromYamlNode
void UIButton::LoadFromYamlNode(YamlNode * node, UIYamlLoader * loader)
{
UIControl::LoadFromYamlNode(node, loader);
//int32 stateArray[] = {STATE_NORMAL, STATE_PRESSED_INSIDE, STATE_PRESSED_OUTSIDE, STATE_DISABLED, STATE_SELECTED, STATE_HOVER};
//String statePostfix[] = {"Normal", "PressedInside", "PressedOutside", "Disabled", "Selected", "Hover"};
for (int k = 0; k < STATE_COUNT; ++k)
{
YamlNode * stateSpriteNode = node->Get(Format("stateSprite%s", statePostfix[k].c_str()));
if (stateSpriteNode)
{
YamlNode * spriteNode = stateSpriteNode->Get(0);
YamlNode * frameNode = stateSpriteNode->Get(1);
int32 frame = 0;
if (frameNode)frame = frameNode->AsInt();
if (spriteNode)
{
SetStateSprite(stateArray[k], spriteNode->AsString(), frame);
}
}
YamlNode * stateDrawTypeNode = node->Get(Format("stateDrawType%s", statePostfix[k].c_str()));
if (stateDrawTypeNode)
{
UIControlBackground::eDrawType type = (UIControlBackground::eDrawType)loader->GetDrawTypeFromNode(stateDrawTypeNode);
SetStateDrawType(stateArray[k],type);
YamlNode * leftRightStretchCapNode = node->Get(Format("leftRightStretchCap%s", statePostfix[k].c_str()));
YamlNode * topBottomStretchCapNode = node->Get(Format("topBottomStretchCap%s", statePostfix[k].c_str()));
if(leftRightStretchCapNode)
{
float32 leftStretchCap = leftRightStretchCapNode->AsFloat();
GetActualBackground(stateArray[k])->SetLeftRightStretchCap(leftStretchCap);
}
if(topBottomStretchCapNode)
{
float32 topStretchCap = topBottomStretchCapNode->AsFloat();
GetActualBackground(stateArray[k])->SetTopBottomStretchCap(topStretchCap);
}
}
YamlNode * stateAlignNode = node->Get(Format("stateAlign%s", statePostfix[k].c_str()));
if (stateAlignNode)
{
int32 align = loader->GetAlignFromYamlNode(stateAlignNode);
SetStateAlign(stateArray[k],align);
}
YamlNode * stateFontNode = node->Get(Format("stateFont%s", statePostfix[k].c_str()));
if (stateFontNode)
{
Font * font = loader->GetFontByName(stateFontNode->AsString());
if (font)SetStateFont(stateArray[k], font);
}
YamlNode * stateTextNode = node->Get(Format("stateText%s", statePostfix[k].c_str()));
if (stateTextNode)
{
SetStateText(stateArray[k], LocalizedString(stateTextNode->AsWString()));
}
}
for (int k = 0; k < STATE_COUNT; ++k)
{
YamlNode * colorInheritNode = node->Get("colorInherit");
UIControlBackground::eColorInheritType type = (UIControlBackground::eColorInheritType)loader->GetColorInheritTypeFromNode(colorInheritNode);
if(colorInheritNode)
{
for(int32 i = 0; i < DRAW_STATE_COUNT; ++i)
{
if(stateBacks[i])
{
stateBacks[i]->SetColorInheritType(type);
}
}
}
}
}
示例13: ParseConfig
void EditorConfig::ParseConfig(const String &filePath)
{
ClearConfig();
YamlParser *parser = YamlParser::Create(filePath);
if(parser)
{
YamlNode *rootNode = parser->GetRootNode();
if(rootNode)
{
Vector<YamlNode*> &yamlNodes = rootNode->AsVector();
int32 propertiesCount = yamlNodes.size();
for(int32 i = 0; i < propertiesCount; ++i)
{
YamlNode *propertyNode = yamlNodes[i];
if(propertyNode)
{
YamlNode *nameNode = propertyNode->Get("name");
YamlNode *typeNode = propertyNode->Get("type");
YamlNode *defaultNode = propertyNode->Get("default");
if(nameNode && typeNode)
{
String nameStr = nameNode->AsString();
String typeStr = typeNode->AsString();
int32 type = ParseType(typeStr);
if(type)
{
bool isOk = true;
for(uint32 n = 0; n < propertyNames.size(); ++n)
{
if(propertyNames[n] == nameStr)
{
isOk = false;
Logger::Error("EditorConfig::ParseConfig %s ERROR property %d property %s already exists", filePath.c_str(), i, nameStr.c_str());
break;
}
}
if(isOk)
{
properties[nameStr] = new PropertyDescription();
properties[nameStr]->name = nameStr;
properties[nameStr]->type = type;
switch(type)
{
case PT_BOOL:
{
bool defaultValue = false;
if(defaultNode)
{
defaultValue = defaultNode->AsBool();
}
properties[nameStr]->defaultValue.SetBool(defaultValue);
}
break;
case PT_INT:
{
int32 defaultValue = 0;
if(defaultNode)
{
defaultValue = defaultNode->AsInt();
}
properties[nameStr]->defaultValue.SetInt32(defaultValue);
}
break;
case PT_STRING:
{
String defaultValue;
if(defaultNode)
{
defaultValue = defaultNode->AsString();
}
properties[nameStr]->defaultValue.SetString(defaultValue);
}
break;
case PT_FLOAT:
{
float32 defaultValue = 0.0f;
if(defaultNode)
{
defaultValue = defaultNode->AsFloat();
}
properties[nameStr]->defaultValue.SetFloat(defaultValue);
}
break;
case PT_COMBOBOX:
{
int32 defaultValue = 0;
if(defaultNode)
{
defaultValue = defaultNode->AsInt();
}
properties[nameStr]->defaultValue.SetInt32(defaultValue);
YamlNode *comboNode = propertyNode->Get("list");
if(comboNode)
{
Vector<YamlNode*> comboValueNodes = comboNode->AsVector();
int32 comboValuesCount = comboValueNodes.size();
for(int32 i = 0; i < comboValuesCount; ++i)
//.........这里部分代码省略.........