Games-Lacuna-Client
view release on metacpan - search on metacpan
view release on metacpan or search on metacpan
lib/Games/Lacuna/Client/Empire.pm view on Meta::CPAN
use 5.0080000;
use strict;
use warnings;
use Carp 'croak';
use Games::Lacuna::Client;
use Games::Lacuna::Client::Module;
our @ISA = qw(Games::Lacuna::Client::Module);
use Class::XSAccessor {
getters => [qw(empire_id)],
};
sub api_methods {
return {
(
map {
($_ => { default_args => [qw()] })
}
qw( login
is_name_available
fetch_captcha
send_password_reset_message
reset_password
get_species_templates
)
),
create => { default_args => [qw(empire_id)] },
found => { default_args => [qw(empire_id)] },
update_species => { default_args => [qw(empire_id)] },
invite_friend => { default_args => [qw(session_id)] },
change_password => { default_args => [qw(session_id)] },
logout => { default_args => [qw(session_id)] },
get_status => { default_args => [qw(session_id)] },
view_profile => { default_args => [qw(session_id)] },
edit_profile => { default_args => [qw(session_id)] },
view_public_profile => { default_args => [qw(session_id)] },
find => { default_args => [qw(session_id)] },
set_status_message => { default_args => [qw(session_id)] },
view_boosts => { default_args => [qw(session_id)] },
boost_storage => { default_args => [qw(session_id)] },
boost_food => { default_args => [qw(session_id)] },
boost_water => { default_args => [qw(session_id)] },
boost_energy => { default_args => [qw(session_id)] },
boost_ore => { default_args => [qw(session_id)] },
boost_happiness => { default_args => [qw(session_id)] },
enable_self_destruct => { default_args => [qw(session_id)] },
disable_self_destruct => { default_args => [qw(session_id)] },
redeem_essentia_code => { default_args => [qw(session_id)] },
redefine_species_limits => { default_args => [qw(session_id)] },
redefine_species => { default_args => [qw(session_id)] },
view_species_stats => { default_args => [qw(session_id)] },
};
}
sub new {
my $class = shift;
my %opt = @_;
my $self = $class->SUPER::new(@_);
bless $self => $class;
$self->{empire_id} = $opt{id};
return $self;
}
sub logout {
my $self = shift;
my $client = $self->client;
if (not $client->session_id) {
return 0;
}
else {
my $res = $self->_logout;
return delete $client->{session_id};
}
}
__PACKAGE__->init();
1;
__END__
=head1 NAME
Games::Lacuna::Client::Empire - The empire module
=head1 SYNOPSIS
use Games::Lacuna::Client;
use Games::Lacuna::Client::Empire;
my $client = Games::Lacuna::Client->new(...);
my $empire = $client->empire;
my $status = $empire->get_status;
=head1 DESCRIPTION
A subclass of L<Games::Lacuna::Client::Module>.
=head2 new
Creates an object locally, does not connect to the server.
Games::Lacuna::Client::Empire->new(client => $client, @parameters);
The $client is a C<Games::Lacuna::Client> object.
Usually, you can just use the C<empire> factory method of the
client object instead:
my $empire = $client->empire(@parameters); # client set automatically
Optional parameters:
id => "The id of the empire"
=head1 AUTHOR
Steffen Mueller, E<lt>smueller@cpan.orgE<gt>
view all matches for this distributionview release on metacpan - search on metacpan
( run in 2.643 seconds using v1.00-cache-2.02-grep-82fe00e-cpan-d29e8ade9f55 )