//------------------------------------------------------------------------- public override void handleEvent(object sender, EntityEvent e) { if (e is EvCellActorPropDirty) { // CellActor,角色属性集变脏 var ev = (EvCellActorPropDirty)e; // 通知客户端Actor应用脏属性 if (!CoActor.Def.mPropIsBot.get()) { PlayerNotify player_notify; player_notify.id = PlayerNotifyId.ActorMapPropDirty; player_notify.data = EbTool.protobufSerialize <Dictionary <string, string> >(ev.map_prop_dirty); MethodData notify_data = new MethodData(); notify_data.method_id = MethodType.s2cPlayerNotify; notify_data.param1 = EbTool.protobufSerialize <PlayerNotify>(player_notify); var grain = Entity.getUserData <GrainCellPlayer>(); var grain_player = grain.GF.GetGrain <ICellPlayer>(new Guid(Entity.Guid)); grain_player.s2sNotify(notify_data); } } else if (e is EvCellActorLevelup) { // CellActor消息,角色升级 var ev = (EvCellActorLevelup)e; // 通知客户端Actor应用脏属性 if (!CoActor.Def.mPropIsBot.get()) { PlayerNotify player_notify; player_notify.id = PlayerNotifyId.Levelup; player_notify.data = EbTool.protobufSerialize <int>(ev.level_new); MethodData notify_data = new MethodData(); notify_data.method_id = MethodType.s2cPlayerNotify; notify_data.param1 = EbTool.protobufSerialize <PlayerNotify>(player_notify); var grain = Entity.getUserData <GrainCellPlayer>(); var grain_player = grain.GF.GetGrain <ICellPlayer>(new Guid(Entity.Guid)); grain_player.s2sNotify(notify_data); } } else if (e is EvCellBagAddItem) { // CellBag,添加道具消息 var ev = (EvCellBagAddItem)e; // 通知客户端添加道具 if (!CoActor.Def.mPropIsBot.get()) { CoBag.s2cBagNotifyAddItem(ev.item.ItemData); } } else if (e is EvCellBagDeleteItem) { // CellBag,删除道具消息 var ev = (EvCellBagDeleteItem)e; // 通知客户端删除道具 if (!CoActor.Def.mPropIsBot.get()) { CoBag.s2cBagNotifyDeleteItem(ev.item_objid); } } else if (e is EvCellBagUpdateItem) { // CellBag,更新道具消息 var ev = (EvCellBagUpdateItem)e; // 通知客户端更新道具 if (!CoActor.Def.mPropIsBot.get()) { CoBag.s2cBagNotifyUpdateItem(ev.item.ItemData); } } else if (e is EvCellEquipTakeonEquip) { // CellEquip,穿装备消息 var ev = (EvCellEquipTakeonEquip)e; // 通知客户端穿上装备 if (!CoActor.Def.mPropIsBot.get()) { CoEquip.s2cEquipNotifyTakeon(ev.item.ItemData); } } else if (e is EvCellEquipTakeoffEquip) { // CellEquip,脱装备消息 var ev = (EvCellEquipTakeoffEquip)e; // 通知客户端脱下装备 if (!CoActor.Def.mPropIsBot.get()) { CoEquip.s2cEquipNotifyTakeoff(ev.equip_slot); } } else if (e is EvCellStatusCreateStatus) { // CellStatus,创建状态消息 var ev = (EvCellStatusCreateStatus)e; // 通知客户端创建Status if (!CoActor.Def.mPropIsBot.get()) { CoStatus.s2cStatusNotifyCreateStatus(ev.item.ItemData); } } }
private void Search() { if (RegNo != null) { _checkoutService.GetBook((int)RegNo, (book, ex) => { if (ex != null) { Book = null; Status = CoStatus.NOSELECT; MessageBox.Show(App.Current.MainWindow, ex.Message); return; } Book = new BookViewModel(book); }); _checkoutService.GetCheckouts(null, RegNo, false, null, null, 0, -1, (checkouts, ex) => { if (ex != null) { MessageBox.Show(App.Current.MainWindow, ex.Message); return; } var checkout = checkouts.Checkouts.FirstOrDefault(); if (checkout != null) { if (checkout.account == Account) { // 返却できます Status = CoStatus.CIOK; } else { // 貸出中 Status = CoStatus.OTHERCO; } } else { if (Book != null) { // 貸出できます Status = CoStatus.COOK; } else { Status = CoStatus.NOSELECT; } } }); } else { Book = null; Status = CoStatus.NOSELECT; } if (!string.IsNullOrEmpty(Account)) { _checkoutService.GetUser(Account, (user, ex) => { if (ex != null) { User = null; Checkouts = null; TotalCount = 0; SelectedCheckout = null; Status = CoStatus.NOSELECT; MessageBox.Show(App.Current.MainWindow, ex.Message); return; } User = new UserViewModel(user); }); _checkoutService.GetCheckouts(Account, null, false, null, null, 0, -1, (checkouts, ex) => { if (ex != null) { MessageBox.Show(App.Current.MainWindow, ex.Message); return; } Checkouts = new ObservableCollection<CheckoutViewModel>(checkouts.Checkouts.Select(t => new CheckoutViewModel(t))); TotalCount = checkouts.TotalCount; if (Checkouts != null) SelectedCheckout = Checkouts.Where(t => t.RegNo == RegNo).FirstOrDefault(); }); } else { User = null; Checkouts = null; TotalCount = 0; SelectedCheckout = null; Status = CoStatus.NOSELECT; } }
public CoResult(T returnValue, Exception e = null, CoStatus status = CoStatus.Running) { ReturnValue = returnValue; Exception = e; Status = status; }