// 一些通用的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; //战力 }