Fix buildable overlay not updating and make ramps unbuildable

This commit is contained in:
Gustas
2022-01-22 19:56:25 +02:00
committed by abcdefg30
parent 9cc631ca7e
commit 2f130b17ba

View File

@@ -71,7 +71,8 @@ namespace OpenRA.Mods.Common.Traits
world.Map.CustomTerrain.CellEntryChanged += UpdateTerrainCell; world.Map.CustomTerrain.CellEntryChanged += UpdateTerrainCell;
var cells = w.Map.AllCells.Where(c => w.Map.Contains(c) && var cells = w.Map.AllCells.Where(c => w.Map.Contains(c) &&
!info.AllowedTerrainTypes.Contains(w.Map.GetTerrainInfo(c).Type)).ToHashSet(); (!info.AllowedTerrainTypes.Contains(w.Map.GetTerrainInfo(c).Type) ||
world.Map.Ramp[c] != 0)).ToHashSet();
palette = wr.Palette(info.Palette); palette = wr.Palette(info.Palette);
@@ -84,8 +85,8 @@ namespace OpenRA.Mods.Common.Traits
if (!world.Map.Contains(cell)) if (!world.Map.Contains(cell))
return; return;
if (!info.AllowedTerrainTypes.Contains(world.Map.GetTerrainInfo(cell).Type)) var buildableSprite = !info.AllowedTerrainTypes.Contains(world.Map.GetTerrainInfo(cell).Type) || world.Map.Ramp[cell] != 0 ? disabledSprite : null;
render.Update(cell, disabledSprite, palette, 1f, info.Alpha); render.Update(cell, buildableSprite, palette, 1f, info.Alpha);
} }
void IRenderAboveWorld.RenderAboveWorld(Actor self, WorldRenderer wr) void IRenderAboveWorld.RenderAboveWorld(Actor self, WorldRenderer wr)