module TyranoDsl::ParsingWords::ConditionalJump
Constants
- VALID_OPERATORS
Public Instance Methods
conditional_jump(variable, operator, value, scene_name, label_name = nil)
click to toggle source
@param [String] variable @param [String] operator @param [String, Symbol, Float] value @param [String] scene_name @param [String, nil] label_name @return [void] @raise [TyranoDsl::TyranoException]
# File lib/tyrano_dsl/parsing_words/conditional_jump.rb, line 19 def conditional_jump(variable, operator, value, scene_name, label_name = nil) check_variable_exist(variable) if value.is_a?(String) || value.is_a?(Symbol) check_variable_exist(value) end unless VALID_OPERATORS.include? operator raise TyranoDsl::TyranoException, "Unknown operator [#{operator}]" end add_parsed_word( TyranoDsl::Vocabulary::CONDITIONAL_JUMP, variable: variable, operator: operator, value: value, scene_name: scene_name, label_name: label_name ) label = label_name ? context.world.label_value(label_name) : nil context.world.jump_targets << TyranoDsl::Elements::JumpTarget.new(scene_name, label) end