Skip to content

组件

typescript
import { defineComponent, Component, Node, type IPointerEvent } from "cassia-engine";

// defineComponent 中有一些可选参数,例如useOnPointerDown,开启之后自动注册注销onPointerDown方法
@defineComponent({ componentName: "MyComponent", useOnPointerDown: true })
export class MyComponent extends Component {
    protected onStart(): void {
        console.log("Component MyComponent onStart");
    }

    protected onPointerDown(event: IPointerEvent): void {
        console.log("Component MyComponent onPointerDown", event);
    }
}

// 给节点添加组件
const myComponent = node.addComponent(MyComponent);
// 通过组件名称添加组件
const myComponent = node.addComponent("MyComponent");

// 移除组件
node.removeComponent(MyComponent);
// 通过组件名称移除组件
node.removeComponent("MyComponent");

// 获取组件
const myComponent = node.getComponent(MyComponent);
// 通过组件名称获取组件
const myComponent = node.getComponent("MyComponent");