public void PlaceFurniture(TileOWW tile, string furnitureType) { tile.SetInstalledFurniture(new InstalledFurniture(furnitureType)); // Add to map of furnitureType TileOWW if (!furnitureTileOWWMap.ContainsKey(furnitureType)) { furnitureTileOWWMap.Add(furnitureType, new List <TileOWW>()); } furnitureTileOWWMap[furnitureType].Add(tile); // If engines built, update ship speed // TODO: Different types of engines if (furnitureType == "Engine") { // TODO: Different speeds per engine JourneyController.Instance.shipSpeedMax = furnitureTileOWWMap[furnitureType].Count * 5; } // Multi-tile references if (!furnitureTypes.ContainsKey(furnitureType)) { Debug.LogError("This key wasnt found: " + furnitureType); } for (int i = 0; i < furnitureTypes[furnitureType].sizeX; i++) { for (int j = 0; j < furnitureTypes[furnitureType].sizeY; j++) { TileOWW temp = WorldController.Instance.GetWorld().GetTileAt(tile.GetX() + i, tile.GetY() + j); temp.currentJobType = null; temp.installedFurnitureAltX = tile.GetX(); temp.installedFurnitureAltY = tile.GetY(); emptyHullTiles.Remove(tile); } } ObjectiveController.Instance.CheckObjectives(); }