✨ feat(gvg): 激战期内存以及玩家移动、挑战操作
This commit is contained in:
@@ -1,7 +1,14 @@
|
||||
import { GVGTeamType } from "../../db/GVGTeam";
|
||||
import { GVGTeamType, GVGTeamUpdate } from "../../db/GVGTeam";
|
||||
|
||||
// 积分点分类统计,1-3级积分点代表从小到大
|
||||
export interface LeagueCityPoint {
|
||||
export class LeagueCityPoint {
|
||||
// 玩家id
|
||||
roleId: string;
|
||||
// 军团id
|
||||
guildCode: string;
|
||||
// 联军id
|
||||
leagueCode: string;
|
||||
|
||||
// 计分点数
|
||||
pointCnt1: number;
|
||||
pointCnt2: number;
|
||||
@@ -13,11 +20,43 @@ export interface LeagueCityPoint {
|
||||
}
|
||||
|
||||
// 队伍状态
|
||||
export interface GVGTeamMem extends GVGTeamType {
|
||||
// 开始移动时间戳
|
||||
export class GVGTeamMem implements GVGTeamUpdate {
|
||||
roleId: string; // 玩家id
|
||||
id: number;
|
||||
teamCode: string;
|
||||
teamId: number;
|
||||
leagueCode: string;
|
||||
guildCode: string;
|
||||
areaId: number;
|
||||
cityId: number;
|
||||
pointId: number;
|
||||
head: number;
|
||||
spine: number;
|
||||
frame: number;
|
||||
durability: number;
|
||||
restartTime: number;
|
||||
attackTime: number;
|
||||
defenseTime: number;
|
||||
startMoveTime: number;
|
||||
// 停止移动时间戳
|
||||
stopMoveTime: number;
|
||||
// 是否正在移动
|
||||
isMoving: boolean;
|
||||
point: number;
|
||||
|
||||
constructor(team: GVGTeamType) {
|
||||
for(let key in team) {
|
||||
this[key] = team[key];
|
||||
}
|
||||
}
|
||||
|
||||
public setCity(cityId: number, areaId = 0) {
|
||||
this.cityId = cityId;
|
||||
this.areaId = areaId;
|
||||
this.pointId = 0;
|
||||
}
|
||||
|
||||
public moveToArea(areaId: number, startMoveTime: number, stopMoveTime: number) {
|
||||
this.areaId = areaId;
|
||||
this.startMoveTime = startMoveTime;
|
||||
this.stopMoveTime = stopMoveTime;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -363,7 +363,7 @@ export class LeagueFarmMember {
|
||||
setByFields(fields: GVGLeagueFarmType[]) {
|
||||
this.count = fields.length;
|
||||
this.harvestTime = Math.min(...fields.map(cur => cur.harvestTime))||0;
|
||||
this.canHelp = !!fields.find(cur => cur.harvestTime < nowSeconds());
|
||||
this.canHelp = !!fields.find(cur => cur.harvestTime > 0 && cur.harvestTime < nowSeconds());
|
||||
this.output = fields.reduce((pre, cur) => (pre + cur.output||0), 0);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
|
||||
import { prop } from 'typegoose';
|
||||
import { ArtifactModelType } from '../../db/Artifact';
|
||||
import { Connect, EPlace, HeroSkin, HeroType, HeroUpdate, Talent } from '../../db/Hero';
|
||||
import { JewelSe, JewelType, RandSe } from '../../db/Jewel';
|
||||
@@ -155,8 +156,11 @@ export class ArtifactParam {
|
||||
}
|
||||
|
||||
// 阵容
|
||||
export interface LineupHero {
|
||||
export class LineupHero {
|
||||
@prop({ required: true })
|
||||
actorId: number; // 武将
|
||||
@prop({ required: true })
|
||||
dataId: number; // 出兵表上的位置
|
||||
@prop({ required: true })
|
||||
order: number; // 行动
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user