🆙 added Backgrounds to the renderer

This commit is contained in:
duckietm
2025-05-20 14:16:05 +02:00
parent e0c0c06c99
commit 7c40e69c75
10 changed files with 157 additions and 3 deletions
+6 -1
View File
@@ -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
{
+33
View File
@@ -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
{
+11
View File
@@ -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));
}