entities become self-aware of init state
parent
823dcdbf14
commit
f6978c091e
|
@ -32,10 +32,15 @@
|
||||||
let image = new R3.Image();
|
let image = new R3.Image();
|
||||||
let slider = new R3.Entity.Slider(
|
let slider = new R3.Entity.Slider(
|
||||||
{
|
{
|
||||||
canvas : canvas,
|
canvas : null
|
||||||
images : [image]
|
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
slider.canvas = canvas;
|
||||||
|
slider.images = [image];
|
||||||
|
slider.canvas = null;
|
||||||
|
slider.canvas = canvas;
|
||||||
|
slider.images = [image];
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
class R3 {
|
class R3 {
|
||||||
static version = '3.0.17';
|
static version = '3.0.58';
|
||||||
static compileDate = '2021 Sep 22 - 14:41:58 pm';
|
static compileDate = '2021 Sep 23 - 11:36:17 am';
|
||||||
}
|
}
|
||||||
|
|
||||||
class Runtime {
|
class Runtime {
|
||||||
|
@ -1153,6 +1153,8 @@ class SystemInput extends System {
|
||||||
*/
|
*/
|
||||||
static OnSliderEntityInitialized(object) {
|
static OnSliderEntityInitialized(object) {
|
||||||
|
|
||||||
|
console.log('Slider Entity Initialized');
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1356,6 +1358,11 @@ class SystemLinking extends System {
|
||||||
SystemLinking.OnCreateInstanceBefore
|
SystemLinking.OnCreateInstanceBefore
|
||||||
);
|
);
|
||||||
|
|
||||||
|
SystemLinking.Subscriptions['ENTITY_PROPERTY_UPDATE'] = Event.Subscribe(
|
||||||
|
Event.ENTITY_PROPERTY_UPDATE,
|
||||||
|
SystemLinking.OnEntityPropertyUpdate
|
||||||
|
);
|
||||||
|
|
||||||
SystemLinking.Started = true;
|
SystemLinking.Started = true;
|
||||||
|
|
||||||
console.log('Started system: SystemLinking');
|
console.log('Started system: SystemLinking');
|
||||||
|
@ -1384,6 +1391,9 @@ class SystemLinking extends System {
|
||||||
SystemLinking.Subscriptions['CREATE_INSTANCE_BEFORE'].remove();
|
SystemLinking.Subscriptions['CREATE_INSTANCE_BEFORE'].remove();
|
||||||
delete SystemLinking.Subscriptions['CREATE_INSTANCE_BEFORE'];
|
delete SystemLinking.Subscriptions['CREATE_INSTANCE_BEFORE'];
|
||||||
|
|
||||||
|
SystemLinking.Subscriptions['ENTITY_PROPERTY_UPDATE'].remove();
|
||||||
|
delete SystemLinking.Subscriptions['ENTITY_PROPERTY_UPDATE'];
|
||||||
|
|
||||||
SystemLinking.Started = false;
|
SystemLinking.Started = false;
|
||||||
|
|
||||||
console.log('Stopped system: SystemLinking');
|
console.log('Stopped system: SystemLinking');
|
||||||
|
@ -1477,6 +1487,37 @@ class SystemLinking extends System {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* OnEntityPropertyUpdate()
|
||||||
|
* - Listens to events of type Event.ENTITY_PROPERTY_UPDATE and executes this function.
|
||||||
|
* @param object (The event data passed as argument - typically an R3Object)
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
static OnEntityPropertyUpdate(object) {
|
||||||
|
|
||||||
|
console.log('Entity object update', object);
|
||||||
|
console.log('canvas = ' + object.entity.canvas);
|
||||||
|
console.log('images = ' + object.entity.images);
|
||||||
|
|
||||||
|
if (!object.entity.underConstruction) {
|
||||||
|
object.entity.initializeDepth = 0;
|
||||||
|
object.entity.initialize();
|
||||||
|
|
||||||
|
if (object.entity.started && !object.entity.initialized) {
|
||||||
|
object.entity.stop();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// if (!object.entity.initialized) {
|
||||||
|
// object.entity.initialize();
|
||||||
|
// } else {
|
||||||
|
// object.entity.stop();
|
||||||
|
// }
|
||||||
|
// object.entity.initialize();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -2299,40 +2340,41 @@ Event.DISPOSE_OBJECT = 0x7;
|
||||||
Event.DOM_COMPONENT_INITIALIZED = 0x8;
|
Event.DOM_COMPONENT_INITIALIZED = 0x8;
|
||||||
Event.ENTITY_CREATED = 0x9;
|
Event.ENTITY_CREATED = 0x9;
|
||||||
Event.ENTITY_INITIALIZED = 0xa;
|
Event.ENTITY_INITIALIZED = 0xa;
|
||||||
Event.ENTITY_STARTED = 0xb;
|
Event.ENTITY_PROPERTY_UPDATE = 0xb;
|
||||||
Event.GET_API_URL = 0xc;
|
Event.ENTITY_STARTED = 0xc;
|
||||||
Event.GET_RUNTIME = 0xd;
|
Event.GET_API_URL = 0xd;
|
||||||
Event.GET_WINDOW_SIZE = 0xe;
|
Event.GET_RUNTIME = 0xe;
|
||||||
Event.GRAPHICS_COMPONENT_INITIALIZED = 0xf;
|
Event.GET_WINDOW_SIZE = 0xf;
|
||||||
Event.IMAGE_COMPONENT_INITIALIZED = 0x10;
|
Event.GRAPHICS_COMPONENT_INITIALIZED = 0x10;
|
||||||
Event.IMAGE_INSTANCE_CREATED = 0x11;
|
Event.IMAGE_COMPONENT_INITIALIZED = 0x11;
|
||||||
Event.INPUT_COMPONENT_INITIALIZED = 0x12;
|
Event.IMAGE_INSTANCE_CREATED = 0x12;
|
||||||
Event.INSTANCE_CREATED = 0x13;
|
Event.INPUT_COMPONENT_INITIALIZED = 0x13;
|
||||||
Event.INSTANCE_DISPOSED = 0x14;
|
Event.INSTANCE_CREATED = 0x14;
|
||||||
Event.KEYBOARD_DOWN = 0x15;
|
Event.INSTANCE_DISPOSED = 0x15;
|
||||||
Event.KEYBOARD_UP = 0x16;
|
Event.KEYBOARD_DOWN = 0x16;
|
||||||
Event.MOUSE_DOWN = 0x17;
|
Event.KEYBOARD_UP = 0x17;
|
||||||
Event.MOUSE_MOVE = 0x18;
|
Event.MOUSE_DOWN = 0x18;
|
||||||
Event.MOUSE_UP = 0x19;
|
Event.MOUSE_MOVE = 0x19;
|
||||||
Event.MOUSE_WHEEL = 0x1a;
|
Event.MOUSE_UP = 0x1a;
|
||||||
Event.OBJECT_CREATED = 0x1b;
|
Event.MOUSE_WHEEL = 0x1b;
|
||||||
Event.OBJECT_INITIALIZED = 0x1c;
|
Event.OBJECT_CREATED = 0x1c;
|
||||||
Event.PAUSE = 0x1d;
|
Event.OBJECT_INITIALIZED = 0x1d;
|
||||||
Event.PROJECT_INITIALIZED = 0x1e;
|
Event.PAUSE = 0x1e;
|
||||||
Event.RESTART = 0x1f;
|
Event.PROJECT_INITIALIZED = 0x1f;
|
||||||
Event.SLIDER_ENTITY_INITIALIZED = 0x20;
|
Event.RESTART = 0x20;
|
||||||
Event.START = 0x21;
|
Event.SLIDER_ENTITY_INITIALIZED = 0x21;
|
||||||
Event.TOUCH_CANCEL = 0x22;
|
Event.START = 0x22;
|
||||||
Event.TOUCH_END = 0x23;
|
Event.TOUCH_CANCEL = 0x23;
|
||||||
Event.TOUCH_MOVE = 0x24;
|
Event.TOUCH_END = 0x24;
|
||||||
Event.TOUCH_START = 0x25;
|
Event.TOUCH_MOVE = 0x25;
|
||||||
Event.UPDATE_FROM_INSTANCE_AFTER = 0x26;
|
Event.TOUCH_START = 0x26;
|
||||||
Event.UPDATE_FROM_INSTANCE_BEFORE = 0x27;
|
Event.UPDATE_FROM_INSTANCE_AFTER = 0x27;
|
||||||
Event.UPDATE_INSTANCE_AFTER = 0x28;
|
Event.UPDATE_FROM_INSTANCE_BEFORE = 0x28;
|
||||||
Event.UPDATE_INSTANCE_BEFORE = 0x29;
|
Event.UPDATE_INSTANCE_AFTER = 0x29;
|
||||||
Event.UPDATE_INSTANCE_PROPERTY = 0x2a;
|
Event.UPDATE_INSTANCE_BEFORE = 0x2a;
|
||||||
Event.UPDATE_PROPERTY_FROM_INSTANCE = 0x2b;
|
Event.UPDATE_INSTANCE_PROPERTY = 0x2b;
|
||||||
Event.MAX_EVENTS = 0x2c;
|
Event.UPDATE_PROPERTY_FROM_INSTANCE = 0x2c;
|
||||||
|
Event.MAX_EVENTS = 0x2d;
|
||||||
|
|
||||||
Event.GetEventName = function(eventId) {
|
Event.GetEventName = function(eventId) {
|
||||||
|
|
||||||
|
@ -2347,39 +2389,40 @@ Event.GetEventName = function(eventId) {
|
||||||
case 0x8 : return 'dom_component_initialized';
|
case 0x8 : return 'dom_component_initialized';
|
||||||
case 0x9 : return 'entity_created';
|
case 0x9 : return 'entity_created';
|
||||||
case 0xa : return 'entity_initialized';
|
case 0xa : return 'entity_initialized';
|
||||||
case 0xb : return 'entity_started';
|
case 0xb : return 'entity_property_update';
|
||||||
case 0xc : return 'get_api_url';
|
case 0xc : return 'entity_started';
|
||||||
case 0xd : return 'get_runtime';
|
case 0xd : return 'get_api_url';
|
||||||
case 0xe : return 'get_window_size';
|
case 0xe : return 'get_runtime';
|
||||||
case 0xf : return 'graphics_component_initialized';
|
case 0xf : return 'get_window_size';
|
||||||
case 0x10 : return 'image_component_initialized';
|
case 0x10 : return 'graphics_component_initialized';
|
||||||
case 0x11 : return 'image_instance_created';
|
case 0x11 : return 'image_component_initialized';
|
||||||
case 0x12 : return 'input_component_initialized';
|
case 0x12 : return 'image_instance_created';
|
||||||
case 0x13 : return 'instance_created';
|
case 0x13 : return 'input_component_initialized';
|
||||||
case 0x14 : return 'instance_disposed';
|
case 0x14 : return 'instance_created';
|
||||||
case 0x15 : return 'keyboard_down';
|
case 0x15 : return 'instance_disposed';
|
||||||
case 0x16 : return 'keyboard_up';
|
case 0x16 : return 'keyboard_down';
|
||||||
case 0x17 : return 'mouse_down';
|
case 0x17 : return 'keyboard_up';
|
||||||
case 0x18 : return 'mouse_move';
|
case 0x18 : return 'mouse_down';
|
||||||
case 0x19 : return 'mouse_up';
|
case 0x19 : return 'mouse_move';
|
||||||
case 0x1a : return 'mouse_wheel';
|
case 0x1a : return 'mouse_up';
|
||||||
case 0x1b : return 'object_created';
|
case 0x1b : return 'mouse_wheel';
|
||||||
case 0x1c : return 'object_initialized';
|
case 0x1c : return 'object_created';
|
||||||
case 0x1d : return 'pause';
|
case 0x1d : return 'object_initialized';
|
||||||
case 0x1e : return 'project_initialized';
|
case 0x1e : return 'pause';
|
||||||
case 0x1f : return 'restart';
|
case 0x1f : return 'project_initialized';
|
||||||
case 0x20 : return 'slider_entity_initialized';
|
case 0x20 : return 'restart';
|
||||||
case 0x21 : return 'start';
|
case 0x21 : return 'slider_entity_initialized';
|
||||||
case 0x22 : return 'touch_cancel';
|
case 0x22 : return 'start';
|
||||||
case 0x23 : return 'touch_end';
|
case 0x23 : return 'touch_cancel';
|
||||||
case 0x24 : return 'touch_move';
|
case 0x24 : return 'touch_end';
|
||||||
case 0x25 : return 'touch_start';
|
case 0x25 : return 'touch_move';
|
||||||
case 0x26 : return 'update_from_instance_after';
|
case 0x26 : return 'touch_start';
|
||||||
case 0x27 : return 'update_from_instance_before';
|
case 0x27 : return 'update_from_instance_after';
|
||||||
case 0x28 : return 'update_instance_after';
|
case 0x28 : return 'update_from_instance_before';
|
||||||
case 0x29 : return 'update_instance_before';
|
case 0x29 : return 'update_instance_after';
|
||||||
case 0x2a : return 'update_instance_property';
|
case 0x2a : return 'update_instance_before';
|
||||||
case 0x2b : return 'update_property_from_instance';
|
case 0x2b : return 'update_instance_property';
|
||||||
|
case 0x2c : return 'update_property_from_instance';
|
||||||
default :
|
default :
|
||||||
throw new Error('Event type not defined : ' + eventId);
|
throw new Error('Event type not defined : ' + eventId);
|
||||||
}
|
}
|
||||||
|
@ -2610,9 +2653,10 @@ class Entity extends R3Object {
|
||||||
*/
|
*/
|
||||||
initialize() {
|
initialize() {
|
||||||
|
|
||||||
this.initialized = true;
|
this.setInitialized();
|
||||||
|
if (this.initialized) {
|
||||||
this.checkRequirements();
|
Event.Emit(Event.ENTITY_INITIALIZED, this);
|
||||||
|
}
|
||||||
|
|
||||||
if (this.initializeDepth === this.maxDepth) {
|
if (this.initializeDepth === this.maxDepth) {
|
||||||
throw new Error('You should not try to instantiate this base class - extend it rather...');
|
throw new Error('You should not try to instantiate this base class - extend it rather...');
|
||||||
|
@ -2623,14 +2667,82 @@ class Entity extends R3Object {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* checkRequirements()
|
* setInitialized()
|
||||||
* - Checks whether all required components are initialized before triggering an Event.ENTITY_INITIALIZED
|
* - Checks whether all required components are initialized before triggering an Event.ENTITY_INITIALIZED
|
||||||
*/
|
*/
|
||||||
checkRequirements() {
|
setInitialized() {
|
||||||
|
|
||||||
//TODO: Check all required components have initialized - once this is the case - fire an Event.ENTITY_INITIALIZED
|
let ready = true;
|
||||||
|
for (let property in this.required) {
|
||||||
|
if (this.required.hasOwnProperty(property)) {
|
||||||
|
|
||||||
Event.Emit(Event.ENTITY_INITIALIZED, this);
|
console.log('checking requirements for ' + property);
|
||||||
|
|
||||||
|
let initialized = true;
|
||||||
|
|
||||||
|
if (this.required[property] instanceof Array) {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* First we need to check if we have this array defined
|
||||||
|
*/
|
||||||
|
if (!(this[property] instanceof Array)) {
|
||||||
|
throw new Error('The property ' + property + ' of this object was not properly defined');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this[property].length === 0) {
|
||||||
|
initialized = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
let isInstance = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check all properties are an instance of this.required[property]
|
||||||
|
*/
|
||||||
|
for (let i = 0; i < this[property].length; i++) {
|
||||||
|
this.required[property].map(
|
||||||
|
function(constructor) {
|
||||||
|
if (this[property][i] instanceof constructor) {
|
||||||
|
isInstance = true;
|
||||||
|
}
|
||||||
|
}.bind(this)
|
||||||
|
);
|
||||||
|
|
||||||
|
if (!isInstance) {
|
||||||
|
throw new Error('The property ' + property + ' of this object is not of the correct type');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (let i = 0; i < this[property].length; i++) {
|
||||||
|
if (this[property][i].initialized !== true) {
|
||||||
|
initialized = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
if (this[property] === null) {
|
||||||
|
initialized = false;
|
||||||
|
} else {
|
||||||
|
|
||||||
|
if (typeof this[property] === 'undefined') {
|
||||||
|
throw new Error('The ' + property + ' was not properly defined');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this[property].initialized !== true) {
|
||||||
|
initialized = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!initialized) {
|
||||||
|
ready = false;
|
||||||
|
console.log('This property ' + property + ' is not yet initialized');
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
this.initialized = ready;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2829,13 +2941,64 @@ class EntitySlider extends Entity {
|
||||||
* images - We need a list of at least one image which to slide
|
* images - We need a list of at least one image which to slide
|
||||||
*/
|
*/
|
||||||
options.required.images = [R3.Image];
|
options.required.images = [R3.Image];
|
||||||
/**
|
this.imagesBackup = options.images;
|
||||||
|
Object.defineProperty(
|
||||||
|
this,
|
||||||
|
'images',
|
||||||
|
{
|
||||||
|
configurable : true,
|
||||||
|
enumerable : true,
|
||||||
|
set: function(x) {
|
||||||
|
this.imagesBackup = x;
|
||||||
|
Event.Emit(
|
||||||
|
Event.ENTITY_PROPERTY_UPDATE,
|
||||||
|
{
|
||||||
|
entity : this,
|
||||||
|
property : 'images',
|
||||||
|
value : x
|
||||||
|
}
|
||||||
|
);
|
||||||
|
return x;
|
||||||
|
},
|
||||||
|
get : function() {
|
||||||
|
return this.imagesBackup;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
) /**
|
||||||
* canvas - We need a canvas to attach our Input events
|
* canvas - We need a canvas to attach our Input events
|
||||||
*/
|
*/
|
||||||
options.required.canvas = R3.Canvas;
|
options.required.canvas = R3.Canvas;
|
||||||
|
this.canvasBackup = options.canvas;
|
||||||
|
Object.defineProperty(
|
||||||
|
this,
|
||||||
|
'canvas',
|
||||||
|
{
|
||||||
|
configurable : true,
|
||||||
|
enumerable : true,
|
||||||
|
set: function(x) {
|
||||||
|
this.canvasBackup = x;
|
||||||
|
Event.Emit(
|
||||||
|
Event.ENTITY_PROPERTY_UPDATE,
|
||||||
|
{
|
||||||
|
entity : this,
|
||||||
|
property : 'canvas',
|
||||||
|
value : x
|
||||||
|
}
|
||||||
|
);
|
||||||
|
return x;
|
||||||
|
},
|
||||||
|
get : function() {
|
||||||
|
return this.canvasBackup;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
this.underConstruction = true;
|
||||||
|
|
||||||
Object.assign(this, options);
|
Object.assign(this, options);
|
||||||
|
|
||||||
|
this.underConstruction = false;
|
||||||
|
|
||||||
if (options.callDepth === 0) {
|
if (options.callDepth === 0) {
|
||||||
this.initialize();
|
this.initialize();
|
||||||
} else {
|
} else {
|
||||||
|
@ -2852,7 +3015,10 @@ class EntitySlider extends Entity {
|
||||||
|
|
||||||
super.initialize();
|
super.initialize();
|
||||||
|
|
||||||
Event.Emit(Event.SLIDER_ENTITY_INITIALIZED, this);
|
if (this.initialized) {
|
||||||
|
Event.Emit(Event.SLIDER_ENTITY_INITIALIZED, this);
|
||||||
|
}
|
||||||
|
//TODO: stop() entity if it is no longer ready
|
||||||
|
|
||||||
if (this.initializeDepth === this.maxDepth) {
|
if (this.initializeDepth === this.maxDepth) {
|
||||||
|
|
||||||
|
@ -2860,7 +3026,7 @@ class EntitySlider extends Entity {
|
||||||
this.createInstance();
|
this.createInstance();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this instanceof R3.Entity) {
|
if (this instanceof R3.Entity && this.initialized) {
|
||||||
this.start();
|
this.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2871,14 +3037,12 @@ class EntitySlider extends Entity {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* checkRequirements()
|
* setInitialized()
|
||||||
* - Checks all required Components for this Entity initialized and can perform some custom actions
|
* - Checks all required Components for this Entity initialized and can perform some custom actions
|
||||||
*/
|
*/
|
||||||
checkRequirements() {
|
setInitialized() {
|
||||||
|
|
||||||
super.checkRequirements();
|
super.setInitialized();
|
||||||
|
|
||||||
Event.Emit(Event.SLIDER_ENTITY_INITIALIZED, this);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3105,7 +3269,6 @@ class Component extends R3Object {
|
||||||
initialize() {
|
initialize() {
|
||||||
|
|
||||||
this.initialized = true;
|
this.initialized = true;
|
||||||
|
|
||||||
Event.Emit(Event.COMPONENT_INITIALIZED, this);
|
Event.Emit(Event.COMPONENT_INITIALIZED, this);
|
||||||
|
|
||||||
if (this.initializeDepth === this.maxDepth) {
|
if (this.initializeDepth === this.maxDepth) {
|
||||||
|
@ -3383,7 +3546,7 @@ class ComponentDOM extends Component {
|
||||||
this.createInstance();
|
this.createInstance();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this instanceof R3.Entity) {
|
if (this instanceof R3.Entity && this.initialized) {
|
||||||
this.start();
|
this.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3662,7 +3825,7 @@ class ComponentCanvas extends ComponentDOM {
|
||||||
this.createInstance();
|
this.createInstance();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this instanceof R3.Entity) {
|
if (this instanceof R3.Entity && this.initialized) {
|
||||||
this.start();
|
this.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3952,7 +4115,7 @@ class ComponentGraphics extends Component {
|
||||||
this.createInstance();
|
this.createInstance();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this instanceof R3.Entity) {
|
if (this instanceof R3.Entity && this.initialized) {
|
||||||
this.start();
|
this.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4281,7 +4444,7 @@ class ComponentImage extends ComponentGraphics {
|
||||||
this.createInstance();
|
this.createInstance();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this instanceof R3.Entity) {
|
if (this instanceof R3.Entity && this.initialized) {
|
||||||
this.start();
|
this.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4727,7 +4890,7 @@ class ComponentMaterial extends ComponentGraphics {
|
||||||
this.createInstance();
|
this.createInstance();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this instanceof R3.Entity) {
|
if (this instanceof R3.Entity && this.initialized) {
|
||||||
this.start();
|
this.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4947,7 +5110,7 @@ class ComponentMesh extends ComponentGraphics {
|
||||||
this.createInstance();
|
this.createInstance();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this instanceof R3.Entity) {
|
if (this instanceof R3.Entity && this.initialized) {
|
||||||
this.start();
|
this.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5167,7 +5330,7 @@ class ComponentTexture extends ComponentGraphics {
|
||||||
this.createInstance();
|
this.createInstance();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this instanceof R3.Entity) {
|
if (this instanceof R3.Entity && this.initialized) {
|
||||||
this.start();
|
this.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5371,7 +5534,7 @@ class ComponentInput extends Component {
|
||||||
this.createInstance();
|
this.createInstance();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this instanceof R3.Entity) {
|
if (this instanceof R3.Entity && this.initialized) {
|
||||||
this.start();
|
this.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5591,7 +5754,7 @@ class ComponentTouch extends ComponentInput {
|
||||||
this.createInstance();
|
this.createInstance();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this instanceof R3.Entity) {
|
if (this instanceof R3.Entity && this.initialized) {
|
||||||
this.start();
|
this.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5793,7 +5956,7 @@ class ComponentCode extends Component {
|
||||||
this.createInstance();
|
this.createInstance();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this instanceof R3.Entity) {
|
if (this instanceof R3.Entity && this.initialized) {
|
||||||
this.start();
|
this.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5940,7 +6103,7 @@ class Project extends R3Object {
|
||||||
this.createInstance();
|
this.createInstance();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this instanceof R3.Entity) {
|
if (this instanceof R3.Entity && this.initialized) {
|
||||||
this.start();
|
this.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "r3",
|
"name": "r3",
|
||||||
"version" : "3.0.17",
|
"version" : "3.0.58",
|
||||||
"description": "",
|
"description": "",
|
||||||
"private": true,
|
"private": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|
53
r3.php
53
r3.php
|
@ -578,11 +578,64 @@ function generateRequiredComponents($file, $tokens, $token, $section)
|
||||||
updateSection($file, $section , $updates);
|
updateSection($file, $section , $updates);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function stripRequiredComponents(&$store, $tokens)
|
||||||
|
{
|
||||||
|
$excluded = getTokenStore('CUSTOM_REQUIRED_COMPONENTS', $tokens);
|
||||||
|
|
||||||
|
if (sizeof($excluded) >= 0) {
|
||||||
|
|
||||||
|
$newStore = [];
|
||||||
|
$excludedIndexes = [];
|
||||||
|
|
||||||
|
foreach ($excluded as $excludedItem) {
|
||||||
|
$excludedItem = trim($excludedItem);
|
||||||
|
$matches = [];
|
||||||
|
|
||||||
|
$key_value = preg_match('/^(\s*\w+)=(.*)$/', $excludedItem, $matches);
|
||||||
|
if ($key_value === false) {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
|
||||||
|
$excludedKey = $matches[1];
|
||||||
|
|
||||||
|
for ($i = 0; $i < sizeof($store); $i++) {
|
||||||
|
$item = trim($store[$i]);
|
||||||
|
|
||||||
|
$matches = [];
|
||||||
|
$key_value = preg_match('/^(\s*\w+)=(.*)$/', $item, $matches);
|
||||||
|
if ($key_value === false) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
$actualKey = $matches[1];
|
||||||
|
|
||||||
|
if ($actualKey === $excludedKey) {
|
||||||
|
array_push($excludedIndexes, $i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
for ($i = 0; $i < sizeof($store); $i++) {
|
||||||
|
if (!in_array($i, $excludedIndexes)){
|
||||||
|
array_push($newStore, $store[$i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$store = $newStore;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
function generateInitOptions($file, $tokens, $token, $section)
|
function generateInitOptions($file, $tokens, $token, $section)
|
||||||
{
|
{
|
||||||
|
|
||||||
$store = getTokenStore($token, $tokens);
|
$store = getTokenStore($token, $tokens);
|
||||||
|
|
||||||
|
// stripRequiredComponents($store, $tokens);
|
||||||
|
|
||||||
if (sizeof($store) <= 0) {
|
if (sizeof($store) <= 0) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -238,7 +238,7 @@ class ComponentCode extends Component {
|
||||||
this.createInstance();
|
this.createInstance();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this instanceof R3.Entity) {
|
if (this instanceof R3.Entity && this.initialized) {
|
||||||
this.start();
|
this.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -289,7 +289,7 @@ class ComponentCanvas extends ComponentDOM {
|
||||||
this.createInstance();
|
this.createInstance();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this instanceof R3.Entity) {
|
if (this instanceof R3.Entity && this.initialized) {
|
||||||
this.start();
|
this.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -247,7 +247,7 @@ class ComponentDOM extends Component {
|
||||||
this.createInstance();
|
this.createInstance();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this instanceof R3.Entity) {
|
if (this instanceof R3.Entity && this.initialized) {
|
||||||
this.start();
|
this.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -239,7 +239,7 @@ class ComponentGraphics extends Component {
|
||||||
this.createInstance();
|
this.createInstance();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this instanceof R3.Entity) {
|
if (this instanceof R3.Entity && this.initialized) {
|
||||||
this.start();
|
this.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -380,7 +380,7 @@ class ComponentImage extends ComponentGraphics {
|
||||||
this.createInstance();
|
this.createInstance();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this instanceof R3.Entity) {
|
if (this instanceof R3.Entity && this.initialized) {
|
||||||
this.start();
|
this.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -239,7 +239,7 @@ class ComponentInput extends Component {
|
||||||
this.createInstance();
|
this.createInstance();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this instanceof R3.Entity) {
|
if (this instanceof R3.Entity && this.initialized) {
|
||||||
this.start();
|
this.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -256,7 +256,7 @@ class ComponentMaterial extends ComponentGraphics {
|
||||||
this.createInstance();
|
this.createInstance();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this instanceof R3.Entity) {
|
if (this instanceof R3.Entity && this.initialized) {
|
||||||
this.start();
|
this.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -256,7 +256,7 @@ class ComponentMesh extends ComponentGraphics {
|
||||||
this.createInstance();
|
this.createInstance();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this instanceof R3.Entity) {
|
if (this instanceof R3.Entity && this.initialized) {
|
||||||
this.start();
|
this.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -256,7 +256,7 @@ class ComponentTexture extends ComponentGraphics {
|
||||||
this.createInstance();
|
this.createInstance();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this instanceof R3.Entity) {
|
if (this instanceof R3.Entity && this.initialized) {
|
||||||
this.start();
|
this.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -256,7 +256,7 @@ class ComponentTouch extends ComponentInput {
|
||||||
this.createInstance();
|
this.createInstance();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this instanceof R3.Entity) {
|
if (this instanceof R3.Entity && this.initialized) {
|
||||||
this.start();
|
this.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -171,10 +171,10 @@ class Component extends R3Object {
|
||||||
initialize() {
|
initialize() {
|
||||||
|
|
||||||
//GENERATED_INITIALIZE_METHOD_START
|
//GENERATED_INITIALIZE_METHOD_START
|
||||||
this.initialized = true;
|
|
||||||
//GENERATED_INITIALIZE_METHOD_END
|
//GENERATED_INITIALIZE_METHOD_END
|
||||||
|
|
||||||
//CUSTOM_INITIALIZE_METHOD_START
|
//CUSTOM_INITIALIZE_METHOD_START
|
||||||
|
this.initialized = true;
|
||||||
Event.Emit(Event.COMPONENT_INITIALIZED, this);
|
Event.Emit(Event.COMPONENT_INITIALIZED, this);
|
||||||
//CUSTOM_INITIALIZE_METHOD_END
|
//CUSTOM_INITIALIZE_METHOD_END
|
||||||
|
|
||||||
|
|
|
@ -128,7 +128,7 @@ const Entity = require('.././r3-entity.js');
|
||||||
|
|
||||||
TEMPLATE_METHODS_START
|
TEMPLATE_METHODS_START
|
||||||
initialize() - Notifies all systems listening that this component initialized.
|
initialize() - Notifies all systems listening that this component initialized.
|
||||||
checkRequirements() - Checks all required Components for this Entity initialized and can perform some custom actions
|
setInitialized() - Checks all required Components for this Entity initialized and can perform some custom actions
|
||||||
start() - Starts the entity by subscribing to all events
|
start() - Starts the entity by subscribing to all events
|
||||||
stop() - Stops this entity by removing all subscriptions to events
|
stop() - Stops this entity by removing all subscriptions to events
|
||||||
TEMPLATE_METHODS_END
|
TEMPLATE_METHODS_END
|
||||||
|
@ -247,14 +247,65 @@ class EntitySlider extends Entity {
|
||||||
* images - We need a list of at least one image which to slide
|
* images - We need a list of at least one image which to slide
|
||||||
*/
|
*/
|
||||||
options.required.images = [R3.Image];
|
options.required.images = [R3.Image];
|
||||||
/**
|
this.imagesBackup = options.images;
|
||||||
|
Object.defineProperty(
|
||||||
|
this,
|
||||||
|
'images',
|
||||||
|
{
|
||||||
|
configurable : true,
|
||||||
|
enumerable : true,
|
||||||
|
set: function(x) {
|
||||||
|
this.imagesBackup = x;
|
||||||
|
Event.Emit(
|
||||||
|
Event.ENTITY_PROPERTY_UPDATE,
|
||||||
|
{
|
||||||
|
entity : this,
|
||||||
|
property : 'images',
|
||||||
|
value : x
|
||||||
|
}
|
||||||
|
);
|
||||||
|
return x;
|
||||||
|
},
|
||||||
|
get : function() {
|
||||||
|
return this.imagesBackup;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
) /**
|
||||||
* canvas - We need a canvas to attach our Input events
|
* canvas - We need a canvas to attach our Input events
|
||||||
*/
|
*/
|
||||||
options.required.canvas = R3.Canvas;
|
options.required.canvas = R3.Canvas;
|
||||||
|
this.canvasBackup = options.canvas;
|
||||||
|
Object.defineProperty(
|
||||||
|
this,
|
||||||
|
'canvas',
|
||||||
|
{
|
||||||
|
configurable : true,
|
||||||
|
enumerable : true,
|
||||||
|
set: function(x) {
|
||||||
|
this.canvasBackup = x;
|
||||||
|
Event.Emit(
|
||||||
|
Event.ENTITY_PROPERTY_UPDATE,
|
||||||
|
{
|
||||||
|
entity : this,
|
||||||
|
property : 'canvas',
|
||||||
|
value : x
|
||||||
|
}
|
||||||
|
);
|
||||||
|
return x;
|
||||||
|
},
|
||||||
|
get : function() {
|
||||||
|
return this.canvasBackup;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
)
|
||||||
//GENERATED_REQUIRED_COMPONENTS_END
|
//GENERATED_REQUIRED_COMPONENTS_END
|
||||||
|
|
||||||
|
this.underConstruction = true;
|
||||||
|
|
||||||
Object.assign(this, options);
|
Object.assign(this, options);
|
||||||
|
|
||||||
|
this.underConstruction = false;
|
||||||
|
|
||||||
//CUSTOM_OPTIONS_INIT_START
|
//CUSTOM_OPTIONS_INIT_START
|
||||||
//CUSTOM_OPTIONS_INIT_END
|
//CUSTOM_OPTIONS_INIT_END
|
||||||
|
|
||||||
|
@ -285,7 +336,10 @@ class EntitySlider extends Entity {
|
||||||
//GENERATED_INITIALIZE_METHOD_END
|
//GENERATED_INITIALIZE_METHOD_END
|
||||||
|
|
||||||
//CUSTOM_INITIALIZE_METHOD_START
|
//CUSTOM_INITIALIZE_METHOD_START
|
||||||
Event.Emit(Event.SLIDER_ENTITY_INITIALIZED, this);
|
if (this.initialized) {
|
||||||
|
Event.Emit(Event.SLIDER_ENTITY_INITIALIZED, this);
|
||||||
|
}
|
||||||
|
//TODO: stop() entity if it is no longer ready
|
||||||
//CUSTOM_INITIALIZE_METHOD_END
|
//CUSTOM_INITIALIZE_METHOD_END
|
||||||
|
|
||||||
//GENERATED_INITIALIZE_METHOD_AFTER_START
|
//GENERATED_INITIALIZE_METHOD_AFTER_START
|
||||||
|
@ -295,7 +349,7 @@ class EntitySlider extends Entity {
|
||||||
this.createInstance();
|
this.createInstance();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this instanceof R3.Entity) {
|
if (this instanceof R3.Entity && this.initialized) {
|
||||||
this.start();
|
this.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -307,21 +361,20 @@ class EntitySlider extends Entity {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* checkRequirements()
|
* setInitialized()
|
||||||
* - Checks all required Components for this Entity initialized and can perform some custom actions
|
* - Checks all required Components for this Entity initialized and can perform some custom actions
|
||||||
*/
|
*/
|
||||||
checkRequirements() {
|
setInitialized() {
|
||||||
|
|
||||||
//GENERATED_CHECK_REQUIREMENTS_METHOD_START
|
//GENERATED_SET_INITIALIZED_METHOD_START
|
||||||
super.checkRequirements();
|
super.setInitialized();
|
||||||
//GENERATED_CHECK_REQUIREMENTS_METHOD_END
|
//GENERATED_SET_INITIALIZED_METHOD_END
|
||||||
|
|
||||||
//CUSTOM_CHECK_REQUIREMENTS_METHOD_START
|
//CUSTOM_SET_INITIALIZED_METHOD_START
|
||||||
Event.Emit(Event.SLIDER_ENTITY_INITIALIZED, this);
|
//CUSTOM_SET_INITIALIZED_METHOD_END
|
||||||
//CUSTOM_CHECK_REQUIREMENTS_METHOD_END
|
|
||||||
|
|
||||||
//GENERATED_CHECK_REQUIREMENTS_METHOD_AFTER_START
|
//GENERATED_SET_INITIALIZED_METHOD_AFTER_START
|
||||||
//GENERATED_CHECK_REQUIREMENTS_METHOD_AFTER_END
|
//GENERATED_SET_INITIALIZED_METHOD_AFTER_END
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -99,7 +99,7 @@ const R3Object = require('.././r3-r3-object.js');
|
||||||
|
|
||||||
TEMPLATE_METHODS_START
|
TEMPLATE_METHODS_START
|
||||||
initialize() - Should raises an event(s) which indicates that this object initialized
|
initialize() - Should raises an event(s) which indicates that this object initialized
|
||||||
checkRequirements() - Checks whether all required components are initialized before triggering an Event.ENTITY_INITIALIZED
|
setInitialized() - Checks whether all required components are initialized before triggering an Event.ENTITY_INITIALIZED
|
||||||
TEMPLATE_METHODS_END
|
TEMPLATE_METHODS_END
|
||||||
|
|
||||||
CUSTOM_METHODS_START
|
CUSTOM_METHODS_START
|
||||||
|
@ -172,11 +172,13 @@ class Entity extends R3Object {
|
||||||
initialize() {
|
initialize() {
|
||||||
|
|
||||||
//GENERATED_INITIALIZE_METHOD_START
|
//GENERATED_INITIALIZE_METHOD_START
|
||||||
this.initialized = true;
|
|
||||||
//GENERATED_INITIALIZE_METHOD_END
|
//GENERATED_INITIALIZE_METHOD_END
|
||||||
|
|
||||||
//CUSTOM_INITIALIZE_METHOD_START
|
//CUSTOM_INITIALIZE_METHOD_START
|
||||||
this.checkRequirements();
|
this.setInitialized();
|
||||||
|
if (this.initialized) {
|
||||||
|
Event.Emit(Event.ENTITY_INITIALIZED, this);
|
||||||
|
}
|
||||||
//CUSTOM_INITIALIZE_METHOD_END
|
//CUSTOM_INITIALIZE_METHOD_END
|
||||||
|
|
||||||
//GENERATED_INITIALIZE_METHOD_AFTER_START
|
//GENERATED_INITIALIZE_METHOD_AFTER_START
|
||||||
|
@ -190,21 +192,91 @@ class Entity extends R3Object {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* checkRequirements()
|
* setInitialized()
|
||||||
* - Checks whether all required components are initialized before triggering an Event.ENTITY_INITIALIZED
|
* - Checks whether all required components are initialized before triggering an Event.ENTITY_INITIALIZED
|
||||||
*/
|
*/
|
||||||
checkRequirements() {
|
setInitialized() {
|
||||||
|
|
||||||
//GENERATED_CHECK_REQUIREMENTS_METHOD_START
|
//GENERATED_SET_INITIALIZED_METHOD_START
|
||||||
//TODO: Check all required components have initialized - once this is the case - fire an Event.ENTITY_INITIALIZED
|
let ready = true;
|
||||||
//GENERATED_CHECK_REQUIREMENTS_METHOD_END
|
for (let property in this.required) {
|
||||||
|
if (this.required.hasOwnProperty(property)) {
|
||||||
|
|
||||||
//CUSTOM_CHECK_REQUIREMENTS_METHOD_START
|
console.log('checking requirements for ' + property);
|
||||||
Event.Emit(Event.ENTITY_INITIALIZED, this);
|
|
||||||
//CUSTOM_CHECK_REQUIREMENTS_METHOD_END
|
|
||||||
|
|
||||||
//GENERATED_CHECK_REQUIREMENTS_METHOD_AFTER_START
|
let initialized = true;
|
||||||
//GENERATED_CHECK_REQUIREMENTS_METHOD_AFTER_END
|
|
||||||
|
if (this.required[property] instanceof Array) {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* First we need to check if we have this array defined
|
||||||
|
*/
|
||||||
|
if (!(this[property] instanceof Array)) {
|
||||||
|
throw new Error('The property ' + property + ' of this object was not properly defined');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this[property].length === 0) {
|
||||||
|
initialized = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
let isInstance = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check all properties are an instance of this.required[property]
|
||||||
|
*/
|
||||||
|
for (let i = 0; i < this[property].length; i++) {
|
||||||
|
this.required[property].map(
|
||||||
|
function(constructor) {
|
||||||
|
if (this[property][i] instanceof constructor) {
|
||||||
|
isInstance = true;
|
||||||
|
}
|
||||||
|
}.bind(this)
|
||||||
|
);
|
||||||
|
|
||||||
|
if (!isInstance) {
|
||||||
|
throw new Error('The property ' + property + ' of this object is not of the correct type');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (let i = 0; i < this[property].length; i++) {
|
||||||
|
if (this[property][i].initialized !== true) {
|
||||||
|
initialized = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
if (this[property] === null) {
|
||||||
|
initialized = false;
|
||||||
|
} else {
|
||||||
|
|
||||||
|
if (typeof this[property] === 'undefined') {
|
||||||
|
throw new Error('The ' + property + ' was not properly defined');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this[property].initialized !== true) {
|
||||||
|
initialized = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!initialized) {
|
||||||
|
ready = false;
|
||||||
|
console.log('This property ' + property + ' is not yet initialized');
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
this.initialized = ready;
|
||||||
|
//GENERATED_SET_INITIALIZED_METHOD_END
|
||||||
|
|
||||||
|
//CUSTOM_SET_INITIALIZED_METHOD_START
|
||||||
|
//CUSTOM_SET_INITIALIZED_METHOD_END
|
||||||
|
|
||||||
|
//GENERATED_SET_INITIALIZED_METHOD_AFTER_START
|
||||||
|
//GENERATED_SET_INITIALIZED_METHOD_AFTER_END
|
||||||
|
|
||||||
}
|
}
|
||||||
//GENERATED_TEMPLATE_METHODS_END
|
//GENERATED_TEMPLATE_METHODS_END
|
||||||
|
|
|
@ -355,40 +355,41 @@ Event.DISPOSE_OBJECT = 0x7;
|
||||||
Event.DOM_COMPONENT_INITIALIZED = 0x8;
|
Event.DOM_COMPONENT_INITIALIZED = 0x8;
|
||||||
Event.ENTITY_CREATED = 0x9;
|
Event.ENTITY_CREATED = 0x9;
|
||||||
Event.ENTITY_INITIALIZED = 0xa;
|
Event.ENTITY_INITIALIZED = 0xa;
|
||||||
Event.ENTITY_STARTED = 0xb;
|
Event.ENTITY_PROPERTY_UPDATE = 0xb;
|
||||||
Event.GET_API_URL = 0xc;
|
Event.ENTITY_STARTED = 0xc;
|
||||||
Event.GET_RUNTIME = 0xd;
|
Event.GET_API_URL = 0xd;
|
||||||
Event.GET_WINDOW_SIZE = 0xe;
|
Event.GET_RUNTIME = 0xe;
|
||||||
Event.GRAPHICS_COMPONENT_INITIALIZED = 0xf;
|
Event.GET_WINDOW_SIZE = 0xf;
|
||||||
Event.IMAGE_COMPONENT_INITIALIZED = 0x10;
|
Event.GRAPHICS_COMPONENT_INITIALIZED = 0x10;
|
||||||
Event.IMAGE_INSTANCE_CREATED = 0x11;
|
Event.IMAGE_COMPONENT_INITIALIZED = 0x11;
|
||||||
Event.INPUT_COMPONENT_INITIALIZED = 0x12;
|
Event.IMAGE_INSTANCE_CREATED = 0x12;
|
||||||
Event.INSTANCE_CREATED = 0x13;
|
Event.INPUT_COMPONENT_INITIALIZED = 0x13;
|
||||||
Event.INSTANCE_DISPOSED = 0x14;
|
Event.INSTANCE_CREATED = 0x14;
|
||||||
Event.KEYBOARD_DOWN = 0x15;
|
Event.INSTANCE_DISPOSED = 0x15;
|
||||||
Event.KEYBOARD_UP = 0x16;
|
Event.KEYBOARD_DOWN = 0x16;
|
||||||
Event.MOUSE_DOWN = 0x17;
|
Event.KEYBOARD_UP = 0x17;
|
||||||
Event.MOUSE_MOVE = 0x18;
|
Event.MOUSE_DOWN = 0x18;
|
||||||
Event.MOUSE_UP = 0x19;
|
Event.MOUSE_MOVE = 0x19;
|
||||||
Event.MOUSE_WHEEL = 0x1a;
|
Event.MOUSE_UP = 0x1a;
|
||||||
Event.OBJECT_CREATED = 0x1b;
|
Event.MOUSE_WHEEL = 0x1b;
|
||||||
Event.OBJECT_INITIALIZED = 0x1c;
|
Event.OBJECT_CREATED = 0x1c;
|
||||||
Event.PAUSE = 0x1d;
|
Event.OBJECT_INITIALIZED = 0x1d;
|
||||||
Event.PROJECT_INITIALIZED = 0x1e;
|
Event.PAUSE = 0x1e;
|
||||||
Event.RESTART = 0x1f;
|
Event.PROJECT_INITIALIZED = 0x1f;
|
||||||
Event.SLIDER_ENTITY_INITIALIZED = 0x20;
|
Event.RESTART = 0x20;
|
||||||
Event.START = 0x21;
|
Event.SLIDER_ENTITY_INITIALIZED = 0x21;
|
||||||
Event.TOUCH_CANCEL = 0x22;
|
Event.START = 0x22;
|
||||||
Event.TOUCH_END = 0x23;
|
Event.TOUCH_CANCEL = 0x23;
|
||||||
Event.TOUCH_MOVE = 0x24;
|
Event.TOUCH_END = 0x24;
|
||||||
Event.TOUCH_START = 0x25;
|
Event.TOUCH_MOVE = 0x25;
|
||||||
Event.UPDATE_FROM_INSTANCE_AFTER = 0x26;
|
Event.TOUCH_START = 0x26;
|
||||||
Event.UPDATE_FROM_INSTANCE_BEFORE = 0x27;
|
Event.UPDATE_FROM_INSTANCE_AFTER = 0x27;
|
||||||
Event.UPDATE_INSTANCE_AFTER = 0x28;
|
Event.UPDATE_FROM_INSTANCE_BEFORE = 0x28;
|
||||||
Event.UPDATE_INSTANCE_BEFORE = 0x29;
|
Event.UPDATE_INSTANCE_AFTER = 0x29;
|
||||||
Event.UPDATE_INSTANCE_PROPERTY = 0x2a;
|
Event.UPDATE_INSTANCE_BEFORE = 0x2a;
|
||||||
Event.UPDATE_PROPERTY_FROM_INSTANCE = 0x2b;
|
Event.UPDATE_INSTANCE_PROPERTY = 0x2b;
|
||||||
Event.MAX_EVENTS = 0x2c;
|
Event.UPDATE_PROPERTY_FROM_INSTANCE = 0x2c;
|
||||||
|
Event.MAX_EVENTS = 0x2d;
|
||||||
|
|
||||||
Event.GetEventName = function(eventId) {
|
Event.GetEventName = function(eventId) {
|
||||||
|
|
||||||
|
@ -403,39 +404,40 @@ Event.GetEventName = function(eventId) {
|
||||||
case 0x8 : return 'dom_component_initialized';
|
case 0x8 : return 'dom_component_initialized';
|
||||||
case 0x9 : return 'entity_created';
|
case 0x9 : return 'entity_created';
|
||||||
case 0xa : return 'entity_initialized';
|
case 0xa : return 'entity_initialized';
|
||||||
case 0xb : return 'entity_started';
|
case 0xb : return 'entity_property_update';
|
||||||
case 0xc : return 'get_api_url';
|
case 0xc : return 'entity_started';
|
||||||
case 0xd : return 'get_runtime';
|
case 0xd : return 'get_api_url';
|
||||||
case 0xe : return 'get_window_size';
|
case 0xe : return 'get_runtime';
|
||||||
case 0xf : return 'graphics_component_initialized';
|
case 0xf : return 'get_window_size';
|
||||||
case 0x10 : return 'image_component_initialized';
|
case 0x10 : return 'graphics_component_initialized';
|
||||||
case 0x11 : return 'image_instance_created';
|
case 0x11 : return 'image_component_initialized';
|
||||||
case 0x12 : return 'input_component_initialized';
|
case 0x12 : return 'image_instance_created';
|
||||||
case 0x13 : return 'instance_created';
|
case 0x13 : return 'input_component_initialized';
|
||||||
case 0x14 : return 'instance_disposed';
|
case 0x14 : return 'instance_created';
|
||||||
case 0x15 : return 'keyboard_down';
|
case 0x15 : return 'instance_disposed';
|
||||||
case 0x16 : return 'keyboard_up';
|
case 0x16 : return 'keyboard_down';
|
||||||
case 0x17 : return 'mouse_down';
|
case 0x17 : return 'keyboard_up';
|
||||||
case 0x18 : return 'mouse_move';
|
case 0x18 : return 'mouse_down';
|
||||||
case 0x19 : return 'mouse_up';
|
case 0x19 : return 'mouse_move';
|
||||||
case 0x1a : return 'mouse_wheel';
|
case 0x1a : return 'mouse_up';
|
||||||
case 0x1b : return 'object_created';
|
case 0x1b : return 'mouse_wheel';
|
||||||
case 0x1c : return 'object_initialized';
|
case 0x1c : return 'object_created';
|
||||||
case 0x1d : return 'pause';
|
case 0x1d : return 'object_initialized';
|
||||||
case 0x1e : return 'project_initialized';
|
case 0x1e : return 'pause';
|
||||||
case 0x1f : return 'restart';
|
case 0x1f : return 'project_initialized';
|
||||||
case 0x20 : return 'slider_entity_initialized';
|
case 0x20 : return 'restart';
|
||||||
case 0x21 : return 'start';
|
case 0x21 : return 'slider_entity_initialized';
|
||||||
case 0x22 : return 'touch_cancel';
|
case 0x22 : return 'start';
|
||||||
case 0x23 : return 'touch_end';
|
case 0x23 : return 'touch_cancel';
|
||||||
case 0x24 : return 'touch_move';
|
case 0x24 : return 'touch_end';
|
||||||
case 0x25 : return 'touch_start';
|
case 0x25 : return 'touch_move';
|
||||||
case 0x26 : return 'update_from_instance_after';
|
case 0x26 : return 'touch_start';
|
||||||
case 0x27 : return 'update_from_instance_before';
|
case 0x27 : return 'update_from_instance_after';
|
||||||
case 0x28 : return 'update_instance_after';
|
case 0x28 : return 'update_from_instance_before';
|
||||||
case 0x29 : return 'update_instance_before';
|
case 0x29 : return 'update_instance_after';
|
||||||
case 0x2a : return 'update_instance_property';
|
case 0x2a : return 'update_instance_before';
|
||||||
case 0x2b : return 'update_property_from_instance';
|
case 0x2b : return 'update_instance_property';
|
||||||
|
case 0x2c : return 'update_property_from_instance';
|
||||||
default :
|
default :
|
||||||
throw new Error('Event type not defined : ' + eventId);
|
throw new Error('Event type not defined : ' + eventId);
|
||||||
}
|
}
|
||||||
|
|
|
@ -166,7 +166,7 @@ class Project extends R3Object {
|
||||||
this.createInstance();
|
this.createInstance();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this instanceof R3.Entity) {
|
if (this instanceof R3.Entity && this.initialized) {
|
||||||
this.start();
|
this.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
class R3 {
|
class R3 {
|
||||||
static version = '3.0.17';
|
static version = '3.0.58';
|
||||||
static compileDate = '2021 Sep 22 - 14:41:58 pm';
|
static compileDate = '2021 Sep 23 - 11:36:17 am';
|
||||||
}
|
}
|
||||||
|
|
||||||
//GENERATED_IMPORTS_START
|
//GENERATED_IMPORTS_START
|
||||||
|
|
|
@ -288,6 +288,7 @@ class SystemInput extends System {
|
||||||
//GENERATED_STATIC_ON_SLIDER_ENTITY_INITIALIZED_METHOD_END
|
//GENERATED_STATIC_ON_SLIDER_ENTITY_INITIALIZED_METHOD_END
|
||||||
|
|
||||||
//CUSTOM_STATIC_ON_SLIDER_ENTITY_INITIALIZED_METHOD_START
|
//CUSTOM_STATIC_ON_SLIDER_ENTITY_INITIALIZED_METHOD_START
|
||||||
|
console.log('Slider Entity Initialized');
|
||||||
//CUSTOM_STATIC_ON_SLIDER_ENTITY_INITIALIZED_METHOD_END
|
//CUSTOM_STATIC_ON_SLIDER_ENTITY_INITIALIZED_METHOD_END
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -70,6 +70,7 @@ const System = require('.././r3-system.js');
|
||||||
Event.ENTITY_INITIALIZED
|
Event.ENTITY_INITIALIZED
|
||||||
Event.INSTANCE_CREATED
|
Event.INSTANCE_CREATED
|
||||||
Event.CREATE_INSTANCE_BEFORE - @returns boolean delayInstance which indicates whether or not instance creation is delayed (handled) by another system. (i.e. where instance creation order is of importance)
|
Event.CREATE_INSTANCE_BEFORE - @returns boolean delayInstance which indicates whether or not instance creation is delayed (handled) by another system. (i.e. where instance creation order is of importance)
|
||||||
|
Event.ENTITY_PROPERTY_UPDATE
|
||||||
CUSTOM_STATIC_EVENT_LISTENERS_END
|
CUSTOM_STATIC_EVENT_LISTENERS_END
|
||||||
|
|
||||||
TEMPLATE_METHODS_START
|
TEMPLATE_METHODS_START
|
||||||
|
@ -158,6 +159,11 @@ class SystemLinking extends System {
|
||||||
SystemLinking.OnCreateInstanceBefore
|
SystemLinking.OnCreateInstanceBefore
|
||||||
);
|
);
|
||||||
|
|
||||||
|
SystemLinking.Subscriptions['ENTITY_PROPERTY_UPDATE'] = Event.Subscribe(
|
||||||
|
Event.ENTITY_PROPERTY_UPDATE,
|
||||||
|
SystemLinking.OnEntityPropertyUpdate
|
||||||
|
);
|
||||||
|
|
||||||
//GENERATED_STATIC_EVENT_LISTENERS_START_END
|
//GENERATED_STATIC_EVENT_LISTENERS_START_END
|
||||||
|
|
||||||
//CUSTOM_BEFORE_STATIC_SYSTEM_START_START
|
//CUSTOM_BEFORE_STATIC_SYSTEM_START_START
|
||||||
|
@ -199,6 +205,9 @@ class SystemLinking extends System {
|
||||||
SystemLinking.Subscriptions['CREATE_INSTANCE_BEFORE'].remove();
|
SystemLinking.Subscriptions['CREATE_INSTANCE_BEFORE'].remove();
|
||||||
delete SystemLinking.Subscriptions['CREATE_INSTANCE_BEFORE'];
|
delete SystemLinking.Subscriptions['CREATE_INSTANCE_BEFORE'];
|
||||||
|
|
||||||
|
SystemLinking.Subscriptions['ENTITY_PROPERTY_UPDATE'].remove();
|
||||||
|
delete SystemLinking.Subscriptions['ENTITY_PROPERTY_UPDATE'];
|
||||||
|
|
||||||
//GENERATED_STATIC_EVENT_LISTENERS_STOP_END
|
//GENERATED_STATIC_EVENT_LISTENERS_STOP_END
|
||||||
|
|
||||||
//CUSTOM_BEFORE_STATIC_SYSTEM_STOP_START
|
//CUSTOM_BEFORE_STATIC_SYSTEM_STOP_START
|
||||||
|
@ -334,6 +343,43 @@ class SystemLinking extends System {
|
||||||
return false;
|
return false;
|
||||||
//CUSTOM_STATIC_ON_CREATE_INSTANCE_BEFORE_METHOD_END
|
//CUSTOM_STATIC_ON_CREATE_INSTANCE_BEFORE_METHOD_END
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* OnEntityPropertyUpdate()
|
||||||
|
* - Listens to events of type Event.ENTITY_PROPERTY_UPDATE and executes this function.
|
||||||
|
* @param object (The event data passed as argument - typically an R3Object)
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
static OnEntityPropertyUpdate(object) {
|
||||||
|
|
||||||
|
//GENERATED_STATIC_ON_ENTITY_PROPERTY_UPDATE_METHOD_START
|
||||||
|
//GENERATED_STATIC_ON_ENTITY_PROPERTY_UPDATE_METHOD_END
|
||||||
|
|
||||||
|
//CUSTOM_STATIC_ON_ENTITY_PROPERTY_UPDATE_METHOD_START
|
||||||
|
console.log('Entity object update', object);
|
||||||
|
console.log('canvas = ' + object.entity.canvas);
|
||||||
|
console.log('images = ' + object.entity.images);
|
||||||
|
|
||||||
|
if (!object.entity.underConstruction) {
|
||||||
|
object.entity.initializeDepth = 0;
|
||||||
|
object.entity.initialize();
|
||||||
|
|
||||||
|
if (object.entity.started && !object.entity.initialized) {
|
||||||
|
object.entity.stop();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// if (!object.entity.initialized) {
|
||||||
|
// object.entity.initialize();
|
||||||
|
// } else {
|
||||||
|
// object.entity.stop();
|
||||||
|
// }
|
||||||
|
// object.entity.initialize();
|
||||||
|
//CUSTOM_STATIC_ON_ENTITY_PROPERTY_UPDATE_METHOD_END
|
||||||
|
|
||||||
}
|
}
|
||||||
//GENERATED_STATIC_EVENT_LISTENER_METHODS_END
|
//GENERATED_STATIC_EVENT_LISTENER_METHODS_END
|
||||||
|
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
//TODO: Check all required components have initialized - once this is the case - fire an Event.ENTITY_INITIALIZED
|
|
|
@ -1 +0,0 @@
|
||||||
this.initialized = true;
|
|
|
@ -0,0 +1,72 @@
|
||||||
|
let ready = true;
|
||||||
|
for (let property in this.required) {
|
||||||
|
if (this.required.hasOwnProperty(property)) {
|
||||||
|
|
||||||
|
console.log('checking requirements for ' + property);
|
||||||
|
|
||||||
|
let initialized = true;
|
||||||
|
|
||||||
|
if (this.required[property] instanceof Array) {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* First we need to check if we have this array defined
|
||||||
|
*/
|
||||||
|
if (!(this[property] instanceof Array)) {
|
||||||
|
throw new Error('The property ' + property + ' of this object was not properly defined');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this[property].length === 0) {
|
||||||
|
initialized = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
let isInstance = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check all properties are an instance of this.required[property]
|
||||||
|
*/
|
||||||
|
for (let i = 0; i < this[property].length; i++) {
|
||||||
|
this.required[property].map(
|
||||||
|
function(constructor) {
|
||||||
|
if (this[property][i] instanceof constructor) {
|
||||||
|
isInstance = true;
|
||||||
|
}
|
||||||
|
}.bind(this)
|
||||||
|
);
|
||||||
|
|
||||||
|
if (!isInstance) {
|
||||||
|
throw new Error('The property ' + property + ' of this object is not of the correct type');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (let i = 0; i < this[property].length; i++) {
|
||||||
|
if (this[property][i].initialized !== true) {
|
||||||
|
initialized = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
if (this[property] === null) {
|
||||||
|
initialized = false;
|
||||||
|
} else {
|
||||||
|
|
||||||
|
if (typeof this[property] === 'undefined') {
|
||||||
|
throw new Error('The ' + property + ' was not properly defined');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this[property].initialized !== true) {
|
||||||
|
initialized = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!initialized) {
|
||||||
|
ready = false;
|
||||||
|
console.log('This property ' + property + ' is not yet initialized');
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
this.initialized = ready;
|
|
@ -22,7 +22,7 @@ const R3Object = require('.././r3-r3-object.js');
|
||||||
|
|
||||||
TEMPLATE_METHODS_START
|
TEMPLATE_METHODS_START
|
||||||
initialize() - Should raises an event(s) which indicates that this object initialized
|
initialize() - Should raises an event(s) which indicates that this object initialized
|
||||||
checkRequirements() - Checks whether all required components are initialized before triggering an Event.ENTITY_INITIALIZED
|
setInitialized() - Checks whether all required components are initialized before triggering an Event.ENTITY_INITIALIZED
|
||||||
TEMPLATE_METHODS_END
|
TEMPLATE_METHODS_END
|
||||||
|
|
||||||
CUSTOM_METHODS_START
|
CUSTOM_METHODS_START
|
||||||
|
|
|
@ -28,7 +28,7 @@ const EXTEND_CLASS = require('INCLUDE_PATH/EXTEND_CLASS_FILE_NAME');
|
||||||
|
|
||||||
TEMPLATE_METHODS_START
|
TEMPLATE_METHODS_START
|
||||||
initialize() - Notifies all systems listening that this component initialized.
|
initialize() - Notifies all systems listening that this component initialized.
|
||||||
checkRequirements() - Checks all required Components for this Entity initialized and can perform some custom actions
|
setInitialized() - Checks all required Components for this Entity initialized and can perform some custom actions
|
||||||
start() - Starts the entity by subscribing to all events
|
start() - Starts the entity by subscribing to all events
|
||||||
stop() - Stops this entity by removing all subscriptions to events
|
stop() - Stops this entity by removing all subscriptions to events
|
||||||
TEMPLATE_METHODS_END
|
TEMPLATE_METHODS_END
|
||||||
|
|
|
@ -35,8 +35,12 @@
|
||||||
//GENERATED_REQUIRED_COMPONENTS_START
|
//GENERATED_REQUIRED_COMPONENTS_START
|
||||||
//GENERATED_REQUIRED_COMPONENTS_END
|
//GENERATED_REQUIRED_COMPONENTS_END
|
||||||
|
|
||||||
|
this.underConstruction = true;
|
||||||
|
|
||||||
Object.assign(this, options);
|
Object.assign(this, options);
|
||||||
|
|
||||||
|
this.underConstruction = false;
|
||||||
|
|
||||||
//CUSTOM_OPTIONS_INIT_START
|
//CUSTOM_OPTIONS_INIT_START
|
||||||
//CUSTOM_OPTIONS_INIT_END
|
//CUSTOM_OPTIONS_INIT_END
|
||||||
|
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
super.checkRequirements();
|
|
|
@ -0,0 +1 @@
|
||||||
|
super.setInitialized();
|
|
@ -2,3 +2,27 @@
|
||||||
* KEY - COMMENT
|
* KEY - COMMENT
|
||||||
*/
|
*/
|
||||||
options.required.KEY = VALUE;
|
options.required.KEY = VALUE;
|
||||||
|
this.KEYBackup = options.KEY;
|
||||||
|
Object.defineProperty(
|
||||||
|
this,
|
||||||
|
'KEY',
|
||||||
|
{
|
||||||
|
configurable : true,
|
||||||
|
enumerable : true,
|
||||||
|
set: function(x) {
|
||||||
|
this.KEYBackup = x;
|
||||||
|
Event.Emit(
|
||||||
|
Event.ENTITY_PROPERTY_UPDATE,
|
||||||
|
{
|
||||||
|
entity : this,
|
||||||
|
property : 'KEY',
|
||||||
|
value : x
|
||||||
|
}
|
||||||
|
);
|
||||||
|
return x;
|
||||||
|
},
|
||||||
|
get : function() {
|
||||||
|
return this.KEYBackup;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
)
|
|
@ -4,7 +4,7 @@
|
||||||
this.createInstance();
|
this.createInstance();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this instanceof R3.Entity) {
|
if (this instanceof R3.Entity && this.initialized) {
|
||||||
this.start();
|
this.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,8 +2,6 @@ GENERATED_ASYNC_METHOD
|
||||||
GENERATED_ASYNC_METHOD_AFTER
|
GENERATED_ASYNC_METHOD_AFTER
|
||||||
GENERATED_BUILD_INSTANCE_METHOD
|
GENERATED_BUILD_INSTANCE_METHOD
|
||||||
GENERATED_BUILD_INSTANCE_METHOD_AFTER
|
GENERATED_BUILD_INSTANCE_METHOD_AFTER
|
||||||
GENERATED_CHECK_REQUIREMENTS_METHOD
|
|
||||||
GENERATED_CHECK_REQUIREMENTS_METHOD_AFTER
|
|
||||||
GENERATED_CONSTRUCTOR
|
GENERATED_CONSTRUCTOR
|
||||||
GENERATED_CREATE_INSTANCE_METHOD
|
GENERATED_CREATE_INSTANCE_METHOD
|
||||||
GENERATED_CREATE_INSTANCE_METHOD_AFTER
|
GENERATED_CREATE_INSTANCE_METHOD_AFTER
|
||||||
|
@ -38,6 +36,8 @@ GENERATED_ON_TOUCH_START_METHOD_AFTER
|
||||||
GENERATED_OPTIONS_INIT
|
GENERATED_OPTIONS_INIT
|
||||||
GENERATED_OUT_OF_CLASS_IMPLEMENTATION
|
GENERATED_OUT_OF_CLASS_IMPLEMENTATION
|
||||||
GENERATED_REQUIRED_COMPONENTS
|
GENERATED_REQUIRED_COMPONENTS
|
||||||
|
GENERATED_SET_INITIALIZED_METHOD
|
||||||
|
GENERATED_SET_INITIALIZED_METHOD_AFTER
|
||||||
GENERATED_SET_RUNTIME_METHOD
|
GENERATED_SET_RUNTIME_METHOD
|
||||||
GENERATED_SET_RUNTIME_METHOD_AFTER
|
GENERATED_SET_RUNTIME_METHOD_AFTER
|
||||||
GENERATED_START_METHOD
|
GENERATED_START_METHOD
|
||||||
|
@ -53,6 +53,7 @@ GENERATED_STATIC_ON_COMPONENT_INITIALIZED_METHOD
|
||||||
GENERATED_STATIC_ON_CREATE_INSTANCE_BEFORE_METHOD
|
GENERATED_STATIC_ON_CREATE_INSTANCE_BEFORE_METHOD
|
||||||
GENERATED_STATIC_ON_DOM_COMPONENT_INITIALIZED_METHOD
|
GENERATED_STATIC_ON_DOM_COMPONENT_INITIALIZED_METHOD
|
||||||
GENERATED_STATIC_ON_ENTITY_INITIALIZED_METHOD
|
GENERATED_STATIC_ON_ENTITY_INITIALIZED_METHOD
|
||||||
|
GENERATED_STATIC_ON_ENTITY_PROPERTY_UPDATE_METHOD
|
||||||
GENERATED_STATIC_ON_GET_API_URL_METHOD
|
GENERATED_STATIC_ON_GET_API_URL_METHOD
|
||||||
GENERATED_STATIC_ON_GET_RUNTIME_METHOD
|
GENERATED_STATIC_ON_GET_RUNTIME_METHOD
|
||||||
GENERATED_STATIC_ON_IMAGE_INSTANCE_CREATED_METHOD
|
GENERATED_STATIC_ON_IMAGE_INSTANCE_CREATED_METHOD
|
||||||
|
@ -98,7 +99,6 @@ CUSTOM_BEFORE_STATIC_SYSTEM_STOP
|
||||||
CUSTOM_BEFORE_SYSTEM_START
|
CUSTOM_BEFORE_SYSTEM_START
|
||||||
CUSTOM_BEFORE_SYSTEM_STOP
|
CUSTOM_BEFORE_SYSTEM_STOP
|
||||||
CUSTOM_BUILD_INSTANCE_METHOD
|
CUSTOM_BUILD_INSTANCE_METHOD
|
||||||
CUSTOM_CHECK_REQUIREMENTS_METHOD
|
|
||||||
CUSTOM_CONVENIENT_DEFINES
|
CUSTOM_CONVENIENT_DEFINES
|
||||||
CUSTOM_CREATE_INSTANCE_METHOD
|
CUSTOM_CREATE_INSTANCE_METHOD
|
||||||
CUSTOM_DISPOSE_INSTANCE_METHOD
|
CUSTOM_DISPOSE_INSTANCE_METHOD
|
||||||
|
@ -119,6 +119,7 @@ CUSTOM_OPTIONS
|
||||||
CUSTOM_OPTIONS_INIT
|
CUSTOM_OPTIONS_INIT
|
||||||
CUSTOM_OUT_OF_CLASS_IMPLEMENTATION
|
CUSTOM_OUT_OF_CLASS_IMPLEMENTATION
|
||||||
CUSTOM_REQUIRED_COMPONENTS
|
CUSTOM_REQUIRED_COMPONENTS
|
||||||
|
CUSTOM_SET_INITIALIZED_METHOD
|
||||||
CUSTOM_SET_RUNTIME_METHOD
|
CUSTOM_SET_RUNTIME_METHOD
|
||||||
CUSTOM_START_METHOD
|
CUSTOM_START_METHOD
|
||||||
CUSTOM_STATIC_ASYNC_METHOD
|
CUSTOM_STATIC_ASYNC_METHOD
|
||||||
|
@ -130,6 +131,7 @@ CUSTOM_STATIC_ON_COMPONENT_INITIALIZED_METHOD
|
||||||
CUSTOM_STATIC_ON_CREATE_INSTANCE_BEFORE_METHOD
|
CUSTOM_STATIC_ON_CREATE_INSTANCE_BEFORE_METHOD
|
||||||
CUSTOM_STATIC_ON_DOM_COMPONENT_INITIALIZED_METHOD
|
CUSTOM_STATIC_ON_DOM_COMPONENT_INITIALIZED_METHOD
|
||||||
CUSTOM_STATIC_ON_ENTITY_INITIALIZED_METHOD
|
CUSTOM_STATIC_ON_ENTITY_INITIALIZED_METHOD
|
||||||
|
CUSTOM_STATIC_ON_ENTITY_PROPERTY_UPDATE_METHOD
|
||||||
CUSTOM_STATIC_ON_GET_API_URL_METHOD
|
CUSTOM_STATIC_ON_GET_API_URL_METHOD
|
||||||
CUSTOM_STATIC_ON_GET_RUNTIME_METHOD
|
CUSTOM_STATIC_ON_GET_RUNTIME_METHOD
|
||||||
CUSTOM_STATIC_ON_IMAGE_INSTANCE_CREATED_METHOD
|
CUSTOM_STATIC_ON_IMAGE_INSTANCE_CREATED_METHOD
|
||||||
|
|
Loading…
Reference in New Issue