skybox subsetter

This commit is contained in:
SoulliesOfficial
2025-07-09 01:01:06 -04:00
parent 6533997d59
commit 537caabfa9
128 changed files with 13280 additions and 2268 deletions

View File

@@ -107,15 +107,18 @@ namespace Ichni.RhythmGame
var container = inspector.GenerateContainer("Color");
var subcontainer = container.GenerateSubcontainer(1, 300f);
var baseColor = inspector.GenerateBaseColorPicker(this, subcontainer, "Base Color", nameof(originalBaseColor));
baseColor.AddListenerFunction(Refresh);
if (attachedGameElement.childElementList.Exists(x => x is BaseColorChange))
if ((attachedGameElement as IHaveColorSubmodule).haveBaseColor)
{
baseColor.title.text += " (Occupied by Animation)";
baseColor.canvasGroup.interactable = false;
var baseColor = inspector.GenerateBaseColorPicker(this, subcontainer, "Base Color", nameof(originalBaseColor));
baseColor.AddListenerFunction(Refresh);
if (attachedGameElement.childElementList.Exists(x => x is BaseColorChange))
{
baseColor.title.text += " (Occupied by Animation)";
baseColor.canvasGroup.interactable = false;
}
}
if ((attachedGameElement as IHaveColorSubmodule).haveEmission)
if ((attachedGameElement as IHaveColorSubmodule).haveEmissionColor)
{
var emissionColor = inspector.GenerateEmissionColorPicker(this, subcontainer, "Emission Color",
nameof(emissionEnabled), nameof(originalEmissionColor), nameof(originalEmissionIntensity));
@@ -142,7 +145,8 @@ namespace Ichni.RhythmGame
public interface IHaveColorSubmodule
{
public ColorSubmodule colorSubmodule { get; set; }
public bool haveEmission => false;
public virtual bool haveBaseColor => true;
public virtual bool haveEmissionColor => false;
public void SetColorObserver()
{

View File

@@ -133,6 +133,7 @@ namespace Ichni.RhythmGame
{ "Bloom", new BloomEffect(1, 2, CustomCurvePresets.Parabolic(1, 0, 1)) },
{ "CameraShake", new CameraShakeEffect(1, 50, 1, 1, 1) },
{ "CameraOffset", new CameraOffsetEffect(0.2f, Vector3.forward, CustomCurvePresets.CustomPeakTimeParabolic(1, 0, 1, 0.3f)) },
{ "CameraZoom", new CameraZoomEffect(0.2f, 5f,CustomCurvePresets.Parabolic(1,0,1))},
{ "CameraTilt", new CameraTiltEffect(0.2f, new Vector3(0, 0, 5), CustomCurvePresets.CustomPeakTimeParabolic(1, 0, 1, 0.3f)) },
{ "ChromaticAberration", new ChromaticAberrationEffect(1, 1, CustomCurvePresets.Parabolic(1, 0, 1)) },
{ "Vignette", new VignetteEffect(1, 1, 0.4f, Color.black, CustomCurvePresets.Parabolic(1, 0, 1)) },

View File

@@ -13,6 +13,7 @@ namespace Ichni.RhythmGame
public float bpm; //每分钟节拍数
public float delay; //设定音乐和谱面延迟Delay秒后开始在延迟中SongPosition为负数。
public float songLength;
public float songTime;
public float songBeat => songTime / 60 * bpm;
@@ -25,7 +26,18 @@ namespace Ichni.RhythmGame
this.delay = delay;
songLocation = EditorManager.instance.projectInformation.projectPath + "/" + songName;
Debug.Log("Loading song from " + songLocation + " " + ES3.FileExists(songLocation));
song = ES3.LoadAudio(songLocation, AudioType.WAV);
string extension = System.IO.Path.GetExtension(songLocation).ToLower();
song = extension switch
{
".mp3" => ES3.LoadAudio(songLocation, AudioType.MPEG),
".ogg" => ES3.LoadAudio(songLocation, AudioType.OGGVORBIS),
".wav" => ES3.LoadAudio(songLocation, AudioType.WAV),
_ => throw new System.Exception("Unsupported audio format: " + extension)
};
songLength = song.length;
}
public void SaveBM()