public class GameState\r
{\r
#region Public Properties\r
- private const int hitMonsterScore = 20;\r
- private const int killMonsterScore = 100;\r
+ \r
public int HitMonsterScore { get { return hitMonsterScore; } }\r
public int KillMonsterScore { get { return killMonsterScore; } }\r
\r
public List<Projectile> mProjectiles = new List<Projectile>();\r
public Player[] mCharacters;\r
public Display mDisplay;\r
- public AI AIData;\r
#endregion\r
\r
\r
\r
\r
#region Private Variables\r
-\r
+ private const int hitMonsterScore = 20;\r
+ private const int killMonsterScore = 100;\r
int mNumberOfPlayers;\r
public Point[] mMouseLocation;\r
public bool[] mMouseButton;\r
Map.Tilemap = tilemap;\r
\r
// Load the first map.\r
- State.Map = mContentManager.Load<Map>("Maps/colosseum");\r
+ State.Map = mContentManager.Load<Map>("Maps/colosseumClosed");\r
State.Entities = State.Map.GetAllEntities(this);\r
\r
- //State.AIData = new AI(this);\r
+ mAIData = new AI(this);\r
\r
/*\r
mPlayers.Clear();\r
{\r
State.AdvanceFrame(mInputs, elapsedTime.Milliseconds); // Apply the inputs, advance game state.\r
State.mDisplay.Update(elapsedTime, mThisPlayerID);\r
- State.Entities.ForEach(delegate(IEntity e) { e.Update(elapsedTime); });\r
+ State.Entities.ForEach(delegate(IEntity e) \r
+ {\r
+ IMonster m = e as IMonster;\r
+ if (m != null)\r
+ {\r
+ if (State.mCharacters[0] != null && mAIData.spaceVisible(e.Coordinates, State.mCharacters[0].Coordinates))\r
+ {\r
+ m.Chasing(State.mCharacters[0].Coordinates);\r
+ }\r
+ else\r
+ {\r
+ m.DefaultAction();\r
+ }\r
+ }\r
+ e.Update(elapsedTime); \r
+ });\r
+ //State.Entities.ForEach(delegate(IEntity e) { e.Update(elapsedTime); });\r
mInputs = new NextInputs(State.NumberOfPlayers); // Start with inputs cleared on the next frame.\r
//mDisplay.Update(elapsedTime);\r
return State.FrameNumber;\r
#region Private Variables\r
\r
SpriteFont menu;\r
-\r
+ AI mAIData;\r
ContentManager mContentManager;\r
NextInputs mInputs;\r
\r