🆕 Card Background

This commit is contained in:
duckietm
2026-05-04 08:44:40 +02:00
parent 43dc054fed
commit 2f7b80e894
11 changed files with 65 additions and 10 deletions
@@ -2,6 +2,10 @@ export interface IRoomUserData
{
readonly roomIndex: number;
activityPoints: number;
background: number;
stand: number;
overlay: number;
cardBackground: number;
name: string;
type: number;
sex: string;
@@ -4,9 +4,9 @@ export class RoomUnitBackgroundComposer implements IMessageComposer<ConstructorP
{
private _data: ConstructorParameters<typeof RoomUnitBackgroundComposer>;
constructor(backgroundImage: number, backgroundStand: number, backgroundOverlay: number)
constructor(backgroundImage: number, backgroundStand: number, backgroundOverlay: number, backgroundCard: number = 0)
{
this._data = [ backgroundImage, backgroundStand, backgroundOverlay ];
this._data = [ backgroundImage, backgroundStand, backgroundOverlay, backgroundCard ];
}
public getMessageArray()
@@ -10,6 +10,7 @@ export class RoomUnitInfoParser implements IMessageParser
private _backgroundId: number;
private _standId: number;
private _overlayId: number;
private _cardBackgroundId: number;
public flush(): boolean
{
@@ -21,6 +22,7 @@ export class RoomUnitInfoParser implements IMessageParser
this._backgroundId = 0;
this._standId = 0;
this._overlayId = 0;
this._cardBackgroundId = 0;
return true;
}
@@ -36,7 +38,9 @@ export class RoomUnitInfoParser implements IMessageParser
this._achievementScore = wrapper.readInt();
this._backgroundId = wrapper.readInt();
this._standId = wrapper.readInt();
this._overlayId = wrapper.readInt();
this._overlayId = wrapper.readInt();
if(wrapper.bytesAvailable >= 4) this._cardBackgroundId = wrapper.readInt();
return true;
}
@@ -80,4 +84,9 @@ export class RoomUnitInfoParser implements IMessageParser
{
return this._overlayId;
}
public get cardBackgroundId(): number
{
return this._cardBackgroundId;
}
}
@@ -37,6 +37,7 @@ export class RoomUnitParser implements IMessageParser
const background = wrapper.readInt();
const stand = wrapper.readInt();
const overlay = wrapper.readInt();
const cardBackground = wrapper.readInt();
let figure = wrapper.readString();
const roomIndex = wrapper.readInt();
const x = wrapper.readInt();
@@ -53,6 +54,7 @@ export class RoomUnitParser implements IMessageParser
user.background = background;
user.stand = stand;
user.overlay = overlay;
user.cardBackground = cardBackground;
user.x = x;
user.y = y;
user.z = z;
@@ -17,6 +17,7 @@ export class UserMessageData
private _background: number = 0;
private _stand: number = 0;
private _overlay: number = 0;
private _cardBackground: number = 0;
private _webID: number = 0;
private _groupID: number = 0;
private _groupStatus: number = 0;
@@ -214,6 +215,16 @@ export class UserMessageData
this._overlay = k;
}
public get cardBackground(): number
{
return this._cardBackground;
}
public set cardBackground(k: number)
{
this._cardBackground = k;
}
public get webID(): number
{
return this._webID;
@@ -19,6 +19,7 @@ export class UserProfileParser implements IMessageParser
private _backgroundId: number;
private _standId: number;
private _overlayId: number;
private _cardBackgroundId: number;
public flush(): boolean
{
@@ -38,6 +39,7 @@ export class UserProfileParser implements IMessageParser
this._backgroundId = 0;
this._standId = 0;
this._overlayId = 0;
this._cardBackgroundId = 0;
return true;
}
@@ -71,6 +73,8 @@ export class UserProfileParser implements IMessageParser
this._backgroundId = wrapper.readInt();
this._standId = wrapper.readInt();
this._overlayId = wrapper.readInt();
if(wrapper.bytesAvailable >= 4) this._cardBackgroundId = wrapper.readInt();
}
return true;
@@ -155,4 +159,9 @@ export class UserProfileParser implements IMessageParser
{
return this._overlayId;
}
public get cardBackgroundId(): number
{
return this._cardBackgroundId;
}
}
@@ -12,6 +12,7 @@ export class RoomSessionUserFigureUpdateEvent extends RoomSessionEvent {
private _backgroundId: number | null;
private _standId: number | null;
private _overlayId: number | null;
private _cardBackgroundId: number | null;
constructor(
session: IRoomSession,
@@ -22,7 +23,8 @@ export class RoomSessionUserFigureUpdateEvent extends RoomSessionEvent {
achievementScore: number,
backgroundId: number | null,
standId: number | null,
overlayId: number | null
overlayId: number | null,
cardBackgroundId: number | null = 0
) {
super(RoomSessionUserFigureUpdateEvent.USER_FIGURE, session);
@@ -34,6 +36,7 @@ export class RoomSessionUserFigureUpdateEvent extends RoomSessionEvent {
this._backgroundId = backgroundId;
this._standId = standId;
this._overlayId = overlayId;
this._cardBackgroundId = cardBackgroundId;
}
public get roomIndex(): number {
@@ -67,4 +70,8 @@ export class RoomSessionUserFigureUpdateEvent extends RoomSessionEvent {
public get overlayId(): number | null {
return this._overlayId;
}
public get cardBackgroundId(): number | null {
return this._cardBackgroundId;
}
}
+2 -2
View File
@@ -97,9 +97,9 @@ export class RoomSession implements IRoomSession
else GetCommunication().connection.send(new RoomUnitTypingStopComposer());
}
public sendBackgroundMessage(backgroundImage: number, backgroundStand: number, backgroundOverlay: number): void
public sendBackgroundMessage(backgroundImage: number, backgroundStand: number, backgroundOverlay: number, backgroundCard: number = 0): void
{
GetCommunication().connection.send(new RoomUnitBackgroundComposer(backgroundImage, backgroundStand, backgroundOverlay));
GetCommunication().connection.send(new RoomUnitBackgroundComposer(backgroundImage, backgroundStand, backgroundOverlay, backgroundCard));
}
public sendMottoMessage(motto: string): void
+11
View File
@@ -12,6 +12,7 @@ export class RoomUserData implements IRoomUserData
private _background: number;
private _stand: number;
private _overlay: number;
private _cardBackground: number;
private _webID: number = 0;
private _groupID: number = 0;
private _groupStatus: number = 0;
@@ -81,6 +82,16 @@ export class RoomUserData implements IRoomUserData
this._overlay = k;
}
public get cardBackground(): number
{
return this._cardBackground;
}
public set cardBackground(k: number)
{
this._cardBackground = k;
}
public get name(): string
{
return this._name;
+2 -1
View File
@@ -145,7 +145,7 @@ export class UserDataManager implements IUserDataManager
userData.custom = custom;
}
public updateBackground(roomIndex: number, background: number, stand: number, overlay: number): void
public updateBackground(roomIndex: number, background: number, stand: number, overlay: number, cardBackground: number = 0): void
{
const userData = this.getUserDataByIndex(roomIndex);
@@ -154,6 +154,7 @@ export class UserDataManager implements IUserDataManager
userData.background = background;
userData.stand = stand;
userData.overlay = overlay;
userData.cardBackground = cardBackground;
}
public updateAchievementScore(roomIndex: number, score: number): void
@@ -57,7 +57,8 @@ export class RoomUsersHandler extends BaseHandler
userData.custom = user.custom;
userData.background = user.background;
userData.stand = user.stand;
userData.overlay = user.overlay;
userData.overlay = user.overlay;
userData.cardBackground = user.cardBackground;
userData.activityPoints = user.activityPoints;
userData.figure = user.figure;
userData.type = user.userType;
@@ -106,9 +107,9 @@ export class RoomUsersHandler extends BaseHandler
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);
session.userDataManager.updateBackground(parser.unitId, parser.backgroundId, parser.standId, parser.overlayId, parser.cardBackgroundId);
GetEventDispatcher().dispatchEvent(new RoomSessionUserFigureUpdateEvent(session, parser.unitId, parser.figure, parser.gender, parser.motto, parser.achievementScore, 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, parser.cardBackgroundId));
}