view release on metacpan or search on metacpan
lib/Games/Axmud/Buffer.pm view on Meta::CPAN
# Set the contents of $self->mxpModeHash, using any 'mxpm_mode' tags found in ->offsetHash
$self->updateModes();
return $self;
}
##################
# Methods
sub update {
# Called by GA::Session->updateDisplayBuffer when this object stores the most
# recently-displayed line of text from the world, and that line hasn't yet been terminated
# with a newline character
# Updates the stored IVs
#
# Expected arguments
# $line - The original line of text received from the world
# $stripLine - $line after being stripped of escape sequences
# $modLine - $stripLine after being modified by any matching interfaces (identical
lib/Games/Axmud/Buffer.pm view on Meta::CPAN
$self->session->currentTabObj->textViewObj->listColourStyleTags(),
);
}
# Update the ->mxpModeHash IV
$self->updateModes();
return 1;
}
sub updateModes {
# Called by $self->new and $self->update
# $self->mxpModeHash stores all the MXP modes (but only those in the range 10-12, 19, 20-99)
# that apply to this line
# Update the hash
#
# Expected arguments
# (none besides $self)
#
# Return values
lib/Games/Axmud/Client.pm view on Meta::CPAN
$session->doInstruct($instruct);
}
}
return 1;
}
# Buffers
sub updateInstructBuffer {
# Called by GA::Session->updateInstructBuffer when an instruction is added to the session's
# buffer registry
# Updates this client's own instruction buffer, creating a separate buffer object (with a
# different ->number than the one created by the calling function)
#
# Expected arguments
# $session - The calling GA::Session
# $instruct - The instruction itself (e.g. ';setworld deathmud' or 'north;kill orc')
# $type - The type of instruction: 'client' for a client command, 'world' for a
lib/Games/Axmud/Client.pm view on Meta::CPAN
if ($self->instructBufferCount > $self->customInstructBufferSize) {
$self->ivDelete('instructBufferHash', $self->instructBufferFirst);
$self->ivIncrement('instructBufferFirst');
}
return $obj;
}
}
sub updateCmdBuffer {
# Called by GA::Session->updateCmdBuffer when a world command is added to the session's
# buffer registry
# Updates this client's own world command buffer, creating a separate buffer object (with a
# different ->number than the one created by the calling function)
#
# Expected arguments
# $session - The calling GA::Session
# $cmd - The world command itself (e.g. 'north', 'kill orc')
#
lib/Games/Axmud/Generic.pm view on Meta::CPAN
};
# Bless the object into existence
bless $self, $class;
return $self;
}
##################
# Methods
sub update {
# Called by GA::Session->processAtcpData and ->processGmcpData
# Replaces the JSON data stored in $self->data with the new ATCP/GMCP package's data,
# merging embedded hashes but replacing embedded scalars and lists
#
# Expected arguments
# $jsonScalar - A scalar of undecoded JSON data, e.g. '{ "zone": "town" }'
#
# Return values
# 'undef' on improper arguments
lib/Games/Axmud/Generic.pm view on Meta::CPAN
$jsonScalar = '"' . $jsonScalar . '"';
}
}
$newData = $axmud::CLIENT->decodeJson($jsonScalar);
$self->{data} = $self->update_scalar($newData, $self->{data});
return 1;
}
sub update_scalar {
# Called by $self->update and by this function recursively
# Replaces the JSON data stored in $self->data with the new ATCP/GMCP package's data,
# merging embedded hashes but replacing embedded scalars and lists
#
# Expected arguments
# (none besides $self)
#
# Optional arguments
# $newScalar - A scalar (might be a list/hash reference, might be embedded within other
lib/Games/Axmud/Generic.pm view on Meta::CPAN
'-' => 'subtract',
'minus' => 'subtract',
'subtract' => 'subtract',
'kp_subtract' => 'subtract',
);
return (\%hash, \%otherHash);
}
sub updateCompass {
# Called by GA::Cmd::PermCompass->do and WorldCompass->do
# Applies changes to the IVs for a global initial task or the current world's initial task
#
# Expected arguments
# $session, $inputString, $standardCmd
# - Standard arguments to a command's ->do function
# $argListRef - Reference to the list of arguments supplied to the client command
# (unmodified). The calling function has already checked there is at
# least one argument
lib/Games/Axmud/Generic.pm view on Meta::CPAN
# Add the key-value pair
$ivHash{$key} = $value;
}
# Save the modified hash
$self->ivAdd('editHash', $iv, \%ivHash);
return 1;
}
sub updateListDataWithKey {
# Can be called by any tab function to update the data in a GA::Obj::SimpleList when it is
# storing data in two columns representing the contents of a hash
# The first column is the key, the second column its corresponding value
# If the key already exists in the list, it is replaced; otherwise a new key-value pair is
# added to the simple list
# If the key is not defined or an empty string, it isn't added to the simple list
#
# Expected arguments
# $slWidget - The GA::Obj::SimpleList to modify
lib/Games/Axmud/Generic.pm view on Meta::CPAN
# Task in the global initial/custom tasklists
} elsif ($taskType eq 'initial' || $taskType eq 'custom') {
$self->{_parentFile} = 'tasks';
}
return 1;
}
sub updateTaskLists {
# Called by a task's ->new function (but not by the generic task itself))
# Also called by GA::Obj::File->extractData when importing an initial/custom task
#
# Updates the current, global initial, custom or profile initial tasklists with the newly-
# created task, as appropriate. Also sets $self->uniqueName
# NB We use $self->{...} to set the value of IVs, rather than $self->ivPoke(...), to avoid
# setting the ->modifyFlag IV of parent GA::Obj::File (stored in $self->_parentFile)
#
# Expected arguments
lib/Games/Axmud/Generic.pm view on Meta::CPAN
}
# Get the name of the function for the first page
$func = $self->ivIndex('pageList', $self->currentPage) . 'Page';
# Call the function
$rows = $self->$func();
return 1;
}
sub updateGrid {
# Called by $self->buttonPrevious and ->buttonNext
# Changes the page currently visible in the 'wiz' window
#
# Expected arguments
# (none besides $self)
#
# Return values
# 'undef' on improper arguments
# 1 otherwise
lib/Games/Axmud/Obj/Desktop.pm view on Meta::CPAN
return @list;
}
}
}
return @list;
}
# Widgets
sub updateWidgets {
# Can be called by anything. Updates Gtk3's events queue
# Used for debugging, so that we can track all lines of code like this, if we need to:
# Gtk3->main_iteration() while Gtk3->events_pending();
#
# Expected arguments
# (none besides $self)
#
# Optional arguments
# $string - For debugging purposes. Describes the calling function, e.g.
lib/Games/Axmud/Obj/Dict.pm view on Meta::CPAN
}
# Combined hashes complete. Update IVs
$self->{'combDirHash'} = \%combHash;
$self->{'combOppDirHash'} = \%combOppHash;
$self->{'combRevDirHash'} = \%combRevHash;
return 1;
}
sub updateCombNounHash {
# Called by GA::Cmd::AddWord->do or DeleteWord->do
# Updates the hash $self->combNounHash after one of the main noun hashes is modified
# (this method is hopefully quicker than calling $self->createCombHashes every time a
# single key-value pair is changed)
#
# Expected arguments
# $nounType - Which type of noun has been changed ('pluralNoun', 'sentient', 'creature',
# 'portable', 'decoration', 'race', 'guild', 'weapon', 'armour',
# 'garment', 'pseudoNoun')
lib/Games/Axmud/Obj/Dict.pm view on Meta::CPAN
return 1;
}
}
# None of the lower-priority dictionary hashes use the same key
return undef;
}
}
}
sub updateCombAdjHash {
# Called by GA::Cmd::AddWord->do or DeleteWord->do
# Updates the hash $self->combinedAdjHash after one of the main adjective hashes is modified
# (this method is hopefully quicker than calling $self->createCombHashes every time a
# single key-value pair is changed)
#
# Expected arguments
# $adjType - Which type of adjective has been changed ('declinedAdj',
# 'adj', 'pseudoAdj')
# $addFlag - TRUE if the key-value pair is to be added to the combined hash; FALSE if
lib/Games/Axmud/Obj/Dict.pm view on Meta::CPAN
return 1;
}
}
# None of the lower-priority dictionary hashes use the same key
return undef;
}
}
}
sub updateOppDirHash {
# Can be called by anything (for example, called by GA::WizWin::Locator->saveChanges)
# When $self->primaryDirHash and/or $self->primaryAbbrevHash are modified, this function can
# be called to update the contents of $self->primaryOppHash and ->primaryOppAbbrevHash
#
# Expected arguments
# (none besides $self)
#
# Return values
# 'undef' on improper arguments
lib/Games/Axmud/Obj/File.pm view on Meta::CPAN
}
# Update the loaded data from previous versions of Axmud to conform to the current version
# of Axmud
$self->updateExtractedData();
# Return the file type
return $loadHash{'file_type'};
}
sub updateExtractedData {
# Called by $self->extractData (also called by GA::Profile::World->mergeData at the end of
# an ';updateworld' operation)
# Data loaded from previous versions of Axmud may be incompatible with the present version.
# Update the loaded data, as and where necessary
# NB Some data is also updated by $self->updateDataAfterRename
#
# Expected arguments
# (none besides $self)
#
lib/Games/Axmud/Obj/File.pm view on Meta::CPAN
return undef;
}
}
return 1;
}
# Client-renaming operations
sub updateHeaderAfterRename {
# In version v1.0.868, the client was renamed to Axmud, and ABasic was renamed to Axbasic.
# Some internal data structures were also renamed
# This function is called by $self->loadDataFile and ->importDataFile to update the file's
# header data (the remaining data is update by the call to $self->updateDataAfterRename
# Also called by GA::Client->copyPreConfigWorlds
#
# This code will probably be moved to an optional plugin at some point in the future
#
# Expected arguments
lib/Games/Axmud/Obj/File.pm view on Meta::CPAN
if (exists $loadHash{'assoc_world_defn'}) {
$loadHash{'assoc_world_prof'} = $loadHash{'assoc_world_defn'};
delete $loadHash{'assoc_world_defn'};
}
return %loadHash;
}
sub updateDataAfterRename {
# In version v1.0.868, the client was renamed to Axmud, and ABasic was renamed to Axbasic.
# Some internal data structures were also renamed
# This function is called by $self->extractData to update the file's data (not including the
# header data, which was updated in the earlier call to $self->updateHeaderAfterRename)
# This code will probably be moved to an optional plugin at some point in the future
#
# Expected arguments
# %loadHash - A hash of data that's just been loaded from this data file, before it has
# been extracted and stored in memory
lib/Games/Axmud/Obj/File.pm view on Meta::CPAN
}
}
# Mark this data file as needing to be saved, whether the data it contains has actually been
# updated or not
$self->ivPoke('modifyFlag', TRUE);
return %loadHash;
}
sub update_cage_all {
# Called by $self->updateDataAfterRename
# Converts AMud::Templ::XXX > Games::Axmud::Cage::XXX
# Converts AMud::MaskTempl::XXX > Games::Axmud::CageMask::XXX
my ($self, $obj) = @_;
# Local variables
my ($class, $flag, $hashRef);
lib/Games/Axmud/Obj/File.pm view on Meta::CPAN
@obj::ISA = qw(
Games::Axmud::Generic::InterfaceCage Games::Axmud::Generic::Cage
Games::Axmud
);
}
}
return $obj;
}
sub update_interface_all {
# Called by $self->updateDataAfterRename
# Converts AMud::Interface::XXX > Games::Axmud::Interface:::XXX
my ($self, $obj) = @_;
# Local variables
my $class;
# (no improper arguments to check)
lib/Games/Axmud/Obj/File.pm view on Meta::CPAN
$obj->{assocProfCategory} = $obj->{assocDefnCategory};
delete $obj->{assocDefnCategory};
# Update @ISA
@obj::ISA = qw(Games::Axmud::Generic::Interface Games::Axmud);
}
return $obj;
}
sub update_modelobj_all {
# Called by $self->updateDataAfterRename
# Converts AMud::ModelObj::Region > Games::Axmud::ModelObj::Region, etc
my ($self, $obj) = @_;
# Local variables
my $class;
# (no improper arguments to check)
lib/Games/Axmud/Obj/File.pm view on Meta::CPAN
# (No IVs to update)
# Games::Axmud::ModelObj::Region->regionmapObj is handled by ->update_obj_world_model
# Update @ISA
@obj::ISA = qw(Games::Axmud);
}
return $obj;
}
sub update_obj_chat_contact {
# Called by $self->updateDataAfterRename
# Converts AMud::Obj::ChatContact > Games::Axmud::Obj::ChatContact
my ($self, $obj) = @_;
# Local variables
my $class;
# (no improper arguments to check)
lib/Games/Axmud/Obj/File.pm view on Meta::CPAN
# (No IVs to update)
# Update @ISA
@obj::ISA = qw(Games::Axmud);
}
return $obj;
}
sub update_obj_component {
# Called by $self->updateDataAfterRename
# Converts AMud::Obj::Component > Games::Axmud::Obj::Component
my ($self, $obj) = @_;
# Local variables
my $class;
# (no improper arguments to check)
lib/Games/Axmud/Obj/File.pm view on Meta::CPAN
# (No IVs to update)
# Update @ISA
@obj::ISA = qw(Games::Axmud);
}
return $obj;
}
sub update_obj_colourscheme {
# Called by $self->updateDataAfterRename
# Converts AMud::Obj::ColourScheme > Games::Axmud::Obj::ColourScheme
my ($self, $obj) = @_;
# Local variables
my $class;
# (no improper arguments to check)
lib/Games/Axmud/Obj/File.pm view on Meta::CPAN
# (No IVs to update)
# Update @ISA
@obj::ISA = qw(Games::Axmud);
}
return $obj;
}
sub update_obj_dict {
# Called by $self->updateDataAfterRename (and also by GA::Client->copyPreConfigWorlds)
# Converts AMud::Obj::Dict > Games::Axmud::Obj::Dict
my ($self, $obj) = @_;
# Local variables
my $class;
# (no improper arguments to check)
lib/Games/Axmud/Obj/File.pm view on Meta::CPAN
# (No IVs to update)
# Update @ISA
@obj::ISA = qw(Games::Axmud);
}
return $obj;
}
sub update_obj_exit {
# Called by $self->updateDataAfterRename
# Converts AMud::Obj::Exit > Games::Axmud::Obj::Exit
my ($self, $obj) = @_;
# Local variables
my $class;
# (no improper arguments to check)
lib/Games/Axmud/Obj/File.pm view on Meta::CPAN
# (No IVs to update)
# Update @ISA
@obj::ISA = qw(Games::Axmud);
}
return $obj;
}
sub update_obj_maplabel {
# Called by $self->updateDataAfterRename
# Converts AMud::Obj::MapLabel > Games::Axmud::Obj::MapLabel
my ($self, $obj) = @_;
# Local variables
my $class;
# (no improper arguments to check)
lib/Games/Axmud/Obj/File.pm view on Meta::CPAN
# (No IVs to update)
# Update @ISA
@obj::ISA = qw(Games::Axmud);
}
return $obj;
}
sub update_obj_mission {
# Called by $self->updateDataAfterRename
# Converts AMud::Obj::Mission > Games::Axmud::Obj::Mission
my ($self, $obj) = @_;
# Local variables
my $class;
# (no improper arguments to check)
lib/Games/Axmud/Obj/File.pm view on Meta::CPAN
# (No IVs to update)
# Update @ISA
@obj::ISA = qw(Games::Axmud);
}
return $obj;
}
sub update_obj_monitor {
# Called by $self->updateDataAfterRename
# Converts AMud::Obj::Monitor > Games::Axmud::Obj::Monitor
my ($self, $obj) = @_;
# Local variables
my $class;
# (no improper arguments to check)
lib/Games/Axmud/Obj/File.pm view on Meta::CPAN
# (No IVs to update)
# Update @ISA
@obj::ISA = qw(Games::Axmud);
}
return $obj;
}
sub update_obj_protect {
# Called by $self->updateDataAfterRename
# Converts AMud::Obj::Protect > Games::Axmud::Obj::Protect
my ($self, $obj) = @_;
# Local variables
my $class;
# (no improper arguments to check)
lib/Games/Axmud/Obj/File.pm view on Meta::CPAN
# (No IVs to update)
# Update @ISA
@obj::ISA = qw(Games::Axmud);
}
return $obj;
}
sub update_obj_quest {
# Called by $self->updateDataAfterRename
# Converts AMud::Obj::Quest > Games::Axmud::Obj::Quest
my ($self, $obj) = @_;
# Local variables
my $class;
# (no improper arguments to check)
lib/Games/Axmud/Obj/File.pm view on Meta::CPAN
# (No IVs to update)
# Update @ISA
@obj::ISA = qw(Games::Axmud);
}
return $obj;
}
sub update_obj_regionmap {
# Called by $self->updateDataAfterRename
# Converts AMud::Obj::Regionmap > Games::Axmud::Obj::Regionmap
my ($self, $obj) = @_;
# Local variables
my ($class, $hashRef, $pathHashRef);
# (no improper arguments to check)
lib/Games/Axmud/Obj/File.pm view on Meta::CPAN
$obj->{safeRegionPathHash} = $pathHashRef;
# Update @ISA
@obj::ISA = qw(Games::Axmud);
}
return $obj;
}
sub update_obj_regionpath {
# Called by $self->updateDataAfterRename
# Converts AMud::Obj::RegionPath > Games::Axmud::Obj::RegionPath
my ($self, $obj) = @_;
# Local variables
my $class;
# (no improper arguments to check)
lib/Games/Axmud/Obj/File.pm view on Meta::CPAN
# (No IVs to update)
# Update @ISA
@obj::ISA = qw(Games::Axmud);
}
return $obj;
}
sub update_obj_route {
# Called by $self->updateDataAfterRename
# Converts AMud::Obj::Route > Games::Axmud::Obj::Route
my ($self, $obj) = @_;
# Local variables
my $class;
# (no improper arguments to check)
lib/Games/Axmud/Obj/File.pm view on Meta::CPAN
# (No IVs to update)
# Update @ISA
@obj::ISA = qw(Games::Axmud);
}
return $obj;
}
sub update_obj_skillhistory {
# Called by $self->updateDataAfterRename
# Converts AMud::Obj::SkillHistory > Games::Axmud::Obj::SkillHistory
my ($self, $obj) = @_;
# Local variables
my $class;
# (no improper arguments to check)
lib/Games/Axmud/Obj/File.pm view on Meta::CPAN
# (No IVs to update)
# Update @ISA
@obj::ISA = qw(Games::Axmud);
}
return $obj;
}
sub update_obj_toolbar {
# Called by $self->updateDataAfterRename
# Converts AMud::Obj::Toolbar > Games::Axmud::Obj::Toolbar
my ($self, $obj) = @_;
# Local variables
my ($class, $instruct);
# (no improper arguments to check)
lib/Games/Axmud/Obj/File.pm view on Meta::CPAN
$instruct =~ s/^\;edittemplate\s/;editcage/;
$obj->{instruct} = $instruct;
# Update @ISA
@obj::ISA = qw(Games::Axmud);
}
return $obj;
}
sub update_obj_tts {
# Called by $self->updateDataAfterRename
# Converts AMud::Obj::Tts > Games::Axmud::Obj::Tts
my ($self, $obj) = @_;
# Local variables
my $class;
# (no improper arguments to check)
lib/Games/Axmud/Obj/File.pm view on Meta::CPAN
# (No IVs to update)
# Update @ISA
@obj::ISA = qw(Games::Axmud);
}
return $obj;
}
sub update_obj_winmap {
# Called by $self->updateDataAfterRename
# Converts AMud::Obj::Winmap > Games::Axmud::Obj::Winmap
my ($self, $obj) = @_;
# Local variables
my (
$class, $listRef, $hashRef,
@list,
lib/Games/Axmud/Obj/File.pm view on Meta::CPAN
$obj->{stripInitList} = \@list;
}
# Update @ISA
@obj::ISA = qw(Games::Axmud);
}
return $obj;
}
sub update_obj_winzone {
# Called by $self->updateDataAfterRename
# Converts AMud::Obj::Winzone > Games::Axmud::Obj::Winzone
my ($self, $obj, $parent) = @_;
# Local variables
my ($class, $string);
# (no improper arguments to check)
lib/Games/Axmud/Obj/File.pm view on Meta::CPAN
$obj->{packageName} = $string;
}
# Update @ISA
@obj::ISA = qw(Games::Axmud);
}
return $obj;
}
sub update_obj_world_model {
# Called by $self->updateDataAfterRename
# Converts AMud::Obj::WorldModel > Games::Axmud::Obj::WorldModel
my ($self, $obj) = @_;
# Local variables
my ($class, $flag, $hashRef, $modelHashRef, $mapHashRef);
# (no improper arguments to check)
lib/Games/Axmud/Obj/File.pm view on Meta::CPAN
$obj->{minionStringHash} = $hashRef;
# Update @ISA
@obj::ISA = qw(Games::Axmud);
}
return $obj;
}
sub update_obj_zone_model {
# Called by $self->updateDataAfterRename
# Converts AMud::Obj::ZoneModel > Games::Axmud::Obj::ZoneModel
my ($self, $obj, $parent) = @_;
# Local variables
my $class;
# (no improper arguments to check)
lib/Games/Axmud/Obj/File.pm view on Meta::CPAN
$obj->{zonemapObj} = $parent;
}
}
# Update @ISA
@obj::ISA = qw(Games::Axmud);
return $obj;
}
sub update_obj_zonemap {
# Called by $self->updateDataAfterRename
# Converts AMud::Obj::Zonemap > Games::Axmud::Obj::Zonemap
my ($self, $obj) = @_;
# Local variables
my ($class, $hashRef);
# (no improper arguments to check)
lib/Games/Axmud/Obj/File.pm view on Meta::CPAN
# Just to be safe
$obj->{tempSession} = undef;
# Update @ISA
@obj::ISA = qw(Games::Axmud);
}
return $obj;
}
sub update_profile_world {
# Called by $self->updateDataAfterRename
# Converts Converts AMud::Defn::World > Games::Axmud::Profile::World
my ($self, $obj) = @_;
# Local variables
my ($class, $hashRef);
# (no improper arguments to check)
lib/Games/Axmud/Obj/File.pm view on Meta::CPAN
$obj->{profHash} = $obj->{defnHash};
delete $obj->{defnHash};
# Update @ISA
@obj::ISA = qw(Games::Axmud::Generic::Profile Games::Axmud);
}
return $obj;
}
sub update_profile_other {
# Called by $self->updateDataAfterRename
# Converts AMud::Defn::XXX > Games::Axmud::Profile::XXX
my ($self, $obj) = @_;
# Local variables
my (
$class, $listRef, $hashRef,
@list, @list2, @list3,
lib/Games/Axmud/Obj/File.pm view on Meta::CPAN
delete $obj->{customDefnHash};
}
# Update @ISA
@obj::ISA = qw(Games::Axmud::Generic::Profile Games::Axmud);
}
return $obj;
}
sub update_profile_template {
# Called by $self->updateDataAfterRename
# Converts AMud::Defn::Skeleton > Games::Axmud::Profile::Template
my ($self, $obj) = @_;
# Local variables
my $class;
# (no improper arguments to check)
lib/Games/Axmud/Obj/File.pm view on Meta::CPAN
# (No IVs to update)
# Update @ISA
@obj::ISA = qw(Games::Axmud::Generic::Profile Games::Axmud);
}
return $obj;
}
sub update_task_all {
# Called by $self->updateDataAfterRename
# Converts AMud::Task::XXX > Games::Axmud::Task::XXX
my ($self, $obj) = @_;
# Local variables
my $class;
# (no improper arguments to check)
lib/Games/Axmud/Obj/Map.pm view on Meta::CPAN
if (@drawList) {
$self->mapWin->markObjs(@drawList);
$self->mapWin->doDraw();
}
}
return 1;
}
sub updateLocator {
# Can be called by anything, including many GA::Win::Map functions
# Updates the Locator task (if it is running) with this object's current location
#
# Expected arguments
# (none besides $self)
#
# Return values
# 'undef' on improper arguments
# 1 otherwise
lib/Games/Axmud/Obj/Map.pm view on Meta::CPAN
return $self->setCurrentRoom(
undef,
$self->_objClass . '->reactRandomExit', # Character now lost
TRUE, # Use auto-rescue mode, if possible
);
}
}
}
sub updateRoom {
# Called by $self->moveKnownDirSeen, $self->lookGlanceSeen and $self->createNewRoom in order
# to update the properties of a room object in the world model to match those of the
# Locator task's non-model current room
# If the Automapper window is open and is in 'update' mode, GA::Obj::WorldModel is called
# to do the bulk of the updating
#
# Expected arguments
# $modelRoomObj
# - A GA::ModelObj::Room in the world model
lib/Games/Axmud/Obj/TextView.pm view on Meta::CPAN
'u' . $tag,
'background' => $xTermColourTagHash{$tag},
);
}
# (NB RGB colour tags, e.g. '#ABCDEF', are created by $self->interpretTags when required)
return 1;
}
sub updateStandardTag {
# Called by GA::Cmd::SetColour->do
# Updates the Gtk3::TextTag for a specified Axmud standard text colour tag, when the colour
# is modified
# If the Gtk3::TextTag doesn't exist (for some reason), creates it
#
# Expected arguments
# $tag - An Axmud standard text or underlay colour tag, e.g. 'red', 'BLUE', 'ul_red',
# 'UL_BLUE')
#
lib/Games/Axmud/Obj/TextView.pm view on Meta::CPAN
$textTag->set_property(
'background' => $axmud::CLIENT->returnRGBColour($tag),
);
}
}
}
return 1;
}
sub updateXTermTags {
# Called by GA::Cmd::SetXTerm->do
# Updates all Gtk3::TextTags for xterm colour tags, usually after the xterm colour cube is
# switched
# If the Gtk3::TextTag doesn't exist (for some reason), creates it
#
# Expected arguments
# (none besides $self)
#
# Return values
lib/Games/Axmud/Obj/TextView.pm view on Meta::CPAN
$underlayTag->set_property(
'background' => $tagHash{$tag},
);
}
}
return 1;
}
sub updateRGBTags {
# Called by $self->objEnable and ->objUpdate (only)
# When a colour scheme is applied to this textview, $self->textColour and/or
# ->underlayColour might be set
# Gtk3::TextTags are usually created only as needed by $self->interpretTags, but that
# function won't have a chance to create Gtk3::TextTags if $self->textColour and/or
# ->underlayColour are now set to RGB colour tags like '#ABCDEF and 'u#ABCDEF'
# Check which (if any) Gtk3::TextTags must be created, and create them
#
# Expected arguments
lib/Games/Axmud/Obj/TextView.pm view on Meta::CPAN
'foreground' => $underlayColour, # e.g. '#FFFFFF'
);
}
}
}
return 1;
}
sub updateLinkTag {
# Called by GA::Session->detectPueblo
# When Pueblo is enabled, links are displayed in cyan and with no underline (normally, they
# are displayed with no particular colour, but with an underline)
# This function modifies the Gtk3::TextTag's properties to display links in the correct way
#
# Expected arguments
# (none besides $self)
#
# Return values
lib/Games/Axmud/Obj/TextView.pm view on Meta::CPAN
} elsif ($self->lastTooltipLine) {
$self->hideTooltips();
}
}
return 1;
}
sub updateVisibleSize {
# Called by Games::Axmud::Obj::Desktop->updateWidgets (only) for any textview object whose
# ->sizeUpdateFlag is set
# Updates IVs and informs the GA::Session
#
# Expected arguments
# (none besides $self)
#
# Return values
# 'undef' on improper arguments
lib/Games/Axmud/Obj/WorldModel.pm view on Meta::CPAN
$self->resetPainter($session);
return $self;
}
##################
# Methods
# Methods called by GA::Session->spinMaintainLoop, etc
sub updateRegionPaths {
# Called by GA::Session->spinMaintainLoop, $self->findUniversalPath and
# GA::EditWin::Regionmap->boundaries1Tab_addButtons
# Uses the exit numbers stored in $self->updateBoundaryHash, ->updatePathHash and
# ->deleteBoundaryHash (if any) to create, modify or delete region paths for the exits'
# parent regions
#
# Expected arguments
# $session - The calling function's GA::Session
#
lib/Games/Axmud/Obj/WorldModel.pm view on Meta::CPAN
if (! $safeFlag) {
$regionmapObj->removePaths($exitString, 'regionPathHash');
} else {
$regionmapObj->removePaths($exitString, 'safeRegionPathHash');
}
}
return 1;
}
sub updateModelBuffers {
# Called by GA::Session->spinMaintainLoop
# When a model object or exit object is deleted, the number is temporarily stored in
# $self->modelBufferList or $self->exitBufferList
# If either IV contains any numbers, copy them into ->modelDeletedList or ->exitDeletedList
# so that they're available for re-use
#
# Expected arguments
# (none besides $self)
#
lib/Games/Axmud/Obj/WorldModel.pm view on Meta::CPAN
if ($self->exitBufferList) {
$self->ivPush('exitDeletedList', sort {$a <=> $b} ($self->exitBufferList));
$self->ivEmpty('exitBufferList');
}
return 1
}
sub updateRegionLevels {
# Called by GA::Session->spinMaintainLoop
# When a room model object or map label is added, moved or deleted, the parent regionmap's
# name is temporarily stored in $self->checkLevelsHash
# Ask each regionmap to re-calculate its highest and lowest occupied levels
#
# Expected arguments
# (none besides $self)
#
# Return values
lib/Games/Axmud/Obj/WorldModel.pm view on Meta::CPAN
# Sensitise/desensitise menu bar/toolbar items, depending on current conditions (as
# a response to this calculation)
$mapWin->restrictWidgets();
}
}
# Operation complete
return $roomObj;
}
sub updateRoom {
# Called by GA::Obj::Map->updateRoom, when the Automapper window is in 'update' mode, to
# adjust the properties of a room object in the world model to match those of
# the Locator task's non-model current room
# The properties adjusted depend on various flags
#
# Expected arguments
# $session
# - The calling function's GA::Session
# $updateFlag
lib/Games/Axmud/Obj/WorldModel.pm view on Meta::CPAN
# Redraw the exit
$mapWin->markObjs('exit', $exitObj);
$mapWin->doDraw();
}
}
return $exitObj;
}
sub updateExit {
# Called by GA::Win::Map->updateRoom
# The current Locator task has a non-model room with non-model exits. Given one of those
# exits, create a new exit object and add it to the world model via a call to
# $self->addExit
# However, if the world model room object already has an exit in the same direction, don't
# replace it - just update its IVs
#
# Expected arguments
# $session - The calling function's GA::Session
lib/Games/Axmud/Obj/WorldModel.pm view on Meta::CPAN
}
# Allow $self->updateRegionPaths to be called again
$self->ivPoke('updateDelayFlag', FALSE);
return 1;
}
# Modify model objects - rooms
sub updateRegion {
# Can be called by anything to force any Automapper windows to redraw regions (though at the
# moment, only code in 'edit' windows calls this function)
#
# Expected arguments
# (none besides $self)
#
# Optional arguments
# $region - The name of a regionmap. If specified, only this region is redrawn in
# every Automapper window (but if it's not already drawn, even partially,
lib/Games/Axmud/Obj/WorldModel.pm view on Meta::CPAN
# Redraw the specified region (if it's drawn in this automapper window). The TRUE
# argument means 'don't redraw other regions'
$mapWin->redrawRegions($regionmapObj, TRUE);
}
}
return 1;
}
sub updateMaps {
# Can be called by anything in the automapper object (GA::Obj::Map) and the Automapper
# window (GA::Win::Map) to update every Automapper window using this world model
# Usually called after other calls to this world model object, in which the $updateFlag
# argument was set to FALSE - the calling function is now ready for the Automapper windows
# to be updated
#
# Expected arguments
# (none besides $self)
#
lib/Games/Axmud/Obj/WorldModel.pm view on Meta::CPAN
$mapWin->markObjs(@list);
}
$mapWin->doDraw();
}
return 1;
}
sub updateMapMenuToolbars {
# Can be called by anything in the automapper object (GA::Obj::Map) and the Automapper
# window (GA::Win::Map) to update every Automapper window using this world model
# Also called by the painter's edit window, when ->saveChanges is applied
# Redraws the menu bars and/or toolbars in all automapper windows using this world model
#
# Expected arguments
# (none besides $self)
#
# Return values
lib/Games/Axmud/Obj/WorldModel.pm view on Meta::CPAN
}
foreach my $mapWin ($self->collectMapWins()) {
$mapWin->redrawWidgets('menu_bar', 'toolbar');
}
return 1;
}
sub updateMapExit {
# Called by several of this object's functions to update a single exit (and its twin) in
# every Automapper window using this world model
#
# Expected arguments
# $exitObj - The exit object to update
#
# Optional arguments
# $twinExitObj - The exit's twin object, if known (if 'undef', this function looks up
# for twin exit object)
lib/Games/Axmud/Obj/WorldModel.pm view on Meta::CPAN
foreach my $mapWin ($self->collectMapWins()) {
# Redraw the objects
$mapWin->markObjs(@list);
$mapWin->doDraw();
}
return 1;
}
sub updateMapLabels {
# Called by GA::EditWin::MapLabelStyle->saveChanges and $self->deleteLabelStyle to redraw
# all labels in every Automapper using this world model (assuming that the map label style
# has been modified)
#
# Expected arguments
# (none besides $self)
#
# Return values
# 'undef' on improper arguments
lib/Games/Axmud/Obj/WorldModel.pm view on Meta::CPAN
) {
return @emptyList;
} else {
return ($useXPos, $useYPos, $zPos, $slideRoomObj);
}
}
return 1;
}
sub updateVisitCount {
# Called by several functions in the automapper object (GA::Obj::Map) and the Automapper
# window (GA::Win::Map)
# Increments the number of character visits to a room, if allowed
#
# Expected arguments
# $session - The calling function's GA::Session
# $updateFlag - Flag set to TRUE if all Automapper windows using this world model should
# be updated now, FALSE if not (in which case, they can be updated later
# by the calling function, when it is ready)
lib/Games/Axmud/Obj/WorldModel.pm view on Meta::CPAN
# Redraw the rooms
$mapWin->markObjs(@redrawList);
$mapWin->doDraw();
}
}
return 1;
}
sub updateInvRepExit {
# Called by $self->deleteObj
# Each room model object keeps track of which rooms use it as the destination room for an
# involuntary exit pattern/repulse exit pattern
# When a room is deleted, this function is called to remove an entry in the destination
# room's hash
#
# Expected arguments
# $destRoomObj - The room to update
# $deleteRoomObj - The room to be deleted
lib/Games/Axmud/Obj/WorldModel.pm view on Meta::CPAN
$self->_objClass . '->removeRandomDestination',
@_,
);
}
$roomObj->ivDelete('randomExitHash', $exitObj->number, undef);
return 1;
}
sub updateRandomExit {
# Called by $self->deleteObj when a room is deleted, which has an incoming random exit. This
# function removes the room from the exit's list of random destination rooms
#
# Expected arguments
# $exitObj - The exit object to update
# $roomObj - The room which is being deleted
#
# Return values
# 'undef' on improper arguments
lib/Games/Axmud/Obj/WorldModel.pm view on Meta::CPAN
# Redraw the room
$mapWin->markObjs('room', $roomObj);
$mapWin->doDraw();
}
}
return 1;
}
sub updateExitBends {
# Called by $self->moveRoomsLabels
# When a room is dragged to a new position in the (same) regionmap, we must update the
# position of any exit bends
#
# Expected arguments
# $adjustXPos, $adjustYPos, $adjustZPos
# - The direction of the room's movement, in gridblocks
# $regionmapObj - The regionmap in which the exit's room has been moved
# $exitObj - The GA::Obj::Exit whose bends must be updated
lib/Games/Axmud/Obj/WorldModel.pm view on Meta::CPAN
} until (! @offsetList);
$exitObj->ivPoke('bendOffsetList', @newList);
}
return 1;
}
# Modify model objects - labels
sub updateLabel {
# Called by GA::Win::Map->setLabelCallback and ->promptConfigLabel
# Sets the specified label's ->name IV (containing the text displayed) and redraw the label
# (if allowed)
#
# Expected arguments
# $updateFlag - Flag set to TRUE if all Automapper windows using this world model should
# be updated now, FALSE if not (in which case, they can be updated later
# by the calling function, when it is ready)
# $session - The calling GA::Session
lib/Games/Axmud/Obj/WorldModel.pm view on Meta::CPAN
if (! $self->ivExists('roomFlagHash', $roomFlag)) {
$roomObj->ivDelete('roomFlagHash', $roomFlag);
}
}
}
return 1;
}
sub updateRoomFlags {
# Called by GA::Obj::File->updateExtractedData in order to update the room flags stored in
# this world model to those used in a more recent version of Axmud
#
# Expected arguments
# $session - The calling function's GA::Session
#
# Return values
# 'undef' on improper arguments
# 1 otherwise
lib/Games/Axmud/Obj/WorldModel.pm view on Meta::CPAN
{ $_[0]->{matchDescripCharCount} }
sub matchExitFlag
{ $_[0]->{matchExitFlag} }
sub analyseDescripFlag
{ $_[0]->{analyseDescripFlag} }
sub matchSourceFlag
{ $_[0]->{matchSourceFlag} }
sub matchVNumFlag
{ $_[0]->{matchVNumFlag} }
sub updateTitleFlag
{ $_[0]->{updateTitleFlag} }
sub updateDescripFlag
{ $_[0]->{updateDescripFlag} }
sub updateExitFlag
{ $_[0]->{updateExitFlag} }
sub updateSourceFlag
{ $_[0]->{updateSourceFlag} }
sub updateVNumFlag
{ $_[0]->{updateVNumFlag} }
sub updateRoomCmdFlag
{ $_[0]->{updateRoomCmdFlag} }
sub updateOrnamentFlag
{ $_[0]->{updateOrnamentFlag} }
sub assistedMovesFlag
{ $_[0]->{assistedMovesFlag} }
sub assistedBreakFlag
{ $_[0]->{assistedBreakFlag} }
sub assistedPickFlag
{ $_[0]->{assistedPickFlag} }
sub assistedUnlockFlag
{ $_[0]->{assistedUnlockFlag} }
lib/Games/Axmud/Obj/WorldModel.pm view on Meta::CPAN
sub capitalisedRoomTagFlag
{ $_[0]->{capitalisedRoomTagFlag} }
sub showTooltipsFlag
{ $_[0]->{showTooltipsFlag} }
sub showNotesFlag
{ $_[0]->{showNotesFlag} }
sub explainGetLostFlag
{ $_[0]->{explainGetLostFlag} }
sub disableUpdateModeFlag
{ $_[0]->{disableUpdateModeFlag} }
sub updateExitTagFlag
{ $_[0]->{updateExitTagFlag} }
sub drawRoomEchoFlag
{ $_[0]->{drawRoomEchoFlag} }
sub allowTrackAloneFlag
{ $_[0]->{allowTrackAloneFlag} }
sub showAllPrimaryFlag
{ $_[0]->{showAllPrimaryFlag} }
sub allowCtrlCopyFlag
{ $_[0]->{allowCtrlCopyFlag} }
lib/Games/Axmud/Obj/WorldModel.pm view on Meta::CPAN
{ $_[0]->{collectCheckedDirsFlag} }
sub drawCheckedDirsFlag
{ $_[0]->{drawCheckedDirsFlag} }
sub checkableDirMode
{ $_[0]->{checkableDirMode} }
sub adjacentMode
{ $_[0]->{adjacentMode} }
sub adjacentCount
{ $_[0]->{adjacentCount} }
sub updateBoundaryHash
{ my $self = shift; return %{$self->{updateBoundaryHash}}; }
sub deleteBoundaryHash
{ my $self = shift; return %{$self->{deleteBoundaryHash}}; }
sub updatePathHash
{ my $self = shift; return %{$self->{updatePathHash}}; }
sub updateDelayFlag
{ $_[0]->{updateDelayFlag} }
sub checkLevelsHash
{ my $self = shift; return %{$self->{checkLevelsHash}}; }
sub mudlibPath
{ $_[0]->{mudlibPath} }
sub mudlibExtension
{ $_[0]->{mudlibExtension} }
sub painterObj
lib/Games/Axmud/OtherWin.pm view on Meta::CPAN
# Update complete
$self->ivPoke('updateFlag', FALSE);
# The call to ->show_all() causes the image to appear
$self->winShowAll($self->_objClass . '->resetGridWidgets');
return 1;
}
sub updateGridWidgets {
# Called by $self->selectWorldCallback when the user clicks on a line in the treeview
# corresponding to a world profile
# Also called by $self->testModeLoginCallback
#
# Updates IVs and updates the widgets in the window's Gtk3::Grid, so they show details about
# the world
#
# Expected arguments
# $worldObj - The GA::Profile::World object corresponding to the clicked line
lib/Games/Axmud/OtherWin.pm view on Meta::CPAN
$self->editAccButton->set_sensitive(TRUE);
}
});
# The call to ->show_all() makes the new combobox visible
$self->winShowAll($self->_objClass . '->resetComboBox');
return $comboBox;
}
sub updateProfile {
# Called by $self->applyChangesCallback and ->connectWorldCallback
# Copies changes to values, stored in the specified mini-world object, to the corresponding
# world profile (if it exists)
#
# Expected arguments
# $miniWorldObj - A GA::Obj::MiniWorld
#
# Return values
# 'undef' on improper arguments or if there is no world profile to update
lib/Games/Axmud/OtherWin.pm view on Meta::CPAN
{ $_[0]->{tableHeight} }
sub worldHash
{ my $self = shift; return %{$self->{worldHash}}; }
sub miniWorldHash
{ my $self = shift; return %{$self->{miniWorldHash}}; }
sub worldObj
{ $_[0]->{worldObj} }
sub miniWorldObj
{ $_[0]->{miniWorldObj} }
sub updateFlag
{ $_[0]->{updateFlag} }
sub newWorldString
{ $_[0]->{newWorldString} }
sub noCharString
{ $_[0]->{noCharString} }
sub noWebsiteString
{ $_[0]->{noWebsiteString} }
sub noConnectString
{ $_[0]->{noConnectString} }
lib/Games/Axmud/OtherWin.pm view on Meta::CPAN
$self->buffer->create_tag(
'improper',
'foreground'
=> $axmud::CLIENT->returnRGBColour($axmud::CLIENT->customShowImproperColour),
);
return 1;
}
sub update {
# Called by $self->winEnable and $axmud::CLIENT->add_systemMsg
# Adds a system message to the window's textview
#
# Expected arguments
# $type - The type of message (which determines the colour in which it's displayed) -
# 'system', 'error', 'warning', 'debug' or 'improper'. If an invalid value or
# 'undef', then the error message colour is used
# $msg - The message to display. If 'undef' (for some reason), nothing is displayed
#
lib/Games/Axmud/OtherWin.pm view on Meta::CPAN
# sub drawWidgets {} # Inherited from GA::OtherWin::ClientConsole
# sub redrawWidgets {} # Inherited from GA::Generic::Win
# ->signal_connects
# Other functions
# sub createColourTags {} # Inherited from GA::OtherWin::ClientConsole
# sub update {} # Inherited from GA::OtherWin::ClientConsole
##################
# Accessors - set
##################
# Accessors - get
}
{ package Games::Axmud::OtherWin::Simulate;
lib/Games/Axmud/OtherWin.pm view on Meta::CPAN
# Render the changes
$self->winShowAll($self->_objClass . '->refreshTextView');
# Update IVs
$self->ivAdd('notebookTabHash', $tab, $label);
$self->ivPoke('notebookMode', 'text');
return 1;
}
sub updateNotebook {
# Called whenever the current notebook changes (when a new profile or cage is created or
# deleted - eg by $self->refreshNotebook)
# Updates the notebook by calling the same method called when a header in the treeview is
# selected
#
# Expected arguments
# (none besides $self)
#
# Optional arguments
lib/Games/Axmud/Profile.pm view on Meta::CPAN
} elsif ($self->ivExists('newAccountHash', $char)) {
# Character profile not created yet, but we know the password
$account = $self->ivShow('newAccountHash', $char);
}
}
return ($host, $port, $char, $pass, $account);
}
sub updateQuestStats {
# Called by anything, any time a quest stored by this profile changes
# Re-calculates this profile's running totals
#
# Expected arguements
# $session - The calling function's GA::Session
#
# Return values
# 'undef' on improper arguments
# 1 otherwise
lib/Games/Axmud/Profile.pm view on Meta::CPAN
# Also need to clone everything in the initial tasklist
$clone->cloneInitTaskList($self);
return $clone;
}
##################
# Methods
sub updateQuestStats {
# Called by anything, any time a quest stored by this profile changes
# Re-calculates this profile's running totals
#
# Expected arguements
# $session - The calling function's GA::Session
#
# Return values
# 'undef' on improper arguments
# 1 otherwise
lib/Games/Axmud/Session.pm view on Meta::CPAN
}
} else {
# Return 4 to show the active interface was deleted, and no other active interface
# was created
return 4;
}
}
sub updateInterfaces {
# Called by GA::Generic::Cmd->modifyInterface in response to ;modifytrigger, and so on
# When an inactive interface is modified, active interfaces in every session sharing the
# same current world might need to be updated. ->modifyInterface calls this function in
# every affected session
#
# Expected arguments
# $inactiveObj - The inactive interfaces which has been modified
# %attribHash - The hash of modified interface attributes created by the calling
# function (should not be empty)
lib/Games/Axmud/Session.pm view on Meta::CPAN
$self->setCurrentCages($profName, $profCategory);
$self->setCageInferiors();
# Create new interfaces for this profile
$self->setProfileInterfaces($profObj->name)
}
return 1;
}
sub updateCages {
# Called by $self->setupProfiles, GA::Client->addPluginCages are by code in any plugin
# If the user writes a plugin which adds new cages, existing profiles each need to have one
# of these cages created for it
#
# Expected arguments
# (none besides $self)
#
# Optional arguments
# $silenceFlag - If set to TRUE, doesn't display a message for each cage created
lib/Games/Axmud/Session.pm view on Meta::CPAN
return $1;
} else {
return undef;
}
}
# (Called by ->processIncomingData to convert a non-text token into a tag list)
sub updateEndLine {
# Called by $self->processIncomingData
#
# After a line portion ending in a newline character has been displayed, updates IVs and
# prepares a list of Axmud colour/style tags that should be applied to the beginning of
# the next line (because of MXP stuff)
#
# Expected arguments
# $type - The token type, 'nl' for an ordinary newline token or 'go' for an
# artificially-inserted newline token
lib/Games/Axmud/Session.pm view on Meta::CPAN
} else {
# Replace the named entity with its value
$entityObj = $self->ivShow('mxpEntityHash', $enName);
return $entityObj->value;
}
}
# (Called by ->processIncomingData to handle a text token)
sub updateTextToken {
# Called by $self->processIncomingData
# Also called by $self->processMxpSpacingTag when processing a <SBR> or <HR> tag
#
# Updates IVs after a text token (a string which doesn't contain any of the none-text tokens
# removed by the calling function, such as newline characters, escape sequences, etc) is
# processed
#
# Expected arguments
# $token - The token containing the text
lib/Games/Axmud/Session.pm view on Meta::CPAN
}
}
} else {
# Invalid image size format (not 'n', 'nc' or 'n%'
return undef;
}
}
sub updateMxpGauges {
# Called by $self->spinMaintainLoop
# When an MXP entity is modified (including being created or deleted), an entry is added
# to $self->mxpGaugeUpdateHash
# Once per maintenance loop, this function is called. The function checks whether any of the
# modified entities have corresponding 'main' window gauges and, if so, updates the
# GA::Obj::Gauge objects and redraws the gauges
# This function also checks the world profile's ->mxpStatusVarHash. If a modified MXP
# entity has an equivalent Status task variable, it is passed on to the Status task
#
lib/Games/Axmud/Session.pm view on Meta::CPAN
if ($value == 255) {
# Double escape this value
push (@modList, $value);
}
}
return @modList;
}
sub updateEcho {
# Called by $self->optCallback when the server requests that the client stop/resume ECHOing
# (also called by $self->disableTelnetOption)
# If this is the current session and the client is not ECHOing world commands, obscures text
# in the command entry box for any 'internal' windows used by this session
#
# Expected arguments
# (none besides $self)
#
# Optional arguments
lib/Games/Axmud/Session.pm view on Meta::CPAN
# special echo mode. It's only enabled shortly after a login is completed)
foreach my $stripObj (@list) {
$stripObj->set_specialEchoFlag(FALSE);
}
}
return 1;
}
sub updateSpecialEcho {
# Called by $self->processIncomingData whenever there's a change in this session's special
# echo mode, in which case all strip entry objects (GA::Strip::Entry) must be informed
#
# Expected arguments
# (none besides $self)
#
# Return values
# 'undef' on improper arguments
# 1 otherwise
lib/Games/Axmud/Session.pm view on Meta::CPAN
return undef;
} else {
return $bufferHash{$matchNum};
}
}
# Buffers
sub updateDisplayBuffer {
# Called by $self->processLineSegment when a complete line of text has been received from
# the world and displayed in a textview
# Updates the display buffer
#
# Expected arguments
# $line - The original line of text received from the world
# $stripLine - $line after being stripped of escape sequences
# $modLine - $stripLine after being modified by any matching interfaces (identical
# to $stripLine if none match)
lib/Games/Axmud/Session.pm view on Meta::CPAN
# Allow the 'world_idle' hook event to happen ($self->constHookIdleTime seconds from now)
$self->ivPoke('disableWorldIdleFlag', FALSE);
if ($thisObj) {
return $thisObj;
} else {
return $lastObj;
}
}
sub updateInstructBuffer {
# Called by $self->doInstruct after the user types an instruction in a 'main' window (when
# this is the window's visible session), or when any other part of the code calls
# $self->doInstruct
# Also called directly by a ->signal_connect in GA::Strip::Entry->setEntrySignals, when in
# special echo mode (as that function doesn't call $self->doInstruct)
#
# Updates the instruction buffer
#
# Expected arguments
lib/Games/Axmud/Session.pm view on Meta::CPAN
# registry in the GA::Client
$axmud::CLIENT->updateInstructBuffer($self, $instruct, $type);
}
# Set the time at which the last instruction was executed
$self->ivPoke('lastInstructTime', $self->sessionTime);
return $obj;
}
sub updateCmdBuffer {
# Called by $self->dispatchCmd, ->teleportCmd, and also by ->checkRedirect and
# ->checkAssistedMove
# Also called by $self->teleportCmd, after an earlier call by GA::Cmd::Teleport->do
#
# Updates the world command buffer
#
# Expected arguments
# $cmd - The world command itself (e.g. 'north', 'kill orc')
#
lib/Games/Axmud/Session.pm view on Meta::CPAN
}
# Set the time at which the most recent world command was sent
$self->ivPoke('lastCmdTime', $self->sessionTime);
# Allow the 'user_idle' hook event to happen ($self->constHookIdleTime seconds from now)
$self->ivPoke('disableUserIdleFlag', FALSE);
return $obj;
}
sub updateBufferSize {
# Called by GA::Cmd::SetDisplayBuffer->do, GA::Cmd::SetInstructionBuffer->do and
# GA::Cmd::SetCommandBuffer->do
# When a default buffer size is changed (i.e. when GA::Client->customDisplayBufferSize,
# etc, are modified), checks whether this session's buffer IVs must be updated
# (Specifically, if the buffer has been made smaller, then buffer lines must be deleted)
#
# Expected arguments
# $type - 'display', 'instruct' or 'cmd'
# $size - The new default buffer size, matching
lib/Games/Axmud/Session.pm view on Meta::CPAN
$self->ivPoke('cmdBufferFirst', $newFirst);
}
}
return 1;
}
# Blinkers
sub updateBlinkers {
# Called by GA::Client->spinClientLoop
# Updates blinker states for this session
#
# Expected arguments
# (none besides $self)
#
# Return values
# 'undef' on improper arguments
# 1 otherwise
lib/Games/Axmud/Session.pm view on Meta::CPAN
$self->ivUndef($obj->shortCutIV);
return 1;
} else {
# Not a built-in task
return undef;
}
}
sub update_statusTask {
my ($self, $check) = @_;
# Check for improper arguments
if (defined $check) {
return $axmud::CLIENT->writeImproper($self->_objClass . '->update_statusTask', @_);
}
# Update the status task, if it's running
lib/Games/Axmud/Strip.pm view on Meta::CPAN
# Remove the gauge box immediately, if instructed
if (! $self->gaugeLevelHash && $boxFlag) {
$self->removeGaugeBox();
}
return $result;
}
sub updateGauges {
# Can be called by anything
# Updates the gauges currently drawn in the gauge box, redrawing them. If this window's
# visible session has changed, a new set of gauges is drawn, replacing the previous ones
#
# Expected arguments
# (none besides $self)
#
# Return values
# 'undef' on improper arguments
lib/Games/Axmud/Strip.pm view on Meta::CPAN
$self->ivPoke(
'specialWorldCmd',
substr($self->specialWorldCmd, 0, ((length ($self->specialWorldCmd)) - 1)),
);
}
return 1;
}
sub updateScrollButton {
# Called by GA::Table::Pane->toggleScrollLock and ->toggleSplitScreen, and by
# $self->setScrollSignals
# Updates the icon shown on the 'scroll lock' button, which indicates whether the scroll
# lock is applied to the active textview, or not
#
# Expected arguments
# (none besides $self)
#
# Optional arguments
lib/Games/Axmud/Strip.pm view on Meta::CPAN
),
);
}
$self->winObj->winShowAll($self->_objClass . '->updateScrollButton');
}
return 1;
}
sub updateSplitButton {
# Called by GA::Table::Pane->toggleSplitScreen
# Updates the icon shown on the 'split screen' button, which indicates whether the split
# screen is applied to the active textview, or not
#
# Expected arguments
# (none besides $self)
#
# Optional arguments
# $flag - TRUE if the split screen is applied on the active textview, FALSE if it is
lib/Games/Axmud/Strip.pm view on Meta::CPAN
),
);
}
$self->winObj->winShowAll($self->_objClass . '->updateSplitButton');
}
return 1;
}
sub updateConsoleButton {
# Called by GA::Session->add_systemMsg and ->reset_systemMsg
# The argument corresponds to the icon to draw on the console button
#
# Expected arguments
# $type - One of the strings 'empty', 'system', 'debug' or 'error', corresponding to
# one of the icons in ../share/icons/button that's used to draw the
# button when it's not flashing
#
# Optional arguments
lib/Games/Axmud/Table.pm view on Meta::CPAN
) {
$oldTabObj->session->set_currentTabObj($newTabObj);
}
# Operation complete
$self->ivPoke('tabConvertFlag', FALSE);
return 1;
}
sub updateColourScheme {
# Called by GA::Win::Internal->updateColourScheme (only)
# When a colour scheme is modified, checks all textview objects in this pane object and
# updates any that use the modified colour scheme. Alternatively, when no colour scheme is
# specified, updates all textview objects
#
# Expected arguments
# (none besides $self)
#
# Optional arguments
lib/Games/Axmud/Task.pm view on Meta::CPAN
$clone->{warningFlag} = $self->warningFlag;
# Cloning complete
return $clone;
}
# sub preserve {} # Inherited from generic task
# sub setParentFileObj {} # Inherited from generic task
# sub updateTaskLists {} # Inherited from generic task
# sub ttsReadAttrib {} # Inherited from generic task
# sub ttsSwitchFlagAttrib {} # Inherited from generic task
# sub ttsSetAlertAttrib {} # Inherited from generic task
##################
# Task windows
lib/Games/Axmud/Task.pm view on Meta::CPAN
# Preserve the command lists
$newTask->ivPoke('fightCmdList', $self->fightCmdList);
$newTask->ivPoke('interactCmdList', $self->interactCmdList);
$newTask->ivPoke('announceFlag', $self->announceFlag);
return 1;
}
# sub setParentFileObj {} # Inherited from generic task
# sub updateTaskLists {} # Inherited from generic task
# sub ttsReadAttrib {} # Inherited from generic task
# sub ttsSwitchFlagAttrib {} # Inherited from generic task
# sub ttsSetAlertAttrib {} # Inherited from generic task
##################
# Task windows
lib/Games/Axmud/Task.pm view on Meta::CPAN
# Preserve other customisation settings
$newTask->ivPoke('tabCloseButtonFlag', $self->tabCloseButtonFlag);
$newTask->ivPoke('capitaliseFlag', $self->capitaliseFlag);
$newTask->ivPoke('useColourStyleFlag', $self->useColourStyleFlag);
return 1;
}
# sub setParentFileObj {} # Inherited from generic task
# sub updateTaskLists {} # Inherited from generic task
# sub ttsReadAttrib {} # Inherited from generic task
# sub ttsSwitchFlagAttrib {} # Inherited from generic task
# sub ttsSetAlertAttrib {} # Inherited from generic task
##################
# Task windows
lib/Games/Axmud/Task.pm view on Meta::CPAN
$newTask->ivPoke('snoopColour', $self->snoopColour);
# Preserve the smiley settings
$newTask->ivPoke('allowSmileyFlag', $self->allowSmileyFlag);
$newTask->ivPoke('smileySizeFactor', $self->smileySizeFactor);
return 1;
}
# sub setParentFileObj {} # Inherited from generic task
# sub updateTaskLists {} # Inherited from generic task
# sub ttsReadAttrib {} # Inherited from generic task
sub ttsSwitchFlagAttrib {
# Called by GA::Cmd::Switch->do and PermSwitch->do
# Users can use the client command ';switch' to interact with individual tasks, typically
# telling them to turn on/off the automatic reading out of information (e.g. the Locator
# task can be told to start or stop reading out room titles as they are received from
# the world)
lib/Games/Axmud/Task.pm view on Meta::CPAN
$clone->{keypadHintHash} = {$self->keypadHintHash};
# Cloning complete
return $clone;
}
# sub preserve {} # Inherited from generic task
# sub setParentFileObj {} # Inherited from generic task
# sub updateTaskLists {} # Inherited from generic task
# sub ttsReadAttrib {} # Inherited from generic task
# sub ttsSwitchFlagAttrib {} # Inherited from generic task
# sub ttsSetAlertAttrib {} # Inherited from generic task
##################
# Task windows
lib/Games/Axmud/Task.pm view on Meta::CPAN
$newTask->ivPoke('firstCheckTime', $self->firstCheckTime);
$newTask->ivPoke('waitTime', $self->waitTime);
$newTask->ivPoke('ignoreCheckFlag', $self->ignoreCheckFlag);
$newTask->ivPoke('maxObjTime', $self->maxObjTime);
return 1;
}
# sub setParentFileObj {} # Inherited from generic task
# sub updateTaskLists {} # Inherited from generic task
# sub ttsReadAttrib {} # Inherited from generic task
# sub ttsSwitchFlagAttrib {} # Inherited from generic task
# sub ttsSetAlertAttrib {} # Inherited from generic task
##################
# Task windows
lib/Games/Axmud/Task.pm view on Meta::CPAN
# Preserve the command lists
$newTask->ivPoke('showInfoFlag', $self->showInfoFlag);
$newTask->ivPoke('useMacrosFlag', $self->useMacrosFlag);
$newTask->ivPoke('macroMode', $self->macroMode);
return 1;
}
# sub setParentFileObj {} # Inherited from generic task
# sub updateTaskLists {} # Inherited from generic task
# sub ttsReadAttrib {} # Inherited from generic task
# sub ttsSwitchFlagAttrib {} # Inherited from generic task
# sub ttsSetAlertAttrib {} # Inherited from generic task
##################
# Task windows
lib/Games/Axmud/Task.pm view on Meta::CPAN
# Task creation complete
return $self;
}
# sub clone {} # Inherited from generic task
# sub preserve {} # Inherited from generic task
# sub setParentFileObj {} # Inherited from generic task
# sub updateTaskLists {} # Inherited from generic task
# sub ttsReadAttrib {} # Inherited from generic task
# sub ttsSwitchFlagAttrib {} # Inherited from generic task
# sub ttsSetAlertAttrib {} # Inherited from generic task
##################
# Task windows
lib/Games/Axmud/Task.pm view on Meta::CPAN
$newTask->ivPoke('socialUrgencyFlag', $self->socialUrgencyFlag);
$newTask->ivPoke('customUrgencyFlag', $self->customUrgencyFlag);
$newTask->ivPoke('warningUrgencyFlag', $self->warningUrgencyFlag);
$newTask->ivPoke('otherUrgencyFlag', $self->otherUrgencyFlag);
return 1;
}
# sub setParentFileObj {} # Inherited from generic task
# sub updateTaskLists {} # Inherited from generic task
# sub ttsReadAttrib {} # Inherited from generic task
sub ttsSwitchFlagAttrib {
# Called by GA::Cmd::Switch->do and PermSwitch->do
# Users can use the client command ';switch' to interact with individual tasks, typically
# telling them to turn on/off the automatic reading out of information (e.g. the Locator
# task can be told to start or stop reading out room titles as they are received from
# the world)
lib/Games/Axmud/Task.pm view on Meta::CPAN
$newTask->ivPoke('leftPixels', $self->leftPixels);
$newTask->ivPoke('topPixels', $self->topPixels);
$newTask->ivPoke('widthPixels', $self->widthPixels);
$newTask->ivPoke('heightPixels', $self->heightPixels);
return 1;
}
# sub setParentFileObj {} # Inherited from generic task
# sub updateTaskLists {} # Inherited from generic task
# sub ttsReadAttrib {} # Inherited from generic task
# sub ttsSwitchFlagAttrib {} # Inherited from generic task
# sub ttsSetAlertAttrib {} # Inherited from generic task
##################
# Task windows
lib/Games/Axmud/Task.pm view on Meta::CPAN
# sacks). Don't preserve the previous inventory
$newTask->ivPoke('inventoryList', $self->inventoryList);
# Preserve the sensitivity at which objects are compared
$newTask->ivPoke('sensitivity', $self->sensitivity);
return 1;
}
# sub setParentFileObj {} # Inherited from generic task
# sub updateTaskLists {} # Inherited from generic task
# sub ttsReadAttrib {} # Inherited from generic task
# sub ttsSwitchFlagAttrib {} # Inherited from generic task
# sub ttsSetAlertAttrib {} # Inherited from generic task
##################
# Task windows
lib/Games/Axmud/Task.pm view on Meta::CPAN
# Store the timer
$self->ivAdd('timerHash', $cmd, $interfaceObj);
}
}
# Reset complete
return 1;
}
sub updateInventory {
# Called by $self->doStage at task stage 3 to update the character's inventory based on
# the information stored in $self->startStopList
#
# Expected arguments
# $worldObj - The current world profile object
#
# Return values
# 'undef' on improper arguments or if there is an error
# 1 otherwise
lib/Games/Axmud/Task.pm view on Meta::CPAN
}
# sub clone {} # Inherited from generic task
# sub preserve {} # Inherited from generic task
# sub preserve {} # Inherited from generic task
# sub setParentFileObj {} # Inherited from generic task
# sub updateTaskLists {} # Inherited from generic task
# sub ttsReadAttrib {} # Inherited from generic task
# sub ttsSwitchFlagAttrib {} # Inherited from generic task
# sub ttsSetAlertAttrib {} # Inherited from generic task
##################
# Task windows
lib/Games/Axmud/Task.pm view on Meta::CPAN
$newTask->ivPoke('combineCorpseFlag', $self->combineCorpseFlag);
$newTask->ivPoke('combineBodyPartFlag', $self->combineBodyPartFlag);
$newTask->ivPoke('showParsedFlag', $self->showParsedFlag);
$newTask->ivPoke('autoLookMode', $self->autoLookMode);
return 1;
}
# sub setParentFileObj {} # Inherited from generic task
# sub updateTaskLists {} # Inherited from generic task
sub ttsReadAttrib {
# Called by GA::Cmd::Read->do and PermRead->do
# Users can use the client command ';read' to interact with individual tasks, typically
# getting them to read out information (e.g. the Status task can read out current health
# points)
# The ';read' command is in the form ';read <attribute>' or ';read <attribute> <value>'.
# The ';read' command looks up the <attribute> in GA::Client->ttsAttribHash, which tells
# it which task to call
lib/Games/Axmud/Task.pm view on Meta::CPAN
# Task creation complete
return $self;
}
# sub clone {} # Inherited from generic task
# sub preserve {} # Inherited from generic task
# sub setParentFileObj {} # Inherited from generic task
# sub updateTaskLists {} # Inherited from generic task
# sub ttsReadAttrib {} # Inherited from generic task
# sub ttsSwitchFlagAttrib {} # Inherited from generic task
# sub ttsSetAlertAttrib {} # Inherited from generic task
##################
# Task windows
lib/Games/Axmud/Task.pm view on Meta::CPAN
$clone->{profNoteHash} = {$self->profNoteHash};
# Cloning complete
return $clone;
}
# sub preserve {} # Inherited from generic task
# sub setParentFileObj {} # Inherited from generic task
# sub updateTaskLists {} # Inherited from generic task
# sub ttsReadAttrib {} # Inherited from generic task
# sub ttsSwitchFlagAttrib {} # Inherited from generic task
# sub ttsSetAlertAttrib {} # Inherited from generic task
##################
# Task windows
lib/Games/Axmud/Task.pm view on Meta::CPAN
# Task creation complete
return $self;
}
# sub clone {} # Inherited from generic task
# sub preserve {} # Inherited from generic task
# sub setParentFileObj {} # Inherited from generic task
# sub updateTaskLists {} # Inherited from generic task
# sub ttsReadAttrib {} # Inherited from generic task
# sub ttsSwitchFlagAttrib {} # Inherited from generic task
# sub ttsSetAlertAttrib {} # Inherited from generic task
##################
# Task windows
lib/Games/Axmud/Task.pm view on Meta::CPAN
# Preserve 'forced window' mode; if the old task was started with a ';runscripttask -w', the
# new task should also be forced to open a task window
$newTask->ivPoke('forcedWindowFlag', $self->forcedWindowFlag);
return 1;
}
# sub setParentFileObj {} # Inherited from generic task
# sub updateTaskLists {} # Inherited from generic task
# sub ttsReadAttrib {} # Inherited from generic task
# sub ttsSwitchFlagAttrib {} # Inherited from generic task
# sub ttsSetAlertAttrib {} # Inherited from generic task
##################
# Task windows
lib/Games/Axmud/Task.pm view on Meta::CPAN
$newTask->ivPoke('counterStartTime', $self->counterStartTime);
# Preserve some gauge variables
$newTask->ivPoke('gaugeFlag', $self->gaugeFlag);
$newTask->ivPoke('gaugeValueFlag', $self->gaugeFlag);
return 1;
}
# sub setParentFileObj {} # Inherited from generic task
# sub updateTaskLists {} # Inherited from generic task
sub ttsReadAttrib {
# Called by GA::Cmd::Read->do and PermRead->do
# Users can use the client command ';read' to interact with individual tasks, typically
# getting them to read out information (e.g. the Status task can read out current health
# points)
# The ';read' command is in the form ';read <attribute>' or ';read <attribute> <value>'.
# The ';read' command looks up the <attribute> in GA::Client->ttsAttribHash, which tells
# it which task to call
lib/Games/Axmud/Task.pm view on Meta::CPAN
$self->_objClass . '->set_lifeStatusChangeFlag',
@_,
);
}
$self->ivPoke('lifeStatusChangeFlag', TRUE);
return 1;
}
sub update_profiles {
my ($self, $check) = @_;
# Check for improper arguments
if (defined $check) {
return $axmud::CLIENT->writeImproper($self->_objClass . '->update_profiles', @_);
}
if ($self->fightCountFlag || $self->interactCountFlag) {
lib/Games/Axmud/Task.pm view on Meta::CPAN
# The accessors for task settings are inherited from the generic task
##################
# Accessors - task parameters - get
sub cmdHash
{ my $self = shift; return %{$self->{cmdHash}}; }
sub timerHash
{ my $self = shift; return %{$self->{timerHash}}; }
sub updateFlag
{ $_[0]->{updateFlag} }
sub lifeStatusChangeFlag
{ $_[0]->{lifeStatusChangeFlag} }
sub healthChangeFlag
{ $_[0]->{healthChangeFlag} }
sub convertTimeFlag
{ $_[0]->{convertTimeFlag} }
sub allowColourFlag
{ $_[0]->{allowColourFlag} }
lib/Games/Axmud/Task.pm view on Meta::CPAN
$newTask->ivPoke('debugMode', $self->debugMode);
$newTask->ivPoke('improperMode', $self->improperMode);
$newTask->ivPoke('colourFlag', $self->colourFlag);
return 1;
}
# sub setParentFileObj {} # Inherited from generic task
# sub updateTaskLists {} # Inherited from generic task
# sub ttsReadAttrib {} # Inherited from generic task
# sub ttsSwitchFlagAttrib {} # Inherited from generic task
# sub ttsSetAlertAttrib {} # Inherited from generic task
##################
# Task windows
lib/Games/Axmud/Task.pm view on Meta::CPAN
# Task creation complete
return $self;
}
# sub clone {} # Inherited from generic task
# sub preserve {} # Inherited from generic task
# sub setParentFileObj {} # Inherited from generic task
# sub updateTaskLists {} # Inherited from generic task
# sub ttsReadAttrib {} # Inherited from generic task
# sub ttsSwitchFlagAttrib {} # Inherited from generic task
# sub ttsSetAlertAttrib {} # Inherited from generic task
##################
# Task windows
lib/Games/Axmud/Task.pm view on Meta::CPAN
# Preserve intervals before resetting the background colour
$newTask->ivPoke('channelsAlertInterval', $self->channelsAlertInterval);
$newTask->ivPoke('chatAlertInterval', $self->chatAlertInterval);
$newTask->ivPoke('divertAlertInterval', $self->divertAlertInterval);
return 1;
}
# sub setParentFileObj {} # Inherited from generic task
# sub updateTaskLists {} # Inherited from generic task
# sub ttsReadAttrib {} # Inherited from generic task
# sub ttsSwitchFlagAttrib {} # Inherited from generic task
# sub ttsSetAlertAttrib {} # Inherited from generic task
##################
# Task windows
lib/Games/Axmud/Win/Internal.pm view on Meta::CPAN
$self->ivPoke('altGrKeyFlag', FALSE);
$self->ivPoke('ctrlKeyFlag', FALSE);
$self->ivPoke('modifierKeyFlag', FALSE);
});
return 1;
}
# Other functions
sub updateColourScheme {
# Called by GA::Cmd::UpdateColourScheme->do (usually after a colour scheme is modified) and
# by GA::Cmd::SetXTerm->do (when the xterm colour cube is switched)
# Also called by $self->redrawWidgets, to neutralise Gtk3's charming tendency to redraw all
# our textviews the wrong colour
# Checks all textview objects in all pane objects in this window's Gtk3::Grid and updates
# colours for any textview objects that use the specified colour scheme
#
# Expected arguments
# (none besides $self)
lib/Games/Axmud/Win/Internal.pm view on Meta::CPAN
return undef;
}
} else {
# No connected sessions, allow the window to close
return 1;
}
}
sub updateGauges {
# Called by various functions as a shortcut to GA::Strip::GaugeBox->updateGauges
#
# Expected arguments
# (none besides $self)
#
# Return values
# 'undef' on improper arguments
# 1 otherwise
lib/Games/Axmud/Win/Map.pm view on Meta::CPAN
'info',
$msg,
'ok',
undef,
TRUE, # Preserve newline characters in $msg
);
return 1;
}
sub updateVisitsCallback {
# Called by $self->enableRoomsColumn, ->enableRoomsPopupMenu and ->drawMiscButtonSet
# Adjusts the number of character visits shown in the selected room(s)
# Normally, the current character's visits are changed. However, if $self->showChar is set,
# that character's visits are changed
#
# Expected arguments
# $mode - 'increase' to increase the number of visits by one, 'decrease' to decrease the
# visits by one, 'manual' to let the user enter a value manually, 'reset' to
# reset the number to zero
lib/Games/Axmud/Win/Map.pm view on Meta::CPAN
# drawing stack
$self->ivPoke('quickDrawFlag', FALSE);
# Further calls to this function and to $self->doDraw are now allowed
$self->ivPoke('delayDrawFlag', FALSE);
# Return control to the calling function, having drawn some (or possibly all) of the
# rooms, exits and/or labels waiting to be drawn
return 1;
}
sub updateSlaveInStack {
# Called by $self->doQuickDraw
# Canvas objects are arranged in a stack (so that labels are drawn above rooms). So that we
# can quickly position new canvas objects in that stick, we use a small number of
# invisible canvas objects. This function is called after (for example) all room boxes
# have been drawn, or all exits have been drawn, to move one of the invisible canvas
# objects to their correct stack position, which at the time of calling is at the top of
# the stack
#
# Expected arguments
lib/Games/Axmud/WizWin.pm view on Meta::CPAN
# Set the IV
$self->ivPoke($iv, @finalList);
# Update the hash of changed IVs
$self->ivAdd('ivChangeHash', $iv, TRUE);
});
return 1;
}
sub updateTextView {
# Called by $self->analysisPage and later pages
# Fills a Gtk3::TextView with the lines in a single component
#
# Expected arguments
# $textView - The Gtk3::TextView to fill up
# $component - The component to use - a key in $self->analysisHash
#
# Return values
# 'undef' on improper arguments
lib/Games/Axmud/WizWin.pm view on Meta::CPAN
# Not a duplicate
push (@$listRef, $newItem);
}
@$listRef = sort {length($b) <=> length($a)} (@$listRef);
$self->ivAdd('profUpdateHash', $iv, $listRef);
return 1;
}
sub updateProfileList {
# Called by $self->saveChanges
#
# Updates a world profile list IV with new values, preserving any existing ones. However,
# duplicate values are not added
#
# Expected arguments
# $profObj - The current world profile
# $iv - An IV in the current world profile
#
lib/Games/Axmud/WizWin.pm view on Meta::CPAN
# The component $name is available
return $name;
}
} until ($count >= 9999);
# Escape an (extremely unlikely) infinite loop by just using the name $type
return $type;
}
sub updateContentComponent {
# Called by $self->saveChanges
#
# $self->markerList contains the content marker patterns, e.g. 'is here' and 'are here'. The
# markers should also be added to components of the 'verb_content' and 'brief_content', by
# default (would be confusing for the user, if they had to do it themselves using the
# 'edit' window)
#
# Expected arguments
# $componentObj - The GA::Obj::Component to process (can be of any type, but only the
lib/Language/Axbasic.pm view on Meta::CPAN
# If the list was empty, make the first notification in the list, the current one
if ($self->currentNotification == -1) {
$self->ivPoke('currentNotification', 0);
}
return 1;
}
}
sub updateInterfaces {
# Called by the parent task, when it is paused and waiting for an interface to fire before
# resuming
# Causes this LA::Script to update its IVs to remove the interface
#
# Expected arguments
# $interfaceName - The name of the interface to remove
#
# Return values
# 'undef' on improper arguments