mirror of
https://github.com/billsonnn/nitro-renderer.git
synced 2025-01-31 11:12:35 +01:00
Many asset updates
This commit is contained in:
parent
97a433225c
commit
73006d4d5b
@ -82,6 +82,8 @@ export class AssetManager extends Disposable implements IAssetManager
|
|||||||
{
|
{
|
||||||
if(!data) return null;
|
if(!data) return null;
|
||||||
|
|
||||||
|
console.log(data);
|
||||||
|
|
||||||
const collection = new GraphicAssetCollection(data, spritesheet);
|
const collection = new GraphicAssetCollection(data, spritesheet);
|
||||||
|
|
||||||
if(collection)
|
if(collection)
|
||||||
|
@ -1,11 +1,9 @@
|
|||||||
import { IAssetAnimation } from './animation';
|
import { IAssetAnimation } from './animation';
|
||||||
import { IAsset } from './IAsset';
|
import { IAsset } from './IAsset';
|
||||||
import { IAssetAlias } from './IAssetAlias';
|
import { IAssetAlias } from './IAssetAlias';
|
||||||
import { IAssetDimension } from './IAssetDimension';
|
|
||||||
import { IAssetPalette } from './IAssetPalette';
|
import { IAssetPalette } from './IAssetPalette';
|
||||||
import { IPlanetSystem } from './IPlanetSystem';
|
import { IAssetLogicData } from './logic';
|
||||||
import { IParticleSystem } from './particlesystem';
|
import { ISpritesheetData } from './spritesheet';
|
||||||
import { ISpritesheet } from './spritesheet';
|
|
||||||
import { IAssetVisualizationData } from './visualization';
|
import { IAssetVisualizationData } from './visualization';
|
||||||
|
|
||||||
export interface IAssetData {
|
export interface IAssetData {
|
||||||
@ -13,15 +11,8 @@ export interface IAssetData {
|
|||||||
name?: string;
|
name?: string;
|
||||||
visualizationType?: string;
|
visualizationType?: string;
|
||||||
logicType?: string;
|
logicType?: string;
|
||||||
maskType?: string;
|
spritesheet?: ISpritesheetData;
|
||||||
credits?: string;
|
logic?: IAssetLogicData;
|
||||||
soundSample?: { id?: number, noPitch?: boolean };
|
|
||||||
action?: { link?: string, startState?: number };
|
|
||||||
planetSystems?: IPlanetSystem[];
|
|
||||||
particleSystems?: IParticleSystem[];
|
|
||||||
spritesheet?: ISpritesheet;
|
|
||||||
dimensions?: IAssetDimension;
|
|
||||||
directions?: number[];
|
|
||||||
assets?: { [index: string]: IAsset };
|
assets?: { [index: string]: IAsset };
|
||||||
aliases?: { [index: string]: IAssetAlias };
|
aliases?: { [index: string]: IAssetAlias };
|
||||||
animations?: { [index: string]: IAssetAnimation };
|
animations?: { [index: string]: IAssetAnimation };
|
||||||
|
@ -2,8 +2,7 @@ export * from './animation';
|
|||||||
export * from './IAsset';
|
export * from './IAsset';
|
||||||
export * from './IAssetAlias';
|
export * from './IAssetAlias';
|
||||||
export * from './IAssetData';
|
export * from './IAssetData';
|
||||||
export * from './IAssetDimension';
|
|
||||||
export * from './IAssetPalette';
|
export * from './IAssetPalette';
|
||||||
export * from './IPlanetSystem';
|
export * from './logic';
|
||||||
export * from './spritesheet';
|
export * from './spritesheet';
|
||||||
export * from './visualization';
|
export * from './visualization';
|
||||||
|
4
src/core/asset/interfaces/logic/IAssetLogicCustomVars.ts
Normal file
4
src/core/asset/interfaces/logic/IAssetLogicCustomVars.ts
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
export interface ICustomVars
|
||||||
|
{
|
||||||
|
variables?: string[];
|
||||||
|
}
|
17
src/core/asset/interfaces/logic/IAssetLogicData.ts
Normal file
17
src/core/asset/interfaces/logic/IAssetLogicData.ts
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
import { ICustomVars } from './IAssetLogicCustomVars';
|
||||||
|
import { IAssetLogicPlanetSystem } from './IAssetLogicPlanetSystem';
|
||||||
|
import { ISoundSample } from './ISoundSample';
|
||||||
|
import { IAssetLogicModel } from './model/IAssetLogicModel';
|
||||||
|
import { IParticleSystem } from './particlesystem';
|
||||||
|
|
||||||
|
export interface IAssetLogicData
|
||||||
|
{
|
||||||
|
model?: IAssetLogicModel;
|
||||||
|
maskType?: string;
|
||||||
|
credits?: string;
|
||||||
|
soundSample?: ISoundSample;
|
||||||
|
action?: { link?: string, startState?: number };
|
||||||
|
planetSystems?: IAssetLogicPlanetSystem[];
|
||||||
|
particleSystems?: IParticleSystem[];
|
||||||
|
customVars?: ICustomVars;
|
||||||
|
}
|
@ -1,4 +1,4 @@
|
|||||||
export interface IPlanetSystem
|
export interface IAssetLogicPlanetSystem
|
||||||
{
|
{
|
||||||
id?: number;
|
id?: number;
|
||||||
name?: string;
|
name?: string;
|
5
src/core/asset/interfaces/logic/ISoundSample.ts
Normal file
5
src/core/asset/interfaces/logic/ISoundSample.ts
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
export interface ISoundSample
|
||||||
|
{
|
||||||
|
id?: number;
|
||||||
|
noPitch?: boolean;
|
||||||
|
}
|
6
src/core/asset/interfaces/logic/index.ts
Normal file
6
src/core/asset/interfaces/logic/index.ts
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
export * from './IAssetLogicCustomVars';
|
||||||
|
export * from './IAssetLogicData';
|
||||||
|
export * from './IAssetLogicPlanetSystem';
|
||||||
|
export * from './ISoundSample';
|
||||||
|
export * from './model';
|
||||||
|
export * from './particlesystem';
|
@ -0,0 +1,7 @@
|
|||||||
|
import { IAssetDimension } from './IAssetDimension';
|
||||||
|
|
||||||
|
export interface IAssetLogicModel
|
||||||
|
{
|
||||||
|
dimensions?: IAssetDimension;
|
||||||
|
directions?: number[];
|
||||||
|
}
|
2
src/core/asset/interfaces/logic/model/index.ts
Normal file
2
src/core/asset/interfaces/logic/model/index.ts
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
export * from './IAssetDimension';
|
||||||
|
export * from './IAssetLogicModel';
|
@ -1,7 +0,0 @@
|
|||||||
import { ISpritesheetData } from '@pixi/spritesheet';
|
|
||||||
import { ISpritesheetMeta } from './ISpritesheetMeta';
|
|
||||||
|
|
||||||
export interface ISpritesheet extends ISpritesheetData
|
|
||||||
{
|
|
||||||
meta: ISpritesheetMeta;
|
|
||||||
}
|
|
@ -0,0 +1,7 @@
|
|||||||
|
import { ISpritesheetData as PixiSpritesheet } from '@pixi/spritesheet';
|
||||||
|
import { ISpritesheetMeta } from './ISpritesheetMeta';
|
||||||
|
|
||||||
|
export interface ISpritesheetData extends PixiSpritesheet
|
||||||
|
{
|
||||||
|
meta: ISpritesheetMeta;
|
||||||
|
}
|
25
src/core/asset/interfaces/spritesheet/ISpritesheetFrame.ts
Normal file
25
src/core/asset/interfaces/spritesheet/ISpritesheetFrame.ts
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
export interface ISpritesheetFrame
|
||||||
|
{
|
||||||
|
frame: {
|
||||||
|
x: number;
|
||||||
|
y: number;
|
||||||
|
w: number;
|
||||||
|
h: number;
|
||||||
|
};
|
||||||
|
rotated: boolean;
|
||||||
|
trimmed: boolean;
|
||||||
|
spriteSourceSize: {
|
||||||
|
x: number;
|
||||||
|
y: number;
|
||||||
|
w: number;
|
||||||
|
h: number;
|
||||||
|
};
|
||||||
|
sourceSize: {
|
||||||
|
w: number;
|
||||||
|
h: number;
|
||||||
|
};
|
||||||
|
pivot: {
|
||||||
|
x: number;
|
||||||
|
y: number;
|
||||||
|
};
|
||||||
|
}
|
@ -1,2 +1,3 @@
|
|||||||
export * from './ISpritesheet';
|
export * from './ISpritesheetData';
|
||||||
|
export * from './ISpritesheetFrame';
|
||||||
export * from './ISpritesheetMeta';
|
export * from './ISpritesheetMeta';
|
||||||
|
@ -14,6 +14,7 @@ export interface IAssetVisualizationData
|
|||||||
colors?: { [index: string]: IAssetColor };
|
colors?: { [index: string]: IAssetColor };
|
||||||
directions?: { [index: string]: IAssetVisualizationDirection };
|
directions?: { [index: string]: IAssetVisualizationDirection };
|
||||||
animations?: { [index: string]: IAssetVisualAnimation };
|
animations?: { [index: string]: IAssetVisualAnimation };
|
||||||
postures?: { [index: string]: IAssetPosture };
|
defaultPosture?: string;
|
||||||
gestures?: { [index: string]: IAssetGesture };
|
postures?: { defaultPosture?: string, postures?: IAssetPosture[] };
|
||||||
|
gestures?: IAssetGesture[];
|
||||||
}
|
}
|
||||||
|
@ -342,6 +342,8 @@ export class RoomContentLoader implements IFurnitureDataListener
|
|||||||
|
|
||||||
const collection = new GraphicAssetCollection(data, spritesheet);
|
const collection = new GraphicAssetCollection(data, spritesheet);
|
||||||
|
|
||||||
|
console.log(data);
|
||||||
|
|
||||||
this._collections.set(collection.name, collection);
|
this._collections.set(collection.name, collection);
|
||||||
|
|
||||||
const petIndex = this._pets[collection.name];
|
const petIndex = this._pets[collection.name];
|
||||||
@ -409,7 +411,7 @@ export class RoomContentLoader implements IFurnitureDataListener
|
|||||||
|
|
||||||
if(type === RoomObjectUserType.RENTABLE_BOT) return RoomObjectCategory.UNIT;
|
if(type === RoomObjectUserType.RENTABLE_BOT) return RoomObjectCategory.UNIT;
|
||||||
|
|
||||||
if(type === 'tile_cursor' || type === 'selection_arrow') return RoomObjectCategory.CURSOR;
|
if((type === RoomContentLoader.TILE_CURSOR) || (type === RoomContentLoader.SELECTION_ARROW)) return RoomObjectCategory.CURSOR;
|
||||||
|
|
||||||
return RoomObjectCategory.MINIMUM;
|
return RoomObjectCategory.MINIMUM;
|
||||||
}
|
}
|
||||||
@ -722,17 +724,17 @@ export class RoomContentLoader implements IFurnitureDataListener
|
|||||||
switch(type)
|
switch(type)
|
||||||
{
|
{
|
||||||
case RoomContentLoader.PLACE_HOLDER:
|
case RoomContentLoader.PLACE_HOLDER:
|
||||||
return [ this.getAssetUrlWithRoomBase('place_holder') ];
|
return [ this.getAssetUrlWithGenericBase(RoomContentLoader.PLACE_HOLDER) ];
|
||||||
case RoomContentLoader.PLACE_HOLDER_WALL:
|
case RoomContentLoader.PLACE_HOLDER_WALL:
|
||||||
return [ this.getAssetUrlWithRoomBase('place_holder_wall') ];
|
return [ this.getAssetUrlWithGenericBase(RoomContentLoader.PLACE_HOLDER_WALL) ];
|
||||||
case RoomContentLoader.PLACE_HOLDER_PET:
|
case RoomContentLoader.PLACE_HOLDER_PET:
|
||||||
return [ this.getAssetUrlWithRoomBase('place_holder_pet') ];
|
return [ this.getAssetUrlWithGenericBase(RoomContentLoader.PLACE_HOLDER_PET) ];
|
||||||
case RoomContentLoader.ROOM:
|
case RoomContentLoader.ROOM:
|
||||||
return [ this.getAssetUrlWithRoomBase('room') ];
|
return [ this.getAssetUrlWithGenericBase('room') ];
|
||||||
case RoomContentLoader.TILE_CURSOR:
|
case RoomContentLoader.TILE_CURSOR:
|
||||||
return [ this.getAssetUrlWithRoomBase('tile_cursor') ];
|
return [ this.getAssetUrlWithGenericBase(RoomContentLoader.TILE_CURSOR) ];
|
||||||
case RoomContentLoader.SELECTION_ARROW:
|
case RoomContentLoader.SELECTION_ARROW:
|
||||||
return [ this.getAssetUrlWithRoomBase('selection_arrow') ];
|
return [ this.getAssetUrlWithGenericBase(RoomContentLoader.SELECTION_ARROW) ];
|
||||||
default: {
|
default: {
|
||||||
const category = this.getCategoryForType(type);
|
const category = this.getCategoryForType(type);
|
||||||
|
|
||||||
@ -788,9 +790,9 @@ export class RoomContentLoader implements IFurnitureDataListener
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
private getAssetUrlWithRoomBase(assetName: string): string
|
private getAssetUrlWithGenericBase(assetName: string): string
|
||||||
{
|
{
|
||||||
return (Nitro.instance.getConfiguration<string>('room.asset.url').replace(/%libname%/gi, assetName));
|
return (Nitro.instance.getConfiguration<string>('generic.asset.url').replace(/%libname%/gi, assetName));
|
||||||
}
|
}
|
||||||
|
|
||||||
public getAssetUrlWithFurniBase(assetName: string): string
|
public getAssetUrlWithFurniBase(assetName: string): string
|
||||||
|
@ -523,7 +523,7 @@ export class RoomEngine extends NitroManager implements IRoomEngine, IRoomCreato
|
|||||||
}
|
}
|
||||||
|
|
||||||
instance.createRoomObjectAndInitalize(RoomEngine.CURSOR_OBJECT_ID, RoomEngine.CURSOR_OBJECT_TYPE, RoomObjectCategory.CURSOR);
|
instance.createRoomObjectAndInitalize(RoomEngine.CURSOR_OBJECT_ID, RoomEngine.CURSOR_OBJECT_TYPE, RoomObjectCategory.CURSOR);
|
||||||
//instance.createRoomObjectAndInitalize(RoomEngine.ARROW_OBJECT_ID, RoomEngine.ARROW_OBJECT_TYPE, RoomObjectCategory.CURSOR);
|
instance.createRoomObjectAndInitalize(RoomEngine.ARROW_OBJECT_ID, RoomEngine.ARROW_OBJECT_TYPE, RoomObjectCategory.CURSOR);
|
||||||
|
|
||||||
return instance;
|
return instance;
|
||||||
}
|
}
|
||||||
|
@ -34,6 +34,7 @@ export class RoomObjectVariable
|
|||||||
public static FIGURE_GUIDE_STATUS: string = 'figure_guide_status';
|
public static FIGURE_GUIDE_STATUS: string = 'figure_guide_status';
|
||||||
public static FIGURE_EXPRESSION: string = 'figure_expression';
|
public static FIGURE_EXPRESSION: string = 'figure_expression';
|
||||||
public static HEAD_DIRECTION: string = 'head_direction';
|
public static HEAD_DIRECTION: string = 'head_direction';
|
||||||
|
public static FURNITURE_CUSTOM_VARIABLES: string = 'furniture_custom_variables';
|
||||||
public static FURNITURE_AUTOMATIC_STATE_INDEX: string = 'furniture_automatic_state_index';
|
public static FURNITURE_AUTOMATIC_STATE_INDEX: string = 'furniture_automatic_state_index';
|
||||||
public static FURNITURE_ALWAYS_STACKABLE: string = 'furniture_always_stackable';
|
public static FURNITURE_ALWAYS_STACKABLE: string = 'furniture_always_stackable';
|
||||||
public static FURNITURE_DISABLE_PICKING_ANIMATION: string = 'furniture_disable_picking_animation';
|
public static FURNITURE_DISABLE_PICKING_ANIMATION: string = 'furniture_disable_picking_animation';
|
||||||
|
@ -20,7 +20,10 @@ export class FurnitureCreditLogic extends FurnitureLogic
|
|||||||
|
|
||||||
let creditValue = 0;
|
let creditValue = 0;
|
||||||
|
|
||||||
if(asset.credits && (asset.credits !== '') && (asset.credits.length > 0)) creditValue = parseInt(asset.credits);
|
if(asset.logic)
|
||||||
|
{
|
||||||
|
if(asset.logic.credits && (asset.logic.credits !== '') && (asset.logic.credits.length > 0)) creditValue = parseInt(asset.logic.credits);
|
||||||
|
}
|
||||||
|
|
||||||
this.object.model.setValue(RoomObjectVariable.FURNITURE_CREDIT_VALUE, creditValue);
|
this.object.model.setValue(RoomObjectVariable.FURNITURE_CREDIT_VALUE, creditValue);
|
||||||
}
|
}
|
||||||
|
@ -30,9 +30,12 @@ export class FurnitureEditableInternalLinkLogic extends FurnitureLogic
|
|||||||
{
|
{
|
||||||
super.initialize(asset);
|
super.initialize(asset);
|
||||||
|
|
||||||
if(asset.action)
|
if(asset.logic)
|
||||||
{
|
{
|
||||||
if(asset.action.startState === 1) this._showStateOnceRendered = true;
|
if(asset.logic.action)
|
||||||
|
{
|
||||||
|
if(asset.logic.action.startState === 1) this._showStateOnceRendered = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -18,11 +18,14 @@ export class FurnitureEditableRoomLinkLogic extends FurnitureLogic
|
|||||||
{
|
{
|
||||||
super.initialize(asset);
|
super.initialize(asset);
|
||||||
|
|
||||||
if(asset.action)
|
if(asset.logic)
|
||||||
{
|
{
|
||||||
if(asset.action.link && (asset.action.link !== '') && (asset.action.link.length > 0))
|
if(asset.logic.action)
|
||||||
{
|
{
|
||||||
(this.object && this.object.model && this.object.model.setValue<string>(RoomObjectVariable.FURNITURE_INTERNAL_LINK, asset.action.link));
|
if(asset.logic.action.link && (asset.logic.action.link !== '') && (asset.logic.action.link.length > 0))
|
||||||
|
{
|
||||||
|
(this.object && this.object.model && this.object.model.setValue<string>(RoomObjectVariable.FURNITURE_INTERNAL_LINK, asset.logic.action.link));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -15,7 +15,10 @@ export class FurnitureExternalImageLogic extends FurnitureMultiStateLogic
|
|||||||
{
|
{
|
||||||
let maskType = '';
|
let maskType = '';
|
||||||
|
|
||||||
if(asset.maskType && (asset.maskType !== '') && (asset.maskType.length > 0)) maskType = asset.maskType;
|
if(asset.logic)
|
||||||
|
{
|
||||||
|
if(asset.logic.maskType && (asset.logic.maskType !== '') && (asset.logic.maskType.length > 0)) maskType = asset.logic.maskType;
|
||||||
|
}
|
||||||
|
|
||||||
this.object.model.setValue(RoomObjectVariable.FURNITURE_USES_PLANE_MASK, 0);
|
this.object.model.setValue(RoomObjectVariable.FURNITURE_USES_PLANE_MASK, 0);
|
||||||
this.object.model.setValue(RoomObjectVariable.FURNITURE_PLANE_MASK_TYPE, maskType);
|
this.object.model.setValue(RoomObjectVariable.FURNITURE_PLANE_MASK_TYPE, maskType);
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
import { IAssetData } from '../../../../../core';
|
import { IAssetData, IParticleSystem } from '../../../../../core';
|
||||||
import { IParticleSystem } from '../../../../../core/asset/interfaces/particlesystem';
|
|
||||||
import { RoomObjectEvent } from '../../../../../room/events/RoomObjectEvent';
|
import { RoomObjectEvent } from '../../../../../room/events/RoomObjectEvent';
|
||||||
import { RoomSpriteMouseEvent } from '../../../../../room/events/RoomSpriteMouseEvent';
|
import { RoomSpriteMouseEvent } from '../../../../../room/events/RoomSpriteMouseEvent';
|
||||||
import { IRoomGeometry } from '../../../../../room/utils/IRoomGeometry';
|
import { IRoomGeometry } from '../../../../../room/utils/IRoomGeometry';
|
||||||
@ -21,9 +20,12 @@ export class FurnitureFireworksLogic extends FurnitureLogic
|
|||||||
{
|
{
|
||||||
super.initialize(asset);
|
super.initialize(asset);
|
||||||
|
|
||||||
if(asset.particleSystems && asset.particleSystems.length)
|
if(asset.logic)
|
||||||
{
|
{
|
||||||
this.object.model.setValue<IParticleSystem[]>(RoomObjectVariable.FURNITURE_FIREWORKS_DATA, asset.particleSystems);
|
if(asset.logic.particleSystems && asset.logic.particleSystems.length)
|
||||||
|
{
|
||||||
|
this.object.model.setValue<IParticleSystem[]>(RoomObjectVariable.FURNITURE_FIREWORKS_DATA, asset.logic.particleSystems);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -24,11 +24,14 @@ export class FurnitureInternalLinkLogic extends FurnitureLogic
|
|||||||
{
|
{
|
||||||
super.initialize(asset);
|
super.initialize(asset);
|
||||||
|
|
||||||
if(asset.action)
|
if(asset.logic)
|
||||||
{
|
{
|
||||||
this.object.model.setValue<string>(RoomObjectVariable.FURNITURE_INTERNAL_LINK, asset.action.link);
|
if(asset.logic.action)
|
||||||
|
{
|
||||||
|
this.object.model.setValue<string>(RoomObjectVariable.FURNITURE_INTERNAL_LINK, asset.logic.action.link);
|
||||||
|
|
||||||
if(asset.action.startState === 1) this._showStateOnceRendered = true;
|
if(asset.logic.action.startState === 1) this._showStateOnceRendered = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -99,28 +99,42 @@ export class FurnitureLogic extends MovingObjectLogic
|
|||||||
|
|
||||||
if(!model) return;
|
if(!model) return;
|
||||||
|
|
||||||
const dimensions = asset.dimensions;
|
if(asset.logic)
|
||||||
|
|
||||||
if(!dimensions) return;
|
|
||||||
|
|
||||||
this._sizeX = dimensions.x;
|
|
||||||
this._sizeY = dimensions.y;
|
|
||||||
this._sizeZ = dimensions.z;
|
|
||||||
|
|
||||||
this._centerX = (this._sizeX / 2);
|
|
||||||
this._centerY = (this._sizeY / 2);
|
|
||||||
this._centerZ = (this._sizeZ / 2);
|
|
||||||
|
|
||||||
const directions = asset.directions;
|
|
||||||
|
|
||||||
if(directions && directions.length)
|
|
||||||
{
|
{
|
||||||
for(const direction of directions) this._directions.push(direction);
|
if(asset.logic.model)
|
||||||
|
|
||||||
this._directions.sort((a, b) =>
|
|
||||||
{
|
{
|
||||||
return a - b;
|
const dimensions = asset.logic.model.dimensions;
|
||||||
});
|
|
||||||
|
if(dimensions)
|
||||||
|
{
|
||||||
|
this._sizeX = dimensions.x;
|
||||||
|
this._sizeY = dimensions.y;
|
||||||
|
this._sizeZ = dimensions.z;
|
||||||
|
|
||||||
|
this._centerX = (this._sizeX / 2);
|
||||||
|
this._centerY = (this._sizeY / 2);
|
||||||
|
this._centerZ = (this._sizeZ / 2);
|
||||||
|
}
|
||||||
|
|
||||||
|
const directions = asset.logic.model.directions;
|
||||||
|
|
||||||
|
if(directions && directions.length)
|
||||||
|
{
|
||||||
|
for(const direction of directions) this._directions.push(direction);
|
||||||
|
|
||||||
|
this._directions.sort();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(asset.logic.customVars)
|
||||||
|
{
|
||||||
|
const variables = asset.logic.customVars.variables;
|
||||||
|
|
||||||
|
if(variables && variables.length)
|
||||||
|
{
|
||||||
|
model.setValue(RoomObjectVariable.FURNITURE_CUSTOM_VARIABLES, variables);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
model.setValue(RoomObjectVariable.FURNITURE_SIZE_X, this._sizeX);
|
model.setValue(RoomObjectVariable.FURNITURE_SIZE_X, this._sizeX);
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { IAssetData, IPlanetSystem } from '../../../../../core/asset/interfaces';
|
import { IAssetData, IAssetLogicPlanetSystem } from '../../../../../core/asset/interfaces';
|
||||||
import { RoomObjectVariable } from '../../RoomObjectVariable';
|
import { RoomObjectVariable } from '../../RoomObjectVariable';
|
||||||
import { FurnitureLogic } from './FurnitureLogic';
|
import { FurnitureLogic } from './FurnitureLogic';
|
||||||
|
|
||||||
@ -8,9 +8,12 @@ export class FurniturePlanetSystemLogic extends FurnitureLogic
|
|||||||
{
|
{
|
||||||
super.initialize(asset);
|
super.initialize(asset);
|
||||||
|
|
||||||
if(asset.planetSystems)
|
if(asset.logic)
|
||||||
{
|
{
|
||||||
this.object.model.setValue<IPlanetSystem[]>(RoomObjectVariable.FURNITURE_PLANETSYSTEM_DATA, asset.planetSystems);
|
if(asset.logic.planetSystems)
|
||||||
|
{
|
||||||
|
this.object.model.setValue<IAssetLogicPlanetSystem[]>(RoomObjectVariable.FURNITURE_PLANETSYSTEM_DATA, asset.logic.planetSystems);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
import { IAssetData } from '../../../../../core/asset/interfaces';
|
import { IAssetData, IParticleSystem } from '../../../../../core/asset/interfaces';
|
||||||
import { IParticleSystem } from '../../../../../core/asset/interfaces/particlesystem';
|
|
||||||
import { RoomSpriteMouseEvent } from '../../../../../room/events/RoomSpriteMouseEvent';
|
import { RoomSpriteMouseEvent } from '../../../../../room/events/RoomSpriteMouseEvent';
|
||||||
import { RoomObjectUpdateMessage } from '../../../../../room/messages/RoomObjectUpdateMessage';
|
import { RoomObjectUpdateMessage } from '../../../../../room/messages/RoomObjectUpdateMessage';
|
||||||
import { IRoomGeometry } from '../../../../../room/utils/IRoomGeometry';
|
import { IRoomGeometry } from '../../../../../room/utils/IRoomGeometry';
|
||||||
@ -33,9 +32,12 @@ export class FurniturePresentLogic extends FurnitureLogic
|
|||||||
{
|
{
|
||||||
super.initialize(asset);
|
super.initialize(asset);
|
||||||
|
|
||||||
if(asset.particleSystems && asset.particleSystems.length)
|
if(asset.logic)
|
||||||
{
|
{
|
||||||
this.object.model.setValue<IParticleSystem[]>(RoomObjectVariable.FURNITURE_FIREWORKS_DATA, asset.particleSystems);
|
if(asset.logic.particleSystems && asset.logic.particleSystems.length)
|
||||||
|
{
|
||||||
|
this.object.model.setValue<IParticleSystem[]>(RoomObjectVariable.FURNITURE_FIREWORKS_DATA, asset.logic.particleSystems);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -32,10 +32,14 @@ export class FurnitureSoundBlockLogic extends FurnitureMultiStateLogic
|
|||||||
{
|
{
|
||||||
super.initialize(asset);
|
super.initialize(asset);
|
||||||
|
|
||||||
if(!asset.soundSample) return;
|
if(asset.logic)
|
||||||
|
{
|
||||||
this._sampleId = asset.soundSample.id;
|
if(asset.logic.soundSample)
|
||||||
this._noPitch = asset.soundSample.noPitch;
|
{
|
||||||
|
this._sampleId = asset.logic.soundSample.id;
|
||||||
|
this._noPitch = asset.logic.soundSample.noPitch;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
this.object.model.setValue(RoomObjectVariable.FURNITURE_SOUNDBLOCK_RELATIVE_ANIMATION_SPEED, 1);
|
this.object.model.setValue(RoomObjectVariable.FURNITURE_SOUNDBLOCK_RELATIVE_ANIMATION_SPEED, 1);
|
||||||
}
|
}
|
||||||
|
@ -10,9 +10,12 @@ export class FurnitureWindowLogic extends FurnitureMultiStateLogic
|
|||||||
|
|
||||||
let maskType = '';
|
let maskType = '';
|
||||||
|
|
||||||
if(asset.maskType && (asset.maskType !== '') && (asset.maskType.length > 0)) maskType = asset.maskType;
|
if(asset.logic)
|
||||||
|
{
|
||||||
|
if(asset.logic.maskType && (asset.logic.maskType !== '') && (asset.logic.maskType.length > 0)) maskType = asset.logic.maskType;
|
||||||
|
}
|
||||||
|
|
||||||
this.object.model.setValue(RoomObjectVariable.FURNITURE_USES_PLANE_MASK, 0);
|
this.object.model.setValue(RoomObjectVariable.FURNITURE_USES_PLANE_MASK, 0);
|
||||||
this.object.model.setValue(RoomObjectVariable.FURNITURE_PLANE_MASK_TYPE, maskType);
|
this.object.model.setValue(RoomObjectVariable.FURNITURE_PLANE_MASK_TYPE, maskType);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -64,16 +64,19 @@ export class PetLogic extends MovingObjectLogic
|
|||||||
|
|
||||||
if(!model) return;
|
if(!model) return;
|
||||||
|
|
||||||
const directions = asset.directions;
|
if(asset.logic)
|
||||||
|
|
||||||
if(directions && directions.length)
|
|
||||||
{
|
{
|
||||||
for(const direction of directions) this._directions.push(direction);
|
if(asset.logic.model)
|
||||||
|
|
||||||
this._directions.sort((a, b) =>
|
|
||||||
{
|
{
|
||||||
return a - b;
|
const directions = asset.logic.model.directions;
|
||||||
});
|
|
||||||
|
if(directions && directions.length)
|
||||||
|
{
|
||||||
|
for(const direction of directions) this._directions.push(direction);
|
||||||
|
|
||||||
|
this._directions.sort();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
model.setValue(RoomObjectVariable.PET_ALLOWED_DIRECTIONS, this._directions);
|
model.setValue(RoomObjectVariable.PET_ALLOWED_DIRECTIONS, this._directions);
|
||||||
|
@ -18,38 +18,32 @@ export class PetSizeData extends AnimationSizeData
|
|||||||
this._defaultPosture = null;
|
this._defaultPosture = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public processPostures(postures: { [index: string]: IAssetPosture }): boolean
|
public processPostures(postures: { defaultPosture?: string, postures: IAssetPosture[] }): boolean
|
||||||
{
|
{
|
||||||
if(!postures) return false;
|
if(!postures) return false;
|
||||||
|
|
||||||
for(const key in postures)
|
if(postures.defaultPosture && postures.defaultPosture.length) this._defaultPosture = postures.defaultPosture;
|
||||||
{
|
|
||||||
const posture = postures[key];
|
|
||||||
|
|
||||||
if(!posture) continue;
|
// for(const posture of postures.postures)
|
||||||
|
// {
|
||||||
|
// if(this._posturesToAnimations.get(posture.id)) continue;
|
||||||
|
|
||||||
if(this._posturesToAnimations.get(posture.id)) continue;
|
// if(this._defaultPosture === null) this._defaultPosture = posture.id;
|
||||||
|
|
||||||
if(this._defaultPosture === null) this._defaultPosture = posture.id;
|
// this._posturesToAnimations.set(posture.id, posture.animationId);
|
||||||
|
// }
|
||||||
this._posturesToAnimations.set(posture.id, posture.animationId);
|
|
||||||
}
|
|
||||||
|
|
||||||
if(this._posturesToAnimations.get(this._defaultPosture) === undefined) return false;
|
if(this._posturesToAnimations.get(this._defaultPosture) === undefined) return false;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public processGestures(gestures: { [index: string]: IAssetGesture }): boolean
|
public processGestures(gestures: IAssetGesture[]): boolean
|
||||||
{
|
{
|
||||||
if(!gestures) return false;
|
if(!gestures) return false;
|
||||||
|
|
||||||
for(const key in gestures)
|
for(const gesture of gestures)
|
||||||
{
|
{
|
||||||
const gesture = gestures[key];
|
|
||||||
|
|
||||||
if(!gesture) continue;
|
|
||||||
|
|
||||||
if(this._gesturesToAnimations.get(gesture.id)) continue;
|
if(this._gesturesToAnimations.get(gesture.id)) continue;
|
||||||
|
|
||||||
this._gesturesToAnimations.set(gesture.id, gesture.animationId);
|
this._gesturesToAnimations.set(gesture.id, gesture.animationId);
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
import { AdvancedMap, NitroLogger } from '../../../../../core';
|
import { AdvancedMap, IParticleSystem, NitroLogger } from '../../../../../core';
|
||||||
import { IParticleSystem } from '../../../../../core/asset/interfaces/particlesystem';
|
|
||||||
import { RoomObjectVariable } from '../../RoomObjectVariable';
|
import { RoomObjectVariable } from '../../RoomObjectVariable';
|
||||||
import { FurnitureAnimatedVisualization } from './FurnitureAnimatedVisualization';
|
import { FurnitureAnimatedVisualization } from './FurnitureAnimatedVisualization';
|
||||||
import { FurnitureParticleSystem } from './FurnitureParticleSystem';
|
import { FurnitureParticleSystem } from './FurnitureParticleSystem';
|
||||||
|
@ -2,8 +2,7 @@ import { RenderTexture, Texture } from '@pixi/core';
|
|||||||
import { AlphaFilter } from '@pixi/filter-alpha';
|
import { AlphaFilter } from '@pixi/filter-alpha';
|
||||||
import { Graphics } from '@pixi/graphics';
|
import { Graphics } from '@pixi/graphics';
|
||||||
import { Matrix } from '@pixi/math';
|
import { Matrix } from '@pixi/math';
|
||||||
import { AdvancedMap, NitroPoint, NitroSprite } from '../../../../../core';
|
import { AdvancedMap, IParticleSystem, NitroPoint, NitroSprite } from '../../../../../core';
|
||||||
import { IParticleSystem } from '../../../../../core/asset/interfaces/particlesystem';
|
|
||||||
import { IGraphicAsset, IRoomObjectSprite } from '../../../../../room';
|
import { IGraphicAsset, IRoomObjectSprite } from '../../../../../room';
|
||||||
import { Vector3D } from '../../../../avatar';
|
import { Vector3D } from '../../../../avatar';
|
||||||
import { Nitro } from '../../../../Nitro';
|
import { Nitro } from '../../../../Nitro';
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { IPlanetSystem } from '../../../../../core';
|
import { IAssetLogicPlanetSystem } from '../../../../../core';
|
||||||
import { Vector3d } from '../../../../../room';
|
import { Vector3d } from '../../../../../room';
|
||||||
import { RoomObjectVariable } from '../../RoomObjectVariable';
|
import { RoomObjectVariable } from '../../RoomObjectVariable';
|
||||||
import { FurnitureAnimatedVisualization } from './FurnitureAnimatedVisualization';
|
import { FurnitureAnimatedVisualization } from './FurnitureAnimatedVisualization';
|
||||||
@ -86,7 +86,7 @@ export class FurniturePlanetSystemVisualization extends FurnitureAnimatedVisuali
|
|||||||
{
|
{
|
||||||
if(!this.object || !this.object.model) return;
|
if(!this.object || !this.object.model) return;
|
||||||
|
|
||||||
const planetSystems = this.object.model.getValue<IPlanetSystem[]>(RoomObjectVariable.FURNITURE_PLANETSYSTEM_DATA);
|
const planetSystems = this.object.model.getValue<IAssetLogicPlanetSystem[]>(RoomObjectVariable.FURNITURE_PLANETSYSTEM_DATA);
|
||||||
|
|
||||||
if(!planetSystems) return false;
|
if(!planetSystems) return false;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user