毫无头绪!

This commit is contained in:
2025-02-28 20:08:00 +08:00
parent 5238cd0e5e
commit 07256af84b
26 changed files with 1115 additions and 485 deletions

View File

@@ -26,7 +26,7 @@ namespace Ichni.Editor
unitList = new List<DynamicUICompositeUnit>();
closeButton.onClick.AddListener(Quit);
StartCoroutine(WindowAnim.ShowPanel(gameObject));
StartCoroutine(WindowAnim.ShowPanelOnScale(gameObject));
}
public void RemoveUnit(DynamicUICompositeUnit unit)
@@ -72,7 +72,7 @@ namespace Ichni.Editor
connectedBaseElement.GetType().GetField(parameterName).SetValue(connectedBaseElement, stringList);
};
}
public void SetAsFloatList()
{
void GenerateUnit(float content)
@@ -81,7 +81,7 @@ namespace Ichni.Editor
unitList.Add(unit);
unit.SetUnit(this, content);
}
unitPrefab = EditorManager.instance.basePrefabs.inputFieldUnit;
List<float> list = connectedBaseElement.GetType().GetField(parameterName).GetValue(connectedBaseElement) as List<float>;
foreach (float item in list)
@@ -89,13 +89,13 @@ namespace Ichni.Editor
GenerateUnit(item);
}
addNewUnitButton.GetComponent<RectTransform>().SetAsLastSibling();
addNewUnitButton.onClick.AddListener(() =>
{
GenerateUnit(0);
addNewUnitButton.GetComponent<RectTransform>().SetAsLastSibling();
});
ApplyParameters = () =>
{
List<float> floatList = unitList.Select(unit => (unit as DynamicUIInputFieldUnit).GetValue<float>()).ToList();
@@ -215,23 +215,23 @@ namespace Ichni.Editor
unitList.Add(unit);
unit.SetUnit(this, content);
}
unitPrefab = EditorManager.instance.basePrefabs.customCurveKeyframeUnit;
AnimationCurve curve = connectedBaseElement.GetType().GetField(parameterName).GetValue(connectedBaseElement) as AnimationCurve;
List<Keyframe> keyframes = curve.keys.ToList();
WarpModes warpModes = new WarpModes(curve.preWrapMode, curve.postWrapMode);
//生成warpModes的Unit
DynamicUICustomCurveWrapModeUnit warpModesUnit =
DynamicUICustomCurveWrapModeUnit warpModesUnit =
Instantiate(EditorManager.instance.basePrefabs.customCurveWrapModeUnit, windowRect).GetComponent<DynamicUICustomCurveWrapModeUnit>();
unitList.Add(warpModesUnit);
warpModesUnit.SetUnit(this, warpModes);
foreach (Keyframe keyframe in keyframes)
{
GenerateUnit(keyframe);
}
addNewUnitButton.GetComponent<RectTransform>().SetAsLastSibling();
addNewUnitButton.onClick.AddListener(() =>
@@ -239,14 +239,14 @@ namespace Ichni.Editor
GenerateUnit(new Keyframe(0, 0, 0, 0));
addNewUnitButton.GetComponent<RectTransform>().SetAsLastSibling();
});
ApplyParameters = () =>
{
AnimationCurve newCurve = new AnimationCurve();
DynamicUICustomCurveWrapModeUnit warpModesUnit = unitList[0] as DynamicUICustomCurveWrapModeUnit;
newCurve.preWrapMode = warpModesUnit.GetValue().preWrapMode;
newCurve.postWrapMode = warpModesUnit.GetValue().postWrapMode;
for(int i = 1; i < unitList.Count; i++)
for (int i = 1; i < unitList.Count; i++)
{
DynamicUICustomCurveKeyframeUnit unit = unitList[i] as DynamicUICustomCurveKeyframeUnit;
newCurve.AddKey(unit.GetValue());

View File

@@ -13,7 +13,7 @@ namespace Ichni.Editor
public void Initialize(GameElement gameElement, string title)
{
StartCoroutine(WindowAnim.ShowPanel(gameObject));
StartCoroutine(WindowAnim.ShowPanelOnScale(gameObject));
WindowRect = windowRect;
Containers = new List<DynamicUIContainer>();

View File

@@ -24,7 +24,7 @@ namespace Ichni.Editor
enableButtonGroup.disableButton.gameObject.SetActive(true);
enableButtonGroup.enableButton.gameObject.SetActive(false);
}
public virtual void DisableWindow()
{
gameObject.SetActive(false);

View File

@@ -15,9 +15,9 @@ namespace Ichni.Editor
private void Start()
{
playButton.onClick.AddListener(EditorManager.instance.musicPlayer.PlayMusic);
pauseButton.onClick.AddListener(EditorManager.instance.musicPlayer.PauseMusic);
stopButton.onClick.AddListener(EditorManager.instance.musicPlayer.StopMusic);
// playButton.onClick.AddListener(EditorManager.instance.musicPlayer.PlayMusic);
// pauseButton.onClick.AddListener(EditorManager.instance.musicPlayer.PauseMusic);
// stopButton.onClick.AddListener(EditorManager.instance.musicPlayer.StopMusic);
}
}
}

View File

@@ -14,6 +14,7 @@ public class SubTab : MonoBehaviour
public Button button;
private SongInformation songInformation;
private TimePointerModule timePointerModule;
public TimelineTab timelineTab;
private Timeline timeline;
public float Time;
public void Set(GameElement Objs, float time)
@@ -25,7 +26,7 @@ public class SubTab : MonoBehaviour
connectObj.Add(Objs);
button.GetComponentInChildren<TMP_Text>().text = connectObj.Count().ToString();
transform.position = new Vector3(
Time / timeline.timePerBeat * timePointerModule.timePointerInterval + 165f - timePointerModule.delayDistanceOffset
timelineTab.MoveArea.position.x + (time / timeline.timePerBeat * timePointerModule.timePointerInterval)
, transform.position.y, 0
);
}

View File

@@ -131,7 +131,8 @@ namespace Ichni.Editor
if (!timelineTabList.ContainsKey(i.GetType()))
{
TimelineTab timelineTab = Instantiate(timelineTabPrefab, timelineTabRect.transform);
//timelineTab.timeline = this;
//timelineTab.MoveArea = timePointerModule.timePointerArea;
timelineTab.SetTab(i, i.GetType());
timelineTabList.Add(i.GetType(), timelineTab);

View File

@@ -17,6 +17,7 @@ public class TimelineTab : MonoBehaviour
public List<GameElement> GelementPointer;
public RectTransform MoveArea;
public RectTransform title;
public Dictionary<float, SubTab> SubTabs = new();
public Timeline timeline;
@@ -40,7 +41,7 @@ public class TimelineTab : MonoBehaviour
else
{
SubTab i = Instantiate(ElementPrefab, MoveArea.transform);
i.timelineTab = this;
i.Set(gameElement, Judgetime);
SubTabs.Add(Judgetime, i);
}
@@ -53,7 +54,7 @@ public class TimelineTab : MonoBehaviour
public void Update()
{
MoveArea.position = new Vector3(
timeline.timePointerModule.timePointerArea.position.x,
-(timeline.songTime / timeline.timePerBeat) * timeline.timePointerModule.timePointerInterval,
MoveArea.position.y,
MoveArea.position.z);
}

View File

@@ -4,7 +4,7 @@ using UnityEngine;
public static class WindowAnim
{
public static IEnumerator ShowPanel(GameObject gameObject)
public static IEnumerator ShowPanelOnScale(GameObject gameObject)
{
AnimationCurve animationCurve = new AnimationCurve(
new Keyframe(0, 0),
@@ -22,7 +22,7 @@ public static class WindowAnim
}
gameObject.transform.localScale = Vector3.one;
}
public static IEnumerator HidePanel(GameObject gameObject, bool DestoryOrNot = false)
public static IEnumerator HidePanelOnscale(GameObject gameObject, bool DestoryOrNot = false)
{
AnimationCurve animationCurve = new AnimationCurve(
new Keyframe(0, 0),
@@ -42,4 +42,5 @@ public static class WindowAnim
}
}