public override void Update(GameTime gameTime) { UpdateTimeModifier(); CurrentTheme?.Update(); CurrentGameOver?.Update(); UpdateProtoEffects(); UpdateVisualEffects(); foreach (var timer in Timers) { timer.Update(); } Timers.RemoveAll(x => x.Slide >= 1); UpdateInput(); var tickables = Manager.Tickable.GetTickables(); foreach (var tickable in tickables.ToList()) { tickable.Tick(this); } Vector2 worldPos = Vector2.Transform(new Vector2(InputState.MouseX, InputState.MouseY), Matrix.Invert(WorldTransform)); int tileX = Util.FloorDiv((int)worldPos.X, 16); int tileY = Util.FloorDiv((int)worldPos.Y, 16); TileCursor = new Point(tileX, tileY); MenuCursor = Menu.GetMouseOver(InputState.MouseX, InputState.MouseY); if (MenuCursor != null) { TileCursor = null; } TooltipText = new TextBuilder(float.PositiveInfinity, float.PositiveInfinity); if (MenuCursor != null) { MenuCursor.GenerateTooltip(TooltipText); } else if (Map != null && TileCursor.HasValue) { MapTile tile = Map.GetTile(TileCursor.Value.X, TileCursor.Value.Y); if (tile != null) { tile.AddTooltip(TooltipText); } } TooltipText.EndContainer(); TooltipText.Finish(); }