本文整理汇总了C++中CScriptArgReader::NextCouldBeString方法的典型用法代码示例。如果您正苦于以下问题:C++ CScriptArgReader::NextCouldBeString方法的具体用法?C++ CScriptArgReader::NextCouldBeString怎么用?C++ CScriptArgReader::NextCouldBeString使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CScriptArgReader
的用法示例。
在下文中一共展示了CScriptArgReader::NextCouldBeString方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: XMLNodeSetAttribute
int CLuaFunctionDefs::XMLNodeSetAttribute ( lua_State* luaVM )
{
// pNode, Attribute Name, Value
CXMLNode* pNode = NULL;
SString strAttributeName = "";
SString strAttributeValue = "";
CScriptArgReader argStream ( luaVM );
argStream.ReadUserData ( pNode );
argStream.ReadString ( strAttributeName );
argStream.ReadString ( strAttributeValue, "" );
if ( !argStream.HasErrors ( ) )
{
if ( pNode )
{
// Are we going to set it to a value?
if ( argStream.NextCouldBeString( -1 ) )
{
// Write the node
CXMLAttribute* pAttribute = pNode->GetAttributes ().Create ( strAttributeName );
if ( pAttribute )
{
pAttribute->SetValue ( strAttributeValue );
lua_pushboolean ( luaVM, true );
return 1;
}
}
else
{
// Delete the attribute if it exists
CXMLAttribute* pAttribute = pNode->GetAttributes ().Find ( strAttributeName );
if ( pAttribute )
{
delete pAttribute;
lua_pushboolean ( luaVM, true );
return 1;
}
}
}
}
else
m_pScriptDebugging->LogCustom ( luaVM, argStream.GetFullErrorMessage() );
lua_pushboolean ( luaVM, false );
return 1;
}