Games::AssaultCube::Log::Line::AutoBalance - Describes the AutoBalance event in a log line


Games-AssaultCube documentation Contained in the Games-AssaultCube distribution.

Index


Code Index:

NAME

Top

Games::AssaultCube::Log::Line::AutoBalance - Describes the AutoBalance event in a log line

ABSTRACT

Top

Describes the AutoBalance event in a log line

DESCRIPTION

Top

This module holds the "AutoBalance" 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 is selecting a player to move to the other team for balancing.

Attributes

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.

target

The target player "value" the server wants to select

players

A hashref of player connection numbers and their "value" as fields

pick

The connection number of the player the server selected for balancing

AUTHOR

Top

Apocalypse <apocal@cpan.org>

Props goes to the BS clan for the support!

This project is sponsored by http://cubestats.net

COPYRIGHT AND LICENSE

Top


Games-AssaultCube documentation Contained in the Games-AssaultCube distribution.

# Declare our package
package Games::AssaultCube::Log::Line::AutoBalance;

# import the Moose stuff
use Moose;

# Initialize our version
use vars qw( $VERSION );
$VERSION = '0.04';

extends 'Games::AssaultCube::Log::Line::Base';

# TODO improve validation for everything here, ha!

has 'target' => (
	isa		=> 'Int',
	is		=> 'ro',
	required	=> 1,
);

has 'players' => (
	isa		=> 'HashRef[Int]',
	is		=> 'ro',
	required	=> 1,
);

has 'pick' => (
	isa		=> 'Int',
	is		=> 'ro',
	required	=> 1,
);

has 'tostr' => (
	isa		=> 'Str',
	is		=> 'ro',
	lazy		=> 1,
	default		=> sub {
		my $self = shift;
		return "Autobalance: forcing " . $self->pick . " to the other team based on target " . $self->target;
	},
);

no Moose;
__PACKAGE__->meta->make_immutable;

1;
__END__