X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fcarfire;a=blobdiff_plain;f=CarFire%2FCarFire%2FCarFire%2FSaberMonster.cs;h=f417d52c160a1470935d4249506789033955b705;hp=c2932eed05f96802579e167bc08da82dc121b0e6;hb=08f41ef45f3c41ca6302150bc6d5270c8e7143db;hpb=7ffb03574d79049fc13fc08412b4f62ad309874d
diff --git a/CarFire/CarFire/CarFire/SaberMonster.cs b/CarFire/CarFire/CarFire/SaberMonster.cs
index c2932ee..f417d52 100644
--- a/CarFire/CarFire/CarFire/SaberMonster.cs
+++ b/CarFire/CarFire/CarFire/SaberMonster.cs
@@ -28,6 +28,8 @@ namespace CarFire
///
public class SaberMonster : IMonster
{
+ //starting health
+ int health = 100;
///
/// Construct this type of monster. This constructor is called
/// by the map when the game requests entities.
@@ -100,8 +102,12 @@ namespace CarFire
PathFinder pathFinder = new PathFinder(mGame.Grid);
mPath = new List(32);
mPath.Add(Coordinates);
- mPath.AddRange(pathFinder.GetPath(mMotion.Coordinates, mIdlePath[mIdlePathIndex]));
- mPath.Add(mIdlePath[mIdlePathIndex]);
+ List path = pathFinder.GetPath(mMotion.Coordinates, mIdlePath[mIdlePathIndex]);
+ if (path != null)
+ {
+ mPath.AddRange(path);
+ mPath.Add(mIdlePath[mIdlePathIndex]);
+ }
mPathIndex = 0;
}
@@ -115,8 +121,12 @@ namespace CarFire
PathFinder pathFinder = new PathFinder(mGame.Grid);
mPath = new List(32);
mPath.Add(Coordinates);
- mPath.AddRange(pathFinder.GetPath(mMotion.Coordinates, mIdlePath[mIdlePathIndex % mIdlePath.Count]));
- mPath.Add(mIdlePath[mIdlePathIndex % mIdlePath.Count]);
+ List path = pathFinder.GetPath(mMotion.Coordinates, mIdlePath[mIdlePathIndex % mIdlePath.Count]);
+ if (path != null)
+ {
+ mPath.AddRange(path);
+ mPath.Add(mIdlePath[mIdlePathIndex % mIdlePath.Count]);
+ }
mPathIndex = 0;
}
@@ -188,7 +198,8 @@ namespace CarFire
///
public int Health
{
- get { throw new NotImplementedException(); }
+ get { return this.health; }
+
}
///
@@ -197,9 +208,11 @@ namespace CarFire
///
public void causeDamageTo(int amount)
{
- throw new NotImplementedException();
+ this.health -= amount;
}
+ public bool IsCollidable { get { return true; } }
+
///
/// Get the smoothed position.
///
@@ -208,7 +221,15 @@ namespace CarFire
///
/// Get the grid coordinates.
///
- public Point Coordinates { get { return mMotion.Coordinates; } }
+ public Point Coordinates {
+ get { return mMotion.Coordinates; }
+ set { mMotion = new MovementManager(value, mMotion.Speed); }
+ }
+
+ ///
+ /// Get the entity identifier.
+ ///
+ public char Identifier { get { return mId; } }
#endregion