Handle some vs message suggestions

This commit is contained in:
Kurt 2019-10-19 20:33:17 -07:00
parent 12a8dc66b6
commit bb84ec4e89
4 changed files with 40 additions and 8 deletions

View file

@ -5,5 +5,10 @@
public int Start { get; set; }
public int Stop { get; set; }
public bool Reverse { get; set; }
public override bool Equals(object obj) => obj is BoxManipParam p && p.Start == Start && p.Stop == Stop && p.Reverse == Reverse;
public override int GetHashCode() => -1;
public static bool operator ==(BoxManipParam left, BoxManipParam right) => left.Equals(right);
public static bool operator !=(BoxManipParam left, BoxManipParam right) => !(left == right);
}
}

View file

@ -229,5 +229,16 @@ namespace PKHeX.Core
_ => new MemoryVariableSet(LegalityCheckStrings.L_XOT, 0, 0, 0, 0)
};
}
public override bool Equals(object obj) => obj is MemoryVariableSet v
&& v.Handler == Handler
&& v.MemoryID == MemoryID
&& v.Variable == Variable
&& v.Intensity == Intensity
&& v.Feeling == Feeling;
public override int GetHashCode() => -1;
public static bool operator ==(MemoryVariableSet left, MemoryVariableSet right) => left.Equals(right);
public static bool operator !=(MemoryVariableSet left, MemoryVariableSet right) => !(left == right);
}
}

View file

@ -22,7 +22,7 @@ namespace PKHeX.Core
}
}
public struct LearnVersion
public readonly struct LearnVersion
{
public readonly GameVersion Game;
public readonly int Level;
@ -34,5 +34,10 @@ namespace PKHeX.Core
}
public bool IsLevelUp => Level >= 0;
public override bool Equals(object obj) => obj is LearnVersion v && v.Game == Game && v.Level == Level;
public override int GetHashCode() => -1;
public static bool operator ==(LearnVersion left, LearnVersion right) => left.Equals(right);
public static bool operator !=(LearnVersion left, LearnVersion right) => !(left == right);
}
}

View file

@ -2,10 +2,21 @@
namespace PKHeX.Core
{
public struct SeedInfo
public readonly struct SeedInfo
{
public uint Seed;
public bool Charm3;
public readonly uint Seed;
public readonly bool Charm3;
private SeedInfo(uint seed, bool charm3 = false)
{
Seed = seed;
Charm3 = charm3;
}
public override bool Equals(object obj) => obj is SeedInfo s && s.Charm3 == Charm3 && s.Seed == Seed;
public override int GetHashCode() => -1;
public static bool operator ==(SeedInfo left, SeedInfo right) => left.Equals(right);
public static bool operator !=(SeedInfo left, SeedInfo right) => !(left == right);
/// <summary>
/// Yields an enumerable list of seeds until another valid PID breaks the chain.
@ -18,7 +29,7 @@ namespace PKHeX.Core
bool charm3 = false;
var seed = pidiv.OriginSeed;
yield return new SeedInfo { Seed = seed };
yield return new SeedInfo(seed);
var s1 = seed;
var s2 = RNG.LCRNG.Prev(s1);
@ -42,7 +53,7 @@ namespace PKHeX.Core
s1 = RNG.LCRNG.Prev(s2);
s2 = RNG.LCRNG.Prev(s1);
yield return new SeedInfo { Seed = s1, Charm3 = charm3 };
yield return new SeedInfo(s1, charm3);
}
}
@ -56,7 +67,7 @@ namespace PKHeX.Core
public static IEnumerable<SeedInfo> GetSeedsUntilUnownForm(PIDIV pidiv, FrameGenerator info, int form)
{
var seed = pidiv.OriginSeed;
yield return new SeedInfo { Seed = seed };
yield return new SeedInfo(seed);
var s1 = seed;
var s2 = RNG.LCRNG.Prev(s1);
@ -80,7 +91,7 @@ namespace PKHeX.Core
s1 = RNG.LCRNG.Prev(s2);
s2 = RNG.LCRNG.Prev(s1);
yield return new SeedInfo { Seed = s1 };
yield return new SeedInfo(s1);
}
}