private void GroupHeadPylon(int gridRow, int gridCol, ref PylonGroup pylonGroup) { Pylon pylon = _Grid[gridRow, gridCol]; if (!pylon.IsHead || pylon.IsGrouped) return; pylonGroup.Register(pylon); GroupHeadPylon(gridRow - 1, gridCol, ref pylonGroup); GroupHeadPylon(gridRow + 1, gridCol, ref pylonGroup); GroupHeadPylon(gridRow, gridCol - 1, ref pylonGroup); GroupHeadPylon(gridRow, gridCol + 1, ref pylonGroup); }