using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using UnityEngine.EventSystems; namespace RimWorldAnimationStudio { public class UIScaler : MonoBehaviour { public float defaultScale = 1f; public CanvasScaler canvasScaler; public InputField uiScaler; public void Start() { if (canvasScaler && uiScaler) { float scale = PlayerPrefs.GetFloat("uiScale"); canvasScaler.scaleFactor = scale > 0f ? scale : defaultScale; uiScaler.SetTextWithoutNotify(scale.ToString()); } } public void OnScaleChanged() { float scale = Mathf.Clamp(float.Parse(uiScaler.text), 0.25f, 4f); uiScaler.SetTextWithoutNotify(scale.ToString()); canvasScaler.scaleFactor = scale; PlayerPrefs.SetFloat("uiScale", scale); EventSystem.current.SetSelectedGameObject(gameObject); } } }