Ejemplo n.º 1
0
 private void OnCellFeatureChanged(HexPropertyChangedData <CellFeature> data)
 {
     foreach (var chunk in GetAffectedChunks(data.Cell))
     {
         chunk.Refresh(TerrainRefreshType.Features | TerrainRefreshType.Oases);
     }
 }
Ejemplo n.º 2
0
 private void OnCellVegetationChanged(HexPropertyChangedData <CellVegetation> data)
 {
     foreach (var chunk in GetAffectedChunks(data.Cell))
     {
         chunk.Refresh(TerrainRefreshType.Features | TerrainRefreshType.Marshes);
     }
 }
Ejemplo n.º 3
0
 private void OnCellRoadStatusChanged(HexPropertyChangedData <bool> data)
 {
     foreach (var chunk in GetAffectedChunks(data.Cell))
     {
         chunk.Refresh(TerrainRefreshType.Roads);
     }
 }
Ejemplo n.º 4
0
        private void OnCellShapeChanged(HexPropertyChangedData <CellShape> data)
        {
            TerrainRefreshType refreshFlags = TerrainRefreshType.Heightmap | TerrainRefreshType.Features;

            if ((data.OldValue == CellShape.Mountains) != (data.NewValue == CellShape.Mountains))
            {
                refreshFlags |= TerrainRefreshType.Alphamap;
            }

            foreach (var chunk in GetAffectedChunks(data.Cell))
            {
                chunk.Refresh(refreshFlags);
            }
        }
Ejemplo n.º 5
0
        private void OnCellTerrainChanged(HexPropertyChangedData <CellTerrain> data)
        {
            TerrainRefreshType refreshFlags = TerrainRefreshType.Alphamap | TerrainRefreshType.Features;

            if (data.OldValue.IsWater() != data.NewValue.IsWater())
            {
                refreshFlags |= TerrainRefreshType.Water | TerrainRefreshType.Heightmap;
            }

            if (data.NewValue.IsWater())
            {
                refreshFlags |= TerrainRefreshType.Water;
            }

            foreach (var chunk in GetAffectedChunks(data.Cell))
            {
                chunk.Refresh(refreshFlags);
            }
        }