rokojori-godot/rokojori-action-library-def.../__Example.json

99 lines
2.5 KiB
JSON

{
// 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<T>" is important
"doStuff():Ref<Node>" : {},
"doStuff():Ref<Resource>" : {},
// Parameters
"somethingWithParameters():Ref<Node>" : { "id":"int", "reference":"Ref<Resource>" },
// --------------------------------------------------------------------
// [ 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" : {},
}
}