123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- import { Framework } from "../../framework/Framework";
- import { AwardData, BaseItem, ItemEnum } from "../common/InterfaceAddEnum";
- import { BattleData } from "../data/BattleData";
- import { EquipData } from "../data/EquipData";
- import { GameEvent } from "../data/GameEvent";
- import { GoodsData } from "../data/GoodsData";
- import { MailData } from "../data/MailData";
- import { RoleData } from "../data/RoleData";
- import { UserData } from "../data/UserData";
- import { EquipManager } from "./EquipManager";
- import { GoodsManager } from "./GoodsManager";
- import { RoleManager } from "./RoleManager";
- //所有manager的连接器
- export class UnionManager {
- // 解析奖励数据
- static parseServerAwards(data:{[key:string]:AwardData}) {
- let awards:Array<BaseItem> = [];
- 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<BaseItem>) {
- let tipsStr:string = "";
- for (const key in awards) {
- const element = awards[key];
- tipsStr += element.count + "*" + element.id + " ";
- }
- Framework.tips.setTips(tipsStr);
- }
- // 处理登录数据
- static dealLoginData(data) {
- UserData.init(data || {});
- if (data.get_mails) {
- MailData.setData(data.get_mails)
- }
- if (data.role_bag && data.role_bag.roles) {
- RoleData.setData(data.role_bag.roles)
- }
- if (data.equip && data.race_equip) {
- EquipManager.setData(data.equip, data.race_equip)
- }
- if (data.fight_role) {
- RoleData.fightRole = data.fight_role
- }
- if (data.fate) {
- RoleManager.setFateData(data.fate);
- }
-
- BattleData.setLoginData(data)
- if (data.inventory) {
- if (data.inventory.material) {
- GoodsData.setAllGoods(data.inventory.material)
- }
- }
- }
-
- }
|