예제 #1
0
 // World tile constructor
 public WorldTile(Vector2Int _position, float _height, float _temperature, float _humidity, World.HeightmapTileTypeEnum _backgroundTileType, World.SedimentTileTypeEnum _foregroundTileType)
 {
     this.position          = _position;
     this.height            = _height;
     this.temperature       = _temperature;
     this.humidity          = _humidity;
     this.heightmapTileType = _backgroundTileType;
     this.sedimentTileType  = _foregroundTileType;
 }
예제 #2
0
    // Check best thrive types
    public void CheckBestThriveType()
    {
        string bestThriveString = "";
        float  bestThriveAmount = 0f;
        float  newThriveAmount  = 0f;

        // Check sediment types
        foreach (string gene in plantThriveGenes)
        {
            if (gene != geneThriveHighland && gene != geneThriveLowland && gene != geneThriveShallows && gene != geneThriveOcean)
            {
                newThriveAmount = this.genes[gene];
                if (newThriveAmount > bestThriveAmount)
                {
                    bestThriveAmount = newThriveAmount;
                    bestThriveString = gene;
                }
            }
        }
        if (bestThriveString == geneThriveStone)
        {
            this.bestSedimentThrive = World.SedimentTileTypeEnum.Stone;
        }
        else if (bestThriveString == geneThriveCobble)
        {
            this.bestSedimentThrive = World.SedimentTileTypeEnum.Cobble;
        }
        else if (bestThriveString == geneThriveGravel)
        {
            this.bestSedimentThrive = World.SedimentTileTypeEnum.Gravel;
        }
        else if (bestThriveString == geneThriveDirt)
        {
            this.bestSedimentThrive = World.SedimentTileTypeEnum.Dirt;
        }
        else if (bestThriveString == geneThriveSand)
        {
            this.bestSedimentThrive = World.SedimentTileTypeEnum.Sand;
        }
        else if (bestThriveString == geneThriveSilt)
        {
            this.bestSedimentThrive = World.SedimentTileTypeEnum.Silt;
        }
        else if (bestThriveString == geneThriveClay)
        {
            this.bestSedimentThrive = World.SedimentTileTypeEnum.Clay;
        }
        // Check heightmap types
        foreach (string gene in plantThriveGenes)
        {
            if (gene == geneThriveHighland || gene == geneThriveLowland || gene == geneThriveShallows || gene == geneThriveOcean)
            {
                newThriveAmount = this.genes[gene];
                if (newThriveAmount > bestThriveAmount)
                {
                    bestThriveAmount = newThriveAmount;
                    bestThriveString = gene;
                }
            }
        }
        if (bestThriveString == geneThriveHighland)
        {
            this.bestHeightmapThrive = World.HeightmapTileTypeEnum.Highland;
        }
        else if (bestThriveString == geneThriveLowland)
        {
            this.bestHeightmapThrive = World.HeightmapTileTypeEnum.Lowland;
        }
        else if (bestThriveString == geneThriveShallows)
        {
            this.bestHeightmapThrive = World.HeightmapTileTypeEnum.Shallows;
        }
        else if (bestThriveString == geneThriveOcean)
        {
            this.bestHeightmapThrive = World.HeightmapTileTypeEnum.Ocean;
        }
    }