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); }