mirror of
https://github.com/duckietm/Nitro-Cool-UI-Renderer.git
synced 2025-06-21 15:06: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 './RoomUnitActionComposer';
|
||||
export * from './RoomUnitBackgroundComposer';
|
||||
export * from './RoomUnitDanceComposer';
|
||||
export * from './RoomUnitDropHandItemComposer';
|
||||
export * from './RoomUnitGiveHandItemComposer';
|
||||
|
@ -7,6 +7,9 @@ export class RoomUnitInfoParser implements IMessageParser
|
||||
private _gender: string;
|
||||
private _motto: string;
|
||||
private _achievementScore: number;
|
||||
private _backgroundId: number;
|
||||
private _standId: number;
|
||||
private _overlayId: number;
|
||||
|
||||
public flush(): boolean
|
||||
{
|
||||
@ -15,6 +18,9 @@ export class RoomUnitInfoParser implements IMessageParser
|
||||
this._gender = 'M';
|
||||
this._motto = null;
|
||||
this._achievementScore = 0;
|
||||
this._backgroundId = 0;
|
||||
this._standId = 0;
|
||||
this._overlayId = 0;
|
||||
|
||||
return true;
|
||||
}
|
||||
@ -56,4 +62,19 @@ export class RoomUnitInfoParser implements IMessageParser
|
||||
{
|
||||
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 username = wrapper.readString();
|
||||
const custom = wrapper.readString();
|
||||
const background = wrapper.readInt();
|
||||
const stand = wrapper.readInt();
|
||||
const overlay = wrapper.readInt();
|
||||
let figure = wrapper.readString();
|
||||
const roomIndex = wrapper.readInt();
|
||||
const x = wrapper.readInt();
|
||||
@ -40,6 +43,9 @@ export class RoomUnitParser implements IMessageParser
|
||||
user.dir = direction;
|
||||
user.name = username;
|
||||
user.custom = custom;
|
||||
user.background = background;
|
||||
user.stand = stand;
|
||||
user.overlay = overlay;
|
||||
user.x = x;
|
||||
user.y = y;
|
||||
user.z = z;
|
||||
|
@ -14,6 +14,9 @@ export class UserMessageData
|
||||
private _figure: string = '';
|
||||
private _custom: string = '';
|
||||
private _activityPoints: number = 0;
|
||||
private _background: number = 0;
|
||||
private _stand: number = 0;
|
||||
private _overlay: number = 0
|
||||
private _webID: number = 0;
|
||||
private _groupID: number = 0;
|
||||
private _groupStatus: number = 0;
|
||||
@ -178,6 +181,36 @@ export class UserMessageData
|
||||
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 webID(): number
|
||||
{
|
||||
|
@ -1808,6 +1808,27 @@ export class RoomEngine implements IRoomEngine, IRoomCreator, IRoomEngineService
|
||||
|
||||
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
|
||||
{
|
||||
|
@ -1,5 +1,5 @@
|
||||
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 { UserDataManager } from './UserDataManager';
|
||||
|
||||
@ -89,6 +89,11 @@ export class RoomSession implements IRoomSession
|
||||
if(isTyping) GetCommunication().connection.send(new RoomUnitTypingStartComposer());
|
||||
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
|
||||
{
|
||||
|
@ -9,6 +9,9 @@ export class RoomUserData implements IRoomUserData
|
||||
private _figure: string = '';
|
||||
private _custom: string = '';
|
||||
private _activityPoints: number;
|
||||
private _background: number;
|
||||
private _stand: number;
|
||||
private _overlay: number;
|
||||
private _webID: number = 0;
|
||||
private _groupID: number = 0;
|
||||
private _groupStatus: number = 0;
|
||||
@ -45,6 +48,36 @@ export class RoomUserData implements IRoomUserData
|
||||
{
|
||||
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
|
||||
{
|
||||
|
@ -144,6 +144,17 @@ export class UserDataManager implements IUserDataManager
|
||||
|
||||
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
|
||||
{
|
||||
|
@ -100,8 +100,10 @@ export class RoomUsersHandler extends BaseHandler
|
||||
session.userDataManager.updateFigure(parser.unitId, parser.figure, parser.gender, false, false);
|
||||
session.userDataManager.updateMotto(parser.unitId, parser.motto);
|
||||
session.userDataManager.updateAchievementScore(parser.unitId, 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));
|
||||
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