{ // Define ClassName and BaseClass, // .. => Node, Resource and RJ classes will be included automatically "class":"ClassName:BaseClass", // Includes needed for members "includes":[ "./RJAction.h" ], // Protected member definitions "protected": { // same as public, see below }, // Public member definitions "public": { // -------------------------------------------------------------------- // [ V A R I A B L E S ] // -------------------------------------------------------------------- // float "number": 0, // int "counter": "int", // bool "isOn": false, // string "name": "String", // Vector3 "position": "Vector3", // Quaternion "rotation": "Quaternion", // -------------------------------------------------------------------- // [ M E T H O D S ] // -------------------------------------------------------------------- // methods can be overwritten and are virtual by default "doStuff()" : {}, // this is the same as the above "virtual doStuff()" : {}, // method that is not virtual "final doStuff()" : {}, // Static methods are available without instance "static doStuff()" : {}, // Without return or parameters "doStuff()" : {}, // With value return but without parameters "doStuff():int" : {}, // With reference return but without parameters, // "Ref" is important "doStuff():Ref" : {}, "doStuff():Ref" : {}, // Parameters "somethingWithParameters():Ref" : { "id":"int", "reference":"Ref" }, // -------------------------------------------------------------------- // [ S I G N A L S ] // -------------------------------------------------------------------- // Signals are return-less callbacks, which can have input parameters "signal onEvent()" : { "callbackID": "int" }, // -------------------------------------------------------------------- // [ A C T I O N ] (RJAction) // -------------------------------------------------------------------- // RJActions are signals without input parameters and can be assigned in the editor // This function will create a reference for the action and create // setters/getters for it and additionally creates a signal. // Should not have a "on" before the name, since this will be added. // The class will have a signal 'changed' and an RJAction 'onChanged' "action changed" : {}, } }