实现移除随从的方法

This commit is contained in:
zhl 2020-12-07 13:21:59 +08:00
parent edc9d78a36
commit 4c0aa66ca2
3 changed files with 38 additions and 3 deletions

3
src/global.d.ts vendored
View File

@ -17,6 +17,7 @@ import {PetInfoMsg} from "./message/PetInfo";
import {BattleHandler} from "./rooms/logic/Handler/BattleHandler";
import {SkillInfoData, SkillInfoMsg} from "./message/SkillInfo";
import {PartResultMsg} from "./message/PartResult";
import {RemovePetMsg} from "./message/RemovePetMsg";
/**
* GeneralRoom
*/
@ -102,7 +103,7 @@ declare module "colyseus" {
* @param data
* @param options
*/
bRemovePet(data?: any, options?: any): void;
bRemovePet(data?: RemovePetMsg, options?: any): void;
/**
* 广

View File

@ -0,0 +1,21 @@
import {IMsg} from "./IMsg";
/**
*
*/
export class RemovePetMsg implements IMsg {
data: any;
errcode: number;
errmsg?: string;
type?: string;
constructor(data: {
id: number,
player: string,
pos: number,
}) {
this.errcode = 0;
this.data = data;
}
}

View File

@ -4,6 +4,7 @@ import {PetInfoMsg} from "../message/PetInfo";
import {SkillInfoMsg} from "../message/SkillInfo";
import {Pet} from "./schema/Pet";
import {PartResultMsg} from "../message/PartResult";
import {RemovePetMsg} from "../message/RemovePetMsg";
/**
*
@ -161,8 +162,20 @@ Object.defineProperties(Room.prototype, {
* @param options
*/
bRemovePet: {
value: function (data?: any, options?: any) {
value: function (data?: RemovePetMsg, options?: any) {
let obj = data.data;
let pid = obj.player;
let player = this.state.players.get(pid);
if (!player) {
return;
}
let pet = player.pets.get(obj.pos);
if (!pet) {
return;
}
pet.ap = 0;
pet.state = 2;
player.pets.set(obj.pos + '', pet);
this.broadcast('remove_pet_s2c', data, options);
}
},