import {Application, BackendSession} from 'pinus'; const _ = require('underscore'); import { gameData } from '../../../pubUtils/data'; import { checkPvp, initPvpInfo, refreshEnemies, getEnemies } from '../../../pubUtils/pvpUtil'; import { RoleModel, RoleType } from '../../../db/Role'; import { STATUS } from '../../../consts/statusCode'; import { resResult } from '../../../pubUtils/util'; import { SystemConfigModel } from '../../../db/SystemConfig' import { PvpDefenseModel } from '../../../db/PvpDefense'; export default function(app: Application) { return new PvpHandler(app); } export class PvpHandler { constructor(private app: Application) { } async test(msg: {}, session: BackendSession) { let roleId = session.get('roleId'); let role = await RoleModel.findByRoleId(roleId); const result = await initPvpInfo(role); return resResult(STATUS.SUCCESS, {result}); } async getData (msg: {}, session: BackendSession) { let roleId = session.get('roleId'); let roleName = session.get('roleName'); let sid = session.get('sid'); let serverId = session.get('serverId'); let result = await PvpDefenseModel.findByRoleIdIncludeAll(roleId); let system = await SystemConfigModel.findSystemConfig(); return resResult(STATUS.SUCCESS, { data: result }); } // TODO 刷新 async refreshOppPlayer (msg: {}, session: BackendSession) { let roleId = session.get('roleId'); let pvpDefense = await PvpDefenseModel.findByRoleIdIncludeAll(roleId); let role = pvpDefense.role; let oppPlayers = await refreshEnemies(role, pvpDefense.score, pvpDefense.pLv); pvpDefense = await PvpDefenseModel.updateInfoAndInclude(roleId, { oppPlayers }); let result = getEnemies(pvpDefense.oppPlayers, pvpDefense.winStreakNum); return resResult(STATUS.SUCCESS, { data: result }); } }