69 lines
1.7 KiB
C#
69 lines
1.7 KiB
C#
using TMPro;
|
|
using UnityEditor.Localization.Plugins.XLIFF.V20;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
using XRLib.UI;
|
|
|
|
namespace XED.UI
|
|
{
|
|
public class UI_MiniMapHeightButton : UIBase
|
|
{
|
|
public Panel_MiniMap panel_MiniMap;
|
|
|
|
RectTransform rect;
|
|
TMP_InputField inputField;
|
|
|
|
public float heightValue;
|
|
public bool minMaxButton;
|
|
|
|
public override void AfterAwake()
|
|
{
|
|
rect = GetComponent<RectTransform>();
|
|
GetComponent<Button>().onClick.AddListener(OnClickButton);
|
|
inputField = GetComponentInChildren<TMP_InputField>();
|
|
inputField.onEndEdit.AddListener(OnEndEdit);
|
|
}
|
|
|
|
void OnClickButton()
|
|
{
|
|
panel_MiniMap.ChangeImageForButton(this);
|
|
}
|
|
|
|
void OnEndEdit(string input)
|
|
{
|
|
float.TryParse(input, out float value);
|
|
if (value <= panel_MiniMap.barMinHeight || value >= panel_MiniMap.barMaxHeight)
|
|
{
|
|
value = heightValue;
|
|
}
|
|
|
|
UpdateHeight(value);
|
|
panel_MiniMap.ChangeNewImage(this, value);
|
|
}
|
|
|
|
public void UpdateHeight(float value)
|
|
{
|
|
heightValue = value;
|
|
|
|
SetHeightText(value);
|
|
SetButtonPos(value);
|
|
}
|
|
|
|
void SetHeightText(float value)
|
|
{
|
|
int textValue = Mathf.RoundToInt(value);
|
|
inputField.text = textValue.ToString();
|
|
}
|
|
|
|
public void SetButtonPos(float value)
|
|
{
|
|
if (minMaxButton)
|
|
return;
|
|
|
|
float yPos = value / panel_MiniMap.unit;
|
|
|
|
rect.anchoredPosition = new Vector2(0, yPos);
|
|
}
|
|
}
|
|
}
|