import { AppObjectEntity, MemoizedBoolean, MemoizedVector2, Vector2, } from "@vived/core";
export class FramedScreenContainer extends AppObjectEntity {
}
FramedScreenContainer.type = "FramedScreenContainer";
export function makeFramedScreenContainer(appObject) {
    return new FramedScreenContainerImp(appObject);
}
class FramedScreenContainerImp extends FramedScreenContainer {
    get id() {
        return this.appObject.id;
    }
    get position() {
        return this.memoizedPos.val;
    }
    set position(p) {
        this.memoizedPos.val = p;
    }
    get size() {
        return this.memoizedSize.val;
    }
    set size(s) {
        this.memoizedSize.val = s;
    }
    get show() {
        return this.memoizedShow.val;
    }
    set show(s) {
        this.memoizedShow.val = s;
    }
    constructor(appObject) {
        super(appObject, FramedScreenContainer.type);
        this.memoizedPos = new MemoizedVector2(Vector2.Zero(), this.notifyOnChange);
        this.memoizedSize = new MemoizedVector2(Vector2.Zero(), this.notifyOnChange);
        this.memoizedShow = new MemoizedBoolean(false, this.notifyOnChange);
    }
}
//# sourceMappingURL=FramedScreenContainer.js.map