private void MarkArea() { int num = Grid.PosToCell(base.transform.GetPosition()); BuildingDef def = building.Def; Orientation orientation = building.Orientation; ObjectLayer layer = (!IsReplacementTile) ? def.ObjectLayer : def.ReplacementLayer; def.MarkArea(num, orientation, layer, base.gameObject); if (def.IsTilePiece) { GameObject x = Grid.Objects[num, (int)def.TileLayer]; if ((UnityEngine.Object)x == (UnityEngine.Object)null) { def.MarkArea(num, orientation, def.TileLayer, base.gameObject); def.RunOnArea(num, orientation, delegate(int c) { TileVisualizer.RefreshCell(c, def.TileLayer, def.ReplacementLayer); }); } Grid.IsTileUnderConstruction[num] = true; } }