Units automatically path around known hazards (eg static base defenses). Test using SAM and TRAN.

Todo: Ignore hazards when force-moving; Apply only to known enemy hazards; Implement more hazard classes

Also add a few files I forgot from previous patches
This commit is contained in:
Paul Chote
2010-06-25 13:53:37 +12:00
parent 0aeca2aadc
commit 7ac8d0cf59
15 changed files with 378 additions and 16 deletions

View File

@@ -22,6 +22,7 @@ using System.Collections.Generic;
using System.Drawing;
using OpenRA.GameRules;
using OpenRA.Graphics;
using OpenRA.Traits;
namespace OpenRA.Traits
{
@@ -53,11 +54,13 @@ namespace OpenRA.Traits
public interface INotifyCapture { void OnCapture(Actor self, Actor captor); }
public interface IAcceptSpy { void OnInfiltrate(Actor self, Actor spy); }
public interface INotifyEnterCell { void OnEnterCell(Actor self, int2 cell); }
public interface IProvideHazard { IEnumerable<HazardLayer.Hazard> HazardCells(Actor self); }
public interface IAvoidHazard { string Type { get; } }
public interface ICustomTerrain
{
float GetCost(int2 p, UnitMovementType umt);
float GetSpeedModifier(int2 p, UnitMovementType umt);
float GetCost(int2 p, Actor forActor);
float GetSpeedModifier(int2 p, Actor forActor);
}
public interface IDisable { bool Disabled { get; } }