getComponent不再需要指定类型
This commit is contained in:
8
source/bin/framework.d.ts
vendored
8
source/bin/framework.d.ts
vendored
@@ -353,7 +353,7 @@ declare module es {
|
|||||||
* 创建组件的新实例。返回实例组件
|
* 创建组件的新实例。返回实例组件
|
||||||
* @param componentType
|
* @param componentType
|
||||||
*/
|
*/
|
||||||
createComponent<T extends Component>(componentType: new () => T): T;
|
createComponent<T extends Component>(componentType: new (...args: any[]) => T): T;
|
||||||
/**
|
/**
|
||||||
* 将组件添加到组件列表中。返回组件。
|
* 将组件添加到组件列表中。返回组件。
|
||||||
* @param component
|
* @param component
|
||||||
@@ -363,14 +363,14 @@ declare module es {
|
|||||||
* 获取类型T的第一个组件并返回它。如果没有找到组件,则返回null。
|
* 获取类型T的第一个组件并返回它。如果没有找到组件,则返回null。
|
||||||
* @param type
|
* @param type
|
||||||
*/
|
*/
|
||||||
getComponent<T extends Component>(type: any): T;
|
getComponent<T extends Component>(type: new (...args: any[]) => T): T;
|
||||||
/**
|
/**
|
||||||
* 尝试获取T类型的组件。如果未找到任何组件,则返回false
|
* 尝试获取T类型的组件。如果未找到任何组件,则返回false
|
||||||
* @param type
|
* @param type
|
||||||
* @param outComponent
|
* @param outComponent
|
||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
tryGetComponent<T extends Component>(type: any, outComponent: Ref<T>): boolean;
|
tryGetComponent<T extends Component>(type: new (...args: any[]) => T, outComponent: Ref<T>): boolean;
|
||||||
/**
|
/**
|
||||||
* 检查实体是否具有该组件
|
* 检查实体是否具有该组件
|
||||||
* @param type
|
* @param type
|
||||||
@@ -1100,7 +1100,7 @@ declare module es {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
declare module es {
|
declare module es {
|
||||||
abstract class Collider extends Component {
|
class Collider extends Component {
|
||||||
/**
|
/**
|
||||||
* 对撞机的基本形状
|
* 对撞机的基本形状
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -128,7 +128,7 @@ module es {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public onAddedToEntity() {
|
public onAddedToEntity() {
|
||||||
this._collider = this.entity.getComponent<es.Collider>(es.Collider);
|
this._collider = this.entity.getComponent(es.Collider);
|
||||||
Debug.warnIf(this._collider == null, "ArcadeRigidbody 没有 Collider。ArcadeRigidbody需要一个Collider!");
|
Debug.warnIf(this._collider == null, "ArcadeRigidbody 没有 Collider。ArcadeRigidbody需要一个Collider!");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
module es {
|
module es {
|
||||||
export abstract class Collider extends Component {
|
export class Collider extends Component {
|
||||||
/**
|
/**
|
||||||
* 对撞机的基本形状
|
* 对撞机的基本形状
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ module es {
|
|||||||
private _collider: Collider;
|
private _collider: Collider;
|
||||||
|
|
||||||
public onAddedToEntity() {
|
public onAddedToEntity() {
|
||||||
this._collider = this.entity.getComponent<Collider>(Collider);
|
this._collider = this.entity.getComponent(Collider);
|
||||||
Debug.warnIf(this._collider == null, "ProjectileMover没有Collider。ProjectilMover需要一个Collider!");
|
Debug.warnIf(this._collider == null, "ProjectileMover没有Collider。ProjectilMover需要一个Collider!");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -384,7 +384,7 @@ module es {
|
|||||||
* 创建组件的新实例。返回实例组件
|
* 创建组件的新实例。返回实例组件
|
||||||
* @param componentType
|
* @param componentType
|
||||||
*/
|
*/
|
||||||
public createComponent<T extends Component>(componentType: new () => T): T {
|
public createComponent<T extends Component>(componentType: new (...args) => T): T {
|
||||||
let component = new componentType();
|
let component = new componentType();
|
||||||
this.addComponent(component);
|
this.addComponent(component);
|
||||||
return component;
|
return component;
|
||||||
@@ -405,7 +405,7 @@ module es {
|
|||||||
* 获取类型T的第一个组件并返回它。如果没有找到组件,则返回null。
|
* 获取类型T的第一个组件并返回它。如果没有找到组件,则返回null。
|
||||||
* @param type
|
* @param type
|
||||||
*/
|
*/
|
||||||
public getComponent<T extends Component>(type: any): T {
|
public getComponent<T extends Component>(type: new (...args) => T): T {
|
||||||
return this.components.getComponent(type, false);
|
return this.components.getComponent(type, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -415,7 +415,7 @@ module es {
|
|||||||
* @param outComponent
|
* @param outComponent
|
||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
public tryGetComponent<T extends Component>(type: any, outComponent: Ref<T>): boolean {
|
public tryGetComponent<T extends Component>(type: new (...args) => T, outComponent: Ref<T>): boolean {
|
||||||
outComponent.value = this.components.getComponent<T>(type, false);
|
outComponent.value = this.components.getComponent<T>(type, false);
|
||||||
return outComponent.value != null;
|
return outComponent.value != null;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user