private bool BuildSearchedUnits(IUnit refunit, LinkedList <IUnit> list) { // place center object list.AddLast(refunit); // build around var lastUnit = refunit; for (var i = 0; i < CenterPos - 1; i++) // left { var unit = Manager.UnitFactory.BlankIUnit(); list.AddLast(unit); lastUnit.Chain(unit, Direction.Right); lastUnit = unit; } lastUnit = refunit; for (var i = 0; i < RowSize - CenterPos; i++) { var unit = Manager.UnitFactory.BlankIUnit(); list.AddFirst(unit); lastUnit.Chain(unit, Direction.Left); lastUnit = unit; } return(refunit.Load(refunit, Direction.Identity)); }