57 lines
2.0 KiB
C#
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;
|
|
}
|
|
}
|
|
} |