| Games-AssaultCube documentation | Contained in the Games-AssaultCube distribution. |
Games::AssaultCube::Log::Line::DemoStop - Describes the DemoStop event in a log line
Describes the DemoStop event in a log line
This module holds the "DemoStop" 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 stops recording a demo.
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 DateTime object representing the time when the server stopped recording the demo
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 size of the demo ( in bytes )
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::DemoStop; # 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::GameMode'; # TODO improve validation for everything here, ha! has 'datetime' => ( isa => 'DateTime', is => 'ro', required => 1, ); has 'map' => ( isa => 'Str', is => 'ro', required => 1, ); has 'size' => ( isa => 'Int', is => 'ro', required => 1, ); has 'tostr' => ( isa => 'Str', is => 'ro', lazy => 1, default => sub { my $self = shift; return "Stopped recording demo: " . $self->size . " bytes, map " . $self->map . ", gamemode " . $self->gamemode_fullname . " at " . $self->datetime->datetime; }, ); no Moose; __PACKAGE__->meta->make_immutable; 1; __END__