Exemple #1
0
 public void GameLeft(ChannelAPI.ChannelReferenceObject channelRefObject, RemoveNotification notification)
 {
     base.ApiLog.LogDebug(string.Concat(new object[] { "GameLeft ChannelID: ", channelRefObject.m_channelData.m_channelId, " notification: ", notification }));
     if (this.s_gameRequest != (long)0)
     {
         this.s_gameRequest = (ulong)0;
     }
 }
 public void GameLeft(ChannelAPI.ChannelReferenceObject channelRefObject, RemoveNotification notification)
 {
     object[] objArray1 = new object[] { "GameLeft ChannelID: ", channelRefObject.m_channelData.m_channelId, " notification: ", notification };
     base.ApiLog.LogDebug(string.Concat(objArray1));
     if (this.s_gameRequest != 0)
     {
         this.s_gameRequest = 0L;
     }
 }
        private void HandleChannelSubscriber_NotifyRemove(RPCContext context)
        {
            RemoveNotification removeNotification = RemoveNotification.ParseFrom(context.Payload);

            base.ApiLog.LogDebug("HandleChannelSubscriber_NotifyRemove: " + removeNotification);
            ChannelAPI.ChannelReferenceObject channelReferenceObject = this.GetChannelReferenceObject(context.Header.ObjectId);
            if (channelReferenceObject == null)
            {
                base.ApiLog.LogError("HandleChannelSubscriber_NotifyRemove had unexpected traffic for objectId : " + context.Header.ObjectId);
                return;
            }
            ChannelAPI.ChannelType channelType = channelReferenceObject.m_channelData.m_channelType;
            if (channelType != ChannelAPI.ChannelType.PARTY_CHANNEL)
            {
                if (channelType != ChannelAPI.ChannelType.GAME_CHANNEL)
                {
                    if (channelType != ChannelAPI.ChannelType.CHAT_CHANNEL)
                    {
                        goto IL_147;
                    }
                }
                else
                {
                    this.m_battleNet.Games.GameLeft(channelReferenceObject, removeNotification);
                }
            }
            else
            {
                this.m_battleNet.Party.PartyLeft(channelReferenceObject, removeNotification);
            }
            ChannelAPI.ChannelData channelData = (ChannelAPI.ChannelData)channelReferenceObject.m_channelData;
            if (channelData != null)
            {
                foreach (Member member in channelData.m_members.Values)
                {
                    if (!this.m_battleNet.GameAccountId.Equals(member.Identity.GameAccountId))
                    {
                        this.m_battleNet.Presence.PresenceUnsubscribe(member.Identity.GameAccountId);
                    }
                }
            }
IL_147:
            this.RemoveActiveChannel(context.Header.ObjectId);
        }
Exemple #4
0
		public override void NotifyRemove(Google.ProtocolBuffers.IRpcController controller, RemoveNotification request, Action<bnet.protocol.NO_RESPONSE> done) {
			throw new NotImplementedException();
		}
Exemple #5
0
 public override void NotifyRemove(Google.ProtocolBuffers.IRpcController controller, RemoveNotification request, Action <bnet.protocol.NO_RESPONSE> done)
 {
     throw new NotImplementedException();
 }