Difference between revisions of "Oolite JavaScript OM Specification"
From Elite Wiki
m (Added Category:Oolite Development and WIP note.) |
(Changed properties/instance variables to be consistently lowercase.) |
||
Line 16: | Line 16: | ||
class Commodity | class Commodity | ||
{ | { | ||
− | readonly string | + | readonly string name; |
readonly integer unitofMass; // grams, kgs, tons | readonly integer unitofMass; // grams, kgs, tons | ||
} | } | ||
Line 74: | Line 74: | ||
float getDistanceFrom(Entity other); | float getDistanceFrom(Entity other); | ||
− | void | + | void noto(Vector3 destination); |
− | void | + | void notoEntity(Entity other, integer minimumDistance); |
// These methods return the ID of the launched entity, or -1 on error or if the target vessel cannot | // These methods return the ID of the launched entity, or -1 on error or if the target vessel cannot |
Revision as of 19:27, 31 March 2007
Use this page to define the object model exposed by Oolite to the JavaScript interpreter.
Note: this is a work in progress. It should not be taken as a final specification.
class Vector3 { float x, z, y; } class Quaternion { float x, y, z, w; } class Commodity { readonly string name; readonly integer unitofMass; // grams, kgs, tons } class Consignment { Commodity commodity; float quantity; } class Entity { readonly integer ID; readonly Entity[] subentities; Vector3 position; Vector3 velocity; Quaternion rotation; // some property to set change in rotation per second? static Entity getEntityWithID(integer ID); void setAI(string AIName); void pushAI(string AIName); void popAI(); } // Note all methods which take an Entity as an argument can also accept an entity ID instead. class Vessel { float foreShieldStrength; float aftShieldStrength; float energy; float foreShieldMaxStrength; float aftShieldMaxStrength; float maxEnergy; // something measure of max and current hull integrity? // need to represent docking ports somehow float cabinTemperature; integer maxCargoCapacity; integer freeCargoCapacity; Consignment[] cargo; Entity currentTarget; Entity[] escorts; string roleName; string commanderName; // short form of getScanClassRelativeTo(0) - ie the player integer getScanClass(); integer getScanClassRelativeTo(Entity other); float getDistanceFrom(Entity other); void noto(Vector3 destination); void notoEntity(Entity other, integer minimumDistance); // These methods return the ID of the launched entity, or -1 on error or if the target vessel cannot // launch other vessels. integer launchVesselWithRole(string role); integer launchVesselWithName(string name); }