private void Run(ChatPacketHandler h, IEntity ent, ChatMessage.TextEffect e, ChatMessage.TextColor c, string m, bool forced)
        {
            var p   = ent.AssertGetPlayer();
            var msg = ent.Components.AssertGet <MessageListener>();

            msg.SetExpected(m, e, c, forced, p.TitleId);
            Exec(h, ent, e, c, m);
            Validate(ent);
        }
        private void Exec(ChatPacketHandler h, IEntity p, ChatMessage.TextEffect e, ChatMessage.TextColor c, string m)
        {
            var b = new Blob(512);

            b.Write((byte)e);
            b.Write((byte)c);
            b.WriteString(m);

            h.HandleAll(p, o => PacketMessage.Success((byte)o, b));
        }
 public void SetExpected(string exStr,
                         ChatMessage.TextEffect exEff,
                         ChatMessage.TextColor exColor,
                         bool exForced,
                         int exTitle)
 {
     Received  = false;
     _exStr    = exStr;
     _exEff    = exEff;
     _exColor  = exColor;
     _exForced = exForced;
     _exTitle  = exTitle;
 }
        private (ChatPacketHandler, IEntity) Data(string msg, ChatMessage.TextEffect eff, ChatMessage.TextColor col, bool forced, int title)
        {
            var d = Data();

            d.Item2.AssertGetPlayer().TitleId = title;
            d.Item2.Components.AssertGet <MessageListener>().SetExpected(msg, eff, col, forced, title);
            return(d);
        }