fix attribs
All checks were successful
Build and Test / wii-u-chat (push) Successful in 2m24s
Build and Test / splatoon-testfire (push) Successful in 2m34s
Build and Test / friends (push) Successful in 3m6s
Build and Test / minecraft-wiiu (push) Successful in 3m30s
Build and Test / mario-tennis (push) Successful in 4m13s
Build and Test / super-mario-maker (push) Successful in 5m3s
Build and Test / wii-sports-club (push) Successful in 5m20s
Build and Test / fast-racing-neo (push) Successful in 5m44s
Build and Test / puyopuyo (push) Successful in 6m5s
Build and Test / splatoon (push) Successful in 6m20s
All checks were successful
Build and Test / wii-u-chat (push) Successful in 2m24s
Build and Test / splatoon-testfire (push) Successful in 2m34s
Build and Test / friends (push) Successful in 3m6s
Build and Test / minecraft-wiiu (push) Successful in 3m30s
Build and Test / mario-tennis (push) Successful in 4m13s
Build and Test / super-mario-maker (push) Successful in 5m3s
Build and Test / wii-sports-club (push) Successful in 5m20s
Build and Test / fast-racing-neo (push) Successful in 5m44s
Build and Test / puyopuyo (push) Successful in 6m5s
Build and Test / splatoon (push) Successful in 6m20s
This commit is contained in:
parent
de20212d1e
commit
d63fe663de
3 changed files with 23 additions and 24 deletions
|
|
@ -399,31 +399,28 @@ impl ExtendedMatchmakeSession {
|
||||||
|
|
||||||
#[cfg(feature = "splatoon")]
|
#[cfg(feature = "splatoon")]
|
||||||
{
|
{
|
||||||
if search_criteria
|
if search_criteria.attribs.get(0).is_some_and(|s| {
|
||||||
.attribs
|
self.session
|
||||||
|
.attributes
|
||||||
.get(0)
|
.get(0)
|
||||||
.map(|str| str.parse().ok())
|
.is_some_and(|a| s.0.contains(a))
|
||||||
.flatten()
|
}) {
|
||||||
!= self.session.attributes.get(0).map(|v| *v)
|
|
||||||
{
|
|
||||||
return Ok(false);
|
return Ok(false);
|
||||||
}
|
}
|
||||||
if search_criteria
|
if search_criteria.attribs.get(2).is_some_and(|s| {
|
||||||
.attribs
|
self.session
|
||||||
|
.attributes
|
||||||
.get(2)
|
.get(2)
|
||||||
.map(|str| str.parse().ok())
|
.is_some_and(|a| s.0.contains(a))
|
||||||
.flatten()
|
}) {
|
||||||
!= self.session.attributes.get(2).map(|v| *v)
|
|
||||||
{
|
|
||||||
return Ok(false);
|
return Ok(false);
|
||||||
}
|
}
|
||||||
if search_criteria
|
if search_criteria.attribs.get(3).is_some_and(|s| {
|
||||||
.attribs
|
self.session
|
||||||
|
.attributes
|
||||||
.get(3)
|
.get(3)
|
||||||
.map(|str| str.parse().ok())
|
.is_some_and(|a| s.0.contains(a))
|
||||||
.flatten()
|
}) {
|
||||||
!= self.session.attributes.get(3).map(|v| *v)
|
|
||||||
{
|
|
||||||
return Ok(false);
|
return Ok(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,8 @@ use rnex_core::rmc::structures::variant::Variant;
|
||||||
|
|
||||||
use rnex_core::PID;
|
use rnex_core::PID;
|
||||||
|
|
||||||
|
use crate::rmc::structures::string_set::StringSet;
|
||||||
|
|
||||||
// rmc structure
|
// rmc structure
|
||||||
#[derive(RmcSerialize, Debug, Clone, Default, PartialEq)]
|
#[derive(RmcSerialize, Debug, Clone, Default, PartialEq)]
|
||||||
#[rmc_struct(0)]
|
#[rmc_struct(0)]
|
||||||
|
|
@ -75,7 +77,7 @@ cfg_if! {
|
||||||
#[derive(RmcSerialize, Debug, Clone)]
|
#[derive(RmcSerialize, Debug, Clone)]
|
||||||
#[rmc_struct(3)]
|
#[rmc_struct(3)]
|
||||||
pub struct MatchmakeSessionSearchCriteria {
|
pub struct MatchmakeSessionSearchCriteria {
|
||||||
pub attribs: Vec<String>,
|
pub attribs: Vec<StringSet<u32>>,
|
||||||
pub game_mode: String,
|
pub game_mode: String,
|
||||||
pub minimum_participants: String,
|
pub minimum_participants: String,
|
||||||
pub maximum_participants: String,
|
pub maximum_participants: String,
|
||||||
|
|
|
||||||
|
|
@ -2,8 +2,8 @@ use std::{collections::HashSet, hash::Hash, str::FromStr, string::ToString};
|
||||||
|
|
||||||
use rnex_core::rmc::structures::RmcSerialize;
|
use rnex_core::rmc::structures::RmcSerialize;
|
||||||
|
|
||||||
#[derive(Debug)]
|
#[derive(Debug, Clone)]
|
||||||
struct StringSet<T: FromStr + ToString + Eq>(HashSet<T>)
|
pub struct StringSet<T: FromStr + ToString + Eq>(pub HashSet<T>)
|
||||||
where
|
where
|
||||||
<T as FromStr>::Err: std::error::Error + Send + Sync + 'static;
|
<T as FromStr>::Err: std::error::Error + Send + Sync + 'static;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue