]> Dogcows Code - chaz/carfire/blobdiff - CarFire/CarFire/CarFire/Game.cs
Adding AI to monsters. AI still has some bugs to be worked out. Put it should compile...
[chaz/carfire] / CarFire / CarFire / CarFire / Game.cs
index 63ed26deed977cd5993c8844496f1f26dfac6852..06aa494320b66fb2f85d046ee823553c6a036c5e 100644 (file)
@@ -31,7 +31,6 @@ namespace CarFire
         public List<Projectile> mProjectiles = new List<Projectile>();\r
         public Player[] mCharacters;\r
         public Display mDisplay;\r
-        public AI AIData;\r
         #endregion\r
 \r
 \r
@@ -422,10 +421,10 @@ namespace CarFire
             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
@@ -493,7 +492,23 @@ namespace CarFire
         {\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
@@ -540,7 +555,7 @@ namespace CarFire
         #region Private Variables\r
 \r
         SpriteFont menu;\r
-\r
+        AI mAIData;\r
         ContentManager mContentManager;\r
         NextInputs mInputs;\r
 \r
This page took 0.021236 seconds and 4 git commands to generate.