private void InitTiles(TileMapData tileMapData) { TerrainType[] terrainTypes = MaterialPropertiesFactory.GetAllowedInitialTerrainTypes(); float terrainSeed = Random.Range(0.0f, 200.0f); float heightSeed = Random.Range(0.0f, 200.0f); for (int x = 0; x < _sizeX; x++) { for (int y = 0; y < _sizeY; y++) { int generatedType = GenerateTerrainType(x, y, terrainSeed, terrainTypes.Length); float generatedHeight = GenerateTerrainHeight(x, y, heightSeed); TerrainType terrainType = terrainTypes[generatedType]; MaterialProperties materialProperties = MaterialPropertiesFactory.GetProperties(terrainType); TerrainData terrainData = new TerrainData(terrainType, generatedHeight, materialProperties); tileMapData.SetTileData(x, y, new TileData(x, y, terrainData)); } } }
public void CalculateVariables(Data.TerrainData terrainData, float slopeSteepness, float moistureContent, float windSpeed, float cosAngle) { this.materialProperties = terrainData.MaterialProperties; netFuelLoad = CalculateNetFuelLoad(); ovenDryBulkDensity = CalculateOvenDryBulkDensity(); packingRatio = CalculatePackingRatio(); optimumPackingRatio = CalculateOptimumPackingRatio(); maximumReactionVelocity = CalculateMaximumReactionVelocity(); optimumReactionVelocity = CalculateOptimumReactionVelocity(); moistureDampingCoefficient = CalculateMoistureDampingCoefficient(moistureContent); mineralDampingCoefficient = CalculateMineralDampingCoefficient(); reactionIntensity = CalculateReactionIntensity(); propagatingFluxRatio = CalculatePropagatingFluxRatio(); windFactor = CalculateWindFactor(windSpeed, cosAngle); slopeFactor = CalculateSlopeFactor(slopeSteepness); effectiveHeatingNumber = CalculateEffectiveHeatingNumber(); heatOfPreignition = CalculateHeatOfPreignition(moistureContent); RateOfSpread = CalculateRateOfSpread(); }