mirror of
https://github.com/duckietm/Nitro-Cool-UI-Renderer.git
synced 2025-06-21 23:16:58 +00:00
🆙 added Backgrounds to the renderer
This commit is contained in:
parent
e0c0c06c99
commit
7c40e69c75
@ -0,0 +1,21 @@
|
|||||||
|
import { IMessageComposer } from '@nitrots/api';
|
||||||
|
|
||||||
|
export class RoomUnitBackgroundComposer implements IMessageComposer<ConstructorParameters<typeof RoomUnitBackgroundComposer>>
|
||||||
|
{
|
||||||
|
private _data: ConstructorParameters<typeof RoomUnitBackgroundComposer>;
|
||||||
|
|
||||||
|
constructor(backgroundImage: number, backgroundStand: number, backgroundOverlay: number)
|
||||||
|
{
|
||||||
|
this._data = [ backgroundImage, backgroundStand, backgroundOverlay ];
|
||||||
|
}
|
||||||
|
|
||||||
|
public getMessageArray()
|
||||||
|
{
|
||||||
|
return this._data;
|
||||||
|
}
|
||||||
|
|
||||||
|
public dispose(): void
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
@ -1,5 +1,6 @@
|
|||||||
export * from './chat';
|
export * from './chat';
|
||||||
export * from './RoomUnitActionComposer';
|
export * from './RoomUnitActionComposer';
|
||||||
|
export * from './RoomUnitBackgroundComposer';
|
||||||
export * from './RoomUnitDanceComposer';
|
export * from './RoomUnitDanceComposer';
|
||||||
export * from './RoomUnitDropHandItemComposer';
|
export * from './RoomUnitDropHandItemComposer';
|
||||||
export * from './RoomUnitGiveHandItemComposer';
|
export * from './RoomUnitGiveHandItemComposer';
|
||||||
|
@ -7,6 +7,9 @@ export class RoomUnitInfoParser implements IMessageParser
|
|||||||
private _gender: string;
|
private _gender: string;
|
||||||
private _motto: string;
|
private _motto: string;
|
||||||
private _achievementScore: number;
|
private _achievementScore: number;
|
||||||
|
private _backgroundId: number;
|
||||||
|
private _standId: number;
|
||||||
|
private _overlayId: number;
|
||||||
|
|
||||||
public flush(): boolean
|
public flush(): boolean
|
||||||
{
|
{
|
||||||
@ -15,6 +18,9 @@ export class RoomUnitInfoParser implements IMessageParser
|
|||||||
this._gender = 'M';
|
this._gender = 'M';
|
||||||
this._motto = null;
|
this._motto = null;
|
||||||
this._achievementScore = 0;
|
this._achievementScore = 0;
|
||||||
|
this._backgroundId = 0;
|
||||||
|
this._standId = 0;
|
||||||
|
this._overlayId = 0;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -56,4 +62,19 @@ export class RoomUnitInfoParser implements IMessageParser
|
|||||||
{
|
{
|
||||||
return this._achievementScore;
|
return this._achievementScore;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public get backgroundId(): number
|
||||||
|
{
|
||||||
|
return this._backgroundId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public get standId(): number
|
||||||
|
{
|
||||||
|
return this._standId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public get overlayId(): number
|
||||||
|
{
|
||||||
|
return this._overlayId;
|
||||||
|
}
|
||||||
}
|
}
|
@ -27,6 +27,9 @@ export class RoomUnitParser implements IMessageParser
|
|||||||
const id = wrapper.readInt();
|
const id = wrapper.readInt();
|
||||||
const username = wrapper.readString();
|
const username = wrapper.readString();
|
||||||
const custom = wrapper.readString();
|
const custom = wrapper.readString();
|
||||||
|
const background = wrapper.readInt();
|
||||||
|
const stand = wrapper.readInt();
|
||||||
|
const overlay = wrapper.readInt();
|
||||||
let figure = wrapper.readString();
|
let figure = wrapper.readString();
|
||||||
const roomIndex = wrapper.readInt();
|
const roomIndex = wrapper.readInt();
|
||||||
const x = wrapper.readInt();
|
const x = wrapper.readInt();
|
||||||
@ -40,6 +43,9 @@ export class RoomUnitParser implements IMessageParser
|
|||||||
user.dir = direction;
|
user.dir = direction;
|
||||||
user.name = username;
|
user.name = username;
|
||||||
user.custom = custom;
|
user.custom = custom;
|
||||||
|
user.background = background;
|
||||||
|
user.stand = stand;
|
||||||
|
user.overlay = overlay;
|
||||||
user.x = x;
|
user.x = x;
|
||||||
user.y = y;
|
user.y = y;
|
||||||
user.z = z;
|
user.z = z;
|
||||||
|
@ -14,6 +14,9 @@ export class UserMessageData
|
|||||||
private _figure: string = '';
|
private _figure: string = '';
|
||||||
private _custom: string = '';
|
private _custom: string = '';
|
||||||
private _activityPoints: number = 0;
|
private _activityPoints: number = 0;
|
||||||
|
private _background: number = 0;
|
||||||
|
private _stand: number = 0;
|
||||||
|
private _overlay: number = 0
|
||||||
private _webID: number = 0;
|
private _webID: number = 0;
|
||||||
private _groupID: number = 0;
|
private _groupID: number = 0;
|
||||||
private _groupStatus: number = 0;
|
private _groupStatus: number = 0;
|
||||||
@ -179,6 +182,36 @@ export class UserMessageData
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public get background(): number
|
||||||
|
{
|
||||||
|
return this._background;
|
||||||
|
}
|
||||||
|
|
||||||
|
public set background(k: number)
|
||||||
|
{
|
||||||
|
this._background = k;
|
||||||
|
}
|
||||||
|
|
||||||
|
public get stand(): number
|
||||||
|
{
|
||||||
|
return this._stand;
|
||||||
|
}
|
||||||
|
|
||||||
|
public set stand(k: number)
|
||||||
|
{
|
||||||
|
this._stand = k;
|
||||||
|
}
|
||||||
|
|
||||||
|
public get overlay(): number
|
||||||
|
{
|
||||||
|
return this._overlay;
|
||||||
|
}
|
||||||
|
|
||||||
|
public set overlay(k: number)
|
||||||
|
{
|
||||||
|
this._overlay = k;
|
||||||
|
}
|
||||||
|
|
||||||
public get webID(): number
|
public get webID(): number
|
||||||
{
|
{
|
||||||
return this._webID;
|
return this._webID;
|
||||||
|
@ -1809,6 +1809,27 @@ export class RoomEngine implements IRoomEngine, IRoomCreator, IRoomEngineService
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public getFurniLocation(roomId: number, objectId: number, isWallItem: boolean): string
|
||||||
|
{
|
||||||
|
return isWallItem
|
||||||
|
? this.getRoomObjectWall(roomId, objectId).getLocation().toString()
|
||||||
|
: this.getRoomObjectFloor(roomId, objectId).getLocation().toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
public getFurniDirection(roomId: number, objectId: number, isWallItem: boolean): string
|
||||||
|
{
|
||||||
|
return isWallItem
|
||||||
|
? this.getRoomObjectWall(roomId, objectId).getDirection().toString()
|
||||||
|
: this.getRoomObjectFloor(roomId, objectId).getDirection().toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
public getFurniState(roomId: number, objectId: number, isWallItem: boolean): number
|
||||||
|
{
|
||||||
|
return isWallItem
|
||||||
|
? this.getRoomObjectWall(roomId, objectId).getState()
|
||||||
|
: this.getRoomObjectFloor(roomId, objectId).getState();
|
||||||
|
}
|
||||||
|
|
||||||
public addRoomObjectUser(roomId: number, objectId: number, location: IVector3D, direction: IVector3D, headDirection: number, type: number, figure: string): boolean
|
public addRoomObjectUser(roomId: number, objectId: number, location: IVector3D, direction: IVector3D, headDirection: number, type: number, figure: string): boolean
|
||||||
{
|
{
|
||||||
const existing = this.getRoomObjectUser(roomId, objectId);
|
const existing = this.getRoomObjectUser(roomId, objectId);
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { IRoomSession, IUserDataManager, RoomControllerLevel, RoomTradingLevelEnum } from '@nitrots/api';
|
import { IRoomSession, IUserDataManager, RoomControllerLevel, RoomTradingLevelEnum } from '@nitrots/api';
|
||||||
import { BotRemoveComposer, ChangeQueueMessageComposer, CompostPlantMessageComposer, FurnitureMultiStateComposer, GetCommunication, GetPetCommandsComposer, HarvestPetMessageComposer, MoodlightSettingsComposer, MoodlightSettingsSaveComposer, MoodlightTogggleStateComposer, NewUserExperienceScriptProceedComposer, OpenPetPackageMessageComposer, OpenPresentComposer, PeerUsersClassificationMessageComposer, PetMountComposer, PetRemoveComposer, PollAnswerComposer, PollRejectComposer, PollStartComposer, RemovePetSaddleComposer, RoomAmbassadorAlertComposer, RoomBanUserComposer, RoomDoorbellAccessComposer, RoomEnterComposer, RoomGiveRightsComposer, RoomKickUserComposer, RoomModerationSettings, RoomMuteUserComposer, RoomTakeRightsComposer, RoomUnitActionComposer, RoomUnitChatComposer, RoomUnitChatShoutComposer, RoomUnitChatWhisperComposer, RoomUnitDanceComposer, RoomUnitPostureComposer, RoomUnitSignComposer, RoomUnitTypingStartComposer, RoomUnitTypingStopComposer, RoomUsersClassificationMessageComposer, SetClothingChangeDataMessageComposer, TogglePetBreedingComposer, TogglePetRidingComposer, UsePetProductComposer, UserMottoComposer, VotePollCounterMessageComposer } from '@nitrots/communication';
|
import { BotRemoveComposer, ChangeQueueMessageComposer, CompostPlantMessageComposer, FurnitureMultiStateComposer, GetCommunication, GetPetCommandsComposer, HarvestPetMessageComposer, MoodlightSettingsComposer, MoodlightSettingsSaveComposer, MoodlightTogggleStateComposer, NewUserExperienceScriptProceedComposer, OpenPetPackageMessageComposer, OpenPresentComposer, PeerUsersClassificationMessageComposer, PetMountComposer, PetRemoveComposer, PollAnswerComposer, PollRejectComposer, PollStartComposer, RemovePetSaddleComposer, RoomAmbassadorAlertComposer, RoomBanUserComposer, RoomDoorbellAccessComposer, RoomEnterComposer, RoomGiveRightsComposer, RoomKickUserComposer, RoomModerationSettings, RoomMuteUserComposer, RoomTakeRightsComposer, RoomUnitActionComposer, RoomUnitBackgroundComposer, RoomUnitChatComposer, RoomUnitChatShoutComposer, RoomUnitChatWhisperComposer, RoomUnitDanceComposer, RoomUnitPostureComposer, RoomUnitSignComposer, RoomUnitTypingStartComposer, RoomUnitTypingStopComposer, RoomUsersClassificationMessageComposer, SetClothingChangeDataMessageComposer, TogglePetBreedingComposer, TogglePetRidingComposer, UsePetProductComposer, UserMottoComposer, VotePollCounterMessageComposer } from '@nitrots/communication';
|
||||||
import { RoomSessionEvent } from '@nitrots/events';
|
import { RoomSessionEvent } from '@nitrots/events';
|
||||||
import { UserDataManager } from './UserDataManager';
|
import { UserDataManager } from './UserDataManager';
|
||||||
|
|
||||||
@ -90,6 +90,11 @@ export class RoomSession implements IRoomSession
|
|||||||
else GetCommunication().connection.send(new RoomUnitTypingStopComposer());
|
else GetCommunication().connection.send(new RoomUnitTypingStopComposer());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public sendBackgroundMessage(backgroundImage: number, backgroundStand: number, backgroundOverlay: number): void
|
||||||
|
{
|
||||||
|
GetCommunication().connection.send(new RoomUnitBackgroundComposer(backgroundImage, backgroundStand, backgroundOverlay));
|
||||||
|
}
|
||||||
|
|
||||||
public sendMottoMessage(motto: string): void
|
public sendMottoMessage(motto: string): void
|
||||||
{
|
{
|
||||||
GetCommunication().connection.send(new UserMottoComposer(motto));
|
GetCommunication().connection.send(new UserMottoComposer(motto));
|
||||||
|
@ -9,6 +9,9 @@ export class RoomUserData implements IRoomUserData
|
|||||||
private _figure: string = '';
|
private _figure: string = '';
|
||||||
private _custom: string = '';
|
private _custom: string = '';
|
||||||
private _activityPoints: number;
|
private _activityPoints: number;
|
||||||
|
private _background: number;
|
||||||
|
private _stand: number;
|
||||||
|
private _overlay: number;
|
||||||
private _webID: number = 0;
|
private _webID: number = 0;
|
||||||
private _groupID: number = 0;
|
private _groupID: number = 0;
|
||||||
private _groupStatus: number = 0;
|
private _groupStatus: number = 0;
|
||||||
@ -46,6 +49,36 @@ export class RoomUserData implements IRoomUserData
|
|||||||
this._activityPoints = k;
|
this._activityPoints = k;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public get background(): number
|
||||||
|
{
|
||||||
|
return this._background;
|
||||||
|
}
|
||||||
|
|
||||||
|
public set background(k: number)
|
||||||
|
{
|
||||||
|
this._background = k;
|
||||||
|
}
|
||||||
|
|
||||||
|
public get stand(): number
|
||||||
|
{
|
||||||
|
return this._stand;
|
||||||
|
}
|
||||||
|
|
||||||
|
public set stand(k: number)
|
||||||
|
{
|
||||||
|
this._stand = k;
|
||||||
|
}
|
||||||
|
|
||||||
|
public get overlay(): number
|
||||||
|
{
|
||||||
|
return this._overlay;
|
||||||
|
}
|
||||||
|
|
||||||
|
public set overlay(k: number)
|
||||||
|
{
|
||||||
|
this._overlay = k;
|
||||||
|
}
|
||||||
|
|
||||||
public get name(): string
|
public get name(): string
|
||||||
{
|
{
|
||||||
return this._name;
|
return this._name;
|
||||||
|
@ -145,6 +145,17 @@ export class UserDataManager implements IUserDataManager
|
|||||||
userData.custom = custom;
|
userData.custom = custom;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public updateBackground(roomIndex: number, background: number, stand: number, overlay: number): void
|
||||||
|
{
|
||||||
|
const userData = this.getUserDataByIndex(roomIndex);
|
||||||
|
|
||||||
|
if(!userData) return;
|
||||||
|
|
||||||
|
userData.background = background;
|
||||||
|
userData.stand = stand;
|
||||||
|
userData.overlay = overlay;
|
||||||
|
}
|
||||||
|
|
||||||
public updateAchievementScore(roomIndex: number, score: number): void
|
public updateAchievementScore(roomIndex: number, score: number): void
|
||||||
{
|
{
|
||||||
const userData = this.getUserDataByIndex(roomIndex);
|
const userData = this.getUserDataByIndex(roomIndex);
|
||||||
|
@ -101,7 +101,9 @@ export class RoomUsersHandler extends BaseHandler
|
|||||||
session.userDataManager.updateMotto(parser.unitId, parser.motto);
|
session.userDataManager.updateMotto(parser.unitId, parser.motto);
|
||||||
session.userDataManager.updateAchievementScore(parser.unitId, parser.achievementScore);
|
session.userDataManager.updateAchievementScore(parser.unitId, parser.achievementScore);
|
||||||
|
|
||||||
GetEventDispatcher().dispatchEvent(new RoomSessionUserFigureUpdateEvent(session, parser.unitId, parser.figure, parser.gender, parser.motto, parser.achievementScore));
|
session.userDataManager.updateBackground(parser.unitId, parser.backgroundId, parser.standId, parser.overlayId);
|
||||||
|
|
||||||
|
GetEventDispatcher().dispatchEvent(new RoomSessionUserFigureUpdateEvent(session, parser.unitId, parser.figure, parser.gender, parser.motto, parser.achievementScore, parser.backgroundId, parser.standId, parser.overlayId));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user