Example #1
0
        public int res_role_list(Bit_Buffer buffer)
        {
            int length = (int)buffer.read_uint(3);

            for (int i = 0; i < length; ++i)
            {
                Role_Info role_info;
                role_info.role_id   = buffer.read_int64();
                role_info.role_name = buffer.read_string();
                role_info.gender    = (byte)buffer.read_uint(1);
                role_info.career    = (byte)buffer.read_uint(2);
                role_info.level     = (byte)buffer.read_uint(8);
                role_info.combat    = buffer.read_uint(32);
                role_list_.Add(role_info);
            }

            if (length > 0)
            {
                Log.debug_log("账号名:" + account_ + "角色数量:" + length.ToString());
                Random random  = new Random();
                int    index   = random.Next(0, length - 1);
                long   role_id = role_list_[index].role_id;
                req_enter_game(role_id);
            }
            else
            {
                req_create_role();
            }
            return(0);
        }
Example #2
0
        private string get_arg_string(Field_Info info, Bit_Buffer buffer, bool from_vector = false)
        {
            string ret = "";

            if (!from_vector)
            {
                ret = (info.field_name + ":");
            }

            if (info.field_type == "int")
            {
                int val = buffer.read_int(info.field_bit);
                ret += val.ToString();
            }
            else if (info.field_type == "uint")
            {
                uint val = buffer.read_uint(info.field_bit);
                ret += val.ToString();
            }
            else if (info.field_type == "int64")
            {
                long val = buffer.read_int64();
                ret += val.ToString();
            }
            else if (info.field_type == "uint64")
            {
                ulong val = buffer.read_uint64();
                ret += val.ToString();
            }
            else if (info.field_type == "float")
            {
                float val = buffer.read_decimal(32);
                ret += val.ToString();
            }
            else if (info.field_type == "bool")
            {
                bool val = buffer.read_bool();
                ret += val.ToString();
            }
            else if (info.field_type == "string")
            {
                string val = buffer.read_string();
                ret += "\"" + val + "\"";
            }
            return(ret + ", ");
        }