#!/usr/bin/perl -w package SCX::Car; use strict; sub new { my ($class, $args) = @_; my $self = { gui => $args->{gui}, throttle => -1, fuel => -1, order => $args->{order}, }; bless $self, $class; $self->set_throttle(undef); $self->set_fuel(undef); return $self; } sub gui { return shift->{gui}; } sub set_throttle { my ($self, $val) = @_; return if (!defined $self->{throttle} && !defined $val) || (defined $self->{throttle} && defined $val && $self->{throttle} == $val); $self->{throttle} = $val; $self->gui->set_throttle($self->{order}, $val); } sub set_fuel { my ($self, $val) = @_; return if (!defined $self->{fuel} && !defined $val) || (defined $self->{fuel} && defined $val && $self->{fuel} == $val); $self->{fuel} = $val; $self->gui->set_fuel($self->{order}, $val); } sub set_light { # TODO } sub set_backbutton { # TODO } 1;