LevelComponent()

LevelComponent对象层级控制器

new LevelComponent()

提供物体层级切换能力的功能组件

Extends

Members

active :boolean

激活或停用组件。
Overrides:

app :THING.App

获取应用程序。
Overrides:

config :LevelConfig

获取/设置层级配置。需要在层级改变之前,进行层级配置。
Example
// 获取当前层级配置
let levelComponent  = THING.App.current.root.level;
levelComponent.config = { ignoreVisible: true, ignoreStyle: false };
// @expect { levelComponent.config.ignoreVisible === true }
// @expect { levelComponent.config.ignoreStyle === false }

localViewpoint :Viewpoint

获取/设置摄像机的局部位置和目标位置。此信息是从场景文件里读取出来的
Example
let levelComponent = THING.App.current.root.level;
// Get the local viewpoint
let localViewpoint = levelComponent.localViewpoint;
let ret1 = typeof localViewpoint === 'object';
let ret2 = localViewpoint === null;
// @expect { ret1 == true || ret2 == true }

// Set the local viewpoint
levelComponent.localViewpoint = {
  position: [0, 0, 0],
  target: [1, 1, 1]
};
// @expect {levelComponent.localViewpoint.position[0] === 0 && levelComponent.localViewpoint.target[2] === 1}

object :THING.BaseObject

获取对象。
Overrides:

onActiveChange :OnActiveChangeComponentCallback

活动状态改变时的回调函数。
Overrides:

onAfterAdd :OnAfterAddComponentCallback

添加之后。
Overrides:

onAfterAddChild :OnAddChildComponentCallback

添加子对象之后的回调函数。
Overrides:

onAfterRemove :OnAfterRemoveComponentCallback

移除之后。
Overrides:

onAfterRemoveChild :OnRemoveChildComponentCallback

移除子对象之后的回调函数。
Overrides:

onBeforeAdd :OnBeforeAddComponentCallback

添加之前。
Overrides:

onBeforeAddChild :OnAddChildComponentCallback

添加子对象之前的回调函数。
Overrides:

onBeforeRemove :OnBeforeRemoveComponentCallback

移除之前。
Overrides:

onBeforeRemoveChild :OnRemoveChildComponentCallback

移除子对象之前的回调函数。
Overrides:

onCopy :OnCopyComponentCallback

复制时的回调函数。
Overrides:

onInit :OnInitComponentCallback

初始化时的回调函数。
Overrides:

onLoadResource :OnLoadResourceComponentCallback

加载资源时的回调函数。
Overrides:

onParentChange :OnParentChangeComponentCallback

改变父对象时的回调函数。
Overrides:

onRefresh :OnRefreshComponentCallback

刷新时的回调函数。
Overrides:

onResize :OnResizeComponentCallback

调整大小时的回调函数。
Overrides:

onUnloadResource :OnUnloadResourceComponentCallback

卸载资源时的回调函数。
Overrides:

onUpdate :OnUpdateComponentCallback

更新时的回调函数。
Overrides:

onVisibleChange :OnVisibleChangeComponentCallback

可见性改变时的回调函数。
Overrides:

viewpoint :Viewpoint

获取/设置摄像机的位置和目标位置。此信息是从场景文件里读取出来的
Example
let levelComponent = THING.App.current.root.level;
// Get the world viewpoint
let viewpoint = levelComponent.viewpoint;
let ret1 = typeof viewpoint === 'object';
let ret2 = viewpoint === null;
// @expect { ret1 == true || ret2 == true }

// Set the world viewpoint
levelComponent.viewpoint = {
  position: [0, 0, 0],
  target: [1, 1, 1]
};
// @expect {levelComponent.viewpoint.position[0] === 0 && levelComponent.viewpoint.target[2] === 1}

Methods

onAdd(object)

当添加组件时。
Parameters:
Name Type Description
object THING.BaseObject 对象。
Overrides:

onExport() → {object|null}

导出配置信息
Returns:
object | null - 配置信息
Overrides:
Example
let levelComponent = THING.App.current.root.level;
levelComponent.onImport({ viewpoint: { position: [1, 2, 3], target: [4, 5, 6] }, config: { ignoreStyle:true, ignoreVisible:false } });
// Export data to an external source
let exportedData = levelComponent.onExport();
// @expect { exportedData.viewpoint.position[1] === 2 }
// @expect { exportedData.viewpoint.target[0] === 4 }
// @expect { exportedData.config.ignoreStyle === true }
let ret = exportedData.config.ignoreVisible == undefined;
// @expect { ret === true }

onImport(external)

从外部资源导入数据。
Parameters:
Name Type Description
external object 配置信息 参加下面示例
Overrides:
Example
let levelComponent = THING.App.current.root.level;
// Import data from an external source
// Example 1: Importing data
levelComponent.onImport({ viewpoint: { position: [1, 2, 3], target: [4, 5, 6] }, config: { ignoreStyle:true, ignoreVisible:false } });
// @expect { levelComponent.localViewpoint.position[0] === 1 }
// @expect { levelComponent.localViewpoint.target[2] === 6 }
// @expect { levelComponent.config.ignoreStyle === true }
// @expect { levelComponent.config.ignoreVisible === false }

onRemove()

当移除组件时。
Overrides: