//nullを返すことがある! public MagicPatterns Equaled(MagicPatterns magicPatterns) { MagicPatterns magicPatterns2Return = magicPatternsList.FirstOrDefault(pattern => pattern.Equals(magicPatterns)); if (magicPatterns2Return == null) { return(null); } else { return(magicPatterns2Return); } }
public static List <MagicPatterns> LoadFromJson(string itemJson) { var magicPatternsList_ = new List <MagicPatterns>(); MagicRoot magicRoot = JsonUtility.FromJson <MagicRoot>(itemJson); foreach (var magicIndexed in magicRoot.root.Select((value, index) => new { value, index })) { magicPatternsList_.Add( MagicPatterns.FromIntArray(magicIndexed.value.magicPatterns, magicRoot.root[magicIndexed.index].name, magicRoot.root[magicIndexed.index].particleName) ); } return(magicPatternsList_); }
public static MagicPatterns FromIntArray(int[] array, string name_ = "", string particleName_ = "") { var magicPatterns = new MagicPatterns(name_: name_, particleName_: particleName_); var oddIndexValues = array.Where((value, index) => index % 2 == 1); var evenIndexValues = array.Where((value, index) => index % 2 == 0); if (oddIndexValues.Count() != evenIndexValues.Count()) { throw new Exception("the array's size wasn't odd."); } for (int i = 0; i < oddIndexValues.Count(); i++) { magicPatterns.linesByNumber.Add( new LineByNumber( oddIndexValues.ElementAt(i), evenIndexValues.ElementAt(i) ) ); } return(magicPatterns); }
public override bool Equals(object obj) { if (!(obj is MagicPatterns)) { return(false); } MagicPatterns magicPatterns2Check = obj as MagicPatterns; if (linesByNumber.Count != magicPatterns2Check.linesByNumber.Count) { return(false); } foreach (LineByNumber line in magicPatterns2Check.linesByNumber) { if (!linesByNumber.Contains(line)) { return(false); } } return(true); }