Difference between revisions of "Oolite JavaScript Reference: Entity"

From Elite Wiki
m (Removed link to junk category Oolite Development.)
(Methods: Added call().)
Line 68: Line 68:
 
boolean valid()
 
boolean valid()
 
Returns <code>true</code> if the target is a valid entity variable, <code>false</code> if it is [[#Stale References|stale]].
 
Returns <code>true</code> if the target is a valid entity variable, <code>false</code> if it is [[#Stale References|stale]].
  +
  +
=== <code>call</code> ===
  +
call(methodName, ...)
  +
Call a method on the underlying Objective-C class. This is the same approach taken by script actions in plist scripts and AI actions in AI plists. The first argument is the name of the method to call. If the method takes a parameter (in which case it will end with a colon), any number of additional arguments may be specified; these will be concatenated together, separated by spaces, and passed the requested method. If the underlying method returns a value, it will be returned from <code>call()</code>, otherwise the result will be <code>undefined</code>.
   
   

Revision as of 18:04, 2 August 2007

The Entity class represents an object in the game universe – Vessels, Stations and CelestialBodys are common types of entity. Note that these more specific types have additional properties and methods.

Stale References

When an entity dies or is otherwise removed from the game universe (for instance, because player jumped from the system), existing Entity variables referring to the entity become invalid; all their properties become undefined, and their methods do nothing. In addition to the undefined properties, this can be detected with the valid() method.

Universal IDs

Every Entity has an unique universal ID. All Oolite-provided functions which take an Entity as an argument may also be passed an integer representing the Entity’s ID.

Properties

ID

ID [read-only integer]

The universal ID of the entity.

position

position [read-only Vector]

The position of the entity in system co-ordinates.

See Also: setPosition()

orientation

orientation [read-only Quaternion]

The spacial orientation of the entity.

See Also: setOrientation()

heading

heading [read-only Vector]

The heading of the entity. This is equivalent to orientation, but ignoring the axial twist component (roll in the case of a ship).

entity.heading() is equivalent to entity.orientation.forwardVector().

status

status [read-only string]

The current status of the entity (such as “STATUS_IN_FLIGHT” and “STATUS_BEING_SCOOPED”).

scanClass

scanClass [read-only string]

The current scan class of the entity (such as “CLASS_NEUTRAL” and “CLASS_CARGO”).

mass

mass [read-only double]

The mass of the entity. Currently, this is directly proportional to the volume.

owner

owner [read-only Entity]

The entity which owns this one. In the case of a subentity, the entity to which it is attached. In the case of a defense ship, the station it belongs to. In the case of a missile, the ship that launched it. There may be other uses.

energy

energy [read-write double]

The entity’s total energy; ranges from 0 to maxEnergy.

maxEnergy

maxEnergy [read-only double]

The highest permissible value of energy.

Methods

setPosition

void setPosition(vectorExpression)

Instantaneously move the entity to the specified position.

setOrientation

void setOrientation(quaternionExpression)

Instantaneously rotate the entity to the specified orientation.

valid

boolean valid()

Returns true if the target is a valid entity variable, false if it is stale.

call

call(methodName, ...)

Call a method on the underlying Objective-C class. This is the same approach taken by script actions in plist scripts and AI actions in AI plists. The first argument is the name of the method to call. If the method takes a parameter (in which case it will end with a colon), any number of additional arguments may be specified; these will be concatenated together, separated by spaces, and passed the requested method. If the underlying method returns a value, it will be returned from call(), otherwise the result will be undefined.