提交锻造装备

This commit is contained in:
PC-20230316NUNE\Administrator
2024-01-09 18:32:21 +08:00
parent 61767ea93f
commit 14f1059337
36 changed files with 4461 additions and 1280 deletions

View File

@@ -1,11 +1,14 @@
import { app } from "../App";
import { API, EquipForgingBench, PetEquip } from "../consts/API";
import { GUI } from "../ui/UIConfig";
import BaseData from "./BaseData";
import PlayerPetData from "./PlayerPetData";
export enum PetEquipDataEnum{
//更新锻造数据
UPDATE_FORGING_INFO = "PetEquipDataEnum_UPDATE_FORGING_INFO"
UPDATE_FORGING_INFO = "PetEquipDataEnum_UPDATE_FORGING_INFO",
//更新装备
UPDATE_EQUIP = "PetEquipDataEnum_UPDATE_EQUIP"
}
//宠物装备数据类
@@ -39,6 +42,8 @@ export default class PetEquipData extends BaseData{
//添加装备
addEquip(equip:PetEquip):PetEquip{
if(!equip) return null;
console.log("添加装备",equip)
if(this.equips.filter(item => item.equipId == equip.equipId).length) return null;
this.equips.push(equip);
return equip;
@@ -49,5 +54,30 @@ export default class PetEquipData extends BaseData{
this.onUpdateInfo(await API.PetEquipForgingPetId(petId));
}
//穿戴指定装备
async wear(equip:PetEquip){
if(this.equips.indexOf(equip) < 0) {
app.layer.Open(GUI.Tips,{text:"装备不存在"});
return;
}
let info = await API.PetEquipWear(this.info.forgingPetId,equip.equipId);
if(info){
//脱下之前的装备
this.equips.forEach(item => {
if(info.equipPetId == item.equipPetId && item.equipPosition == info.equipPosition){
item.equipPetId = 0;
}
})
Object.assign(equip,info);
app.event.emit(PetEquipDataEnum.UPDATE_EQUIP);
}
}
//获取指定宠物指定位置的装备
getPetEquip(position:number,petId:number = this.info.forgingPetId){
if(!petId) return null;
return this.equips.filter(equip => (equip.equipPetId == petId && equip.equipPosition == position))[0];
}
}