Beispiel #1
0
        private object OnPlayerChat(PlayerMessageEvent evt, string message)
        {
            // Call covalence hook
            var iplayer = covalence.PlayerManager.GetPlayer(evt.PlayerId.ToString());

            return(Interface.CallHook("OnUserChat", iplayer, message));
        }
Beispiel #2
0
        private object IOnPlayerChat(PlayerMessageEvent evt)
        {
            // Ignore the server player
            if (evt.Sender.Equals(CodeHatch.Engine.Networking.Server.ServerPlayer))
            {
                return(null);
            }

            // Only handle custom, global, and local chat for now
            if (evt.Message.Channel == Channel.Custom || evt.Message.Channel == Channel.Global || evt.Message.Channel == Channel.Local)
            {
                // Call game-specific and universal hooks
                object hookSpecific  = Interface.Call("OnPlayerChat", evt);
                object hookUniversal = Interface.Call("OnPlayerChat", evt.Sender.IPlayer, evt.Message);
                if (hookSpecific != null || hookUniversal != null)
                {
                    // Cancel chat message event
                    evt.SetCancelled();
                    return(true);
                }
            }

            // TODO: Handle Channel.Group and Channel.Whisper

            return(null);
        }
        /// <summary>
        /// Call when a player is outputting a message.
        /// </summary>
        /// <param name="plr"></param>
        /// <param name="msg"></param>
        protected virtual void PlayerMessage(Player plr, string msg)
        {
            PlayerMessageEvent ev = new PlayerMessageEvent(plr, msg);

            AppendEvent(ev);
            if (OnPlayerMessage != null)
            {
                OnPlayerMessage(this, ev);
            }
        }
        private object IOnPlayerChat(PlayerMessageEvent evt)
        {
            // Call game and covalence hooks
            object chatSpecific  = Interface.Call("OnPlayerChat", evt);
            object chatCovalence = Interface.Call("OnUserChat", evt.Player.IPlayer, evt.Message);

            if (chatSpecific != null || chatCovalence != null)
            {
                // Cancel chat message event
                evt.Cancel();
                return(true);
            }

            return(null);
        }
        private object IOnPlayerChat(PlayerMessageEvent evt)
        {
            // Ignore the server player
            if (evt.PlayerId == 9999999999)
            {
                return(null);
            }

            // Call hooks for plugins
            object chatSpecific  = Interface.Call("OnPlayerChat", evt);
            object chatCovalence = Interface.Call("OnUserChat", evt.Player.IPlayer, evt.Message);
            object canChat       = chatSpecific is null ? chatCovalence : chatSpecific;

            if (canChat != null)
            {
                // Cancel chat message event
                evt.Cancel();
                return(true);
            }

            return(null);
        }
 private object OnPlayerChat(PlayerMessageEvent evt)
 {
     // Call covalence hook
     return(Interface.Call("OnUserChat", Covalence.PlayerManager.FindPlayer(evt.PlayerId.ToString()), evt.Message));
 }
 private async Task HandlePlayerMessageInternal(string message) => PlayerMessageEvent?.Invoke(this, message);
Beispiel #8
0
 /// <summary>
 /// Call when a player is outputting a message.
 /// </summary>
 /// <param name="plr"></param>
 /// <param name="msg"></param>
 protected virtual void PlayerMessage(Player plr, string msg)
 {
     PlayerMessageEvent ev = new PlayerMessageEvent(plr, msg);
     AppendEvent(ev);
     if (OnPlayerMessage != null)
     {
         OnPlayerMessage(this, ev);
     }
 }
Beispiel #9
0
 private object OnPlayerChat(PlayerMessageEvent evt)
 {
     // Call covalence hook
     return Interface.Call("OnUserChat", covalence.PlayerManager.GetPlayer(evt.PlayerId.ToString()), evt.Message);
 }
Beispiel #10
0
 private object OnPlayerChat(PlayerMessageEvent evt)
 {
     // Call covalence hook
     return(Interface.Call("OnUserChat", evt.Player.IPlayer, evt.Message));
 }
Beispiel #11
0
 public static void PublishPlayerMessageEvent(PlayerMessage message)
 {
     PlayerMessageEvent?.Invoke(message);
 }