军团活动:蛮夷入侵定时任务及推送
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import { GUILDACTIVITY } from "../../pubUtils/dicParam";
|
||||
import { SimpleGuildRankParam, SimpleRoleRankParam } from '../rank'
|
||||
|
||||
export class GateMembersRec {
|
||||
roleId: string;
|
||||
@@ -9,10 +10,13 @@ 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(); // 参加的所有军团
|
||||
|
||||
public getObj(guildCode: string) {
|
||||
return {
|
||||
@@ -35,13 +39,24 @@ export class GateActivityObject {
|
||||
return gateHp
|
||||
}
|
||||
|
||||
public pushMembers(guildCode: string, roleId: string) {
|
||||
public getGuilds() {
|
||||
return this.guilds;
|
||||
}
|
||||
|
||||
public pushMembers(guildCode: string, serverId: number, roleId: string) {
|
||||
|
||||
if(this.members.has(guildCode)) {
|
||||
this.members.get(guildCode).push(roleId);
|
||||
} else {
|
||||
this.members.set(guildCode, [roleId]);
|
||||
}
|
||||
if(this.guilds.has(serverId)) {
|
||||
this.guilds.set(serverId, []);
|
||||
} else {
|
||||
let arr = this.guilds.get(serverId)||[];
|
||||
if(!arr.includes(guildCode)) arr.push(guildCode);
|
||||
this.guilds.set(serverId, arr);
|
||||
}
|
||||
}
|
||||
|
||||
public getMemberRecord(code: string, roleId: string) {
|
||||
@@ -55,4 +70,11 @@ export class GateActivityObject {
|
||||
public delMemberRecord(code: string) {
|
||||
this.membersRecord.delete(code);
|
||||
}
|
||||
}
|
||||
|
||||
export interface GuildGateRankParam {
|
||||
guildRank: SimpleGuildRankParam[],
|
||||
myGuildRank: SimpleGuildRankParam,
|
||||
memberRank: SimpleRoleRankParam[],
|
||||
myMemberRank?: SimpleRoleRankParam
|
||||
}
|
||||
@@ -62,4 +62,32 @@ export class GuildLeader {
|
||||
this.frame = leader.frame;
|
||||
this.spine = leader.spine;
|
||||
}
|
||||
}
|
||||
|
||||
export class SimpleGuildRankParam {
|
||||
rank: number;
|
||||
code: string;
|
||||
name: string;
|
||||
num: number;
|
||||
|
||||
constructor(rank: number, code: string, name: string, num: number) {
|
||||
this.rank = rank;
|
||||
this.code = code;
|
||||
this.name = name;
|
||||
this.num = num;
|
||||
}
|
||||
}
|
||||
|
||||
export class SimpleRoleRankParam {
|
||||
rank: number;
|
||||
roleId: string;
|
||||
roleName: string;
|
||||
num: number;
|
||||
|
||||
constructor(rank: number, roleId: string, roleName: string, num: number) {
|
||||
this.rank = rank;
|
||||
this.roleId = roleId;
|
||||
this.roleName = roleName;
|
||||
this.num = num;
|
||||
}
|
||||
}
|
||||
@@ -58,8 +58,9 @@ import { dicArmyDonate } from '../pubUtils/dictionary/DicArmyDonateBoxReward';
|
||||
import { dicRoleFriend, DicRoleFriend } from "./dictionary/DicRoleFriend";
|
||||
import { dicRoleFriendLv } from "./dictionary/DicRoleFriendLv";
|
||||
import { Attribute } from "../domain/roleField/attribute";
|
||||
import { dicGuildActivity } from './dictionary/DicGuildActivity';
|
||||
import { dicGuildActivity, DicGuildActivity } from './dictionary/DicGuildActivity';
|
||||
import { dicGateActivityPoint } from './dictionary/DicGateActivityPoint';
|
||||
import { getCutDay } from "./timeUtil";
|
||||
|
||||
export const gameData = {
|
||||
blurprtCompose: dicBlueprtCompose,
|
||||
@@ -438,4 +439,20 @@ export function getDicFriendByLv(lv: number) {
|
||||
}
|
||||
|
||||
return dicFriend;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @description 获取今天开启的活动的配置
|
||||
*/
|
||||
export function getTodayGuildActivity() {
|
||||
let today = getCutDay();
|
||||
let dic: DicGuildActivity;
|
||||
for(let [_id, dicGuildActivity] of gameData.guildActivity) {
|
||||
if(dicGuildActivity.openDay.includes(today)) {
|
||||
dic = dicGuildActivity;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return dic;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user