This commit is contained in:
syuilo 2019-08-19 02:02:10 +09:00
parent f4b63c1c72
commit 798bc0aa94
2 changed files with 15 additions and 2 deletions

View File

@ -37,6 +37,7 @@ export class Room {
private selectedObject: THREE.Object3D = null;
private onChangeSelect: Function;
private isTransformMode = false;
private renderFrameRequestId: number;
public canvas: HTMLCanvasElement;
private get furnitures(): Furniture[] {
@ -299,7 +300,8 @@ export class Room {
@autobind
private renderWithoutPostFXs() {
requestAnimationFrame(this.renderWithoutPostFXs);
this.renderFrameRequestId =
window.requestAnimationFrame(this.renderWithoutPostFXs);
// Update animations
const clock = this.clock.getDelta();
@ -313,7 +315,8 @@ export class Room {
@autobind
private renderWithPostFXs() {
requestAnimationFrame(this.renderWithPostFXs);
this.renderFrameRequestId =
window.requestAnimationFrame(this.renderWithPostFXs);
// Update animations
const clock = this.clock.getDelta();
@ -688,4 +691,10 @@ export class Room {
public findFurnitureById(id: string) {
return this.furnitures.find(furniture => furniture.id === id);
}
@autobind
public destroy() {
// Stop render loop
window.cancelAnimationFrame(this.renderFrameRequestId);
}
}

View File

@ -124,6 +124,10 @@ export default Vue.extend({
});
},
beforeDestroy() {
room.destroy();
},
methods: {
async add() {
const { canceled, result: id } = await this.$root.dialog({