From 51ac6d8c3ee98b0d9e5f6fb3cb32496190408a24 Mon Sep 17 00:00:00 2001 From: liangtongchuan Date: Fri, 27 Jan 2023 22:49:42 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat(db):=20=E6=B7=BB=E5=8A=A0=20GV?= =?UTF-8?q?GTeam=20=E6=95=B0=E6=8D=AE=E5=BA=93=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- shared/db/GVGTeam.ts | 49 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 shared/db/GVGTeam.ts diff --git a/shared/db/GVGTeam.ts b/shared/db/GVGTeam.ts new file mode 100644 index 000000000..b533a7a9b --- /dev/null +++ b/shared/db/GVGTeam.ts @@ -0,0 +1,49 @@ +// GVGTeam 数据库表,存储 GVG 队伍信息 +import BaseModel from "./BaseModel"; +import { index, getModelForClass, prop, DocumentType } from '@typegoose/typegoose'; + +@index({ teamId: 1 }) +export default class GVGTeam extends BaseModel { + @prop({ required: true }) + roleId: string; // 玩家id + + @prop({ required: true }) + teamId: number; // 玩家队伍id,3个队伍 + + @prop({ required: true }) + head: number; // 头像 + + @prop({ required: true }) + spine: number; // 形象 + + @prop({ required: true }) + frame: number; // 相框 + + @prop({ required: true, default: 0 }) + durability: number; // 耐久 + + @prop({ required: true, default: 0 }) + restartTime: number; // 修整期倒计时 + + @prop({ required: true, default: 0 }) + attackTime: number; // 进攻冷却时间 + + @prop({ required: true, default: 0 }) + moveTime: number; // 移动冷却时间 + + @prop({ required: true, default: 0 }) + defenseTime: number; // 防守保护时间 + + @prop({ required: true }) + lineup: [{ + actorId: number; // 武将id + dataId: number; // 位置 + order: number; // 进攻顺序 + }] +} + +export const GVGTeamModel = getModelForClass(GVGTeam); + +export interface GVGTeamType extends Pick, keyof GVGTeam> { + id: number; +};