Games-Axmud

 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



( run in 0.708 second using v1.01-cache-2.11-cpan-4d4bc49f3ae )