You've already forked Nitro_Render_V3
mirror of
https://github.com/duckietm/Nitro_Render_V3.git
synced 2026-06-20 07:26:18 +00:00
Move to Renderer V2
This commit is contained in:
@@ -0,0 +1,10 @@
|
||||
export interface IPetBreedingResultData
|
||||
{
|
||||
readonly stuffId: number;
|
||||
readonly classId: number;
|
||||
readonly productCode: string;
|
||||
readonly userId: number;
|
||||
readonly userName: string;
|
||||
readonly rarityLevel: number;
|
||||
readonly hasMutation: boolean;
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
import { Point } from 'pixi.js';
|
||||
import { IVector3D } from '../utils';
|
||||
|
||||
export interface IRoomGeometry
|
||||
{
|
||||
getCoordinatePosition(_arg_1: IVector3D): IVector3D;
|
||||
getScreenPoint(_arg_1: IVector3D): Point;
|
||||
getScreenPosition(_arg_1: IVector3D): IVector3D;
|
||||
getPlanePosition(_arg_1: Point, _arg_2: IVector3D, _arg_3: IVector3D, _arg_4: IVector3D): Point;
|
||||
setDisplacement(_arg_1: IVector3D, _arg_2: IVector3D): void;
|
||||
adjustLocation(_arg_1: IVector3D, _arg_2: number): void;
|
||||
performZoom(): void;
|
||||
performZoomOut(): void;
|
||||
performZoomIn(): void;
|
||||
isZoomedIn(): boolean;
|
||||
updateId: number;
|
||||
z_scale: number;
|
||||
scale: number;
|
||||
directionAxis: IVector3D;
|
||||
direction: IVector3D;
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
import { IRoomInstanceContainer } from './IRoomInstanceContainer';
|
||||
import { IRoomObjectManager } from './IRoomObjectManager';
|
||||
import { IRoomObject, IRoomObjectModel } from './object';
|
||||
import { IRoomRendererBase } from './renderer';
|
||||
|
||||
export interface IRoomInstance
|
||||
{
|
||||
dispose(): void;
|
||||
setRenderer(renderer: IRoomRendererBase): void;
|
||||
getManager(category: number): IRoomObjectManager;
|
||||
getTotalObjectsForManager(category: number): number;
|
||||
getRoomObject(id: number, category: number): IRoomObject;
|
||||
getRoomObjectsForCategory(category: number): IRoomObject[];
|
||||
getRoomObjectByIndex(index: number, category: number): IRoomObject;
|
||||
createRoomObject(id: number, stateCount: number, type: string, category: number): IRoomObject;
|
||||
createRoomObjectAndInitalize(objectId: number, type: string, category: number): IRoomObject;
|
||||
removeRoomObject(id: number, category: number): void;
|
||||
removeAllManagers(): void;
|
||||
addUpdateCategory(category: number): void;
|
||||
removeUpdateCategory(category: number): void;
|
||||
update(time: number, update?: boolean): void;
|
||||
id: string;
|
||||
container: IRoomInstanceContainer;
|
||||
renderer: IRoomRendererBase;
|
||||
managers: Map<number, IRoomObjectManager>;
|
||||
model: IRoomObjectModel;
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
import { IRoomObjectManager } from './IRoomObjectManager';
|
||||
import { IRoomObject } from './object';
|
||||
|
||||
export interface IRoomInstanceContainer
|
||||
{
|
||||
createRoomObjectAndInitalize(roomId: string, objectId: number, type: string, category: number): IRoomObject;
|
||||
createRoomObjectManager(category: number): IRoomObjectManager;
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
import { IRoomInstance } from './IRoomInstance';
|
||||
import { IRoomManagerListener } from './IRoomManagerListener';
|
||||
import { IRoomObject } from './object';
|
||||
|
||||
export interface IRoomManager
|
||||
{
|
||||
init(listener: IRoomManagerListener): Promise<void>;
|
||||
getRoomInstance(roomId: string): IRoomInstance;
|
||||
createRoomInstance(roomId: string): IRoomInstance;
|
||||
removeRoomInstance(roomId: string): boolean;
|
||||
addUpdateCategory(category: number): void;
|
||||
removeUpdateCategory(category: number): void;
|
||||
createRoomObjectAndInitalize(roomId: string, objectId: number, type: string, category: number): IRoomObject;
|
||||
update(time: number, update?: boolean): void;
|
||||
rooms: Map<string, IRoomInstance>;
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
export interface IRoomManagerListener
|
||||
{
|
||||
objectInitialized(roomId: string, objectId: number, category: number): void;
|
||||
initalizeTemporaryObjectsByType(type: string, _arg_2: boolean): void;
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
import { IAdvancedMap } from '../utils';
|
||||
import { IRoomObjectController } from './object';
|
||||
|
||||
export interface IRoomObjectManager
|
||||
{
|
||||
dispose(): void;
|
||||
getObject(id: number): IRoomObjectController;
|
||||
getObjectByIndex(index: number): IRoomObjectController;
|
||||
createObject(id: number, stateCount: number, type: string): IRoomObjectController;
|
||||
removeObject(id: number): void;
|
||||
removeAllObjects(): void;
|
||||
objects: IAdvancedMap<number, IRoomObjectController>;
|
||||
totalObjects: number;
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
import { IVector3D } from '../utils/IVector3D';
|
||||
|
||||
export interface IRoomObjectUpdateMessage
|
||||
{
|
||||
readonly location: IVector3D;
|
||||
readonly direction: IVector3D;
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
export interface IRoomSpriteMouseEvent
|
||||
{
|
||||
readonly type: string;
|
||||
readonly eventId: string;
|
||||
readonly canvasId: string;
|
||||
readonly spriteTag: string;
|
||||
readonly screenX: number;
|
||||
readonly screenY: number;
|
||||
readonly localX: number;
|
||||
readonly localY: number;
|
||||
readonly ctrlKey: boolean;
|
||||
readonly altKey: boolean;
|
||||
readonly shiftKey: boolean;
|
||||
readonly buttonDown: boolean;
|
||||
spriteOffsetX: number;
|
||||
spriteOffsetY: number;
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
export class RoomObjectSpriteData
|
||||
{
|
||||
public objectId: number;
|
||||
public x: number;
|
||||
public y: number;
|
||||
public z: number;
|
||||
public name: string;
|
||||
public blendMode: string;
|
||||
public flipH: boolean;
|
||||
public skew: number;
|
||||
public frame: boolean;
|
||||
public color: string;
|
||||
public alpha: number;
|
||||
public width: number;
|
||||
public height: number;
|
||||
public type: string;
|
||||
public posture: string;
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
export * from './IPetBreedingResultData';
|
||||
export * from './IRoomGeometry';
|
||||
export * from './IRoomInstance';
|
||||
export * from './IRoomInstanceContainer';
|
||||
export * from './IRoomManager';
|
||||
export * from './IRoomManagerListener';
|
||||
export * from './IRoomObjectManager';
|
||||
export * from './IRoomObjectUpdateMessage';
|
||||
export * from './IRoomSpriteMouseEvent';
|
||||
export * from './RoomObjectSpriteData';
|
||||
export * from './object';
|
||||
export * from './object/enum';
|
||||
export * from './object/logic';
|
||||
export * from './object/visualization';
|
||||
export * from './renderer';
|
||||
@@ -0,0 +1,22 @@
|
||||
import { IVector3D } from '../../utils';
|
||||
import { IRoomObjectModel } from './IRoomObjectModel';
|
||||
import { IRoomObjectMouseHandler } from './logic';
|
||||
import { IRoomObjectVisualization } from './visualization';
|
||||
|
||||
export interface IRoomObject
|
||||
{
|
||||
dispose(): void;
|
||||
getLocation(): IVector3D;
|
||||
getDirection(): IVector3D;
|
||||
getState(index?: number): number;
|
||||
id: number;
|
||||
instanceId: number;
|
||||
type: string;
|
||||
model: IRoomObjectModel;
|
||||
visualization: IRoomObjectVisualization;
|
||||
mouseHandler: IRoomObjectMouseHandler;
|
||||
location: IVector3D;
|
||||
direction: IVector3D;
|
||||
updateCounter: number;
|
||||
isReady: boolean;
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
import { IVector3D } from '../../utils';
|
||||
import { IRoomObjectUpdateMessage } from '../IRoomObjectUpdateMessage';
|
||||
import { IRoomObject } from './IRoomObject';
|
||||
import { IRoomObjectEventHandler } from './logic';
|
||||
import { IRoomObjectGraphicVisualization } from './visualization';
|
||||
|
||||
export interface IRoomObjectController extends IRoomObject
|
||||
{
|
||||
setLocation(vector: IVector3D): void;
|
||||
setDirection(vector: IVector3D): void;
|
||||
setState(state: number, index?: number): boolean;
|
||||
setVisualization(visualization: IRoomObjectGraphicVisualization): void;
|
||||
setLogic(logic: IRoomObjectEventHandler): void;
|
||||
processUpdateMessage(message: IRoomObjectUpdateMessage): void;
|
||||
tearDown(): void;
|
||||
isReady: boolean;
|
||||
logic: IRoomObjectEventHandler;
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
export interface IRoomObjectModel
|
||||
{
|
||||
dispose(): void;
|
||||
getValue<T>(key: string): T;
|
||||
setValue<T>(key: string, value: T): void;
|
||||
removeKey(key: string): void;
|
||||
updateCounter: number;
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
import { IAdvancedMap } from '../../utils';
|
||||
import { IRoomObjectModel } from './IRoomObjectModel';
|
||||
|
||||
export interface IRoomObjectModelController extends IRoomObjectModel
|
||||
{
|
||||
setNumber(_arg_1: string, _arg_2: number, _arg_3: boolean): void;
|
||||
setString(_arg_1: string, _arg_2: string, _arg_3: boolean): void;
|
||||
setNumberArray(_arg_1: string, _arg_2: [], _arg_3: boolean): void;
|
||||
setStringArray(_arg_1: string, _arg_2: [], _arg_3: boolean): void;
|
||||
setStringToStringMap(_arg_1: string, _arg_2: IAdvancedMap<any, any>, _arg_3: boolean): void;
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
export class AlphaTolerance
|
||||
{
|
||||
public static MATCH_ALL_PIXELS: number = -1;
|
||||
public static MATCH_OPAQUE_PIXELS: number = 128;
|
||||
public static MATCH_NOTHING: number = 256;
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
export class RoomObjectSpriteType
|
||||
{
|
||||
public static DEFAULT: number = 1;
|
||||
public static ROOM_PLANE: number = 2;
|
||||
public static AVATAR: number = 3;
|
||||
public static AVATAR_OWN: number = 4;
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
export * from './AlphaTolerance';
|
||||
export * from './RoomObjectSpriteType';
|
||||
@@ -0,0 +1,7 @@
|
||||
export * from './enum';
|
||||
export * from './IRoomObject';
|
||||
export * from './IRoomObjectController';
|
||||
export * from './IRoomObjectModel';
|
||||
export * from './IRoomObjectModelController';
|
||||
export * from './logic';
|
||||
export * from './visualization';
|
||||
@@ -0,0 +1,20 @@
|
||||
import { IEventDispatcher } from '../../../common';
|
||||
import { IRoomObjectUpdateMessage } from '../../IRoomObjectUpdateMessage';
|
||||
import { IRoomObjectController } from '../IRoomObjectController';
|
||||
import { IRoomObjectMouseHandler } from './IRoomObjectMouseHandler';
|
||||
|
||||
export interface IRoomObjectEventHandler extends IRoomObjectMouseHandler
|
||||
{
|
||||
initialize(data: unknown): void;
|
||||
dispose(): void;
|
||||
update(totalTimeRunning: number): void;
|
||||
processUpdateMessage(message: IRoomObjectUpdateMessage): void;
|
||||
getEventTypes(): string[];
|
||||
useObject(): void;
|
||||
setObject(object: IRoomObjectController): void;
|
||||
tearDown(): void;
|
||||
object: IRoomObjectController;
|
||||
eventDispatcher: IEventDispatcher;
|
||||
widget: string;
|
||||
contextMenu: string;
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
import { IEventDispatcher, INitroEvent } from '../../../common';
|
||||
import { IRoomObjectEventHandler } from './IRoomObjectEventHandler';
|
||||
|
||||
export interface IRoomObjectLogicFactory
|
||||
{
|
||||
getLogic(type: string): IRoomObjectEventHandler;
|
||||
registerEventFunction(func: (event: INitroEvent) => void): void;
|
||||
removeEventFunction(func: (event: INitroEvent) => void): void;
|
||||
events: IEventDispatcher;
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
import { IRoomGeometry } from '../../IRoomGeometry';
|
||||
import { IRoomSpriteMouseEvent } from '../../IRoomSpriteMouseEvent';
|
||||
|
||||
export interface IRoomObjectMouseHandler
|
||||
{
|
||||
mouseEvent(event: IRoomSpriteMouseEvent, geometry: IRoomGeometry): void;
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
export * from './IRoomObjectEventHandler';
|
||||
export * from './IRoomObjectLogicFactory';
|
||||
export * from './IRoomObjectMouseHandler';
|
||||
@@ -0,0 +1,14 @@
|
||||
import { Point } from 'pixi.js';
|
||||
|
||||
export interface IPlaneDrawingData
|
||||
{
|
||||
isBottomAligned(): boolean;
|
||||
z: number;
|
||||
cornerPoints: Point[];
|
||||
color: number;
|
||||
maskAssetNames: string[];
|
||||
maskAssetLocations: Point[];
|
||||
maskAssetFlipHs: boolean[];
|
||||
maskAssetFlipVs: boolean[];
|
||||
assetNameColumns: string[][];
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
import { IRoomPlane } from './IRoomPlane';
|
||||
|
||||
export interface IPlaneVisualization
|
||||
{
|
||||
planes: IRoomPlane[];
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
import { IGraphicAssetCollection } from '../../../asset';
|
||||
import { IRoomObjectVisualization } from './IRoomObjectVisualization';
|
||||
|
||||
export interface IRoomObjectGraphicVisualization extends IRoomObjectVisualization
|
||||
{
|
||||
asset: IGraphicAssetCollection;
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
import { BLEND_MODES, Filter, Texture } from 'pixi.js';
|
||||
|
||||
export interface IRoomObjectSprite
|
||||
{
|
||||
dispose(): void;
|
||||
increaseUpdateCounter(): void;
|
||||
id: number;
|
||||
name: string;
|
||||
type: string;
|
||||
spriteType: number;
|
||||
texture: Texture;
|
||||
width: number;
|
||||
height: number;
|
||||
offsetX: number;
|
||||
offsetY: number;
|
||||
flipH: boolean;
|
||||
flipV: boolean;
|
||||
direction: number;
|
||||
alpha: number;
|
||||
blendMode: BLEND_MODES;
|
||||
color: number;
|
||||
relativeDepth: number;
|
||||
varyingDepth: boolean;
|
||||
libraryAssetName: string;
|
||||
clickHandling: boolean;
|
||||
visible: boolean;
|
||||
tag: string;
|
||||
posture: string;
|
||||
alphaTolerance: number;
|
||||
filters: Filter[];
|
||||
updateCounter: number;
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
import { RoomObjectSpriteData } from '../../RoomObjectSpriteData';
|
||||
import { IRoomObjectGraphicVisualization } from './IRoomObjectGraphicVisualization';
|
||||
import { IRoomObjectSprite } from './IRoomObjectSprite';
|
||||
|
||||
export interface IRoomObjectSpriteVisualization extends IRoomObjectGraphicVisualization
|
||||
{
|
||||
getSprite(index: number): IRoomObjectSprite;
|
||||
getSpriteList(): RoomObjectSpriteData[];
|
||||
sprites: IRoomObjectSprite[];
|
||||
updateObjectCounter: number;
|
||||
updateModelCounter: number;
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
import { Rectangle, Texture } from 'pixi.js';
|
||||
import { IRoomGeometry } from '../../IRoomGeometry';
|
||||
import { IRoomObject } from '../IRoomObject';
|
||||
import { IObjectVisualizationData } from './IRoomObjectVisualizationData';
|
||||
|
||||
export interface IRoomObjectVisualization
|
||||
{
|
||||
initialize(data: IObjectVisualizationData): boolean;
|
||||
dispose(): void;
|
||||
update(geometry: IRoomGeometry, time: number, update: boolean, skipUpdate: boolean): void;
|
||||
getBoundingRectangle(): Rectangle;
|
||||
getImage(): Texture;
|
||||
instanceId: number;
|
||||
object: IRoomObject;
|
||||
image: Texture;
|
||||
updateSpriteCounter: number;
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
import { IAssetData } from '../../../asset';
|
||||
|
||||
export interface IObjectVisualizationData
|
||||
{
|
||||
initialize(asset: IAssetData): boolean;
|
||||
dispose(): void;
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
import { IAssetData } from '../../../asset';
|
||||
import { IRoomObjectGraphicVisualization } from './IRoomObjectGraphicVisualization';
|
||||
import { IObjectVisualizationData } from './IRoomObjectVisualizationData';
|
||||
|
||||
export interface IRoomObjectVisualizationFactory
|
||||
{
|
||||
getVisualization(type: string): IRoomObjectGraphicVisualization;
|
||||
getVisualizationData(type: string, visualization: string, asset: IAssetData): IObjectVisualizationData;
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
import { IVector3D } from '../../../utils';
|
||||
|
||||
export interface IRoomPlane
|
||||
{
|
||||
uniqueId: number;
|
||||
location: IVector3D;
|
||||
leftSide: IVector3D;
|
||||
rightSide: IVector3D;
|
||||
color: number;
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
import { IRoomObjectSprite } from './IRoomObjectSprite';
|
||||
|
||||
export interface ISortableSprite
|
||||
{
|
||||
x: number;
|
||||
y: number;
|
||||
z: number;
|
||||
sprite: IRoomObjectSprite;
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
export * from './IPlaneDrawingData';
|
||||
export * from './IPlaneVisualization';
|
||||
export * from './IRoomObjectGraphicVisualization';
|
||||
export * from './IRoomObjectSprite';
|
||||
export * from './IRoomObjectSpriteVisualization';
|
||||
export * from './IRoomObjectVisualization';
|
||||
export * from './IRoomObjectVisualizationData';
|
||||
export * from './IRoomObjectVisualizationFactory';
|
||||
export * from './IRoomPlane';
|
||||
export * from './ISortableSprite';
|
||||
@@ -0,0 +1,8 @@
|
||||
import { IRoomGeometry } from '../IRoomGeometry';
|
||||
import { IRoomSpriteMouseEvent } from '../IRoomSpriteMouseEvent';
|
||||
import { IRoomObject } from '../object';
|
||||
|
||||
export interface IRoomCanvasMouseListener
|
||||
{
|
||||
processRoomCanvasMouseEvent(event: IRoomSpriteMouseEvent, object: IRoomObject, geometry: IRoomGeometry): void
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
import { IRoomRendererBase } from './IRoomRendererBase';
|
||||
import { IRoomRenderingCanvas } from './IRoomRenderingCanvas';
|
||||
|
||||
export interface IRoomRenderer extends IRoomRendererBase
|
||||
{
|
||||
getCanvas(id: number): IRoomRenderingCanvas;
|
||||
createCanvas(id: number, width: number, height: number, scale: number): IRoomRenderingCanvas;
|
||||
roomObjectVariableAccurateZ: string;
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
import { IRoomObject } from '../object';
|
||||
|
||||
export interface IRoomRendererBase
|
||||
{
|
||||
addObject(object: IRoomObject): void;
|
||||
removeObject(object: IRoomObject): void;
|
||||
dispose(): void;
|
||||
reset(): void;
|
||||
update(time: number, update?: boolean): void;
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
import { Container, Point, Texture } from 'pixi.js';
|
||||
import { IRoomGeometry } from '../IRoomGeometry';
|
||||
import { RoomObjectSpriteData } from '../RoomObjectSpriteData';
|
||||
import { ISortableSprite } from '../object';
|
||||
import { IRoomCanvasMouseListener } from './IRoomCanvasMouseListener';
|
||||
|
||||
export interface IRoomRenderingCanvas
|
||||
{
|
||||
dispose(): void;
|
||||
initialize(width: number, height: number): void;
|
||||
setMask(flag: boolean): void;
|
||||
setScale(scale: number, point?: Point, offsetPoint?: Point, override?: boolean, asDelta?: boolean): void;
|
||||
render(time: number, update?: boolean): void;
|
||||
update(): void;
|
||||
setMouseListener(listener: IRoomCanvasMouseListener): void;
|
||||
skipSpriteVisibilityChecking(): void;
|
||||
resumeSpriteVisibilityChecking(): void;
|
||||
getPlaneSortableSprites(): ISortableSprite[];
|
||||
handleMouseEvent(x: number, y: number, type: string, altKey: boolean, ctrlKey: boolean, shiftKey: boolean, buttonDown: boolean): boolean;
|
||||
getSortableSpriteList(): RoomObjectSpriteData[];
|
||||
getDisplayAsTexture(): Texture;
|
||||
moveLeft(): void;
|
||||
moveRight(): void;
|
||||
moveUp(): void;
|
||||
moveDown(): void;
|
||||
id: number;
|
||||
geometry: IRoomGeometry;
|
||||
master: Container;
|
||||
display: Container;
|
||||
screenOffsetX: number;
|
||||
screenOffsetY: number;
|
||||
scale: number;
|
||||
width: number;
|
||||
height: number;
|
||||
canvasUpdated: boolean;
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
import { IRoomObject } from '../object';
|
||||
|
||||
export interface IRoomSpriteCanvasContainer
|
||||
{
|
||||
getRoomObject(instanceId: number): IRoomObject;
|
||||
objects: Map<number, IRoomObject>;
|
||||
roomObjectVariableAccurateZ: string;
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
export * from './IRoomCanvasMouseListener';
|
||||
export * from './IRoomRenderer';
|
||||
export * from './IRoomRendererBase';
|
||||
export * from './IRoomRenderingCanvas';
|
||||
export * from './IRoomSpriteCanvasContainer';
|
||||
Reference in New Issue
Block a user