%
% 	moz - The Moo in OZ project.
%	Version: 1.0.C025
% 	Copyright (C) 2002 Robin Lee Powell.  All rights reserved.
% 	Written by rlpowell@digitalkingdom.org
% 
% 	Redistribution and use in source and binary forms, with or without
% 	modification, are permitted provided that the following conditions are
% 	met:
% 	
% 	 1. Redistributions of source code must retain the above copyright
% 	 notice, this list of conditions and the following disclaimer.
% 	
% 	 2. Redistributions in binary form must reproduce the above copyright
% 	 notice, this list of conditions and the following disclaimer in the
% 	 documentation and/or other materials provided with the distribution.
% 	
% 	THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
% 	IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
% 	WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
% 	DISCLAIMED. IN NO EVENT SHALL THE AUTHER OR CONTRIBUTORS BE LIABLE FOR
% 	ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
% 	DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
% 	OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
% 	HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
% 	STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
% 	ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
% 	POSSIBILITY OF SUCH DAMAGE.
%
Mobile = class $ from Located
    %%%%%%%%%
    %
    % Properties
    %
    %%%%%%%%%

    %%%%%%%%%%%%%%
    %
    % Features
    %
    %%%%%%%%%%%%%%
    feat

	% The list of things that the Server class saves.
	% ozName#name description#string name#string 
	exports: Located.exports

	% The list of methods we allow the outside world to see, at
	% least potentially.
	methodList: {Append
	    Located.methodList
	    [ setLocation ]
	}

	% The name of this class.
	className: 'Mobile'

    %%%%%%%%%%%%%%
    %
    % Methods
    %
    %%%%%%%%%%%%%%


    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    %
    % init:
    %
    % One-time object initialization sets various values.
    %
    % ozName:  Our new Oz name.
    %
    % storage:  An object record for the Storage object.
    %
    % name:  Our printable name.
    %
    % description:  Our description.
    %
    % location:  Our location.
    %
    %%%%%%%%%%%%%%%%%%%%
    meth init( location: Location <= nil
                ... ) = InitHead
        Located, InitHead

        % I know this looks wierd, but remember that only the
        % object's location normally gets these capabilities at all,
        % and it needs to be able to move the object around.
        {self addPublicMethod( method: setLocation ) }

        %%%%%%%%%
        % Here we add our various verbs.
        %%%%%%%%%


    end






    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    %
    % start:
    %
    % Called whenever the object is loaded or re-loaded.
    % 
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    meth start( ... )
	skip
    end


    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    %
    % stop:
    %
    % Stops any processing that may have been started by start.
    %
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    meth stop( ... )
	skip
    end


    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    %
    % setLocation
    %
    % Arguments:
    %
    % location:  The object record to set this location's location to.
    %
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    meth setLocation( location: Location ... )
	location <- Location
    end


    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    %
    %           Verb-Related Methods
    %
    % These are all the methods that are used to implement the various verbs
    % on the parser class.
    %
    % Standard Arguments:
    %
    % caller:   The objectRef for the calling object.
    % player:   The objectRef for the player object.
    % language: The language of the verb itself, for when the player is
    %           able to run verbs in multiple languages (i.e. help has
    %           language en, sidju has language lb).
    % result:   The result of the verb, a record like
    %    result(
    %       status: success|failure|other  -- default success
    %       certainty: float from 0 through 1  -- default 1
    %       comments: <string> -- default nil, only relevant for failure
    %    )
    %  See programmer's guide for more information.
    %
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%



end
