public static ChatMessage ParseExact(StrongString serverValueString) { ChatMessage message; StrongString[] myString = serverValueString.Split(CharSeparator); message = new ChatMessage(myString[0], // 1 myString[1], // 2 SocialPosition.GetSocialPosition(myString[2]), // 3 Avatar.ConvertToAvatar(myString[3]), // 4 AvatarFrame.ParseToAvatarFrame(myString[4]), // 5 myString.Length > 5 ? ThereIsConstants.Actions.ToDateTime(myString[5]) : null); // 6 return(message); }
//------------------------------------------------- #region Constructors Region private ChatMessage(StrongString sender, StrongString context, SocialPosition position, Avatar avatar, AvatarFrame frame, IDateProvider <DateTime, Trigger, StrongString> dateTime = default) { SenderName = sender; MessageContext = context; SenderSocialPosition = position; SenderAvatar = avatar; SenderAvatarFrame = frame; if (dateTime == default) { SendDateTime = ThereIsConstants.AppSettings.GlobalTiming; } else { SendDateTime = dateTime; } IsCommand = CheckForCommand(); IsMe = ThereIsServer.GameObjects.MyProfile.PlayerName == SenderName; }