コード例 #1
0
        /// <summary>
        /// Calls <see cref="ClientInterestArea.OnItemUnsubscribed">ClientInterestArea.OnItemUnsubscribed</see> and sends event <see cref="ItemUnsubscribed"/> to the client.
        /// </summary>
        /// <param name="item">
        /// The mmo item.
        /// </param>
        protected override void OnItemUnsubscribed(Item item)
        {
            base.OnItemUnsubscribed(item);

            var unsubscribeEvent = new ItemUnsubscribed { ItemId = item.Id, ItemType = item.Type, InterestAreaId = this.Id };
            var eventData = new EventData((byte)EventCode.ItemUnsubscribed, unsubscribeEvent);
            this.Peer.SendEvent(eventData, new SendParameters { ChannelId = Settings.ItemEventChannel });
        }
コード例 #2
0
        /// <summary>
        /// Notifies peer about item exited area.
        /// </summary>
        public override void OnItemExit(Item item)
        {
            base.OnItemExit(item);
            var unsubscribeEvent = new ItemUnsubscribed {
                ItemId = item.Id, InterestAreaId = this.Id
            };
            var eventData = new EventData((byte)EventCode.ItemUnsubscribed, unsubscribeEvent);

            this.peer.SendEvent(eventData, new SendParameters {
                ChannelId = Settings.ItemEventChannel
            });
        }
コード例 #3
0
        protected override void OnItemUnsubscribed(Item item)
        {
            //ConsoleLogging.Get.Print("ON PLAYER ITEM UNSUBSSCRIBED: {0}, {1}", item.Id.Substring(0, 3), (ItemType)item.Type);
            base.OnItemUnsubscribed(item);
            var unsubscribeEvent = new ItemUnsubscribed {
                ItemId = item.Id, ItemType = item.Type, InterestAreaId = this.Id
            };
            var eventData = new EventData((byte)EventCode.ItemUnsubscribed, unsubscribeEvent);

            this.Peer.SendEvent(eventData, new SendParameters {
                ChannelId = Settings.ItemEventChannel
            });
        }
コード例 #4
0
        private OperationResponse ItemOperationUnsubscribeItem(Item item, UnsubscribeItem operation)
        {
            if (item.Disposed)
            {
                return(operation.GetOperationResponse((int)ReturnCode.ItemNotFound, "ItemNotFound"));
            }

            this.interestItems.UnsubscribeItem(item);

            var unsubscribeEvent = new ItemUnsubscribed {
                ItemId = item.Id
            };

            var eventData = new EventData((byte)EventCode.ItemUnsubscribed, unsubscribeEvent);

            this.Peer.SendEvent(eventData, new SendParameters {
                ChannelId = Settings.ItemEventChannel
            });

            // don't send response
            operation.OnComplete();
            return(null);
        }