尝试优化Inspector的排版

在输数字的地方输入框的输入限制可以改成十进制数,这样就不会因为输了字母然后报错了
This commit is contained in:
2025-02-20 03:15:42 +08:00
parent 5349cde381
commit 28e8d54a7b
27 changed files with 761 additions and 479 deletions

View File

@@ -1,9 +1,11 @@
using System.Collections;
using System.Collections.Generic;
using DG.Tweening;
using Ichni.RhythmGame;
using TMPro;
using UnityEngine;
using UnityEngine.Events;
using UnityEngine.UI;
namespace Ichni.Editor
{
@@ -24,6 +26,7 @@ namespace Ichni.Editor
public virtual void Initialize(IBaseElement baseElement, string title, string parameterName)
{
this.connectedBaseElement = baseElement;
this.parameterName = parameterName;
if (title != string.Empty)
@@ -34,8 +37,23 @@ namespace Ichni.Editor
{
this.title.gameObject.SetActive(false);
}
}
public virtual void DeviverSet(int DeviveNum){
float o=2f/DeviveNum;//因为所有的单UI都是根据2栏来的
Button[] childb=GetComponentsInChildren<Button>();
TMP_Text[] childt=GetComponentsInChildren<TMP_Text>();
foreach (var i in childb){
RectTransform rectTransform = i.GetComponent<RectTransform>();
rectTransform.sizeDelta=new Vector2(rectTransform.sizeDelta.x*o,rectTransform.sizeDelta.y);
}
foreach (var i in childt){
RectTransform rectTransform = i.GetComponent<RectTransform>();
rectTransform.sizeDelta=new Vector2(rectTransform.sizeDelta.x*o,rectTransform.sizeDelta.y);
}
}
//public abstract void ApplyParameters();
}
}

View File

@@ -18,7 +18,7 @@ namespace Ichni.Editor
public TMP_InputField inputFieldEmissionI;
public Image colorPreview;
public new void Initialize(IBaseElement baseElement, string title,
public void Initialize(IBaseElement baseElement, string title,
string emissionEnabledName, string colorParameterName, string emissionIntensityName)
{
base.Initialize(baseElement, title, colorParameterName);

View File

@@ -28,7 +28,9 @@ namespace Ichni.Editor
inputFieldY.onEndEdit.AddListener(_ => ApplyParameters());
inputFieldZ.onEndEdit.AddListener(_ => ApplyParameters());
}
public override void DeviverSet(int i){
//我什么也不做
}
private void ApplyParameters()
{
Vector3 newValue = new Vector3(float.Parse(inputFieldX.text), float.Parse(inputFieldY.text), float.Parse(inputFieldZ.text));