public static List<string> GetInteractionStrs(MS2C_InteractionMessage reply, bool firstNameIsSelf)
 {
     List<string> list = new List<string>();
     bool flag = (reply.Gender & 1) != 0;
     bool flag2 = (reply.Gender & 2) != 0;
     bool flag3 = (reply.Reward & 1) != 0;
     bool flag4 = (reply.Reward & 2) != 0;
     bool flag5 = (reply.Reward & 4) != 0;
     string text = string.Empty;
     if (firstNameIsSelf)
     {
         reply.Name1 = Singleton<StringManager>.Instance.GetString("costumePartyInteractionYou");
         text = ((!flag2) ? Singleton<StringManager>.Instance.GetString("costumePartyInteractionHe") : Singleton<StringManager>.Instance.GetString("costumePartyInteractionShe"));
     }
     else
     {
         reply.Name2 = Singleton<StringManager>.Instance.GetString("costumePartyInteractionYou");
         text = reply.Name2;
     }
     EInteractionType type = (EInteractionType)reply.Type;
     switch (type)
     {
     case EInteractionType.EInteraction_Rose:
         if (flag == flag2)
         {
             if (firstNameIsSelf)
             {
                 list.Add(Singleton<StringManager>.Instance.GetString("costumePartyInteractionInfo1", new object[]
                 {
                     reply.Name1,
                     string.Empty
                 }));
                 list.Add(reply.Name2);
                 list.Add(Singleton<StringManager>.Instance.GetString("costumePartyInteractionInfo22", new object[]
                 {
                     text
                 }));
             }
             else
             {
                 list.Add(string.Empty);
                 list.Add(reply.Name1);
                 list.Add(Singleton<StringManager>.Instance.GetString("costumePartyInteractionInfo1", new object[]
                 {
                     string.Empty,
                     reply.Name2
                 }) + Singleton<StringManager>.Instance.GetString("costumePartyInteractionInfo22", new object[]
                 {
                     text
                 }));
             }
         }
         else if (firstNameIsSelf)
         {
             list.Add(Singleton<StringManager>.Instance.GetString("costumePartyInteractionInfo1", new object[]
             {
                 reply.Name1,
                 string.Empty
             }));
             list.Add(reply.Name2);
             list.Add(Singleton<StringManager>.Instance.GetString("costumePartyInteractionInfo11", new object[]
             {
                 text
             }));
         }
         else
         {
             list.Add(string.Empty);
             list.Add(reply.Name1);
             list.Add(Singleton<StringManager>.Instance.GetString("costumePartyInteractionInfo1", new object[]
             {
                 string.Empty,
                 reply.Name2
             }) + Singleton<StringManager>.Instance.GetString("costumePartyInteractionInfo11", new object[]
             {
                 text
             }));
         }
         break;
     case EInteractionType.EInteraction_Dance:
         if (flag == flag2)
         {
             if (firstNameIsSelf)
             {
                 list.Add(Singleton<StringManager>.Instance.GetString("costumePartyInteractionInfo3", new object[]
                 {
                     reply.Name1,
                     string.Empty
                 }));
                 list.Add(reply.Name2);
                 list.Add(Singleton<StringManager>.Instance.GetString("costumePartyInteractionInfo44", new object[]
                 {
                     text
                 }));
             }
             else
             {
                 list.Add(string.Empty);
                 list.Add(reply.Name1);
                 list.Add(Singleton<StringManager>.Instance.GetString("costumePartyInteractionInfo3", new object[]
                 {
                     string.Empty,
                     reply.Name2
                 }) + Singleton<StringManager>.Instance.GetString("costumePartyInteractionInfo44", new object[]
                 {
                     text
                 }));
             }
         }
         else if (firstNameIsSelf)
         {
             list.Add(Singleton<StringManager>.Instance.GetString("costumePartyInteractionInfo3", new object[]
             {
                 reply.Name1,
                 string.Empty
             }));
             list.Add(reply.Name2);
             list.Add(Singleton<StringManager>.Instance.GetString("costumePartyInteractionInfo33", new object[]
             {
                 text
             }));
         }
         else
         {
             list.Add(string.Empty);
             list.Add(reply.Name1);
             list.Add(Singleton<StringManager>.Instance.GetString("costumePartyInteractionInfo3", new object[]
             {
                 string.Empty,
                 reply.Name2
             }) + Singleton<StringManager>.Instance.GetString("costumePartyInteractionInfo33", new object[]
             {
                 text
             }));
         }
         break;
     case EInteractionType.EInteraction_Wand:
         if (firstNameIsSelf)
         {
             list.Add(Singleton<StringManager>.Instance.GetString("costumePartyInteractionInfo8", new object[]
             {
                 reply.Name1,
                 string.Empty
             }));
             list.Add(reply.Name2);
             if (flag5)
             {
                 list.Add(Singleton<StringManager>.Instance.GetString("costumePartyInteractionInfo83", new object[]
                 {
                     text
                 }));
             }
             else
             {
                 list.Add(Singleton<StringManager>.Instance.GetString("costumePartyInteractionInfo81", new object[]
                 {
                     text
                 }));
             }
         }
         else
         {
             list.Add(string.Empty);
             list.Add(reply.Name1);
             if (flag5)
             {
                 list.Add(Singleton<StringManager>.Instance.GetString("costumePartyInteractionInfo8", new object[]
                 {
                     string.Empty,
                     reply.Name2
                 }) + Singleton<StringManager>.Instance.GetString("costumePartyInteractionInfo83", new object[]
                 {
                     text
                 }));
             }
             else
             {
                 list.Add(Singleton<StringManager>.Instance.GetString("costumePartyInteractionInfo8", new object[]
                 {
                     string.Empty,
                     reply.Name2
                 }) + Singleton<StringManager>.Instance.GetString("costumePartyInteractionInfo81", new object[]
                 {
                     text
                 }));
             }
         }
         break;
     case EInteractionType.EInteraction_Turtle:
         if (firstNameIsSelf)
         {
             list.Add(Singleton<StringManager>.Instance.GetString("costumePartyInteractionInfo8", new object[]
             {
                 reply.Name1,
                 string.Empty
             }));
             list.Add(reply.Name2);
             list.Add(Singleton<StringManager>.Instance.GetString("costumePartyInteractionInfo82", new object[]
             {
                 text
             }));
         }
         else
         {
             list.Add(string.Empty);
             list.Add(reply.Name1);
             list.Add(Singleton<StringManager>.Instance.GetString("costumePartyInteractionInfo8", new object[]
             {
                 string.Empty,
                 reply.Name2
             }) + Singleton<StringManager>.Instance.GetString("costumePartyInteractionInfo82", new object[]
             {
                 text
             }));
         }
         break;
     }
     if (type == EInteractionType.EInteraction_Dance || type == EInteractionType.EInteraction_Rose || type == EInteractionType.EInteraction_Wand)
     {
         if (flag3 && flag4)
         {
             list.Add(Singleton<StringManager>.Instance.GetString("costumePartyInteractionInfo7", new object[]
             {
                 string.Empty
             }));
         }
         else if (flag3)
         {
             list.Add(Singleton<StringManager>.Instance.GetString("costumePartyInteractionInfo6", new object[]
             {
                 string.Empty
             }));
         }
         else if (flag4)
         {
             list.Add(Singleton<StringManager>.Instance.GetString("costumePartyInteractionInfo5", new object[]
             {
                 string.Empty
             }));
         }
         else
         {
             list.Add(string.Empty);
         }
     }
     else if (type == EInteractionType.EInteraction_Turtle)
     {
         if (flag3 && flag4)
         {
             list.Add(Singleton<StringManager>.Instance.GetString("costumePartyInteractionInfo71", new object[]
             {
                 string.Empty
             }));
         }
         else if (flag3)
         {
             list.Add(Singleton<StringManager>.Instance.GetString("costumePartyInteractionInfo66", new object[]
             {
                 string.Empty
             }));
         }
         else if (flag4)
         {
             list.Add(Singleton<StringManager>.Instance.GetString("costumePartyInteractionInfo55", new object[]
             {
                 string.Empty
             }));
         }
         else
         {
             list.Add(string.Empty);
         }
     }
     list.Add(Singleton<StringManager>.Instance.GetString("costumePartyInteractionGift"));
     return list;
 }
 public static bool ConvertChatMsg2InteractionMsg(ChatMessage chatMsg, out MS2C_InteractionMessage msg)
 {
     msg = new MS2C_InteractionMessage();
     for (int i = 1; i <= 4; i++)
     {
         if ((chatMsg.Value1 & 1u << i + 8) != 0u)
         {
             msg.Type = i;
             break;
         }
     }
     msg.Reward |= (int)(chatMsg.Value1 & 4u) >> 2;
     msg.Reward |= (int)(chatMsg.Value1 & 8u) >> 2;
     msg.Reward |= (int)(chatMsg.Value1 & 16u) >> 2;
     if ((chatMsg.Value1 & 2u) != 0u)
     {
         msg.Name1 = Singleton<StringManager>.Instance.GetString("costumePartyInteractionYou");
         msg.Name2 = chatMsg.Name;
         msg.Gender |= Globals.Instance.Player.Data.Gender;
         msg.Gender |= (((chatMsg.Value1 & 1u) == 0u) ? ((Globals.Instance.Player.Data.Gender + 1) % 2) : Globals.Instance.Player.Data.Gender) << 1;
         return true;
     }
     msg.Name1 = chatMsg.Name;
     msg.Name2 = Singleton<StringManager>.Instance.GetString("costumePartyInteractionYou");
     msg.Gender |= (((chatMsg.Value1 & 1u) == 0u) ? ((Globals.Instance.Player.Data.Gender + 1) % 2) : Globals.Instance.Player.Data.Gender);
     msg.Gender |= Globals.Instance.Player.Data.Gender << 1;
     return false;
 }
 public static string GetInteractionMsgToString(MS2C_InteractionMessage reply, bool showDifferentColor = true, bool firstNameIsSelf = true)
 {
     StringBuilder stringBuilder = new StringBuilder();
     stringBuilder.Remove(0, stringBuilder.Length);
     string str = "[ff8900]";
     string str2 = "[-]";
     string text = Singleton<StringManager>.Instance.GetString("costumePartyInteractionGift");
     bool flag = (reply.Gender & 1) != 0;
     bool flag2 = (reply.Gender & 2) != 0;
     bool flag3 = (reply.Reward & 1) != 0;
     bool flag4 = (reply.Reward & 2) != 0;
     bool flag5 = (reply.Reward & 4) != 0;
     string text2 = string.Empty;
     if (!showDifferentColor)
     {
         if (firstNameIsSelf)
         {
             reply.Name1 = Singleton<StringManager>.Instance.GetString("costumePartyInteractionYou");
             text2 = ((!flag2) ? Singleton<StringManager>.Instance.GetString("costumePartyInteractionHe") : Singleton<StringManager>.Instance.GetString("costumePartyInteractionShe"));
         }
         else
         {
             reply.Name2 = Singleton<StringManager>.Instance.GetString("costumePartyInteractionYou");
             text2 = reply.Name2;
         }
     }
     else
     {
         reply.Name1 = str + reply.Name1 + str2;
         reply.Name2 = str + reply.Name2 + str2;
         text = str + text + str2;
         text2 = ((!flag2) ? Singleton<StringManager>.Instance.GetString("costumePartyInteractionHe") : Singleton<StringManager>.Instance.GetString("costumePartyInteractionShe"));
     }
     EInteractionType type = (EInteractionType)reply.Type;
     switch (type)
     {
     case EInteractionType.EInteraction_Rose:
         if (flag == flag2)
         {
             stringBuilder.Append(Singleton<StringManager>.Instance.GetString("costumePartyInteractionInfo1", new object[]
             {
                 reply.Name1,
                 reply.Name2
             }));
             stringBuilder.Append(Singleton<StringManager>.Instance.GetString("costumePartyInteractionInfo22", new object[]
             {
                 text2
             }));
         }
         else
         {
             stringBuilder.Append(Singleton<StringManager>.Instance.GetString("costumePartyInteractionInfo1", new object[]
             {
                 reply.Name1,
                 reply.Name2
             }));
             stringBuilder.Append(Singleton<StringManager>.Instance.GetString("costumePartyInteractionInfo11", new object[]
             {
                 text2
             }));
         }
         break;
     case EInteractionType.EInteraction_Dance:
         if (flag == flag2)
         {
             stringBuilder.Append(Singleton<StringManager>.Instance.GetString("costumePartyInteractionInfo3", new object[]
             {
                 reply.Name1,
                 reply.Name2
             }));
             stringBuilder.Append(Singleton<StringManager>.Instance.GetString("costumePartyInteractionInfo44", new object[]
             {
                 text2
             }));
         }
         else
         {
             stringBuilder.Append(Singleton<StringManager>.Instance.GetString("costumePartyInteractionInfo3", new object[]
             {
                 reply.Name1,
                 reply.Name2
             }));
             stringBuilder.Append(Singleton<StringManager>.Instance.GetString("costumePartyInteractionInfo33", new object[]
             {
                 text2
             }));
         }
         break;
     case EInteractionType.EInteraction_Wand:
         stringBuilder.Append(Singleton<StringManager>.Instance.GetString("costumePartyInteractionInfo8", new object[]
         {
             reply.Name1,
             reply.Name2
         }));
         if (flag5)
         {
             stringBuilder.Append(Singleton<StringManager>.Instance.GetString("costumePartyInteractionInfo83", new object[]
             {
                 text2
             }));
         }
         else
         {
             stringBuilder.Append(Singleton<StringManager>.Instance.GetString("costumePartyInteractionInfo81", new object[]
             {
                 text2
             }));
         }
         break;
     case EInteractionType.EInteraction_Turtle:
         stringBuilder.Append(Singleton<StringManager>.Instance.GetString("costumePartyInteractionInfo8", new object[]
         {
             reply.Name1,
             reply.Name2
         }));
         stringBuilder.Append(Singleton<StringManager>.Instance.GetString("costumePartyInteractionInfo82", new object[]
         {
             text2
         }));
         break;
     }
     if (type == EInteractionType.EInteraction_Dance || type == EInteractionType.EInteraction_Rose || type == EInteractionType.EInteraction_Wand)
     {
         if (flag3 && flag4)
         {
             stringBuilder.Append(Singleton<StringManager>.Instance.GetString("costumePartyInteractionInfo7", new object[]
             {
                 text
             }));
         }
         else if (flag3)
         {
             stringBuilder.Append(Singleton<StringManager>.Instance.GetString("costumePartyInteractionInfo6", new object[]
             {
                 text
             }));
         }
         else if (flag4)
         {
             stringBuilder.Append(Singleton<StringManager>.Instance.GetString("costumePartyInteractionInfo5", new object[]
             {
                 text
             }));
         }
     }
     else if (type == EInteractionType.EInteraction_Turtle)
     {
         if (flag3 && flag4)
         {
             stringBuilder.Append(Singleton<StringManager>.Instance.GetString("costumePartyInteractionInfo71", new object[]
             {
                 text
             }));
         }
         else if (flag3)
         {
             stringBuilder.Append(Singleton<StringManager>.Instance.GetString("costumePartyInteractionInfo66", new object[]
             {
                 text
             }));
         }
         else if (flag4)
         {
             stringBuilder.Append(Singleton<StringManager>.Instance.GetString("costumePartyInteractionInfo55", new object[]
             {
                 text
             }));
         }
     }
     return stringBuilder.ToString();
 }
 public void AddInteractionMsg(MS2C_InteractionMessage msg)
 {
     if (this.InteractionMsgs.Count >= 30)
     {
         this.InteractionMsgs.RemoveAt(0);
     }
     this.InteractionMsgs.Add(msg);
 }