226 lines
6.3 KiB
TypeScript
226 lines
6.3 KiB
TypeScript
// 一些通用的interface定义
|
||
|
||
import { ResonanceConnection, ResonanceEplace, ResonanceTalent } from "../db/Resonance";
|
||
import { RougelikeCardPara } from "../db/RougelikeCard";
|
||
import { RougelikeCharaPara } from "../db/RougelikeChara";
|
||
import { RougelikeCollectionType } from "../db/RougelikeCollection";
|
||
import { RandomRec } from "../db/RougelikeRecordDetail";
|
||
import { UserGuildType } from "../db/UserGuild";
|
||
|
||
export interface RewardInter {
|
||
id: number;
|
||
count: number;
|
||
expireTime?: number;
|
||
}
|
||
|
||
export interface ItemInter {
|
||
id: number;
|
||
count?: number;
|
||
seqId?: number | string;
|
||
type?: number;
|
||
isPay?: boolean;
|
||
hid?: number;
|
||
expireTime?: number;
|
||
};
|
||
|
||
// 百家学宫,布阵武将位置
|
||
export interface SclPosInter {
|
||
id: number;
|
||
hid: number;
|
||
isOpen: boolean;
|
||
}
|
||
|
||
// 百家学宫返回
|
||
export interface SclResultInter {
|
||
id: number;
|
||
position: SclPosInter[]
|
||
}
|
||
|
||
|
||
export interface pvpEndParamInter {
|
||
hid: number;
|
||
damage: number;
|
||
heal: number;
|
||
underDamage: number;
|
||
subHid?: number;
|
||
}
|
||
|
||
export interface RougeDamageInter {
|
||
charaCode: string;
|
||
hp: number;
|
||
ap: number;
|
||
shield: number;
|
||
others: string;
|
||
damage: number;
|
||
heal: number;
|
||
unserDamage: number;
|
||
isAp: boolean;
|
||
isRound: boolean;
|
||
maxHp?: number;
|
||
}
|
||
|
||
export interface Uid {
|
||
uid: string;
|
||
sid: string;
|
||
}
|
||
|
||
export interface pushMail {
|
||
route: string;
|
||
data: mailData[];
|
||
uids: Uid[];
|
||
}
|
||
|
||
export interface mailData {
|
||
id: string;
|
||
goods: RewardInter[];
|
||
sendTime: number;
|
||
endTime: number;
|
||
content: string;
|
||
status: number;
|
||
mailType: number;
|
||
sendName: string;
|
||
}
|
||
|
||
export interface guildInter {
|
||
myUserGuild: UserGuildType;
|
||
hisUserGuild: UserGuildType;
|
||
}
|
||
|
||
export interface recycleSoulFastPara {
|
||
hid: number;
|
||
count: number;
|
||
}
|
||
|
||
export class CommonCard {
|
||
cardCode: string; // 卡code
|
||
cardId: number; // 卡ID
|
||
type: number; // 卡类型
|
||
charaId: number; // 装备在哪个角色上,没有装备为0
|
||
lv: number; // 卡的等级
|
||
useCount: number;
|
||
|
||
constructor(card: RougelikeCardPara) {
|
||
this.cardCode = card?.cardCode || '';
|
||
this.cardId = card?.cardId || 0;
|
||
this.type = card?.type || 0;
|
||
this.charaId = card?.charaId || 0;
|
||
this.lv = card?.lv || 0;
|
||
this.useCount = card?.useCount || 0;
|
||
}
|
||
};
|
||
|
||
|
||
export class CommonChara {
|
||
charaCode: string; // 角色卡唯一id
|
||
seqId: number; // 排序
|
||
charaId: number; // 角色卡id
|
||
cards: { // 卡槽,没有那个index表示没有解锁
|
||
index: number;
|
||
cardCode: string;
|
||
cardId: number; // 当为0的时候表示没有装入卡片
|
||
}[];
|
||
hp: number; // 当前hp
|
||
maxHp: number; // 最大hp
|
||
ap: number; // 当前怒气
|
||
shield: number;
|
||
others: string;
|
||
roundSkill: number; // 玩家选择的回合技能卡
|
||
apSkill: number; // 玩家选择的怒气技能卡
|
||
|
||
constructor(chara: RougelikeCharaPara) {
|
||
this.charaCode = chara?.charaCode || '';
|
||
this.seqId = chara?.seqId || 0;
|
||
this.charaId = chara?.charaId || 0;
|
||
this.cards = chara?.cards || [];
|
||
this.hp = chara?.hp || 0;
|
||
this.maxHp = chara?.maxHp || 0;
|
||
this.ap = chara?.ap || 0;
|
||
this.shield = chara?.shield || 0;
|
||
this.others = chara?.others || '';
|
||
this.roundSkill = chara?.roundSkill || 0;
|
||
this.apSkill = chara?.apSkill || 0;
|
||
}
|
||
};
|
||
|
||
export class CollectionReturnParam {
|
||
type: number = 0; // 类型
|
||
id: number = 0; // 图鉴id
|
||
num: number = 0; // 图鉴达成数量
|
||
received: number[] = []; // 是否领取
|
||
|
||
constructor(collect: RougelikeCollectionType) {
|
||
this.type = collect?.type || 0;
|
||
this.id = collect?.id || 0;
|
||
this.num = collect?.num || 0;
|
||
this.received = collect?.received || [];
|
||
}
|
||
}
|
||
|
||
export interface layerNode {
|
||
detailCode: string;
|
||
index: number; // 索引
|
||
nodeId: number; // 关卡id
|
||
preNodeIndexs: number[]; // 连线的关卡,填上一层节点的索引
|
||
type: number; // 类型
|
||
isChoose: number; // 玩家选择,0-未选择,1-选择
|
||
}
|
||
export interface CommonNode {
|
||
layer: number; // 层
|
||
layerNodes: layerNode[];
|
||
};
|
||
|
||
|
||
// export interface WeightRecord {
|
||
// originalWight?: number;
|
||
// passiveRedWight?: number;
|
||
// holyRedWight?: number;
|
||
// authorAddWeight?: number;
|
||
// passiveLableNum?: number;
|
||
// passiveLableNumAddWeight?: number;
|
||
// holyLableNum?: number;
|
||
// holyLableNumAddWeight?: number;
|
||
// finalWeight?: number;
|
||
// }
|
||
export interface RewardOption {
|
||
optionIndex: number; // 第几个选项
|
||
rewardId: number; // 角色卡的id或特性卡的id或圣物的id
|
||
optionStatus: number; // 0-没有选择这个奖励 1-选择了这个奖励
|
||
passiveCardIds?: number[]; //高级学员自带特性卡
|
||
// weightRecord?: WeightRecord //用于测试权重记录
|
||
}
|
||
|
||
export interface CommonReward {
|
||
rewards?: {
|
||
groupIndex: number; // 奖励的索引值
|
||
rewardType: number; // 奖励的类型 1-角色卡 2-特性卡 3-圣物
|
||
options?: RewardOption[]; // 奖励的选项,试炼币大概就不用了
|
||
groupStatus: number; // 组选择 0-未选择 1-已选择
|
||
chooseNum?: number; // 这一组总共能选的数量3选2
|
||
}[];
|
||
takeoutReward?: RewardInter[]; // 可以外带的奖励 id&count
|
||
score?: number; // 增加的积分
|
||
techScore?: number; // 增加的科技分
|
||
weightRecords?: RandomRec[]
|
||
}
|
||
|
||
|
||
export interface SlotCard {
|
||
index: number; //卡槽标记
|
||
cardCode: string; //安装的特性卡唯一code
|
||
}
|
||
|
||
export interface ReturnResonanceParam {
|
||
position: number; // 上阵位置,从1开始(6为鸣主配系统参数表),已解锁未上阵仅有positon
|
||
hid?: number; // 武将id
|
||
seqId?: number; // 武将表自增 id
|
||
lv?: number; //武将等级
|
||
exp?: number;
|
||
job?: number;
|
||
jobStage?: number; // 职阶
|
||
talent?: ResonanceTalent[]; // 天赋
|
||
usedTalentPoint?: number;
|
||
totalTalentPoint?: number;
|
||
connections?: ResonanceConnection[]; // 羁绊
|
||
ePlace?: ResonanceEplace[];
|
||
ce?: number; //战力
|
||
} |