本文整理汇总了C++中gd::EventsCodeGenerator::GenerateBooleanFullName方法的典型用法代码示例。如果您正苦于以下问题:C++ EventsCodeGenerator::GenerateBooleanFullName方法的具体用法?C++ EventsCodeGenerator::GenerateBooleanFullName怎么用?C++ EventsCodeGenerator::GenerateBooleanFullName使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类gd::EventsCodeGenerator
的用法示例。
在下文中一共展示了EventsCodeGenerator::GenerateBooleanFullName方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: callbacks
virtual std::string GenerateCode(gd::Instruction & instruction, gd::EventsCodeGenerator & codeGenerator, gd::EventsCodeGenerationContext & context)
{
std::string value1Code;
{
gd::CallbacksForGeneratingExpressionCode callbacks(value1Code, codeGenerator, context);
gd::ExpressionParser parser(instruction.GetParameters()[0].GetPlainString());
if (!parser.ParseMathExpression(codeGenerator.GetPlatform(), codeGenerator.GetProject(), codeGenerator.GetLayout(), callbacks) || value1Code.empty()) value1Code = "0";
}
std::string value2Code;
{
gd::CallbacksForGeneratingExpressionCode callbacks(value2Code, codeGenerator, context);
gd::ExpressionParser parser(instruction.GetParameters()[2].GetPlainString());
if (!parser.ParseMathExpression(codeGenerator.GetPlatform(), codeGenerator.GetProject(), codeGenerator.GetLayout(), callbacks) || value2Code.empty()) value2Code = "0";
}
std::string resultingBoolean = codeGenerator.GenerateBooleanFullName("conditionTrue", context)+".val";
if ( instruction.GetParameters()[1].GetPlainString() == "=" || instruction.GetParameters()[1].GetPlainString().empty() )
return resultingBoolean + " = ("+value1Code+" == "+value2Code+");\n";
else if ( instruction.GetParameters()[1].GetPlainString() == ">")
return resultingBoolean + " = ("+value1Code+" > "+value2Code+");\n";
else if ( instruction.GetParameters()[1].GetPlainString() == "<")
return resultingBoolean + " = ("+value1Code+" < "+value2Code+");\n";
else if ( instruction.GetParameters()[1].GetPlainString() == "<=")
return resultingBoolean + " = ("+value1Code+" <= "+value2Code+");\n";
else if ( instruction.GetParameters()[1].GetPlainString() == ">=")
return resultingBoolean + " = ("+value1Code+" >= "+value2Code+");\n";
else if ( instruction.GetParameters()[1].GetPlainString() == "!=")
return resultingBoolean + " = ("+value1Code+" != "+value2Code+");\n";
return "";
};