Esempio n. 1
0
 static bool PrefixTrySendMessage(OcUI_ChatHandler __instance, string message)
 {
     Logger.Inst.LogInfo($"TrySendMessage called: {message}");
     message = message?.Trim();
     if (message.IsNullOrEmpty())
     {
         return(true);
     }
     if (!message.StartsWith("/"))
     {
         return(true);
     }
     try
     {
         var command = ChatCommandManager.Inst.FindCommand(message);
         if (command != null)
         {
             infoEndEnterMessage.Invoke(__instance, Array.Empty <object>());
             command.Invoke();
         }
         return(command == null);
     }
     catch (Exception e)
     {
         ChatCommandManager.Inst.PopMessage(e.Message);
         return(false);
     }
 }
        static void ClearInputField()
        {
            OcUI_ChatHandler instance        = SingletonMonoBehaviour <OcUI_ChatHandler> .Inst;
            MethodInfo       endEnterMessage = instance.GetType().GetMethod("EndEnterMessage", BindingFlags.InvokeMethod | BindingFlags.NonPublic | BindingFlags.Instance);

            endEnterMessage.Invoke(instance, null);
        }
Esempio n. 3
0
 public static void AddMessage(this OcUI_ChatHandler self, string message)
 {
     // See OcUI_ChatHandler.PopMessage
     var     messageList = AccessTools.FieldRefAccess <OcUI_ChatHandler, OcUI_ChatMessage[]>(self, "messageList");
     ref var nextMessage = ref AccessTools.FieldRefAccess <OcUI_ChatHandler, int>(self, "nextMessage");