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
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
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
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
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
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
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...