import { Framework } from "../../framework/Framework"; import { AwardData, BaseItem, ItemEnum } from "../common/InterfaceAddEnum"; import { GameEvent } from "../data/GameEvent"; import { UserData } from "../data/UserData"; import { GoodsManager } from "./GoodsManager"; //所有manager的连接器 export class UnionManager { // 解析奖励数据 static parseServerAwards(data:{[key:string]:AwardData}) { let awards:Array = []; console.log("parseServerAwards",Object.keys(data)); for (const key in Object.keys(data)) { const element = data[key]; console.log(element[0]); if (element[0] == ItemEnum.material) { let item = GoodsManager.addGoodsById(element[1].toString() , element[2]); awards.push(item); } else if (element[0] == ItemEnum.equip) { }else if (element[0] == ItemEnum.user) { let item: BaseItem = { conf: {}, count: element[2], id: element[1].toString(), type: ItemEnum.user }; let statu = UserData.status[element[1]] if (statu) { statu += element[2]; UserData.status[element[1]] = statu; awards.push(item); } } } return awards; } // 触发物品刷新事件 static fireEventWithItem(itemList:[BaseItem]){ let updateEvent = []; for(let i in itemList){ let item = itemList[i]; if(item.type == ItemEnum.user){ if(!updateEvent[GameEvent.StatusUpdate]){ Framework.event.fireEvent(GameEvent.StatusUpdate); } updateEvent[GameEvent.StatusUpdate] = true }else if(item.type == ItemEnum.equip){ if(!updateEvent[GameEvent.EquipChange]){ Framework.event.fireEvent(GameEvent.EquipChange); } updateEvent[GameEvent.EquipChange] = true }else if(item.type == ItemEnum.material){ if(!updateEvent[GameEvent.MaterialChange]){ Framework.event.fireEvent(GameEvent.MaterialChange); } updateEvent[GameEvent.MaterialChange] = true } } } static showItemTips(awards:Array) { let tipsStr:string = ""; for (const key in awards) { const element = awards[key]; tipsStr += element.count + "x" + element.id + " "; } Framework.tips.setTips(tipsStr); } }