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); }
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 + ", "); }