Games-SolarConflict

 view release on metacpan or  search on metacpan

MANIFEST  view on Meta::CPAN

MANIFEST
META.json
META.yml
Makefile.PL
README
bin/solar-conflict.pl
lib/Games/SolarConflict.pm
lib/Games/SolarConflict/ComputerPlayer.pm
lib/Games/SolarConflict/Controller/GameOver.pm
lib/Games/SolarConflict/Controller/MainGame.pm
lib/Games/SolarConflict/Controller/MainMenu.pm
lib/Games/SolarConflict/HumanPlayer.pm
lib/Games/SolarConflict/Roles/Controller.pm
lib/Games/SolarConflict/Roles/Drawable.pm
lib/Games/SolarConflict/Roles/Explosive.pm
lib/Games/SolarConflict/Roles/Physical.pm
lib/Games/SolarConflict/Roles/Player.pm
lib/Games/SolarConflict/Spaceship.pm
lib/Games/SolarConflict/Sprite/Rotatable.pm
lib/Games/SolarConflict/Sun.pm
lib/Games/SolarConflict/Torpedo.pm

lib/Games/SolarConflict.pm  view on Meta::CPAN

use FindBin qw($Bin);
use Path::Class qw(dir);
use File::ShareDir qw(dist_dir);

use Games::SolarConflict::Sprite::Rotatable;
use Games::SolarConflict::Sun;
use Games::SolarConflict::Spaceship;
use Games::SolarConflict::Torpedo;
use Games::SolarConflict::HumanPlayer;
use Games::SolarConflict::ComputerPlayer;
use Games::SolarConflict::Controller::MainMenu;
use Games::SolarConflict::Controller::MainGame;
use Games::SolarConflict::Controller::GameOver;

has app => (
    is       => 'ro',
    isa      => 'SDLx::App',
    required => 1,
    handles  => [qw( run )],
);

lib/Games/SolarConflict.pm  view on Meta::CPAN

    isa     => 'HashRef',
    lazy    => 1,
    builder => '_build_controllers',
);

sub _build_controllers {
    my ($self) = @_;

    return {
        main_menu => sub {
            return Games::SolarConflict::Controller::MainMenu->new(@_);
        },
        main_game => sub {
            return Games::SolarConflict::Controller::MainGame->new(@_);
        },
        game_over => sub {
            return Games::SolarConflict::Controller::GameOver->new(@_);
        },
    };
}

lib/Games/SolarConflict/Controller/MainMenu.pm  view on Meta::CPAN

package Games::SolarConflict::Controller::MainMenu;
{
  $Games::SolarConflict::Controller::MainMenu::VERSION = '0.000001';
}

# ABSTRACT: Main menu controller

use strict;
use warnings;
use Mouse;
use SDL::Event;
use SDL::Events;
use SDLx::Text;

lib/Games/SolarConflict/Controller/MainMenu.pm  view on Meta::CPAN

no Mouse;

1;



=pod

=head1 NAME

Games::SolarConflict::Controller::MainMenu - Main menu controller

=head1 VERSION

version 0.000001

=for Pod::Coverage handle_event handle_show

=head1 SEE ALSO

=over 4

t/00-load.t  view on Meta::CPAN

use strict;
use warnings;
use Test::More;

BEGIN {
    my @modules = qw(
        Games::SolarConflict
        Games::SolarConflict::ComputerPlayer
        Games::SolarConflict::Controller::GameOver
        Games::SolarConflict::Controller::MainGame
        Games::SolarConflict::Controller::MainMenu
        Games::SolarConflict::HumanPlayer
        Games::SolarConflict::Roles::Controller
        Games::SolarConflict::Roles::Drawable
        Games::SolarConflict::Roles::Explosive
        Games::SolarConflict::Roles::Physical
        Games::SolarConflict::Roles::Player
        Games::SolarConflict::Spaceship
        Games::SolarConflict::Sprite::Rotatable
        Games::SolarConflict::Sun
        Games::SolarConflict::Torpedo



( run in 0.987 second using v1.01-cache-2.11-cpan-49f99fa48dc )