Difference between revisions of "Oolite JavaScript OM Specification"
From Elite Wiki
m |
m (Added Category:Oolite Development and WIP note.) |
||
Line 1: | Line 1: | ||
Use this page to define the object model exposed by Oolite to the JavaScript interpreter. | 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. | |
+ | |||
+ | <pre> | ||
class Vector3 | class Vector3 | ||
{ | { | ||
Line 80: | Line 82: | ||
integer launchVesselWithName(string name); | integer launchVesselWithName(string name); | ||
} | } | ||
− | </pre> | + | </pre> |
+ | |||
+ | [[Category:Oolite Development]] |
Revision as of 17:15, 25 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 Goto(Vector3 destination); void GotoEntity(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); }