update Where methods for combinable subjects

This commit is contained in:
Mikhail 2023-06-09 23:15:09 +08:00
parent 645546585e
commit 5c714b068d

View File

@ -121,6 +121,19 @@
s1 = combined.s1;
return self.WhereFor<CombinedSubject<S0, S1>>(sourceGroup);
}
public static EcsReadonlyGroup Where<S0, S1>(this EcsWorld self)
where S0 : EcsSubject
where S1 : EcsSubject
{
return self.Where<CombinedSubject<S0, S1>>();
}
public static EcsReadonlyGroup WhereFor<S0, S1>(this EcsWorld self, EcsReadonlyGroup sourceGroup)
where S0 : EcsSubject
where S1 : EcsSubject
{
return self.WhereFor<CombinedSubject<S0, S1>>(sourceGroup);
}
#endregion
#region Where 3
@ -142,6 +155,21 @@
s2 = combined.s2;
return self.WhereFor<CombinedSubject<S0, S1, S2>>(sourceGroup);
}
public static EcsReadonlyGroup Where<S0, S1, S2>(this EcsWorld self)
where S0 : EcsSubject
where S1 : EcsSubject
where S2 : EcsSubject
{
return self.Where<CombinedSubject<S0, S1, S2>>();
}
public static EcsReadonlyGroup WhereFor<S0, S1, S2>(this EcsWorld self, EcsReadonlyGroup sourceGroup)
where S0 : EcsSubject
where S1 : EcsSubject
where S2 : EcsSubject
{
return self.WhereFor<CombinedSubject<S0, S1, S2>>(sourceGroup);
}
#endregion
#region Where 4
@ -166,6 +194,23 @@
s3 = combined.s3;
return self.WhereFor<CombinedSubject<S0, S1, S2, S3>>(sourceGroup);
}
public static EcsReadonlyGroup Where<S0, S1, S2, S3>(this EcsWorld self)
where S0 : EcsSubject
where S1 : EcsSubject
where S2 : EcsSubject
where S3 : EcsSubject
{
return self.Where<CombinedSubject<S0, S1, S2, S3>>();
}
public static EcsReadonlyGroup WhereFor<S0, S1, S2, S3>(this EcsWorld self, EcsReadonlyGroup sourceGroup)
where S0 : EcsSubject
where S1 : EcsSubject
where S2 : EcsSubject
where S3 : EcsSubject
{
return self.WhereFor<CombinedSubject<S0, S1, S2, S3>>(sourceGroup);
}
#endregion
#region Where 5
@ -193,6 +238,26 @@
s4 = combined.s4;
return self.WhereFor<CombinedSubject<S0, S1, S2, S3, S4>>(sourceGroup);
}
public static EcsReadonlyGroup Where<S0, S1, S2, S3, S4>(this EcsWorld self)
where S0 : EcsSubject
where S1 : EcsSubject
where S2 : EcsSubject
where S3 : EcsSubject
where S4 : EcsSubject
{
return self.Where<CombinedSubject<S0, S1, S2, S3, S4>>();
}
public static EcsReadonlyGroup WhereFor<S0, S1, S2, S3, S4>(this EcsWorld self, EcsReadonlyGroup sourceGroup)
where S0 : EcsSubject
where S1 : EcsSubject
where S2 : EcsSubject
where S3 : EcsSubject
where S4 : EcsSubject
{
return self.WhereFor<CombinedSubject<S0, S1, S2, S3, S4>>(sourceGroup);
}
#endregion
#region Where 6
@ -223,6 +288,28 @@
s5 = combined.s5;
return self.WhereFor<CombinedSubject<S0, S1, S2, S3, S4, S5>>(sourceGroup);
}
public static EcsReadonlyGroup Where<S0, S1, S2, S3, S4, S5>(this EcsWorld self)
where S0 : EcsSubject
where S1 : EcsSubject
where S2 : EcsSubject
where S3 : EcsSubject
where S4 : EcsSubject
where S5 : EcsSubject
{
return self.Where<CombinedSubject<S0, S1, S2, S3, S4, S5>>();
}
public static EcsReadonlyGroup WhereFor<S0, S1, S2, S3, S4, S5>(this EcsWorld self, EcsReadonlyGroup sourceGroup)
where S0 : EcsSubject
where S1 : EcsSubject
where S2 : EcsSubject
where S3 : EcsSubject
where S4 : EcsSubject
where S5 : EcsSubject
{
return self.WhereFor<CombinedSubject<S0, S1, S2, S3, S4, S5>>(sourceGroup);
}
#endregion
}
}