Exemple #1
0
    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();
    }