import { GUILDACTIVITY } from "../../pubUtils/dicParam"; export class GateMembersRec { roleId: string; round: number = 0; enemies: number[] = []; constructor(roleId: string) { this.roleId = roleId; } } export class GateActivityObject { private gateHp: Map = new Map(); // 城门血条,每个军团有一条血条 private members: Map> = new Map(); // 每个军团参与的成员 private membersRecord: Map = new Map(); // 每个成员的回合数和敌军数,防刷 public getObj(guildCode: string) { return { gateHp: this.getGateHpAndInc(guildCode), members: this.members.get(guildCode), memberesRecord: this.membersRecord.get(guildCode) } } public getGateHpAndInc(guildCode: string, inc: number = 0) { let gateHp = this.gateHp.get(guildCode); if(!this.gateHp.has(guildCode)) { gateHp = GUILDACTIVITY.GATEACTIVITY_GATEHP; } if(inc != 0) { gateHp += inc; this.gateHp.set(guildCode, gateHp); } if(gateHp <= 0) gateHp = 0; return gateHp } public pushMembers(guildCode: string, roleId: string) { if(this.members.has(guildCode)) { this.members.get(guildCode).push(roleId); } else { this.members.set(guildCode, [roleId]); } } public getMemberRecord(code: string, roleId: string) { return this.membersRecord.get(code)||new GateMembersRec(roleId) } public setMemberRecord(code: string, newMemberRecord: GateMembersRec) { this.membersRecord.set(code, newMemberRecord); } public delMemberRecord(code: string) { this.membersRecord.delete(code); } }