新增 tryGetComponent 方法

This commit is contained in:
yhh
2021-03-26 12:53:09 +08:00
parent b9522ade5d
commit d2915fe30c
4 changed files with 30 additions and 2 deletions
+7
View File
@@ -364,6 +364,13 @@ declare module es {
* @param type
*/
getComponent<T extends Component>(type: any): T;
/**
* 尝试获取T类型的组件。如果未找到任何组件,则返回false
* @param type
* @param outComponent
* @returns
*/
tryGetComponent<T extends Component>(type: any, outComponent: Ref<T>): boolean;
/**
* 检查实体是否具有该组件
* @param type
+10
View File
@@ -941,6 +941,16 @@ var es;
Entity.prototype.getComponent = function (type) {
return this.components.getComponent(type, false);
};
/**
* 尝试获取T类型的组件如果未找到任何组件则返回false
* @param type
* @param outComponent
* @returns
*/
Entity.prototype.tryGetComponent = function (type, outComponent) {
outComponent.value = this.components.getComponent(type, false);
return outComponent.value != null;
};
/**
* 检查实体是否具有该组件
* @param type
+1 -1
View File
File diff suppressed because one or more lines are too long
+12 -1
View File
@@ -405,10 +405,21 @@ module es {
* T的第一个组件并返回它null
* @param type
*/
public getComponent<T extends Component>(type): T {
public getComponent<T extends Component>(type: any): T {
return this.components.getComponent(type, false);
}
/**
* T类型的组件false
* @param type
* @param outComponent
* @returns
*/
public tryGetComponent<T extends Component>(type: any, outComponent: Ref<T>): boolean {
outComponent.value = this.components.getComponent<T>(type, false);
return outComponent.value != null;
}
/**
*
* @param type