ChatParameterCode









How do I use Chat Parameter Code
Below are practical examples compiled from projects for learning and reference purposes

Featured Snippets


File name: ChatClient.cs Copy
270         public bool PublishMessage(string channelName, object message)
271         {
272             if (!this.CanChat)
273             {
274                 // TODO: log error
275                 return false;
276             }
277
278             if (string.IsNullOrEmpty(channelName) || message == null)
279             {
280                 this.LogWarning("PublishMessage parameters must be non-null and not empty.");
281                 return false;
282             }
283
284             Dictionary parameters = new Dictionary
285                 {
286                     { (byte)ChatParameterCode.Channel, channelName },
287                     { (byte)ChatParameterCode.Message, message }
288                 };
289
290             return this.chatPeer.OpCustom((byte)ChatOperationCode.Publish, parameters, true);
291         }
File name: ChatClient.cs Copy
311         public bool SendPrivateMessage(string target, object message, bool encrypt)
312         {
313             if (!this.CanChat)
314             {
315                 // TODO: log error
316                 return false;
317             }
318
319             if (string.IsNullOrEmpty(target) || message == null)
320             {
321                 this.LogWarning("SendPrivateMessage parameters must be non-null and not empty.");
322                 return false;
323             }
324
325             Dictionary parameters = new Dictionary
326                 {
327                     { ChatParameterCode.UserId, target },
328                     { ChatParameterCode.Message, message }
329                 };
330
331             bool sent = this.chatPeer.OpCustom((byte)ChatOperationCode.SendPrivate, parameters, true, 0, encrypt);
332             return sent;
333         }
File name: ChatClient.cs Copy
343         /// The message object can be anything that Photon can serialize, including (but not limited to)
350         private bool SetOnlineStatus(int status, object message, bool skipMessage)
351         {
352             if (!this.CanChat)
353             {
354                 // TODO: log error
355                 return false;
356             }
357
358             Dictionary parameters = new Dictionary
359                 {
360                     { ChatParameterCode.Status, status },
361                 };
362
363             if (skipMessage)
364             {
365                 parameters[ChatParameterCode.SkipMessage] = true;
366             }
367             else
368             {
369                 parameters[ChatParameterCode.Message] = message;
370             }
371             return this.chatPeer.OpCustom(ChatOperationCode.UpdateStatus, parameters, true);
372         }
File name: ChatClient.cs Copy
433         public bool AddFriends(string[] friends)
434         {
435             if (!this.CanChat)
436             {
437                 // TODO: log error
438                 return false;
439             }
440
441             if (friends == null || friends.Length == 0)
442             {
443                 this.LogWarning("AddFriends can't be called for empty or null list.");
444                 return false;
445             }
446
447             Dictionary parameters = new Dictionary
448                 {
449                     { ChatParameterCode.Friends, friends },
450                 };
451             return this.chatPeer.OpCustom(ChatOperationCode.AddFriends, parameters, true);
452         }
File name: ChatClient.cs Copy
496         public bool RemoveFriends(string[] friends)
497         {
498             if (!this.CanChat)
499             {
500                 // TODO: log error
501                 return false;
502             }
503
504             if (friends == null || friends.Length == 0)
505             {
506                 this.LogWarning("RemoveFriends can't be called for empty or null list.");
507                 return false;
508             }
509
510             Dictionary parameters = new Dictionary
511                 {
512                     { ChatParameterCode.Friends, friends },
513                 };
514             return this.chatPeer.OpCustom(ChatOperationCode.RemoveFriends, parameters, true);
515         }
File name: ChatClient.cs Copy
676         private bool SendChannelOperation(string[] channels, byte operation, int historyLength)
677         {
678             Dictionary opParameters = new Dictionary { { (byte)ChatParameterCode.Channels, channels } };
679
680             if (historyLength != 0)
681             {
682                 opParameters.Add((byte)ChatParameterCode.HistoryLength, historyLength);
683             }
684
685             return this.chatPeer.OpCustom(operation, opParameters, true);
686         }
File name: ChatClient.cs Copy
688         private void HandlePrivateMessageEvent(EventData eventData)
689         {
690             //Console.WriteLine(SupportClass.DictionaryToString(eventData.Parameters));
691
692             var message = (object)eventData.Parameters[(byte)ChatParameterCode.Message];
693             var sender = (string)eventData.Parameters[(byte)ChatParameterCode.Sender];
694
695             string channelName;
696             if (this.UserId != null && this.UserId.Equals(sender))
697             {
698                 var target = (string)eventData.Parameters[(byte)ChatParameterCode.UserId];
699                 channelName = this.GetPrivateChannelNameByUser(target);
700             }
701             else
702             {
703                 channelName = this.GetPrivateChannelNameByUser(sender);
704             }
705
706             ChatChannel channel;
707             if (!this.PrivateChannels.TryGetValue(channelName, out channel))
708             {
709                 channel = new ChatChannel(channelName);
710                 channel.IsPrivate = true;
711                 this.PrivateChannels.Add(channel.Name, channel);
712             }
713
714             channel.Add(sender, message);
715             this.listener.OnPrivateMessage(sender, message, channelName);
716         }
File name: ChatClient.cs Copy
718         private void HandleChatMessagesEvent(EventData eventData)
719         {
720             var messages = (object[])eventData.Parameters[(byte)ChatParameterCode.Messages];
721             var senders = (string[])eventData.Parameters[(byte)ChatParameterCode.Senders];
722             var channelName = (string)eventData.Parameters[(byte)ChatParameterCode.Channel];
723
724             ChatChannel channel;
725             if (!this.PublicChannels.TryGetValue(channelName, out channel))
726             {
727                 // TODO: log that channel wasn't found
728                 return;
729             }
730
731             channel.Add(senders, messages);
732             this.listener.OnGetMessages(channelName, senders, messages);
733         }
File name: ChatClient.cs Copy
735         private void HandleSubscribeEvent(EventData eventData)
736         {
737             var channelsInResponse = (string[])eventData.Parameters[ChatParameterCode.Channels];
738             var results = (bool[])eventData.Parameters[ChatParameterCode.SubscribeResults];
739
740             for (int i = 0; i < channelsInResponse.Length; i++)
741             {
742                 if (results[i])
743                 {
744                     string channelName = channelsInResponse[i];
745                     if (!this.PublicChannels.ContainsKey(channelName))
746                     {
747                         ChatChannel channel = new ChatChannel(channelName);
748                         this.PublicChannels.Add(channel.Name, channel);
749                     }
750                 }
751             }
752
753             this.listener.OnSubscribed(channelsInResponse, results);
754         }
File name: ChatClient.cs Copy
756         private void HandleUnsubscribeEvent(EventData eventData)
757         {
758             var channelsInRequest = (string[])eventData[ChatParameterCode.Channels];
759             for (var i = 0; i < channelsInRequest.Length; i++)
760             {
761                 string channelName = channelsInRequest[i];
762                 this.PublicChannels.Remove(channelName);
763             }
764
765             this.listener.OnUnsubscribed(channelsInRequest);
766         }

Download file with original file name:ChatParameterCode

ChatParameterCode 92 lượt xem

Gõ tìm kiếm nhanh...