| Games-AssaultCube documentation | Contained in the Games-AssaultCube distribution. |
Games::AssaultCube::Log::Line::GameStart - Describes the GameStart event in a log line
Describes the GameStart event in a log line
This module holds the "GameStart" event data from a log line. Normally, you would not use this class directly but via the Games::AssaultCube::Log::Line class.
This line is emitted when the AC server starts a new game.
Those attributes hold information about the event. As this class extends the Games::AssaultCube::Log::Line::Base class, you can also use it's attributes too.
The numeric AssaultCube gamemode ( look at Games::AssaultCube::Utils for more info )
P.S. It's better to use the gamemode_fullname or gamemode_name accessors
The gamemode name ( CTF, TDM, etc )
The full gamemode name ( "capture the flag", "team one shot one kill", etc )
The map name
The number of connected players
The number of minutes remaining in the game
The numeric AssaultCube mastermode of the server
0 = OPEN 1 = PRIVATE ( passworded ) 2 = NUM ( full )
The name of the mastermode on the server ( OPEN, PRIVATE, NUM )
Apocalypse <apocal@cpan.org>
Props goes to the BS clan for the support!
This project is sponsored by http://cubestats.net
Copyright 2009 by Apocalypse
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
| Games-AssaultCube documentation | Contained in the Games-AssaultCube distribution. |
# Declare our package package Games::AssaultCube::Log::Line::GameStart; # import the Moose stuff use Moose; # Initialize our version use vars qw( $VERSION ); $VERSION = '0.04'; extends 'Games::AssaultCube::Log::Line::Base'; with 'Games::AssaultCube::Log::Line::Base::MasterMode', 'Games::AssaultCube::Log::Line::Base::GameMode'; # TODO improve validation for everything here, ha! has 'map' => ( isa => 'Str', is => 'ro', required => 1, ); has 'players' => ( isa => 'Int', is => 'ro', required => 1, ); has 'minutes' => ( isa => 'Int', is => 'ro', required => 1, ); has 'tostr' => ( isa => 'Str', is => 'ro', lazy => 1, default => sub { my $self = shift; return "GameStart: map " . $self->map . " with " . $self->players . " players, " . $self->minutes . " minutes left in gamemode " . $self->gamemode_fullname; }, ); # TODO Moose can't export multiple roles into this class unless it defines BUILD... # Error: 'Games::AssaultCube::Log::Line::Base::Mastermode|Games::AssaultCube::Log::Line::Base::Gamemode' requires the method 'BUILD' to be implemented by 'Games::AssaultCube::Log::Line::GameStatus' at /usr/local/share/perl/5.10.0/Moose/Meta/Role/Application.pm line 59 sub BUILD { return; } no Moose; __PACKAGE__->meta->make_immutable; 1; __END__