living-together/source/Model/CtrlObject.ts
2022-02-21 17:25:43 +08:00

53 lines
849 B
TypeScript

import { LabelObject } from "./Label"
import type { Model } from "./Model";
import type { ObjectID } from "./Renderer";
/**
* 可控对象
*/
class CtrlObject extends LabelObject {
/**
* 颜色
*/
public color: number[] = [.5, .5, .5];
/**
* 是否显示
*/
public display: boolean = true;
/**
* 是否更新
*/
public update: boolean = true;
/**
* 唯一标识符
*/
public id: ObjectID;
/**
* 控制模型
*/
protected model: Model;
/**
* 构造器
*/
public constructor(model: Model, id: ObjectID) {
super();
this.model = model;
this.id = id;
}
/**
* 移除
*/
public delete() {
this.model.deleteObject([this]);
}
}
export default CtrlObject;
export { CtrlObject };