ScummVM API documentation
MutationOfJB::ConditionalCommandParser Class Reference
Inheritance diagram for MutationOfJB::ConditionalCommandParser:
MutationOfJB::CommandParser MutationOfJB::CameFromCommandParser MutationOfJB::IfCommandParser MutationOfJB::IfItemCommandParser MutationOfJB::IfPiggyCommandParser

Public Member Functions

 ConditionalCommandParser (bool firstHash=false)
 
void transition (ScriptParseContext &parseCtx, Command *oldCommand, Command *newCommand, CommandParser *newCommandParser) override
 
void finish (ScriptParseContext &parseCtx) override
 
- Public Member Functions inherited from MutationOfJB::CommandParser
virtual bool parse (const Common::String &line, ScriptParseContext &parseCtx, Command *&command)=0
 

Protected Attributes

Common::Queue< char > _tags
 

Member Function Documentation

◆ transition()

void MutationOfJB::ConditionalCommandParser::transition ( ScriptParseContext parseCtx,
Command oldCommand,
Command newCommand,
CommandParser newCommandParser 
)
overridevirtual

Called when transitioning parsing between two commands.

For example, cmdParserA->transition(parseCtx, cmdA, cmdB, cmdParserB) is called after command B is done parsing to notify command A parser about the transition from command A to command B. This is useful for sequential commands, because at the time command A is being parsed, we don't have any information about command B, so we cannot set the next pointer. Transition method can be used to set the next pointer after command B is available.

Parameters
parseCtxParse context.
oldCommandOld command (created by this parser).
newCommandNew command (created by newCommandParser).
newCommandParserCommand parser which created the new command.

Reimplemented from MutationOfJB::CommandParser.

◆ finish()

void MutationOfJB::ConditionalCommandParser::finish ( ScriptParseContext parseCtx)
overridevirtual

Called after the whole script is parsed.

Can be used for cleanup.

Parameters
parseCtxParse context.

Reimplemented from MutationOfJB::CommandParser.


The documentation for this class was generated from the following file: