using System; using System.Collections.Generic; using Life.Misc; namespace Life.Automaton { public interface IField : IObservable { Size Size { get; } Cell this[int x, int y] { get; } IEnumerable Cells { get; } IEnumerable Neighbours(int x, int y); void Transform(IRule rule); void Notify(); void Resize(int width, int height); } }