NAME

Games::Dukedom::Signal = provide "interrupts" to drive the state-machine

SYNOPSIS

use Games::Dukedom;
 
my $game = Games::Dukedom->new();
 
$game->throw( 'This is a simple message' );
 
$game->throw(
   msg     => 'This is also a simple message',
)
 
$game->throw(
   msg     => 'Do you want to be King? ',
   action  => 'get_yn',
)
 
$game->throw(
   msg     => 'Are you sure [Y/n]? ',
   action  => 'get_yn',
   default => 'Y'
)
 

DESCRIPTION

This module is used to signal the application code that a display or input action is needed. This is accomplished by means of the Throwable role.

ATTRIBUTES

All attributes have read-only accessors.

msg

Holds a message to be presented to the user by the caller, if present.

action

Tells the caller what action should be taken before re-entering the main state-machine loop, if present. Currently takes one of the following values:

undef

Indicates that no action is needed other than displaying any message that is present.

get_yn

Indicates that the caller should supply a "y" or "n" response in $game->input.

get_value

Indicates that the caller should supply a numeric response in $game->input.

default

Provides a default response, if present, that may be used if desired to satisfy the requested action.

METHODS

as_string

This method will provide a string representing the error, containing the error's message.

SEE ALSO

Games::Dukedom

AUTHOR

Jim Bacon, <jim@nortx.com>

COPYRIGHT AND LICENSE

Copyright (C) 2014 by Jim Bacon

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version or, at your option, any later version of Perl 5 you may have available.