private bool IsSpawnPoint(HashSet <SigmaIndex> spawns, SigmaIndex index, MapSize size) { if (!IsBorderIndex(index, size)) { return(spawns.Contains(index.AboveDiagonal(size))); } if (index.X >= size.X / 2.0) { return(spawns.Contains(index)); } return(index.AboveDiagonal(size) == index ? false : spawns.Contains(index.AboveDiagonal(size))); }
public TLabel this[SigmaIndex index] { get { return(labels .Argmin(kv => kv.Value.ManhattanDistance(index.AboveDiagonal(size))) .Key); } }
private bool IsBorderIndex(SigmaIndex index, MapSize size) { return(index.AboveDiagonal(size).ManhattanDistance(SigmaIndex.Zero) > size.X - 2); }