Files
ichni_Creator_Studio/Assets/Scripts/DynamicUI/DynamicUIElements/Composite/DynamicUICustomCurveWrapModeUnit.cs
2025-02-28 00:25:23 -05:00

57 lines
2.0 KiB
C#

using System.Collections;
using System.Collections.Generic;
using System.Linq;
using Ichni.RhythmGame;
using TMPro;
using UnityEngine;
namespace Ichni.Editor
{
public class DynamicUICustomCurveWrapModeUnit : DynamicUICompositeUnit
{
public TMP_Dropdown preWrapModeDropdown;
public TMP_Dropdown postWrapModeDropdown;
public override void SetUnit(CompositeParameterWindow window, object itemContent)
{
compositeParameterWindow = window;
WarpModes warpModes = (WarpModes)itemContent;
List<string> enumNameList = System.Enum.GetNames(typeof(WrapMode)).ToList();
preWrapModeDropdown.ClearOptions();
preWrapModeDropdown.AddOptions(enumNameList);
preWrapModeDropdown.value = (int)warpModes.preWrapMode;
postWrapModeDropdown.ClearOptions();
postWrapModeDropdown.AddOptions(enumNameList);
postWrapModeDropdown.value = (int)warpModes.postWrapMode;
preWrapModeDropdown.onValueChanged.AddListener(_ => compositeParameterWindow.ApplyParameters());
postWrapModeDropdown.onValueChanged.AddListener(_ => compositeParameterWindow.ApplyParameters());
removeButton.onClick.AddListener(() =>
{
compositeParameterWindow.RemoveUnit(this);
compositeParameterWindow.ApplyParameters();
});
}
public WarpModes GetValue()
{
return new WarpModes((WrapMode)preWrapModeDropdown.value, (WrapMode)postWrapModeDropdown.value);
}
}
public struct WarpModes
{
public WrapMode preWrapMode;
public WrapMode postWrapMode;
public WarpModes(WrapMode preWrapMode, WrapMode postWrapMode)
{
this.preWrapMode = preWrapMode;
this.postWrapMode = postWrapMode;
}
}
}