IndieRunner::Mode(3p)

NAME
IndieRunner::Mode - parent class of different IndieRunner modes

DESCRIPTION
Warning! Do not use this class directly, as it is a prototype class for specific IndieRunner modes!

This is the parent class for the specific mode modules, containing some shared method code. The main modes are IndieRunner::Mode::Run and IndieRunner::Mode::Dryrun. Refer to specific mode modules under "SEE ALSO" for more information.

METHODS

  use_rigg()
Return if rigg is being used. By default use reference to IndieRunner object's attribute use_rigg. Can be overridden/replaced by setting it for this module.

  vsay(@text)

  vvsay(@text)

  vvvsay(@text)
"say" in perlfunc for up to 3 levels of verbosity.

  new( { verbosity => $verbosity, use_rigg => $rigg_mode } )
Create new mode object to make use of the polymorphism of mode methods.

  resolve_rigg_default( $game_name )
Resolve RIGG_DEFAULT into strict, permissive, or disables rigg. Defaults to strict, unless the game is marked for NoStrict or NoRigg.

  extract($file)
File extraction method.

  remove($file)
File removal method.

  restore($file)
File restore method.

  insert($target, $newfile)
Method to insert $target as $newfile.

  undo_insert($file)
Reverse insert operation on $file.

  convert($from, $to)
Convert file $from to $to. The conversion is determined by the file suffixes.

  finish()
No-op by default.

  check_rigg_binary($file)
Check if the binary $file can be replaced by rigg, disable rigg if not.

  run($game_name, %config)
Launch game with a title $game_name, with details passed via %config.

bin Binary to launch.

env Array reference holding the environment settings.

args
    Array reference to arguments to the engine binary.

  init_pledge($group)
Initialize pledge with promises depending on the $group.

SEE ALSO
IndieRunner::Mode::Run IndieRunner::Mode::Dryrun IndieRunner::Mode::Script

AUTHOR
Thomas Frohwein <thfr@cpan.org>

COPYRIGHT
Copyright 2022-2024 by Thomas Frohwein <thfr@cpan.org>.

This program is free software; you can redistribute it and/or modify it under the ISC license.