public override void Update(Vector2 a_offset, MainChar a_mainChar, SquareGrid a_grid) { a_grid.GetSlotFromPixel(Position, Vector2.Zero).Filled = false; _shooterTimer.UpdateTimer(); if (_shooterTimer.Test()) { if (Globals.GetDistance(Position, a_mainChar.Position) < 500) { //GameGlobals.PassProjectile(new CurlyLine(new Vector2(Position.X, Position.Y - (Dimension.Y / 2)), this, new Vector2(a_mainChar.Position.X, a_mainChar.Position.Y))); } _shooterTimer.Reset(); } _moveTimer.UpdateTimer(); if (_moveTimer.Test()) { MovSpeed = -MovSpeed; _moveTimer.Reset(); } //HSpeed += MovSpeed; base.Update(a_offset, a_mainChar, a_grid); if (Globals.GetDistance(Position, a_mainChar.Position) < 45) { a_mainChar.GetHit(1); } a_grid.GetSlotFromPixel(Position, Vector2.Zero).Filled = true; }
public override void Update(Vector2 a_offset, MainChar a_mainChar, SquareGrid a_grid) { a_grid.GetSlotFromPixel(Position, Vector2.Zero).Filled = false; AI(a_mainChar); StartAnimation(); base.Update(a_offset, a_mainChar, a_grid); a_grid.GetSlotFromPixel(Position, Vector2.Zero).Filled = true; }
public override void Update(Vector2 a_offset, MainChar a_mainChar, SquareGrid a_grid) { if (!_locationImpassible) { GridLocation location = a_grid.GetSlotFromPixel(Position - new Vector2(0, a_grid.SlotDimensions.Y), Vector2.Zero); location.SetToFilled(true); Position = location.Position + Dimension / 2; _locationImpassible = true; } if (FrameAnimationList[CurrentAnimation].CurrentFrame == 4) { a_grid.GetSlotFromPixel(Position, Vector2.Zero).Impassible = false; a_grid.GetSlotFromPixel(Position, Vector2.Zero).Filled = false; } if (Globals.GetDistance(a_mainChar.Position, Position) < 100) { SetAnimationByName("Crumble"); } base.Update(a_offset); }
public virtual void Update() { if (!MainCharacter.Dead && GameGlobals.paused == false) { //_enemyTimer.UpdateTimer(); //if (_enemyTimer.Test()) //{ // int randomX = Engine.Globals.RandomNumber(0, 1000); // int randomY = Engine.Globals.RandomNumber(0, 1000); // Console.WriteLine(randomX + " , " + randomY); // GameGlobals.PassNpc(new FirstEnemy(new Vector2(randomX,randomY)));; // _enemyTimer.Reset(); //} MainCharacter.Update(_offset, _grid); for (int idx = 0; idx < _projectiles.Count(); idx++) { _projectiles[idx].Update(_offset, _npcs.ToList <Unit>()); if (_projectiles[idx].Done) { _projectiles.RemoveAt(idx); idx--; } } List <Unit> mainCharList = new List <Unit>(); mainCharList.Add(MainCharacter); for (int idx = 0; idx < _enemyProjectiles.Count(); idx++) { _enemyProjectiles[idx].Update(_offset, mainCharList); if (_enemyProjectiles[idx].Done) { _enemyProjectiles.RemoveAt(idx); idx--; } } for (int idx = 0; idx < _npcs.Count(); idx++) { _npcs[idx].Update(_offset, MainCharacter, _grid); if (_npcs[idx].Dead) { GridLocation location = _grid.GetSlotFromPixel(_npcs[idx].Position, Vector2.Zero); location.Filled = false; location.Impassible = false; _nKilled++; _npcs.RemoveAt(idx); idx--; } } for (int idx = 0; idx < _effects.Count(); idx++) { _effects[idx].Update(_offset); if (_effects[idx].Done) { _effects.RemoveAt(idx); idx--; } } } else { if (Globals.MyKeyboard.GetNewPress("Enter")) { ResetWorld(null); } } if (_grid != null) { _grid.Update(_offset); } if (Globals.MyKeyboard.GetNewPress("Escape") && !MainCharacter.Dead) { GameGlobals.paused = !GameGlobals.paused; } if (Globals.MyKeyboard.GetNewPress("G")) { _grid.ShowGrid = !_grid.ShowGrid; } _ui.Update(this); }