bellusfennec-CooldownUI icon

CooldownUI

A universal UI library for displaying cooldowns, timers, and status indicators above players. Easy to integrate into your ROUNDS mods.

CHANGELOG

Changelog

All notable changes to CooldownUI will be documented in this file.

[1.0.2] - 2025-03-08

Added

  • Background panel - Semi-transparent dark backdrop behind timer and icon for better readability on any background
    • SetBackgroundEnabled(bool) - Show or hide the background panel
    • SetBackgroundColor(Color) - Customize background color and opacity (default: black at 55% opacity)

Changed

  • Font size increased from 5 to 6 for better visibility
  • Stack offset increased proportionally to prevent overlap between multiple timers on the same player

[1.0.1] - 2025-02-04

Added

  • TextMeshPro Support - Migrated from TextMesh to TextMeshPro for better rendering
  • Sprite Icons - New SetIconSprite() method to use custom sprites as icons
  • Icon Configuration Options:
    • SetIconPosition(IconPosition) - Place icon on Left or Right of timer
    • SetIconColorSync(bool) - Sync icon color with timer color changes
    • SetHideIconOnReady(bool) - Optionally hide icon when showing READY
    • SetIconScale(float) - Scale icon size (0.1 to 3.0)
    • GetIconType() - Returns None, Text, or Sprite
    • HasIcon() - Check if icon is set
  • Outline Customization:
    • SetOutlineColor(Color) - Set text outline color
    • SetOutlineWidth(float) - Set outline width (0-1)

Changed

  • Text rendering now uses TextMeshPro with built-in outline (replaces 4-corner shadow system)
  • Icon positioning is now dynamic based on text width
  • Improved visual quality with SDF font rendering

Removed

  • Old 4-corner shadow system (replaced by TMP outline)

Technical

  • Uses Noto Sans Symbols and Noto Sans Symbols 2 font family for extended Unicode support
  • Supports both external AssetBundle and embedded resource loading

[1.0.0] - 2025-01-04

Added

  • Initial release
  • CooldownUI.Create() - Create UI attached to transform
  • ShowCooldown() - Display cooldown with color transition (red → green)
  • ShowActive() - Display active duration (cyan)
  • ShowText() - Display custom text with custom color
  • ShowReady() - Display "READY" text
  • ShowStacks() - Display stack count
  • Hide() - Hide the UI
  • Icon support with SetIcon() and ClearIcon()
  • Custom colors with SetColors() and SetShadowColor()
  • Automatic vertical stacking when multiple UIs on same player
  • Dynamic scale compensation - UI size stays constant even when player scales
  • Standardized text size (FONT_SIZE=40, CHAR_SIZE=0.12) for consistency across mods
  • Efficient 4-corner shadow rendering
  • Automatic cleanup on round/game end