コード例 #1
0
        public static void UnicodePromptResponse(NetState state, CircularBufferReader reader)
        {
            var from = state.Mobile;

            if (from == null)
            {
                return;
            }

            var serial = reader.ReadUInt32();
            var prompt = reader.ReadInt32();
            var type   = reader.ReadInt32();
            var lang   = reader.ReadAscii(4);
            var text   = reader.ReadLittleUniSafe();

            if (text.Length > 128)
            {
                return;
            }

            var p = from.Prompt;

            if (p?.Serial == serial && p.Serial == prompt)
            {
                from.Prompt = null;

                if (type == 0)
                {
                    p.OnCancel(from);
                }
                else
                {
                    p.OnResponse(from, text);
                }
            }
        }