mirror of
https://github.com/billsonnn/nitro-renderer.git
synced 2025-02-17 02:22:36 +01:00
Fix RoomDragEvent
This commit is contained in:
parent
d9ea7a8983
commit
c2f2694cf5
@ -662,6 +662,8 @@ export class RoomEngine extends NitroManager implements IRoomEngine, IRoomCreato
|
||||
|
||||
if(!renderingCanvas || !point) return false;
|
||||
|
||||
this.events.dispatchEvent(new RoomDragEvent(roomId, -(renderingCanvas.screenOffsetX - point.x), -(renderingCanvas.screenOffsetY - point.y)));
|
||||
|
||||
renderingCanvas.screenOffsetX = point.x;
|
||||
renderingCanvas.screenOffsetY = point.y;
|
||||
|
||||
@ -1175,18 +1177,14 @@ export class RoomEngine extends NitroManager implements IRoomEngine, IRoomCreato
|
||||
}
|
||||
}
|
||||
|
||||
const canvas = this.getRoomInstanceRenderingCanvas(this._activeRoomId, 1);
|
||||
|
||||
if(canvas)
|
||||
if(this._activeRoomIsDragged)
|
||||
{
|
||||
if(this._activeRoomIsDragged)
|
||||
{
|
||||
canvas.screenOffsetX = (canvas.screenOffsetX + this._activeRoomDragX);
|
||||
canvas.screenOffsetY = (canvas.screenOffsetY + this._activeRoomDragY);
|
||||
const renderingCanvas = this.getRoomInstanceRenderingCanvas(this._activeRoomId, 1);
|
||||
|
||||
this._activeRoomDragX = 0;
|
||||
this._activeRoomDragY = 0;
|
||||
}
|
||||
if(renderingCanvas) this.setRoomInstanceRenderingCanvasOffset(this._activeRoomId, 1, new Point((renderingCanvas.screenOffsetX + this._activeRoomDragX), (renderingCanvas.screenOffsetY + this._activeRoomDragY)));
|
||||
|
||||
this._activeRoomDragX = 0;
|
||||
this._activeRoomDragY = 0;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1460,8 +1458,7 @@ export class RoomEngine extends NitroManager implements IRoomEngine, IRoomCreato
|
||||
|
||||
if(this.useOffsetScrolling)
|
||||
{
|
||||
renderingCanvas.screenOffsetX = -(roomCamera.location.x);
|
||||
renderingCanvas.screenOffsetY = -(roomCamera.location.y);
|
||||
this.setRoomInstanceRenderingCanvasOffset(this.activeRoomId, 1, new Point(-(roomCamera.location.x), -(roomCamera.location.y)));
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -2568,8 +2565,6 @@ export class RoomEngine extends NitroManager implements IRoomEngine, IRoomCreato
|
||||
this._activeRoomDragX += offsetX;
|
||||
this._activeRoomDragY += offsetY;
|
||||
|
||||
this.events.dispatchEvent(new RoomDragEvent(this.activeRoomId, offsetX, offsetY));
|
||||
|
||||
this._activeRoomWasDragged = true;
|
||||
}
|
||||
}
|
||||
|
@ -1,16 +0,0 @@
|
||||
import { IDisposable } from '../../core/common/disposable/IDisposable';
|
||||
import { NitroEvent } from '../../core/events/NitroEvent';
|
||||
import { IRoomWidgetHandlerContainer } from './IRoomWidgetHandlerContainer';
|
||||
import { RoomWidgetUpdateEvent } from './widget/events/RoomWidgetUpdateEvent';
|
||||
import { RoomWidgetMessage } from './widget/messages/RoomWidgetMessage';
|
||||
|
||||
export interface IRoomWidgetHandler extends IDisposable
|
||||
{
|
||||
update(): void;
|
||||
processWidgetMessage(message: RoomWidgetMessage): RoomWidgetUpdateEvent;
|
||||
processEvent(event: NitroEvent): void;
|
||||
type: string;
|
||||
messageTypes: string[];
|
||||
eventTypes: string[];
|
||||
container: IRoomWidgetHandlerContainer;
|
||||
}
|
@ -1,27 +0,0 @@
|
||||
import { Rectangle } from 'pixi.js';
|
||||
import { IConnection } from '../../core/communication/connections/IConnection';
|
||||
import { IEventDispatcher } from '../../core/events/IEventDispatcher';
|
||||
import { IRoomObject } from '../../room/object/IRoomObject';
|
||||
import { IAvatarRenderManager } from '../avatar/IAvatarRenderManager';
|
||||
import { IRoomEngine } from '../room/IRoomEngine';
|
||||
import { IRoomSession } from '../session/IRoomSession';
|
||||
import { IRoomSessionManager } from '../session/IRoomSessionManager';
|
||||
import { ISessionDataManager } from '../session/ISessionDataManager';
|
||||
import { RoomWidgetUpdateEvent } from './widget/events/RoomWidgetUpdateEvent';
|
||||
import { RoomWidgetMessage } from './widget/messages/RoomWidgetMessage';
|
||||
|
||||
export interface IRoomWidgetHandlerContainer
|
||||
{
|
||||
getFirstCanvasId(): number;
|
||||
getRoomViewRect(): Rectangle;
|
||||
checkFurniManipulationRights(roomId: number, objectId: number, category: number): boolean;
|
||||
isOwnerOfFurniture(roomObject: IRoomObject): boolean;
|
||||
processWidgetMessage(message: RoomWidgetMessage): RoomWidgetUpdateEvent;
|
||||
events: IEventDispatcher;
|
||||
connection: IConnection;
|
||||
roomEngine: IRoomEngine;
|
||||
avatarRenderManager: IAvatarRenderManager;
|
||||
roomSession: IRoomSession;
|
||||
roomSessionManager: IRoomSessionManager;
|
||||
sessionDataManager: ISessionDataManager;
|
||||
}
|
@ -1,5 +1,3 @@
|
||||
export * from './IRoomWidgetHandler';
|
||||
export * from './IRoomWidgetHandlerContainer';
|
||||
export * from './MouseEventType';
|
||||
export * from './TouchEventType';
|
||||
export * from './widget';
|
||||
|
@ -1,85 +0,0 @@
|
||||
import { IEventDispatcher } from '../../../core/events/IEventDispatcher';
|
||||
import { IRoomWidgetHandler } from '../IRoomWidgetHandler';
|
||||
import { IRoomWidget } from './IRoomWidget';
|
||||
import { IRoomWidgetMessageListener } from './IRoomWidgetMessageListener';
|
||||
|
||||
export class ConversionTrackingWidget implements IRoomWidget
|
||||
{
|
||||
private _widgetHandler: IRoomWidgetHandler;
|
||||
private _messageListener: IRoomWidgetMessageListener;
|
||||
private _events: IEventDispatcher;
|
||||
private _disposed: boolean;
|
||||
|
||||
constructor()
|
||||
{
|
||||
this._widgetHandler = null;
|
||||
this._messageListener = null;
|
||||
this._events = null;
|
||||
this._disposed = false;
|
||||
}
|
||||
|
||||
public initialize(k: number = 0): void
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public dispose(): void
|
||||
{
|
||||
if(this.disposed) return;
|
||||
|
||||
this._messageListener = null;
|
||||
|
||||
if(this._events && !this._events.disposed)
|
||||
{
|
||||
this.unregisterUpdateEvents(this._events);
|
||||
}
|
||||
|
||||
if(this._widgetHandler)
|
||||
{
|
||||
this._widgetHandler.dispose();
|
||||
|
||||
this._widgetHandler = null;
|
||||
}
|
||||
|
||||
this._events = null;
|
||||
this._disposed = true;
|
||||
}
|
||||
|
||||
public registerUpdateEvents(eventDispatcher: IEventDispatcher): void
|
||||
{
|
||||
this._events = eventDispatcher;
|
||||
}
|
||||
|
||||
public unregisterUpdateEvents(eventDispatcher: IEventDispatcher): void
|
||||
{
|
||||
this._events = null;
|
||||
}
|
||||
|
||||
public get disposed(): boolean
|
||||
{
|
||||
return this._disposed;
|
||||
}
|
||||
|
||||
public get widgetHandler(): IRoomWidgetHandler
|
||||
{
|
||||
return this._widgetHandler;
|
||||
}
|
||||
|
||||
public set widgetHandler(handler: IRoomWidgetHandler)
|
||||
{
|
||||
this._widgetHandler = handler;
|
||||
|
||||
//@ts-ignore
|
||||
if(!this._widgetHandler.widget) this._widgetHandler.widget = this;
|
||||
}
|
||||
|
||||
public get messageListener(): IRoomWidgetMessageListener
|
||||
{
|
||||
return this._messageListener;
|
||||
}
|
||||
|
||||
public set messageListener(listener: IRoomWidgetMessageListener)
|
||||
{
|
||||
this._messageListener = listener;
|
||||
}
|
||||
}
|
@ -1,13 +0,0 @@
|
||||
import { IEventDispatcher } from '../../../core/events/IEventDispatcher';
|
||||
import { IRoomWidgetHandler } from '../IRoomWidgetHandler';
|
||||
import { IRoomWidgetMessageListener } from './IRoomWidgetMessageListener';
|
||||
|
||||
export interface IRoomWidget
|
||||
{
|
||||
initialize(_arg_1?: number): void;
|
||||
dispose(): void;
|
||||
registerUpdateEvents(eventDispatcher: IEventDispatcher): void;
|
||||
unregisterUpdateEvents(eventDispatcher: IEventDispatcher): void;
|
||||
widgetHandler: IRoomWidgetHandler;
|
||||
messageListener: IRoomWidgetMessageListener;
|
||||
}
|
@ -1,7 +0,0 @@
|
||||
import { RoomWidgetUpdateEvent } from './events/RoomWidgetUpdateEvent';
|
||||
import { RoomWidgetMessage } from './messages/RoomWidgetMessage';
|
||||
|
||||
export interface IRoomWidgetMessageListener
|
||||
{
|
||||
processWidgetMessage(message: RoomWidgetMessage): RoomWidgetUpdateEvent;
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
import { NitroEvent } from '../../../../core/events/NitroEvent';
|
||||
|
||||
export class RoomWidgetUpdateEvent extends NitroEvent
|
||||
{
|
||||
constructor(type: string)
|
||||
{
|
||||
super(type);
|
||||
}
|
||||
}
|
@ -1 +0,0 @@
|
||||
export * from './RoomWidgetUpdateEvent';
|
@ -1,6 +1 @@
|
||||
export * from './ConversionTrackingWidget';
|
||||
export * from './enums';
|
||||
export * from './events';
|
||||
export * from './IRoomWidget';
|
||||
export * from './IRoomWidgetMessageListener';
|
||||
export * from './messages';
|
||||
|
@ -1,14 +0,0 @@
|
||||
export class RoomWidgetMessage
|
||||
{
|
||||
private _type: string;
|
||||
|
||||
constructor(type: string)
|
||||
{
|
||||
this._type = type;
|
||||
}
|
||||
|
||||
public get type(): string
|
||||
{
|
||||
return this._type;
|
||||
}
|
||||
}
|
@ -1 +0,0 @@
|
||||
export * from './RoomWidgetMessage';
|
Loading…
x
Reference in New Issue
Block a user