From 3af415b0f5b4927b56a51ee2131b7382046d1e87 Mon Sep 17 00:00:00 2001 From: zhl Date: Fri, 4 Dec 2020 17:14:46 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0pet=E7=9A=84=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/rooms/MSender.ts | 20 ++++++++++++++++++++ src/rooms/schema/Pet.ts | 24 +++++++++++++++--------- 2 files changed, 35 insertions(+), 9 deletions(-) diff --git a/src/rooms/MSender.ts b/src/rooms/MSender.ts index 082e8e2..5b4b27e 100644 --- a/src/rooms/MSender.ts +++ b/src/rooms/MSender.ts @@ -43,6 +43,26 @@ Object.defineProperties(Room.prototype, { bAddPet: { value: function (data?: PetInfoMsg) { + let obj = data.data; + let pid = obj.player; + let player = this.state.players.get(pid); + let pet = player.pets.get(obj.pos); + pet.id = obj.id; + pet.ap = obj.ap; + pet.extAp = obj.extAp; + pet.harmReduce = obj.harmReduce; + pet.skills.length = 0; + if (obj.skills) { + for (let s of obj.skills) { + pet.skills.push(s); + } + } + pet.extSkills.length = 0; + if (obj.extSkills) { + for (let s of obj.extSkills) { + pet.extSkills.push(s); + } + } this.broadcast("pet_info_s2c", data); } }, diff --git a/src/rooms/schema/Pet.ts b/src/rooms/schema/Pet.ts index 47189ed..2ca711a 100644 --- a/src/rooms/schema/Pet.ts +++ b/src/rooms/schema/Pet.ts @@ -1,25 +1,31 @@ -import {Schema, type} from "@colyseus/schema"; +import {Schema, ArraySchema, type} from "@colyseus/schema"; export class Pet extends Schema { + @type("number") + id?: number; /** * 当前点数 */ @type("number") ap: number; - /** - * 种类 - */ - @type("string") - type: string; + @type("number") + extAp?: number; - @type("string") - id: string; + @type("number") + harmReduce?: number; + + @type(["number"]) + skills = new ArraySchema(); + + @type(["number"]) + extSkills = new ArraySchema() constructor() { super(); this.ap = 0; - this.type = ''; } + + }