public override bool BuildLandRegion(Land land, LandRegionType land_region_type, IGrid <LandPoint> grid) { grid.Process(p => p.PaintLandRegionTypeStrength(land_region_type, CalculateLandRegionTypeStrength(p.GetTerrainSample())) ); return(true); }
public override void PopulateLandRegion(Land land, LandRegionType land_region_type, IGrid <LandPoint> grid, GameObject parent) { grid.ProcessWithIndexs(delegate(int x, int y, LandPoint point) { GetLandRegionPrefabPopulaters().Process(pp => pp.Populate( parent, land.GetCellBounds(x, y), point.GetLandRegionTypePresence(land_region_type) ) ); }); }
public override void PaintLandRegion(Land land, LandRegionType land_region_type, IGrid <LandPoint> grid) { IGrid <float> overlay_tile = overlay_tile_texture.CreateGrayscaleGrid(); grid.ProcessWithIndexs(delegate(int x, int y, LandPoint point) { float main_weight = overlay_tile.GetLooped((int)(x * overlay_scale), (int)(y * overlay_scale)); float secondary_weight = 1.0f - main_weight; point.PaintLandRegionSplatAlpha(land_region_type, main_splat, main_weight); point.PaintLandRegionSplatAlpha(land_region_type, secondary_splat, secondary_weight); }); }
public override void InitilizeLandRegion(Land land, LandRegionType land_region_type) { }
public float GetLandRegionTypePresence(LandRegionType land_region_type) { return(land_region_type_presences[land_region_type].BindPercent()); }
public float GetLandRegionTypeStrength(LandRegionType land_region_type) { return(land_region_type_strengths[land_region_type].BindPercent()); }
public void PaintLandRegionSplatAlpha(LandRegionType land_region_type, LandRegionSplat land_region_splat, float strength = 1.0f) { land_region_splat_alpha[land_region_splat] += land_region_type_presences[land_region_type] * strength; }
public void PaintLandRegionTypeStrength(LandRegionType land_region_type, float strength = 1.0f) { land_region_type_strengths[land_region_type] += strength; }
public abstract void PaintLandRegion(Land land, LandRegionType land_region_type, IGrid <LandPoint> grid);
public abstract void InitilizeLandRegion(Land land, LandRegionType land_region_type, Palette <LandRegionSplat> palette);
public override void InitilizeLandRegion(Land land, LandRegionType land_region_type, Palette <LandRegionSplat> palette) { palette.Add(main_splat); palette.Add(secondary_splat); }
public abstract bool BuildLandRegion(Land land, LandRegionType land_region_type, IGrid <LandPoint> grid);
public abstract void InitilizeLandRegion(Land land, LandRegionType land_region_type);
public abstract void PopulateLandRegion(Land land, LandRegionType land_region_type, IGrid <LandPoint> grid, GameObject parent);
public override void PaintLandRegion(Land land, LandRegionType land_region_type, IGrid <LandPoint> grid) { grid.Process(p => GetLandRegionSplats().Process(s => p.PaintLandRegionSplatAlpha(land_region_type, s)) ); }
public override void InitilizeLandRegion(Land land, LandRegionType land_region_type, Palette <LandRegionSplat> palette) { palette.AddRange(GetLandRegionSplats()); }