军团活动:修复rpc调用以及其他问题
This commit is contained in:
@@ -13,16 +13,18 @@ export class GateMembersRec {
|
||||
// 军团活动蛮夷入侵城门血量等数据存储
|
||||
|
||||
export class GateActivityObject {
|
||||
private gateHp: Map<string, number> = new Map(); // 城门血条,每个军团有一条血条
|
||||
private members: Map<string, Array<string>> = new Map(); // 每个军团参与的成员
|
||||
private membersRecord: Map<string, GateMembersRec> = new Map(); // 每个成员的回合数和敌军数,防刷
|
||||
private guilds: Map<number, string[]> = new Map(); // 参加的所有军团
|
||||
private gateHp: Map<string, number> = new Map(); // 城门血条,每个军团有一条血条 guildCode => hp
|
||||
private members: Map<string, Array<string>> = new Map(); // 每个军团参与的成员 guildCode => [roleId]
|
||||
private membersRecord: Map<string, GateMembersRec> = new Map(); // 每个成员的回合数和敌军数,防刷 recCode => GateMembersRec
|
||||
private guilds: Map<number, string[]> = new Map(); // 参加的所有军团 server => [guildCode]
|
||||
|
||||
public getObj(guildCode: string) {
|
||||
public getObj(guildCode: string, serverId: number) {
|
||||
console.log(guildCode, serverId)
|
||||
return {
|
||||
gateHp: this.getGateHpAndInc(guildCode),
|
||||
members: this.members.get(guildCode),
|
||||
memberesRecord: this.membersRecord.get(guildCode)
|
||||
members: this.members.get(guildCode)||[],
|
||||
memberesRecord: [...this.membersRecord],
|
||||
guilds: this.guilds.get(serverId)||[]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -48,27 +50,40 @@ export class GateActivityObject {
|
||||
if(this.members.has(guildCode)) {
|
||||
this.members.get(guildCode).push(roleId);
|
||||
} else {
|
||||
let arr = new Array<string>();
|
||||
arr.push(roleId);
|
||||
this.members.set(guildCode, [roleId]);
|
||||
}
|
||||
if(this.guilds.has(serverId)) {
|
||||
this.guilds.set(serverId, []);
|
||||
} else {
|
||||
let arr = this.guilds.get(serverId)||[];
|
||||
let arr = this.guilds.get(serverId);
|
||||
if(!arr.includes(guildCode)) arr.push(guildCode);
|
||||
this.guilds.set(serverId, arr);
|
||||
} else {
|
||||
this.guilds.set(serverId, [guildCode]);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public getMemberRecord(code: string, roleId: string) {
|
||||
return this.membersRecord.get(code)||new GateMembersRec(roleId)
|
||||
public getMemberRecord(recCode: string, roleId: string) {
|
||||
return this.membersRecord.get(recCode)||new GateMembersRec(roleId)
|
||||
}
|
||||
|
||||
public setMemberRecord(code: string, newMemberRecord: GateMembersRec) {
|
||||
this.membersRecord.set(code, newMemberRecord);
|
||||
public setMemberRecord(recCode: string, newMemberRecord: GateMembersRec) {
|
||||
this.membersRecord.set(recCode, newMemberRecord);
|
||||
}
|
||||
|
||||
public delMemberRecord(code: string) {
|
||||
this.membersRecord.delete(code);
|
||||
public delMemberRecord(recCode: string) {
|
||||
this.membersRecord.delete(recCode);
|
||||
}
|
||||
|
||||
public delGuildRecord(guildCode: string, serverId: number) {
|
||||
let guildList = this.guilds.get(serverId);
|
||||
if(guildList) {
|
||||
let index = guildList.indexOf(guildCode);
|
||||
guildList.splice(index, 1);
|
||||
}
|
||||
this.gateHp.delete(guildCode);
|
||||
this.members.delete(guildCode);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user