优化:gm-server创建武将
This commit is contained in:
@@ -17,10 +17,12 @@ import { checkBattleHeroesByHid } from '../../../services/normalBattleService';
|
||||
import { Rank } from '../../../services/rankService';
|
||||
import { updateUserInfo } from '../../../services/redisService';
|
||||
import { checkTaskWithHero, checkTask, checkTaskWithArgs, checkActivityTask } from '../../../services/taskService';
|
||||
import { getGoldObject, getCoinObject, createHeroesWhenInit } from '../../../pubUtils/itemUtils';
|
||||
import { getGoldObject, getCoinObject } from '../../../pubUtils/itemUtils';
|
||||
import { RScriptRecordModel } from '../../../db/RScriptRecord';
|
||||
import { checkPvp } from '../../../services/pvpService';
|
||||
import { SkinModel, SkinUpdate } from '../../../db/Skin';
|
||||
import { CreateHeroes } from '../../../pubUtils/roleUtil';
|
||||
import { Figure } from '../../../domain/dbGeneral';
|
||||
|
||||
export default function (app: Application) {
|
||||
new HandlerService(app, {});
|
||||
@@ -32,6 +34,7 @@ export class RoleHandler {
|
||||
}
|
||||
|
||||
async initRole(msg: { roleName: string }, session: BackendSession) {
|
||||
console.log('******** initRole start', Date.now());
|
||||
let roleId = session.get('roleId');
|
||||
let serverId = session.get('serverId');
|
||||
let sid: string = session.get('sid');
|
||||
@@ -45,9 +48,14 @@ export class RoleHandler {
|
||||
if (checkName) return resResult(STATUS.NAME_HAS_USED);
|
||||
|
||||
console.log('****** createHeroes before', Date.now())
|
||||
let initInfos: { role: RoleUpdate, heroes: HeroUpdate[], skins: SkinUpdate[]} = await this.app.rpc.role.roleRemote.getInitRoleInfos.toServer(this.app.getServerId());
|
||||
let initInfos: { role: RoleUpdate, heroes: HeroUpdate[], skins: SkinUpdate[], figureInfo: { heads: Figure[], frames: Figure[], spines: Figure[] }}
|
||||
= await this.app.rpc.role.roleRemote.getInitRoleInfos.toServer(this.app.getServerId());
|
||||
role = await RoleModel.updateRoleInfo(roleId, {...initInfos.role, roleName, hasInit: true});
|
||||
let { heroes } = await createHeroesWhenInit(roleId, roleName, serverId, initInfos.heroes, initInfos.skins);
|
||||
let createHero = new CreateHeroes(roleId, roleName, serverId, funcs);
|
||||
await createHero.createWithInitInfo(initInfos.heroes, initInfos.skins, initInfos.figureInfo);
|
||||
await createHero.pushMessage(pinus, sid);
|
||||
await createHero.updateRedisRank(Rank);
|
||||
let heroes = createHero.getResultHeroes();
|
||||
|
||||
console.log('****** createHeroes after', Date.now())
|
||||
session.set('roleName', roleName);
|
||||
|
||||
Reference in New Issue
Block a user