37 lines
1.0 KiB
C#
37 lines
1.0 KiB
C#
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);
|
|
}
|
|
}
|
|
}
|