Fix ICustomTerrain to also work for resources

This commit is contained in:
Paul Chote
2010-04-17 20:06:14 +12:00
committed by Chris Forbes
parent 70e26bb047
commit 4a6c32bd9c
10 changed files with 84 additions and 61 deletions

View File

@@ -30,7 +30,7 @@ namespace OpenRA.Traits
public object Create(Actor self) { return new ResourceLayer(self); }
}
public class ResourceLayer: IRenderOverlay, ILoadWorldHook
public class ResourceLayer: IRenderOverlay, ILoadWorldHook, ICustomTerrain
{
SpriteRenderer sr;
World world;
@@ -88,18 +88,18 @@ namespace OpenRA.Traits
content[x, y].density = GetIdealDensity(x, y);
}
public float GetMovementCost(UnitMovementType umt, int2 p)
public float GetSpeedMultiplier(UnitMovementType umt, int2 p)
{
if (content[p.X,p.Y].type == null)
return 1.0f;
return content[p.X,p.Y].type.GetMovementCost(umt);
return content[p.X,p.Y].type.GetSpeedMultiplier(umt);
}
public float GetPathCost(UnitMovementType umt, int2 p)
public float GetCost(int2 p,UnitMovementType umt)
{
if (content[p.X,p.Y].type == null)
return 1.0f;
return content[p.X,p.Y].type.GetPathCost(umt);
return content[p.X,p.Y].type.GetCost(umt);
}
public Sprite[] ChooseContent(ResourceType t)