This commit is contained in:
syuilo 2026-05-20 19:09:41 +09:00
commit 20eb342eff
2 changed files with 18 additions and 1 deletions

View file

@ -73,6 +73,10 @@ export class RoomController extends EngineControllerBase<RoomEngine> {
this.isEditMode.value = isEditMode;
});
engineEvents.on('changeSittingState', ({ isSitting }) => {
this.isSitting.value = isSitting;
});
engineEvents.on('changeGridSnapping', ({ gridSnapping }) => {
this.gridSnapping.value = gridSnapping;
});
@ -203,4 +207,8 @@ export class RoomController extends EngineControllerBase<RoomEngine> {
public interact(id: string) {
this.call('interact', [this.selected.value!.objectId, id]);
}
public standUp() {
this.call('standUp');
}
}

View file

@ -126,6 +126,7 @@ export class RoomEngine extends EngineBase<{
}) => void;
'changeGrabbingState': (ctx: { grabbing: { forInstall: boolean } | null }) => void;
'changeEditMode': (ctx: { isEditMode: boolean }) => void;
'changeSittingState': (ctx: { isSitting: boolean }) => void;
'changeGridSnapping': (ctx: { gridSnapping: { enabled: boolean; scale: number } }) => void;
'changeRoomState': (ctx: { roomState: RoomState }) => void;
'playSfxUrl': (ctx: {
@ -234,7 +235,15 @@ export class RoomEngine extends EngineBase<{
this.ev('changeEditMode', { isEditMode: v });
}
public isSitting = false;
private _isSitting = false;
get isSitting() {
return this._isSitting;
}
set isSitting(v) {
this._isSitting = v;
this.ev('changeSittingState', { isSitting: v });
}
private inited = false;
constructor(roomState: RoomState, roomAttachments: RoomAttachments, options: {