package Games::SolarConflict::Sun;
{
$Games::SolarConflict::Sun::VERSION = '0.000001';
}
# ABSTRACT: Sun model
use strict;
use warnings;
use Mouse;
with 'Games::SolarConflict::Roles::Physical';
has '+r' => ( default => 38 );
has '+mass' => ( default => 100000 );
has sprite => (
is => 'ro',
isa => 'SDLx::Sprite',
required => 1,
handles => [qw( draw )],
);
with 'Games::SolarConflict::Roles::Drawable';
before draw => sub {
my ($self) = @_;
$self->sprite->x( $self->x - $self->sprite->w / 2 );
$self->sprite->y( $self->y - $self->sprite->h / 2 );
};
around draw => sub {
my ( $orig, $self, $surface ) = @_;
$self->$orig($surface);
return $self->sprite->rect;
};
# The sun doesn't move
sub acc { ( 0, 0, 0 ) }
__PACKAGE__->meta->make_immutable;
no Mouse;
1;
=pod
=head1 NAME
Games::SolarConflict::Sun - Sun model
=head1 VERSION
version 0.000001
=for Pod::Coverage acc
=head1 SEE ALSO
=over 4
=item * L<Games::SolarConflict>
=back
=head1 AUTHOR
Jeffrey T. Palmer <jtpalmer@cpan.org>
=head1 COPYRIGHT AND LICENSE
This software is Copyright (c) 2012 by Jeffrey T. Palmer.
This is free software, licensed under:
The MIT (X11) License
=cut
__END__