Example #1
0
    public override void StatusUpdate(Cell[,] grid, int x, int y, CellManager cellManager)
    {
        int max_value = num_seeds.Max();

        if (max_value > 0)
        {
            int      max_index = num_seeds.ToList().IndexOf(max_value);
            CellType cellType  = (CellType)max_index;

            if (cellType == CellType.Corn)
            {
                cellManager.SetCell(x, y, CellType.Corn);
            }
            else if (cellType == CellType.Flower)
            {
                if (Flower.CountNeighbors(grid, x, y) == 0)
                {
                    cellManager.SetCell(x, y, CellType.Flower);
                }
            }
        }

        num_seeds = new int[(int)CellType.NumberOfTypes]; // Clear seeds
    }