|
Base Item class. Uses the ItemData datablock for common properties. More...
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 | 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. |
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.
// 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; };
string Item::getLastStickyNormal | ( | ) |
Get the normal of the surface on which the object is stuck.
// Acquire the position where this Item is currently stuck
%stuckPosition = %item.getLastStickPos();
string Item::getLastStickyPos | ( | ) |
bool Item::isRotating | ( | ) |
Is the object still rotating?
// Query the item on if it is or is not rotating. %isRotating = %itemData.isRotating();
bool Item::isStatic | ( | ) |
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.
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. |
void Item::onLeaveLiquid | ( | string | objID, | |
string | liquidType | |||
) |
void Item::onStickyCollision | ( | string | objID | ) |
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.
objectID | ShapeBase object ID to disable collisions against. |
// 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);
bool Item::isRenderable [static] |
Disables rendering of all instances of this type.
Reimplemented from ShapeBase.
bool Item::isSelectable [static] |
Disables selection of all instances of this type.
Reimplemented from ShapeBase.
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.
bool Item::rotate |
If true, the object will automatically rotate around its Z axis.
bool Item::static |
If true, the object is not moving in the world (and will not be updated through the network).