Main   Class List   Namespace List   Online

Item Class Reference
[Game Objects]

Base Item class. Uses the ItemData datablock for common properties. More...

Inheritance diagram for Item:
Inheritance graph
[legend]

List of all members.

Public Member Functions

string getLastStickyNormal ()
 Get the normal of the surface on which the object is stuck.
string getLastStickyPos ()
 Get the position on the surface on which this Item is stuck.
bool isAtRest ()
 Is the object at rest (ie, no longer moving)?
bool isRotating ()
 Is the object still rotating?
bool isStatic ()
 Is the object static (ie, non-movable)?
bool setCollisionTimeout (int ignoreColObj=NULL)
 Temporarily disable collisions against a specific ShapeBase object.
Callbacks

void onEnterLiquid (string objID, string waterCoverage, string liquidType)
 Informs an Item object that it has entered liquid, along with information about the liquid type.
void onLeaveLiquid (string objID, string liquidType)
 Informs an Item object that it has left a liquid, along with information about the liquid type.
void onStickyCollision (string objID)
 Informs the Item object that it is now sticking to another object.

Public Attributes

Misc

bool rotate
 If true, the object will automatically rotate around its Z axis.
bool static
 If true, the object is not moving in the world (and will not be updated through the network).

Static Public Attributes

static bool isRenderable
 Disables rendering of all instances of this type.
static bool isSelectable
 Disables selection of all instances of this type.
static int maxWarpTicks
 When a warp needs to occur due to the client being too far off from the server, this is the maximum number of ticks we'll allow the client to warp to catch up.
static float minWarpTicks
 Fraction of tick at which instant warp occures on the client.

Detailed Description

Base Item class. Uses the ItemData datablock for common properties.

Items represent an object in the world, usually one that the player will interact with. One example is a health kit on the group that is automatically picked up when the player comes into contact with it.

Example:
// This is the "health patch" dropped by a dying player.
datablock ItemData(HealthKitPatch)
{
   // Mission editor category, this datablock will show up in the
   // specified category under the "shapes" root category.
   category = "Health";

   className = "HealthPatch";

   // Basic Item properties
   shapeFile = "art/shapes/items/patch/healthpatch.dts";
   mass = 2;
   friction = 1;
   elasticity = 0.3;
   emap = true;

   // Dynamic properties used by the scripts
   pickupName = "a health patch";
   repairAmount = 50;
};

%obj = new Item()
{
   dataBlock = HealthKitSmall;
   parentGroup = EWCreatorWindow.objectGroup;
   static = true;
   rotate = true;
};
See also:
ItemData

Member Function Documentation

string Item::getLastStickyNormal (  ) 

Get the normal of the surface on which the object is stuck.

Returns:
Returns The XYZ normal from where this Item is stuck.
Example:
// Acquire the position where this Item is currently stuck
%stuckPosition = %item.getLastStickPos();
Note:
Server side only.
string Item::getLastStickyPos (  ) 

Get the position on the surface on which this Item is stuck.

Returns:
Returns The XYZ position of where this Item is stuck.
Example:
// Acquire the position where this Item is currently stuck
%stuckPosition = %item.getLastStickPos();
Note:
Server side only.
bool Item::isAtRest (  ) 

Is the object at rest (ie, no longer moving)?

Returns:
True if the object is at rest, false if it is not.
Example:
// Query the item on if it is or is not at rest.
%isAtRest = %item.isAtRest();
bool Item::isRotating (  ) 

Is the object still rotating?

Returns:
True if the object is still rotating, false if it is not.
Example:
// Query the item on if it is or is not rotating.
%isRotating = %itemData.isRotating();
See also:
rotate
bool Item::isStatic (  ) 

Is the object static (ie, non-movable)?

Returns:
True if the object is static, false if it is not.
Example:
// Query the item on if it is or is not static.
%isStatic = %itemData.isStatic();
See also:
static
void Item::onEnterLiquid ( string  objID,
string  waterCoverage,
string  liquidType 
)

Informs an Item object that it has entered liquid, along with information about the liquid type.

Parameters:
objID Object ID for this Item object.
waterCoverage How much coverage of water this Item object has.
liquidType The type of liquid that this Item object has entered.
Note:
Server side only.
See also:
Item, ItemData, WaterObject
void Item::onLeaveLiquid ( string  objID,
string  liquidType 
)

Informs an Item object that it has left a liquid, along with information about the liquid type.

Parameters:
objID Object ID for this Item object.
liquidType The type of liquid that this Item object has left.
Note:
Server side only.
See also:
Item, ItemData, WaterObject
void Item::onStickyCollision ( string  objID  ) 

Informs the Item object that it is now sticking to another object.

This callback is only called if the ItemData::sticky property for this Item is true.

Parameters:
objID Object ID this Item object.
Note:
Server side only.
See also:
Item, ItemData
bool Item::setCollisionTimeout ( int  ignoreColObj = NULL  ) 

Temporarily disable collisions against a specific ShapeBase object.

This is useful to prevent a player from immediately picking up an Item they have just thrown. Only one object may be on the timeout list at a time. The timeout is defined as 15 ticks.

Parameters:
objectID ShapeBase object ID to disable collisions against.
Returns:
Returns true if the ShapeBase object requested could be found, false if it could not.
Example:
// Set the ShapeBase Object ID to disable collisions against
%ignoreColObj = %player.getID();

// Inform this Item object to ignore collisions temproarily against the %ignoreColObj.
%item.setCollisionTimeout(%ignoreColObj);

Member Data Documentation

int Item::maxWarpTicks [static]

When a warp needs to occur due to the client being too far off from the server, this is the maximum number of ticks we'll allow the client to warp to catch up.

float Item::minWarpTicks [static]

Fraction of tick at which instant warp occures on the client.

If true, the object will automatically rotate around its Z axis.

If true, the object is not moving in the world (and will not be updated through the network).



Copyright © GarageGames, LLC. All Rights Reserved.