public override void PlaceAttribute(EditorOverworldTile tile) { if (tile.TileMainMaterial.GetType() != typeof(GroundMainMaterial)) { return; } EditorOverworldTileAttributePlacer tileAttributePlacer = new EditorOverworldTileAttributePlacer(tile); OverworldTileAttributeRemover tileAttributeRemover = new OverworldTileAttributeRemover(tile); ITileAttribute playerSpawnpoint = (PlayerSpawnpoint)tile.GetAttributes().FirstOrDefault(attribute => attribute is PlayerSpawnpoint); if (playerSpawnpoint == null) { //tileAttributeRemover.RemoveTileObstacle(); tileAttributePlacer.PlacePlayerSpawnpoint(); return; } tileAttributeRemover.RemovePlayerSpawnpoint(); }
public override void PlaceAttribute(EditorOverworldTile tile) { if (tile.TileMainMaterial.GetType() != typeof(GroundMainMaterial)) { return; } EditorOverworldTileAttributePlacer tileAttributePlacer = new EditorOverworldTileAttributePlacer(tile); OverworldTileAttributeRemover tileAttributeRemover = new OverworldTileAttributeRemover(tile); ITileAttribute MazeLevelEntry = (MazeLevelEntry)tile.GetAttributes().FirstOrDefault(attribute => attribute is MazeLevelEntry); if (MazeLevelEntry == null) { tileAttributeRemover.RemovePlayerSpawnpoint(); tileAttributeRemover.RemoveTileObstacle(); Logger.Log(Logger.Editor, $"Now place maze entry at {tile.GridLocation.X}, {tile.GridLocation.Y}"); tileAttributePlacer.PlaceMazeLevelEntry(); return; } tileAttributeRemover.RemoveMazeLevelEntry(); }