mobile
parent
bfed32cd48
commit
184a6ab1c6
|
@ -29,7 +29,7 @@ foreach ($files as $file) {
|
||||||
!preg_match('/r3\-z\./', $file) &&
|
!preg_match('/r3\-z\./', $file) &&
|
||||||
!preg_match('/^r3\-a\-.*/', $file) &&
|
!preg_match('/^r3\-a\-.*/', $file) &&
|
||||||
!preg_match('/^\.$/', $file) &&
|
!preg_match('/^\.$/', $file) &&
|
||||||
!preg_match('/^\.$/', $file) &&
|
!preg_match('/^\.\.$/', $file) &&
|
||||||
preg_match('/.*\.js$/', $file)
|
preg_match('/.*\.js$/', $file)
|
||||||
) {
|
) {
|
||||||
|
|
||||||
|
@ -57,7 +57,6 @@ foreach ($files as $file) {
|
||||||
|
|
||||||
$file = join('.', $parts);
|
$file = join('.', $parts);
|
||||||
|
|
||||||
|
|
||||||
$componentType = strtoupper($file);
|
$componentType = strtoupper($file);
|
||||||
$componentType = str_replace('R3.', '', $componentType);
|
$componentType = str_replace('R3.', '', $componentType);
|
||||||
$componentType = str_replace('API.', '', $componentType);
|
$componentType = str_replace('API.', '', $componentType);
|
||||||
|
@ -146,7 +145,7 @@ foreach ($componentTypes as $componentType) {
|
||||||
|
|
||||||
$runtime = 'R3.Runtime.DEFAULT';
|
$runtime = 'R3.Runtime.DEFAULT';
|
||||||
|
|
||||||
if (preg_match('/Bone|Camera|Canvas|Clock|Color|Composer|Controls|Curve|Effect|Fog|Geometry|Graphics|Image|Light|Material|Mesh|Mouse|Object|Particle|Pass|Raycaster|Render|Scene|Shader|Shadow|Skeleton|Text|Video|Viewport/', $name)) {
|
if (preg_match('/Bone|Box|Camera|Canvas|Clock|Color|Composer|Controls|Curve|Effect|Fog|Geometry|Graphics|Image|Light|Material|Mesh|Mouse|Object|Particle|Pass|Raycaster|Render|Scene|Shader|Shadow|Skeleton|Text|Video|Viewport/', $name)) {
|
||||||
$runtime = 'R3.Runtime.GRAPHICS';
|
$runtime = 'R3.Runtime.GRAPHICS';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -51,6 +51,10 @@ foreach ($files as $file) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
array_push($events, 'R3.Event.START');
|
||||||
|
array_push($events, 'R3.Event.PAUSE');
|
||||||
|
array_push($events, 'R3.Event.RESTART');
|
||||||
|
|
||||||
sort($events);
|
sort($events);
|
||||||
|
|
||||||
$i = 1;
|
$i = 1;
|
||||||
|
|
|
@ -2996,7 +2996,7 @@ R3.GetComponentInfo = function(componentType) {
|
||||||
name : 'R3.Box3',
|
name : 'R3.Box3',
|
||||||
constructor : R3.Box3,
|
constructor : R3.Box3,
|
||||||
apiConstructor : R3.API.Box3,
|
apiConstructor : R3.API.Box3,
|
||||||
runtime: R3.Runtime.DEFAULT
|
runtime: R3.Runtime.GRAPHICS
|
||||||
};
|
};
|
||||||
default :
|
default :
|
||||||
throw new Error('Invalid component type: ' + componentType);
|
throw new Error('Invalid component type: ' + componentType);
|
||||||
|
|
|
@ -52,61 +52,64 @@ R3.Event.IMAGE_UPLOAD_COMPLETE = 0x33;
|
||||||
R3.Event.INSTANCE_CLONED = 0x34;
|
R3.Event.INSTANCE_CLONED = 0x34;
|
||||||
R3.Event.INSTANCE_CREATED = 0x35;
|
R3.Event.INSTANCE_CREATED = 0x35;
|
||||||
R3.Event.INSTANCE_DISPOSAL = 0x36;
|
R3.Event.INSTANCE_DISPOSAL = 0x36;
|
||||||
R3.Event.KEY_DOWN = 0x37;
|
R3.Event.INSTANCE_LOADED = 0x37;
|
||||||
R3.Event.KEY_UP = 0x38;
|
R3.Event.KEY_DOWN = 0x38;
|
||||||
R3.Event.LOAD_COMPONENT = 0x39;
|
R3.Event.KEY_UP = 0x39;
|
||||||
R3.Event.LOAD_COMPONENT_ERROR = 0x3a;
|
R3.Event.LOAD_COMPONENT = 0x3a;
|
||||||
R3.Event.LOAD_FONT = 0x3b;
|
R3.Event.LOAD_COMPONENT_ERROR = 0x3b;
|
||||||
R3.Event.LOAD_IMAGE = 0x3c;
|
R3.Event.LOAD_FONT = 0x3c;
|
||||||
R3.Event.LOAD_PROGRESS = 0x3d;
|
R3.Event.LOAD_IMAGE = 0x3d;
|
||||||
R3.Event.MATERIAL_TEXTURES_UPDATED = 0x3e;
|
R3.Event.LOAD_PROGRESS = 0x3e;
|
||||||
R3.Event.MATERIAL_TYPE_CHANGED = 0x3f;
|
R3.Event.MATERIAL_TEXTURES_UPDATED = 0x3f;
|
||||||
R3.Event.MAXIMUM_PROJECTS = 0x40;
|
R3.Event.MATERIAL_TYPE_CHANGED = 0x40;
|
||||||
R3.Event.MESH_DESELECTED = 0x41;
|
R3.Event.MAXIMUM_PROJECTS = 0x41;
|
||||||
R3.Event.MESH_FACE_DESELECTED = 0x42;
|
R3.Event.MESH_DESELECTED = 0x42;
|
||||||
R3.Event.MESH_FACE_SELECTED = 0x43;
|
R3.Event.MESH_FACE_DESELECTED = 0x43;
|
||||||
R3.Event.MESH_SELECTED = 0x44;
|
R3.Event.MESH_FACE_SELECTED = 0x44;
|
||||||
R3.Event.MOUSE_DOWN = 0x45;
|
R3.Event.MESH_SELECTED = 0x45;
|
||||||
R3.Event.MOUSE_MOVE = 0x46;
|
R3.Event.MOUSE_DOWN = 0x46;
|
||||||
R3.Event.MOUSE_UP = 0x47;
|
R3.Event.MOUSE_MOVE = 0x47;
|
||||||
R3.Event.MOUSE_WHEEL = 0x48;
|
R3.Event.MOUSE_UP = 0x48;
|
||||||
R3.Event.MUTE_AUDIO = 0x49;
|
R3.Event.MOUSE_WHEEL = 0x49;
|
||||||
R3.Event.NAME_UPDATE = 0x4a;
|
R3.Event.MUTE_AUDIO = 0x4a;
|
||||||
R3.Event.PARENT_SCENE_CHANGE = 0x4b;
|
R3.Event.NAME_UPDATE = 0x4b;
|
||||||
R3.Event.PARENT_WORLD_CHANGE = 0x4c;
|
R3.Event.PARENT_SCENE_CHANGE = 0x4c;
|
||||||
R3.Event.PAUSE_ALL_AUDIO = 0x4d;
|
R3.Event.PARENT_WORLD_CHANGE = 0x4d;
|
||||||
R3.Event.PLAY_AUDIO = 0x4e;
|
R3.Event.PAUSE = 0x4e;
|
||||||
R3.Event.PROJECT_LOADED = 0x4f;
|
R3.Event.PAUSE_ALL_AUDIO = 0x4f;
|
||||||
R3.Event.QUERY_PARSED = 0x50;
|
R3.Event.PLAY_AUDIO = 0x50;
|
||||||
R3.Event.RECEIVE_DESTINATION_CHANGED = 0x51;
|
R3.Event.PROJECT_LOADED = 0x51;
|
||||||
R3.Event.REGISTER_DEPENDENCIES = 0x52;
|
R3.Event.QUERY_PARSED = 0x52;
|
||||||
R3.Event.REGISTER_UPDATE = 0x53;
|
R3.Event.RECEIVE_DESTINATION_CHANGED = 0x53;
|
||||||
R3.Event.REMOVE_COMPONENT = 0x54;
|
R3.Event.REGISTER_DEPENDENCIES = 0x54;
|
||||||
R3.Event.REMOVE_MESH = 0x55;
|
R3.Event.REGISTER_UPDATE = 0x55;
|
||||||
R3.Event.REMOVE_PARTICLE_ENGINE = 0x56;
|
R3.Event.REMOVE_COMPONENT = 0x56;
|
||||||
R3.Event.RENDERER_SIZE_CHANGE = 0x57;
|
R3.Event.REMOVE_MESH = 0x57;
|
||||||
R3.Event.REPLACE_COMPONENT = 0x58;
|
R3.Event.REMOVE_PARTICLE_ENGINE = 0x58;
|
||||||
R3.Event.RESOLVE_DEPENDENCIES = 0x59;
|
R3.Event.RENDERER_SIZE_CHANGE = 0x59;
|
||||||
R3.Event.SAVE_COMPONENT = 0x5a;
|
R3.Event.REPLACE_COMPONENT = 0x5a;
|
||||||
R3.Event.SAVE_COMPONENT_ERROR = 0x5b;
|
R3.Event.RESOLVE_DEPENDENCIES = 0x5b;
|
||||||
R3.Event.SAVING = 0x5c;
|
R3.Event.RESTART = 0x5c;
|
||||||
R3.Event.SELECTION_MODE_CHANGE = 0x5d;
|
R3.Event.SAVE_COMPONENT = 0x5d;
|
||||||
R3.Event.SET_APPLICATION_MODE = 0x5e;
|
R3.Event.SAVE_COMPONENT_ERROR = 0x5e;
|
||||||
R3.Event.SIGN_IN = 0x5f;
|
R3.Event.SAVING = 0x5f;
|
||||||
R3.Event.SIGN_OUT = 0x60;
|
R3.Event.SELECTION_MODE_CHANGE = 0x60;
|
||||||
R3.Event.STOP_ALL_AUDIO = 0x61;
|
R3.Event.SIGN_IN = 0x61;
|
||||||
R3.Event.STOP_AUDIO = 0x62;
|
R3.Event.SIGN_OUT = 0x62;
|
||||||
R3.Event.STOP_VISUALIZE = 0x63;
|
R3.Event.START = 0x63;
|
||||||
R3.Event.TEXTURE_ANIMATED_CHANGE = 0x64;
|
R3.Event.STOP_ALL_AUDIO = 0x64;
|
||||||
R3.Event.TEXTURE_INSTANCE_UPDATED = 0x65;
|
R3.Event.STOP_AUDIO = 0x65;
|
||||||
R3.Event.TOUCH_CANCEL = 0x66;
|
R3.Event.STOP_VISUALIZE = 0x66;
|
||||||
R3.Event.TOUCH_END = 0x67;
|
R3.Event.TEXTURE_ANIMATED_CHANGE = 0x67;
|
||||||
R3.Event.TOUCH_MOVE = 0x68;
|
R3.Event.TEXTURE_INSTANCE_UPDATED = 0x68;
|
||||||
R3.Event.TOUCH_START = 0x69;
|
R3.Event.TOUCH_CANCEL = 0x69;
|
||||||
R3.Event.UNRESOLVED_DEPENDENCIES_UPDATE = 0x6a;
|
R3.Event.TOUCH_END = 0x6a;
|
||||||
R3.Event.VISUALIZE = 0x6b;
|
R3.Event.TOUCH_MOVE = 0x6b;
|
||||||
R3.Event.WINDOW_RESIZE = 0x6c;
|
R3.Event.TOUCH_START = 0x6c;
|
||||||
R3.Event.MAX_EVENTS = 0x6d;
|
R3.Event.UNRESOLVED_DEPENDENCIES_UPDATE = 0x6d;
|
||||||
|
R3.Event.VISUALIZE = 0x6e;
|
||||||
|
R3.Event.WINDOW_RESIZE = 0x6f;
|
||||||
|
R3.Event.MAX_EVENTS = 0x70;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* R3.Event.GetEventName
|
* R3.Event.GetEventName
|
||||||
|
@ -171,60 +174,63 @@ R3.Event.GetEventName = function(eventId) {
|
||||||
case 0x34 : return 'instance_cloned';
|
case 0x34 : return 'instance_cloned';
|
||||||
case 0x35 : return 'instance_created';
|
case 0x35 : return 'instance_created';
|
||||||
case 0x36 : return 'instance_disposal';
|
case 0x36 : return 'instance_disposal';
|
||||||
case 0x37 : return 'key_down';
|
case 0x37 : return 'instance_loaded';
|
||||||
case 0x38 : return 'key_up';
|
case 0x38 : return 'key_down';
|
||||||
case 0x39 : return 'load_component';
|
case 0x39 : return 'key_up';
|
||||||
case 0x3a : return 'load_component_error';
|
case 0x3a : return 'load_component';
|
||||||
case 0x3b : return 'load_font';
|
case 0x3b : return 'load_component_error';
|
||||||
case 0x3c : return 'load_image';
|
case 0x3c : return 'load_font';
|
||||||
case 0x3d : return 'load_progress';
|
case 0x3d : return 'load_image';
|
||||||
case 0x3e : return 'material_textures_updated';
|
case 0x3e : return 'load_progress';
|
||||||
case 0x3f : return 'material_type_changed';
|
case 0x3f : return 'material_textures_updated';
|
||||||
case 0x40 : return 'maximum_projects';
|
case 0x40 : return 'material_type_changed';
|
||||||
case 0x41 : return 'mesh_deselected';
|
case 0x41 : return 'maximum_projects';
|
||||||
case 0x42 : return 'mesh_face_deselected';
|
case 0x42 : return 'mesh_deselected';
|
||||||
case 0x43 : return 'mesh_face_selected';
|
case 0x43 : return 'mesh_face_deselected';
|
||||||
case 0x44 : return 'mesh_selected';
|
case 0x44 : return 'mesh_face_selected';
|
||||||
case 0x45 : return 'mouse_down';
|
case 0x45 : return 'mesh_selected';
|
||||||
case 0x46 : return 'mouse_move';
|
case 0x46 : return 'mouse_down';
|
||||||
case 0x47 : return 'mouse_up';
|
case 0x47 : return 'mouse_move';
|
||||||
case 0x48 : return 'mouse_wheel';
|
case 0x48 : return 'mouse_up';
|
||||||
case 0x49 : return 'mute_audio';
|
case 0x49 : return 'mouse_wheel';
|
||||||
case 0x4a : return 'name_update';
|
case 0x4a : return 'mute_audio';
|
||||||
case 0x4b : return 'parent_scene_change';
|
case 0x4b : return 'name_update';
|
||||||
case 0x4c : return 'parent_world_change';
|
case 0x4c : return 'parent_scene_change';
|
||||||
case 0x4d : return 'pause_all_audio';
|
case 0x4d : return 'parent_world_change';
|
||||||
case 0x4e : return 'play_audio';
|
case 0x4e : return 'pause';
|
||||||
case 0x4f : return 'project_loaded';
|
case 0x4f : return 'pause_all_audio';
|
||||||
case 0x50 : return 'query_parsed';
|
case 0x50 : return 'play_audio';
|
||||||
case 0x51 : return 'receive_destination_changed';
|
case 0x51 : return 'project_loaded';
|
||||||
case 0x52 : return 'register_dependencies';
|
case 0x52 : return 'query_parsed';
|
||||||
case 0x53 : return 'register_update';
|
case 0x53 : return 'receive_destination_changed';
|
||||||
case 0x54 : return 'remove_component';
|
case 0x54 : return 'register_dependencies';
|
||||||
case 0x55 : return 'remove_mesh';
|
case 0x55 : return 'register_update';
|
||||||
case 0x56 : return 'remove_particle_engine';
|
case 0x56 : return 'remove_component';
|
||||||
case 0x57 : return 'renderer_size_change';
|
case 0x57 : return 'remove_mesh';
|
||||||
case 0x58 : return 'replace_component';
|
case 0x58 : return 'remove_particle_engine';
|
||||||
case 0x59 : return 'resolve_dependencies';
|
case 0x59 : return 'renderer_size_change';
|
||||||
case 0x5a : return 'save_component';
|
case 0x5a : return 'replace_component';
|
||||||
case 0x5b : return 'save_component_error';
|
case 0x5b : return 'resolve_dependencies';
|
||||||
case 0x5c : return 'saving';
|
case 0x5c : return 'restart';
|
||||||
case 0x5d : return 'selection_mode_change';
|
case 0x5d : return 'save_component';
|
||||||
case 0x5e : return 'set_application_mode';
|
case 0x5e : return 'save_component_error';
|
||||||
case 0x5f : return 'sign_in';
|
case 0x5f : return 'saving';
|
||||||
case 0x60 : return 'sign_out';
|
case 0x60 : return 'selection_mode_change';
|
||||||
case 0x61 : return 'stop_all_audio';
|
case 0x61 : return 'sign_in';
|
||||||
case 0x62 : return 'stop_audio';
|
case 0x62 : return 'sign_out';
|
||||||
case 0x63 : return 'stop_visualize';
|
case 0x63 : return 'start';
|
||||||
case 0x64 : return 'texture_animated_change';
|
case 0x64 : return 'stop_all_audio';
|
||||||
case 0x65 : return 'texture_instance_updated';
|
case 0x65 : return 'stop_audio';
|
||||||
case 0x66 : return 'touch_cancel';
|
case 0x66 : return 'stop_visualize';
|
||||||
case 0x67 : return 'touch_end';
|
case 0x67 : return 'texture_animated_change';
|
||||||
case 0x68 : return 'touch_move';
|
case 0x68 : return 'texture_instance_updated';
|
||||||
case 0x69 : return 'touch_start';
|
case 0x69 : return 'touch_cancel';
|
||||||
case 0x6a : return 'unresolved_dependencies_update';
|
case 0x6a : return 'touch_end';
|
||||||
case 0x6b : return 'visualize';
|
case 0x6b : return 'touch_move';
|
||||||
case 0x6c : return 'window_resize';
|
case 0x6c : return 'touch_start';
|
||||||
|
case 0x6d : return 'unresolved_dependencies_update';
|
||||||
|
case 0x6e : return 'visualize';
|
||||||
|
case 0x6f : return 'window_resize';
|
||||||
default :
|
default :
|
||||||
throw new Error('Event type not defined : ' + eventId);
|
throw new Error('Event type not defined : ' + eventId);
|
||||||
}
|
}
|
||||||
|
|
|
@ -88,7 +88,8 @@ R3.Utils.RemoveFromSelect = function(select, id) {
|
||||||
*
|
*
|
||||||
* @param select
|
* @param select
|
||||||
* @param id
|
* @param id
|
||||||
* @returns {null|number}
|
* @returns boolean true if successful
|
||||||
|
*
|
||||||
* @constructor
|
* @constructor
|
||||||
*/
|
*/
|
||||||
R3.Utils.SetSelectIndex = function(select, id) {
|
R3.Utils.SetSelectIndex = function(select, id) {
|
||||||
|
@ -98,9 +99,10 @@ R3.Utils.SetSelectIndex = function(select, id) {
|
||||||
for (i = 0; i < select.options.length; i++) {
|
for (i = 0; i < select.options.length; i++) {
|
||||||
if (select.options[i].value === id) {
|
if (select.options[i].value === id) {
|
||||||
select.selectedIndex = i;
|
select.selectedIndex = i;
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return null;
|
return false;
|
||||||
};
|
};
|
||||||
|
|
||||||
R3.Utils.SortSelect = function(select) {
|
R3.Utils.SortSelect = function(select) {
|
||||||
|
|
|
@ -575,8 +575,6 @@ R3.Component.prototype.createInstance = function() {
|
||||||
throw new Error(R3.GetComponentName(this) + ' has no instance at time of createInstance');
|
throw new Error(R3.GetComponentName(this) + ' has no instance at time of createInstance');
|
||||||
}
|
}
|
||||||
|
|
||||||
this.loaded = true;
|
|
||||||
|
|
||||||
R3.Event.Emit(
|
R3.Event.Emit(
|
||||||
R3.Event.INSTANCE_CREATED,
|
R3.Event.INSTANCE_CREATED,
|
||||||
{
|
{
|
||||||
|
@ -584,6 +582,19 @@ R3.Component.prototype.createInstance = function() {
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
this.loaded = true;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Use this event to know that the object has now loaded and all 'INSTANCE_CREATED' events have been handled.
|
||||||
|
* The idToObject property of this component can now be trusted.
|
||||||
|
*/
|
||||||
|
R3.Event.Emit(
|
||||||
|
R3.Event.INSTANCE_LOADED,
|
||||||
|
{
|
||||||
|
component: this
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
if (this instanceof R3.Project) {
|
if (this instanceof R3.Project) {
|
||||||
R3.Event.Emit(
|
R3.Event.Emit(
|
||||||
R3.Event.PROJECT_LOADED,
|
R3.Event.PROJECT_LOADED,
|
||||||
|
@ -802,6 +813,24 @@ R3.Component.prototype.getPropertyValue = function(item) {
|
||||||
return item;
|
return item;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns all components of type 'constructor' - slower than queryComponents
|
||||||
|
* @param constructor
|
||||||
|
*/
|
||||||
|
R3.Component.prototype.findComponentsByConstructor = function(constructor) {
|
||||||
|
|
||||||
|
return Object.keys(this.idToObject).reduce(
|
||||||
|
function(result, id) {
|
||||||
|
if (this.idToObject[id] instanceof constructor) {
|
||||||
|
result.push(this.idToObject[id]);
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}.bind(this),
|
||||||
|
[]
|
||||||
|
);
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Components are linked at runtime - for storing, we just store the ID
|
* Components are linked at runtime - for storing, we just store the ID
|
||||||
* @returns {*}
|
* @returns {*}
|
||||||
|
|
|
@ -15,7 +15,7 @@ R3.API.CustomCode = function(
|
||||||
this.eventId = apiComponent.eventId;
|
this.eventId = apiComponent.eventId;
|
||||||
|
|
||||||
if (R3.Utils.UndefinedOrNull(apiComponent.code)) {
|
if (R3.Utils.UndefinedOrNull(apiComponent.code)) {
|
||||||
apiComponent.code = "return null;\n//@ sourceURL=" + this.name + ".js";
|
apiComponent.code = "console.log(this.name);return null;\n//@ sourceURL=" + R3.Event.GetEventName(this.eventId)+ ".js";
|
||||||
}
|
}
|
||||||
this.code = apiComponent.code;
|
this.code = apiComponent.code;
|
||||||
};
|
};
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
* @property entities
|
* @property entities
|
||||||
* @property controls
|
* @property controls
|
||||||
* @property images
|
* @property images
|
||||||
|
* @property code
|
||||||
* @property applicationMode
|
* @property applicationMode
|
||||||
*
|
*
|
||||||
* @constructor
|
* @constructor
|
||||||
|
@ -37,6 +38,75 @@ R3.API.Project = function(
|
||||||
}
|
}
|
||||||
this.images = apiComponent.images;
|
this.images = apiComponent.images;
|
||||||
|
|
||||||
|
if (R3.Utils.UndefinedOrNull(apiComponent.code)) {
|
||||||
|
apiComponent.code = [
|
||||||
|
new R3.API.CustomCode(
|
||||||
|
{
|
||||||
|
parent : this,
|
||||||
|
name : this.name + ' - Code - Project Loaded',
|
||||||
|
eventId : R3.Event.PROJECT_LOADED
|
||||||
|
}
|
||||||
|
),
|
||||||
|
new R3.API.CustomCode(
|
||||||
|
{
|
||||||
|
parent : this,
|
||||||
|
name : this.name + ' - Code - Before Render',
|
||||||
|
eventId : R3.Event.BEFORE_RENDER
|
||||||
|
}
|
||||||
|
),
|
||||||
|
new R3.API.CustomCode(
|
||||||
|
{
|
||||||
|
parent : this,
|
||||||
|
name : this.name + ' - Code - Key Up',
|
||||||
|
eventId : R3.Event.KEY_UP
|
||||||
|
}
|
||||||
|
),
|
||||||
|
new R3.API.CustomCode(
|
||||||
|
{
|
||||||
|
parent : this,
|
||||||
|
name : this.name + ' - Code - Key Down',
|
||||||
|
eventId : R3.Event.KEY_DOWN
|
||||||
|
}
|
||||||
|
),
|
||||||
|
new R3.API.CustomCode(
|
||||||
|
{
|
||||||
|
parent : this,
|
||||||
|
name : this.name + ' - Code - Mouse Up',
|
||||||
|
eventId : R3.Event.MOUSE_UP
|
||||||
|
}
|
||||||
|
),
|
||||||
|
new R3.API.CustomCode(
|
||||||
|
{
|
||||||
|
parent : this,
|
||||||
|
name : this.name + ' - Code - Mouse Down',
|
||||||
|
eventId : R3.Event.MOUSE_DOWN
|
||||||
|
}
|
||||||
|
),
|
||||||
|
new R3.API.CustomCode(
|
||||||
|
{
|
||||||
|
parent : this,
|
||||||
|
name : this.name + ' - Code - Mouse Move',
|
||||||
|
eventId : R3.Event.MOUSE_MOVE
|
||||||
|
}
|
||||||
|
),
|
||||||
|
new R3.API.CustomCode(
|
||||||
|
{
|
||||||
|
parent : this,
|
||||||
|
name : this.name + ' - Code - Touch Start',
|
||||||
|
eventId : R3.Event.TOUCH_START
|
||||||
|
}
|
||||||
|
),
|
||||||
|
new R3.API.CustomCode(
|
||||||
|
{
|
||||||
|
parent : this,
|
||||||
|
name : this.name + ' - Code - Touch End',
|
||||||
|
eventId : R3.Event.TOUCH_END
|
||||||
|
}
|
||||||
|
)
|
||||||
|
]
|
||||||
|
}
|
||||||
|
this.code = apiComponent.code;
|
||||||
|
|
||||||
if (R3.Utils.UndefinedOrNull(apiComponent.applicationMode)) {
|
if (R3.Utils.UndefinedOrNull(apiComponent.applicationMode)) {
|
||||||
apiComponent.applicationMode = R3.API.Project.APPLICATION_MODE_EDIT;
|
apiComponent.applicationMode = R3.API.Project.APPLICATION_MODE_EDIT;
|
||||||
}
|
}
|
||||||
|
|
|
@ -54,11 +54,26 @@ R3.Canvas.prototype.updateInstance = function(property) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (
|
if (property === 'width') {
|
||||||
property === 'autoUpdateSize' ||
|
this.instance.setAttribute('width', this.width);
|
||||||
property === 'width' ||
|
this.instance.setAttribute('style', 'left: ' + this.offset.x + 'px;top: ' + this.offset.y + 'px;width:' + this.width + 'px;height:' + this.height + 'px');
|
||||||
property === 'height'
|
return;
|
||||||
) {
|
}
|
||||||
|
|
||||||
|
if (property === 'height') {
|
||||||
|
this.instance.setAttribute('height', this.height);
|
||||||
|
this.instance.setAttribute('style', 'left: ' + this.offset.x + 'px;top: ' + this.offset.y + 'px;width:' + this.width + 'px;height:' + this.height + 'px');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (property === 'autoUpdateSize') {
|
||||||
|
/**
|
||||||
|
* TODO : whatever - can't remember what the purpose of this stupid property was...
|
||||||
|
*/
|
||||||
|
console.log('whatever');
|
||||||
|
return;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* We cannot control everything about the canvas - this is dependent on where the canvas lives and its
|
* We cannot control everything about the canvas - this is dependent on where the canvas lives and its
|
||||||
* dimensions can also be controlled via CSS -
|
* dimensions can also be controlled via CSS -
|
||||||
|
@ -72,16 +87,15 @@ R3.Canvas.prototype.updateInstance = function(property) {
|
||||||
/**
|
/**
|
||||||
* Update from our canvas size
|
* Update from our canvas size
|
||||||
*/
|
*/
|
||||||
this.width = this.instance.width;
|
this.width = this.instance.getAttribute('width');
|
||||||
this.height = this.instance.height;
|
this.height = this.instance.getAttribute('height');
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Command our canvas to take a size - this is not guaranteed however - CSS wins
|
* Command our canvas to take a size - this is not guaranteed however - CSS wins
|
||||||
*/
|
*/
|
||||||
this.instance.width = this.width;
|
this.instance.setAttribute('width', this.width);
|
||||||
this.instance.height = this.height;
|
this.instance.setAttribute('height', this.height);
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
197
src/r3-entity.js
197
src/r3-entity.js
|
@ -8,18 +8,8 @@ R3.Entity = function(
|
||||||
) {
|
) {
|
||||||
|
|
||||||
__RUNTIME_COMPONENT__;
|
__RUNTIME_COMPONENT__;
|
||||||
//
|
|
||||||
// this.instanceCreatedEventSubscription = this.subscribe(
|
|
||||||
// R3.Event.INSTANCE_CREATED,
|
|
||||||
// this.instanceCreatedEvent
|
|
||||||
// );
|
|
||||||
//
|
|
||||||
// this.removeComponentSubscription = this.subscribe(
|
|
||||||
// R3.Event.REMOVE_COMPONENT,
|
|
||||||
// this.removeComponentEvent
|
|
||||||
// );
|
|
||||||
|
|
||||||
// this.idRegister = {};
|
this.linkedComponents = [R3.Component];
|
||||||
|
|
||||||
__UPGRADE_TO_RUNTIME__;
|
__UPGRADE_TO_RUNTIME__;
|
||||||
};
|
};
|
||||||
|
@ -29,22 +19,6 @@ R3.Entity.prototype.constructor = R3.Entity;
|
||||||
|
|
||||||
R3.Entity.prototype.createInstance = function() {
|
R3.Entity.prototype.createInstance = function() {
|
||||||
|
|
||||||
// this.components.map(
|
|
||||||
// function(component) {
|
|
||||||
// component.parent = this;
|
|
||||||
//
|
|
||||||
// Object.keys(component.idToObject).map(
|
|
||||||
// function(componentId) {
|
|
||||||
// R3.Utils.PushUnique(this.components, component.idToObject[componentId]);
|
|
||||||
// component.idToObject[componentId].parent = this;
|
|
||||||
// }.bind(this)
|
|
||||||
// );
|
|
||||||
//
|
|
||||||
// }.bind(this)
|
|
||||||
// );
|
|
||||||
//
|
|
||||||
// this.buildIdRegister();
|
|
||||||
//
|
|
||||||
this.instance = true;
|
this.instance = true;
|
||||||
|
|
||||||
__CREATE_INSTANCE__;
|
__CREATE_INSTANCE__;
|
||||||
|
@ -55,7 +29,6 @@ R3.Entity.prototype.updateInstance = function(property) {
|
||||||
if (property === 'components') {
|
if (property === 'components') {
|
||||||
|
|
||||||
console.log('todo: entity components change');
|
console.log('todo: entity components change');
|
||||||
// this.buildIdRegister();
|
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -64,164 +37,20 @@ R3.Entity.prototype.updateInstance = function(property) {
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// /**
|
|
||||||
// * Links a component to its parent entity
|
|
||||||
// */
|
|
||||||
// R3.Entity.prototype.instanceCreatedEvent = function(data) {
|
|
||||||
//
|
|
||||||
// if (data.component === this) {
|
|
||||||
// /**
|
|
||||||
// * do nothing
|
|
||||||
// */
|
|
||||||
// return;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// if (data.component.parent === this.id) {
|
|
||||||
// this.addComponent(data.component);
|
|
||||||
// }
|
|
||||||
// };
|
|
||||||
//
|
|
||||||
// R3.Entity.prototype.removeComponentEvent = function(data) {
|
|
||||||
//
|
|
||||||
// if (data.component === this) {
|
|
||||||
// /**
|
|
||||||
// * do nothing
|
|
||||||
// */
|
|
||||||
// return;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// if (data.component.parent === this) {
|
|
||||||
// this.removeComponent(data.component);
|
|
||||||
// }
|
|
||||||
// };
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Adds a component to this entity through the instance (should notify the entity manager instance)
|
|
||||||
* @param component
|
|
||||||
*/
|
|
||||||
// R3.Entity.prototype.addComponent = function(component) {
|
|
||||||
//
|
|
||||||
// component.parent = this;
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * Could be that this entity is not loaded and needs to be linked still
|
|
||||||
// */
|
|
||||||
// if (this.components.indexOf(component.id) !== -1) {
|
|
||||||
// console.log('the entity still has to load');
|
|
||||||
// return;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// R3.Utils.PushUnique(this.components, component);
|
|
||||||
//
|
|
||||||
// if (R3.Utils.UndefinedOrNull(this.idRegister[component.componentType])) {
|
|
||||||
// this.idRegister[component.componentType] = [];
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// R3.Utils.PushUnique(this.idRegister[component.componentType], component);
|
|
||||||
//
|
|
||||||
// component.buildIdToObject();
|
|
||||||
//
|
|
||||||
// Object.keys(component.idToObject).map(
|
|
||||||
// function(componentId) {
|
|
||||||
//
|
|
||||||
// if (component.id !== componentId) {
|
|
||||||
// this.addComponent(component.idToObject[componentId]);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// }.bind(this)
|
|
||||||
// );
|
|
||||||
// };
|
|
||||||
|
|
||||||
// R3.Entity.prototype.removeComponent = function(component) {
|
|
||||||
//
|
|
||||||
// component.parent = null;
|
|
||||||
//
|
|
||||||
// var index = this.components.indexOf(component);
|
|
||||||
//
|
|
||||||
// if (index === -1) {
|
|
||||||
// console.warn('component not found in entity');
|
|
||||||
// } else {
|
|
||||||
// this.components.splice(index, 1);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// if (R3.Utils.UndefinedOrNull(this.idRegister[component.componentType])) {
|
|
||||||
// console.warn('component type not found in entity register');
|
|
||||||
// } else {
|
|
||||||
//
|
|
||||||
// index = this.idRegister[component.componentType].indexOf(component);
|
|
||||||
//
|
|
||||||
// if (index === -1) {
|
|
||||||
// console.warn('component ' + component.name + ' not found in id register of entity ' + this.name);
|
|
||||||
// } else {
|
|
||||||
// this.idRegister[component.componentType].splice(index, 1);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * Remove the hash completely if it was the last one
|
|
||||||
// */
|
|
||||||
// if (this.idRegister[component.componentType].length === 0) {
|
|
||||||
// delete this.idRegister[component.componentType];
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// }
|
|
||||||
// };
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns all components of type 'constructor' - slower than queryComponents
|
* Returns all components of type 'constructor' - slower than queryComponents
|
||||||
* @param constructor
|
* @param constructor
|
||||||
*/
|
*/
|
||||||
// R3.Entity.prototype.findComponentsByConstructor = function(constructor) {
|
R3.Entity.prototype.findComponentsByConstructor = function(constructor) {
|
||||||
//
|
|
||||||
// var components = this.components.reduce(
|
|
||||||
// function(result, component) {
|
|
||||||
// if (component instanceof constructor) {
|
|
||||||
// result.push(component);
|
|
||||||
// }
|
|
||||||
// return result;
|
|
||||||
// },
|
|
||||||
// []
|
|
||||||
// );
|
|
||||||
//
|
|
||||||
// return components;
|
|
||||||
// };
|
|
||||||
|
|
||||||
/**
|
return this.components.reduce(
|
||||||
* Returns all child components of this entity by component type (via hash reference - very fast)
|
function(result, component) {
|
||||||
* @param componentType
|
if (component instanceof constructor) {
|
||||||
* @returns {*}
|
result.push(component);
|
||||||
*/
|
}
|
||||||
// R3.Entity.prototype.queryComponents = function(componentType) {
|
return result;
|
||||||
// return this.idRegister[componentType] || [];
|
},
|
||||||
// };
|
[]
|
||||||
//
|
);
|
||||||
// R3.Entity.prototype.buildIdRegister = function() {
|
|
||||||
// console.log('updating id register for entity : ' + this.name);
|
};
|
||||||
//
|
|
||||||
// this.idRegister = {};
|
|
||||||
//
|
|
||||||
// this.components.map(
|
|
||||||
// function(component) {
|
|
||||||
//
|
|
||||||
// if (R3.Utils.UndefinedOrNull(this.idRegister[component.componentType])) {
|
|
||||||
// this.idRegister[component.componentType] = [];
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// this.idRegister[component.componentType].push(component);
|
|
||||||
//
|
|
||||||
// }.bind(this)
|
|
||||||
// );
|
|
||||||
//
|
|
||||||
// console.log('done updating idRegister');
|
|
||||||
// };
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * Cleanup our subscriptions first
|
|
||||||
// */
|
|
||||||
// R3.Entity.prototype.remove = function() {
|
|
||||||
//
|
|
||||||
// this.instanceCreatedEventSubscription.remove();
|
|
||||||
// this.removeComponentSubscription.remove();
|
|
||||||
//
|
|
||||||
// R3.Component.prototype.remove.call(this);
|
|
||||||
// };
|
|
||||||
|
|
|
@ -12,6 +12,7 @@ R3.Project = function(
|
||||||
this.linkedComponents.entities = [R3.Entity];
|
this.linkedComponents.entities = [R3.Entity];
|
||||||
this.linkedComponents.controls = [R3.Controls];
|
this.linkedComponents.controls = [R3.Controls];
|
||||||
this.linkedComponents.images = [R3.Image];
|
this.linkedComponents.images = [R3.Image];
|
||||||
|
this.linkedComponents.code = [R3.CustomCode];
|
||||||
|
|
||||||
__UPGRADE_TO_RUNTIME__;
|
__UPGRADE_TO_RUNTIME__;
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue