public void Update() { Player.CheckForPlayers(this); Camera.Update(); long elapsed = 0; if (OrbIt.Game.Time != null) { elapsed = (long)Math.Round(OrbIt.Game.Time.ElapsedGameTime.TotalMilliseconds); } TotalElapsedMilliseconds += elapsed; //AffectAlgorithm #2 See Souce History in this file for AffectAlgorithm 1 GridsystemAffect.clearBuckets(); foreach (var n in MasterGroup.fullSet) { if (MasterGroup.childGroups["Wall Group"].fullSet.Contains(n)) { continue; } GridsystemAffect.insertToBuckets(n.body); } if (DebugFlags.drawAffectGrid) { GridsystemAffect.addGridSystemLines(); } CollisionManager.Update(); foreach (Node n in MasterGroup.fullSet.ToList()) { if (n.active) { n.Update(); } } AfterIteration?.Invoke(this, null); Level.addLevelLines(); UpdateTargetNodeGraphic(); Scheduler.AffectSelf(); if (_pendingRoomResize != null) { _pendingRoomResize(); _pendingRoomResize = null; } }
public void Draw() { //spritebatch.Draw(game.textureDict[textures.whitepixel], new Vector2(300, 300), null, Color.Black, 0f, Vector2.Zero, 100f, SpriteEffects.None, 0); if (TargetNode != null) { UpdateTargetNodeGraphic(); TargetNodeGraphic.Draw(); } foreach (var n in MasterGroup.fullSet.ToList()) { //Node n = (Node)o; n.Draw(); } if (DebugFlags.drawRoomBorder) { Camera.DrawRect(Vector2R.Zero, new Vector2R(WorldWidth, WorldHeight), BorderColor); } if (DebugFlags.drawAffectGrid) { GridsystemAffect.DrawGrid(this, Color.LightBlue); } if (DebugFlags.drawCollisionGrid) { CollisionManager.Draw(); } if (DrawLinks) { foreach (Link link in AllActiveLinks) { link.GenericDraw(); } } OrbIt.GlobalGameMode.Draw(); GraphData.DrawGraph(); }