This commit is contained in:
Chris Forbes
2009-11-08 13:40:19 +13:00
parent 3ab8ae1afc
commit 77b4673e7c
3 changed files with 26 additions and 21 deletions

View File

@@ -30,18 +30,7 @@ namespace OpenRa.Game
public List<int2> FindUnitPath(int2 src, int2 dest, UnitMovementType umt) public List<int2> FindUnitPath(int2 src, int2 dest, UnitMovementType umt)
{ {
using (new PerfSample("find_unit_path")) using (new PerfSample("find_unit_path"))
{ return FindUnitPath(src, DefaultEstimator(dest), umt);
var sw = new Stopwatch();
/*if (passableCost[(int)umt][dest.X, dest.Y] == float.PositiveInfinity)
return new List<int2>();
if (!Game.BuildingInfluence.CanMoveHere(dest))
return new List<int2>();*/
var result = FindUnitPath(src, DefaultEstimator(dest), umt);
Game.NormalPathTime += sw.ElapsedTime();
Game.NormalPathCount++;
return result;
}
} }
public List<int2> FindUnitPathToRange(int2 src, int2 dest, UnitMovementType umt, int range) public List<int2> FindUnitPathToRange(int2 src, int2 dest, UnitMovementType umt, int range)
@@ -105,9 +94,6 @@ namespace OpenRa.Game
var otherCellInfo = InitCellInfo(); var otherCellInfo = InitCellInfo();
otherCellInfo[from.X, from.Y] = new CellInfo( 0, from, false ); otherCellInfo[from.X, from.Y] = new CellInfo( 0, from, false );
var ret = FindBidiPath(cellInfo, otherCellInfo, queue, otherQueue, estimator, h2, umt, true); var ret = FindBidiPath(cellInfo, otherCellInfo, queue, otherQueue, estimator, h2, umt, true);
//var ret = FindPath(cellInfo, queue, estimator, umt, true);
//ret.Reverse();
return ret; return ret;
} }
} }

View File

@@ -59,16 +59,16 @@ namespace OpenRa.Game.Traits
yield return Pair.New(anim.Image, 24f * (float2)self.Location); yield return Pair.New(anim.Image, 24f * (float2)self.Location);
} }
public void Damaged(Actor self, DamageState state) void INotifyDamage.Damaged(Actor self, DamageState state)
{ {
switch( state ) switch( state )
{ {
case DamageState.Normal: case DamageState.Normal:
anim.PlayRepeating("idle"); /* todo: make interaction?? this should only get called on half->ok */ anim.PlayRepeating("idle");
break; break;
case DamageState.Half: case DamageState.Half:
anim.PlayRepeating("damaged-idle"); anim.PlayRepeating("damaged-idle");
Game.PlaySound("kaboom1.aud", false); /* todo: maybe sep. sound stuff from visual ?? */ Game.PlaySound("kaboom1.aud", false);
break; break;
case DamageState.Dead: case DamageState.Dead:
DoBib(self, true); DoBib(self, true);

View File

@@ -5,13 +5,32 @@ using System.Text;
namespace OpenRa.Game.Traits namespace OpenRa.Game.Traits
{ {
class RenderBuildingTurreted : RenderBuilding class RenderBuildingTurreted : RenderBuilding, INotifyDamage
{ {
public RenderBuildingTurreted(Actor self) public RenderBuildingTurreted(Actor self)
: base(self) : base(self)
{ {
Make( () => anim.PlayFetchIndex( "idle", Make( () => PlayTurretAnim( self, "idle" ));
() => self.traits.Get<Turreted>().turretFacing / 8 ) ); }
void PlayTurretAnim(Actor self, string a)
{
anim.PlayFetchIndex(a,
() => self.traits.Get<Turreted>().turretFacing / 8);
}
void INotifyDamage.Damaged(Actor self, DamageState ds)
{
switch (ds)
{
case DamageState.Normal:
PlayTurretAnim(self, "idle");
break;
case DamageState.Half:
PlayTurretAnim(self, "damaged-idle");
Game.PlaySound("kaboom1.aud", false);
break;
}
} }
} }
} }