This commit is contained in:
SoulliesOfficial
2025-06-28 12:06:19 -04:00
parent 1a3d37d9b5
commit 1b87a4345b
22 changed files with 32991 additions and 17950 deletions

View File

@@ -462,7 +462,7 @@ Material:
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _FnlColor: {r: 1, g: 1, b: 1, a: 1}
- _ImageColor: {r: 1.783085, g: 3.1626296, b: 3.979095, a: 1}
- _MainColor: {r: 2.9960783, g: 2.9960783, b: 2.9960783, a: 1}
- _MainColor: {r: 2.9960785, g: 2.9960785, b: 2.9960785, a: 1}
- _MainOffsetUC2Vec4: {r: 1, g: 0, b: 0, a: 0}
- _MainOffsetVC2Vec4: {r: 0, g: 1, b: 0, a: 0}
- _MainTexRefine: {r: 1, g: 1, b: 1, a: 0}

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@@ -138,7 +138,7 @@ namespace Ichni.RhythmGame
{ "EnableControl", new EnableControlEffect(null, "New Variable", 0, false, "") },
{ "LowPassFilter", new LowPassFilterEffect(1, 10, CustomCurvePresets.Parabolic(1, 0, 1)) },
{ "HighPassFilter", new HighPassFilterEffect(1, 22000, CustomCurvePresets.Parabolic(1, 0, 1)) },
{ "DTM_RippleEffect", new DTMRippleEffect(false, 0.5f, Color.white, 0) }
{ "DTM_RippleEffect", new DTMRippleEffect(0.65f, Color.white, 0) }
};
}

View File

@@ -8,8 +8,9 @@ using UnityEngine;
namespace Ichni.RhythmGame
{
public partial class TimeEffectsCollection : GameElement, IHaveEffectSubmodule
public partial class TimeEffectsCollection : GameElement, IHaveTransformSubmodule, IHaveEffectSubmodule
{
public TransformSubmodule transformSubmodule { get; set; }
public EffectSubmodule effectSubmodule { get; set; }
public float time; //触发效果的时间
@@ -25,6 +26,7 @@ namespace Ichni.RhythmGame
public override void SetDefaultSubmodules()
{
transformSubmodule = new TransformSubmodule(this);
effectSubmodule = new EffectSubmodule(this);
}

View File

@@ -33,6 +33,8 @@ namespace Ichni.RhythmGame
point.trackSwitch = trackSwitch;
point.trackPercent = trackPercent;
point.trackPositioner.motion.applyRotation = false;
return point;
}

View File

@@ -28,6 +28,9 @@ namespace Ichni.RhythmGame
head.trackPositioner = head.gameObject.AddComponent<SplinePositioner>();
head.trackPositioner.spline = track.trackPathSubmodule.path;
head.trackTimeSubmoduleMovable = track.trackTimeSubmodule as TrackTimeSubmoduleMovable;
head.trackPositioner.motion.applyRotation = false;
return head;
}

View File

@@ -49,7 +49,8 @@ namespace Ichni.RhythmGame
}
point.trackPositioner.motion.applyRotation = false;
return point;
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,2 +1 @@
ĽőJ<EFBFBD>jĺÍ;`)<29>4N Ô%A&ŠňĘ•P<1C>«Oé!2h„‡Äu;䆇U÷î0'^¨eßŐÓ)7˙ÜFŃŢzçl*T0<54>‡‹ĎŃ
AM<EFBFBD>ů}Jdz°˘@É"ŮirmYiű‰NAęŁ@^˘ásáĚĹMµúBŽó\:–—ď¶~-IŠČĽ©0G<30>/<…Đ]C>ĺĂ Nł [}Ź\"dĄ<cłkitëoe"ĐŚ]šęlTN„—G˛Ôo'±
ÛJ=l{²k¯ùÞ†=<3D>ñ»÷ºˆ@Š¥DrFz«ÿ€rEIð ¥QÓRÅ¿7Íwó¥Ë˜Vøý˜Ùa1ÍMCieô«nC¡÷L%lŠc¢ÖÑóÍñóÁux„uÿåYþ§Ð9rùèJºCØý\=ârÁ¾ïbU®ïTMŒõz*¶î4 c3•Àf:³D¹QxQë+Õ€S)òk®s`SñGrÕžÕ“¾Ç½^‹ðþ*e/7<“?£#‡

View File

@@ -4,16 +4,16 @@
"value" : [
{
"__type" : "Ichni.RhythmGame.Beatmap.Tap_BM,Assembly-CSharp",
"exactJudgeTime" : 10.8,
"elementName" : "Tap (10.8)",
"exactJudgeTime" : 5,
"elementName" : "New Tap",
"tags" : [
],
"elementGuid" : {
"value" : "5ad7d017-8ee2-4d9c-8035-37c207e32143"
"value" : "c994c2d2-da43-484b-a435-2f69212044ef"
},
"attachedElementGuid" : {
"value" : "00000000-0000-0000-0000-000000000000"
"value" : "266d9898-21fd-4a93-86b9-6166399a5e8f"
}
},{
"__type" : "Ichni.RhythmGame.Beatmap.TimeDurationSubmodule_BM,Assembly-CSharp",
@@ -21,7 +21,18 @@
"startTime" : -32767,
"endTime" : 32767,
"attachedElementGuid" : {
"value" : "5ad7d017-8ee2-4d9c-8035-37c207e32143"
"value" : "c994c2d2-da43-484b-a435-2f69212044ef"
}
},{
"__type" : "Ichni.RhythmGame.Beatmap.NoteJudgeSubmodule_BM,Assembly-CSharp",
"judgeUnitList" : [
{
"__type" : "Ichni.RhythmGame.Beatmap.TouchAreaJudgeUnit_BM,Assembly-CSharp",
"areaRadius" : 500
}
],
"attachedElementGuid" : {
"value" : "c994c2d2-da43-484b-a435-2f69212044ef"
}
},{
"__type" : "Ichni.RhythmGame.Beatmap.NoteAudioSubmodule_BM,Assembly-CSharp",
@@ -44,18 +55,7 @@
],
"attachedElementGuid" : {
"value" : "5ad7d017-8ee2-4d9c-8035-37c207e32143"
}
},{
"__type" : "Ichni.RhythmGame.Beatmap.NoteJudgeSubmodule_BM,Assembly-CSharp",
"judgeUnitList" : [
{
"__type" : "Ichni.RhythmGame.Beatmap.TouchAreaJudgeUnit_BM,Assembly-CSharp",
"areaRadius" : 1000
}
],
"attachedElementGuid" : {
"value" : "5ad7d017-8ee2-4d9c-8035-37c207e32143"
"value" : "c994c2d2-da43-484b-a435-2f69212044ef"
}
},{
"__type" : "Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse.Beatmap.DTMNoteVisual_BM,Assembly-CSharp",
@@ -67,10 +67,10 @@
],
"elementGuid" : {
"value" : "ed296c85-ce0a-4892-bd0f-2c354e1aed1e"
"value" : "00fa664c-0df8-456f-b1be-da3e144994e0"
},
"attachedElementGuid" : {
"value" : "5ad7d017-8ee2-4d9c-8035-37c207e32143"
"value" : "c994c2d2-da43-484b-a435-2f69212044ef"
}
},{
"__type" : "Ichni.RhythmGame.Beatmap.TransformSubmodule_BM,Assembly-CSharp",
@@ -90,7 +90,7 @@
"z" : 1
},
"attachedElementGuid" : {
"value" : "ed296c85-ce0a-4892-bd0f-2c354e1aed1e"
"value" : "00fa664c-0df8-456f-b1be-da3e144994e0"
}
},{
"__type" : "Ichni.RhythmGame.Beatmap.TimeDurationSubmodule_BM,Assembly-CSharp",
@@ -98,7 +98,7 @@
"startTime" : -32767,
"endTime" : 32767,
"attachedElementGuid" : {
"value" : "ed296c85-ce0a-4892-bd0f-2c354e1aed1e"
"value" : "00fa664c-0df8-456f-b1be-da3e144994e0"
}
},{
"__type" : "Ichni.RhythmGame.Beatmap.ColorSubmodule_BM,Assembly-CSharp",
@@ -117,20 +117,20 @@
},
"originalEmissionIntensity" : 0,
"attachedElementGuid" : {
"value" : "ed296c85-ce0a-4892-bd0f-2c354e1aed1e"
"value" : "00fa664c-0df8-456f-b1be-da3e144994e0"
}
},{
"__type" : "Ichni.RhythmGame.Beatmap.EffectSubmodule_BM,Assembly-CSharp",
"effectCollection" : {"Generate":[
{
"__type" : "Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse.Beatmap.DTMNoteGenerateExpand_BM,Assembly-CSharp",
"effectTime" : 0,
"generateTime" : 0,
"generateTime" : 1,
"effectTime" : 0.2
}
],"GeneralJudge":[
],"StartHold":[
],"Holding":[
],"Perfect":[
@@ -158,7 +158,7 @@
]
},
"attachedElementGuid" : {
"value" : "ed296c85-ce0a-4892-bd0f-2c354e1aed1e"
"value" : "00fa664c-0df8-456f-b1be-da3e144994e0"
}
}
]

View File

@@ -4292,8 +4292,7 @@
],"GeneralJudge":[
{
"__type" : "Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse.Beatmap.DTMRippleEffect_BM,Assembly-CSharp",
"isCircle" : true,
"rippleTime" : 1,
"rippleTime" : 0.65,
"positionOffset" : {
"x" : 0,
"y" : 0,
@@ -4305,17 +4304,17 @@
"z" : 0
},
"scale" : {
"x" : 5,
"y" : 5,
"z" : 5
"x" : 1,
"y" : 1,
"z" : 1
},
"color" : {
"r" : 0,
"g" : 1,
"b" : 1,
"emissionColor" : {
"r" : 0.3576441,
"g" : 0.7463304,
"b" : 0.8065491,
"a" : 1
},
"emissionIntensity" : 0,
"emissionIntensity" : 2,
"effectTime" : 0
}
],"StartHold":[
@@ -4633,7 +4632,33 @@
"effectTime" : 0.2
}
],"GeneralJudge":[
{
"__type" : "Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse.Beatmap.DTMRippleEffect_BM,Assembly-CSharp",
"rippleTime" : 0.65,
"positionOffset" : {
"x" : 0,
"y" : 0,
"z" : 0
},
"eulerAngles" : {
"x" : 0,
"y" : 0,
"z" : 0
},
"scale" : {
"x" : 1,
"y" : 1,
"z" : 1
},
"emissionColor" : {
"r" : 1,
"g" : 1,
"b" : 1,
"a" : 1
},
"emissionIntensity" : 0,
"effectTime" : 0
}
],"StartHold":[
],"Holding":[
@@ -69805,6 +69830,118 @@
"attachedElementGuid" : {
"value" : "5f34a959-75c8-4df9-bff4-47c2b9d90b30"
}
},{
"__type" : "Ichni.RhythmGame.Beatmap.ElementFolder_BM,Assembly-CSharp",
"elementName" : "New Folder",
"tags" : [
],
"elementGuid" : {
"value" : "f033da76-2827-498e-a8f4-82dfbad97b19"
},
"attachedElementGuid" : {
"value" : "00000000-0000-0000-0000-000000000000"
}
},{
"__type" : "Ichni.RhythmGame.Beatmap.TransformSubmodule_BM,Assembly-CSharp",
"originalPosition" : {
"x" : 0,
"y" : 0,
"z" : 0
},
"originalEulerAngles" : {
"x" : 0,
"y" : 0,
"z" : 0
},
"originalScale" : {
"x" : 1,
"y" : 1,
"z" : 1
},
"attachedElementGuid" : {
"value" : "f033da76-2827-498e-a8f4-82dfbad97b19"
}
},{
"__type" : "Ichni.RhythmGame.Beatmap.TimeDurationSubmodule_BM,Assembly-CSharp",
"isOverridingDuration" : false,
"startTime" : -32767,
"endTime" : 32767,
"attachedElementGuid" : {
"value" : "f033da76-2827-498e-a8f4-82dfbad97b19"
}
},{
"__type" : "Ichni.RhythmGame.Beatmap.TimeEffectsCollection_BM,Assembly-CSharp",
"time" : 4,
"elementName" : "New Time Effects Collection",
"tags" : [
],
"elementGuid" : {
"value" : "71249fe3-f96a-4905-939b-55b2f5bf49b4"
},
"attachedElementGuid" : {
"value" : "f033da76-2827-498e-a8f4-82dfbad97b19"
}
},{
"__type" : "Ichni.RhythmGame.Beatmap.TransformSubmodule_BM,Assembly-CSharp",
"originalPosition" : {
"x" : 0,
"y" : 0,
"z" : 10
},
"originalEulerAngles" : {
"x" : 0,
"y" : 0,
"z" : 0
},
"originalScale" : {
"x" : 1,
"y" : 1,
"z" : 1
},
"attachedElementGuid" : {
"value" : "71249fe3-f96a-4905-939b-55b2f5bf49b4"
}
},{
"__type" : "Ichni.RhythmGame.Beatmap.EffectSubmodule_BM,Assembly-CSharp",
"effectCollection" : {"Prior":[
],"Default":[
{
"__type" : "Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse.Beatmap.DTMRippleEffect_BM,Assembly-CSharp",
"rippleTime" : 0.65,
"positionOffset" : {
"x" : 0,
"y" : 0,
"z" : 0
},
"eulerAngles" : {
"x" : 0,
"y" : 0,
"z" : 0
},
"scale" : {
"x" : 1,
"y" : 1,
"z" : 1
},
"emissionColor" : {
"r" : 1,
"g" : 1,
"b" : 1,
"a" : 1
},
"emissionIntensity" : 0,
"effectTime" : 0
}
],"Late":[
]
},
"attachedElementGuid" : {
"value" : "71249fe3-f96a-4905-939b-55b2f5bf49b4"
}
}
],
"attachedElementGuid" : {

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: e991679a349479b4697ad09154830054
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,44 @@
using System;
using System.Collections;
using System.Collections.Generic;
using DG.Tweening;
using Lean.Pool;
using UnityEngine;
namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse
{
public class DTM_Ripple : MonoBehaviour, IPoolable
{
public ParticleSystem mainRipple;
public ParticleSystem inRipple;
public ParticleSystem outRipple;
private Renderer inRippleRenderer;
private Renderer outRippleRenderer;
public void OnSpawn()
{
inRippleRenderer = inRipple.GetComponent<Renderer>();
outRippleRenderer = outRipple.GetComponent<Renderer>();
}
public void OnDespawn()
{
}
public void SetRippleTime(float time)
{
ParticleSystem.MainModule inRippleMain = inRipple.main;
ParticleSystem.MainModule outRippleMain = outRipple.main;
inRippleMain.startLifetime = time;
outRippleMain.startLifetime = time;
}
public void SetEmissionColor(Color color)
{
inRippleRenderer.material.SetColor("_MainColor", color);
outRippleRenderer.material.SetColor("_MainColor", color);
}
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: f7b6652747cbe0c448fb3fbc0f9beda3
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -10,8 +10,7 @@ namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse
{
public class DTMRippleEffect : EffectBase
{
private SpriteRenderer ripple;
public bool isCircle;
private DTM_Ripple ripple;
public float rippleTime;
public Vector3 positionOffset;
public Vector3 eulerAnglesOffset;
@@ -19,10 +18,9 @@ namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse
public Color emissionColor;
public float emissionIntensity;
public DTMRippleEffect(bool isCircle, float rippleTime, Color emissionColor, float emissionIntensity)
public DTMRippleEffect(float rippleTime, Color emissionColor, float emissionIntensity)
{
this.effectTime = 0;
this.isCircle = isCircle;
this.rippleTime = rippleTime;
this.positionOffset = Vector3.zero;
this.eulerAnglesOffset = Vector3.zero;
@@ -31,11 +29,10 @@ namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse
this.emissionIntensity = emissionIntensity;
}
public DTMRippleEffect(bool isCircle, float rippleTime, Color emissionColor, float emissionIntensity,
public DTMRippleEffect(float rippleTime, Color emissionColor, float emissionIntensity,
Vector3 positionOffset, Vector3 eulerAnglesOffset, Vector3 scale)
{
this.effectTime = 0;
this.isCircle = isCircle;
this.rippleTime = rippleTime;
this.positionOffset = positionOffset;
this.eulerAnglesOffset = eulerAnglesOffset;
@@ -47,33 +44,21 @@ namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse
public override void Adjust()
{
GameObject prefab = EditorManager.instance.customPrefabs["departure_to_multiverse"].GetPrefab("DTM_Ripple");
ripple = LeanPool.Spawn(prefab, attachedGameElement.transform).GetComponentInChildren<SpriteRenderer>();
ripple = LeanPool.Spawn(prefab, attachedGameElement.transform).GetComponent<DTM_Ripple>();
ripple.transform.localPosition = positionOffset;
ripple.transform.localEulerAngles = eulerAnglesOffset;
ripple.transform.localScale = scale;
ripple.transform.parent.transform.SetParent(null);
if (isCircle)
{
ripple.material.EnableKeyword("_ISCIRCLE_ON");
}
else
{
ripple.material.DisableKeyword("_ISCIRCLE_ON");
}
ripple.transform.SetParent(null);
ripple.material.SetFloat("_EdgeValue", 0f);
ripple.material.SetFloat("_Width", 1f);
ripple.material.SetFloat("_Opacity", 1f);
ripple.material.SetColor("_ImageColor", emissionColor * Mathf.Pow(2, emissionIntensity));
ripple.material.DOFloat(0.5f, "_EdgeValue", rippleTime).SetEase(Ease.OutQuart).Play();
ripple.material.DOFloat(0f, "_Width", rippleTime).SetEase(Ease.OutQuart).Play();
ripple.material.DOFloat(0f, "_Opacity", rippleTime).SetEase(Ease.Linear).Play();
LeanPool.Despawn(ripple.transform.parent.gameObject, rippleTime);
ripple.SetRippleTime(rippleTime);
ripple.SetEmissionColor(emissionColor * Mathf.Pow(2, emissionIntensity));
ripple.mainRipple.Play();
LeanPool.Despawn(ripple.gameObject, rippleTime);
}
public override EffectBase_BM ConvertToBM()
{
return new Beatmap.DTMRippleEffect_BM(isCircle, rippleTime, emissionColor, emissionIntensity, positionOffset, eulerAnglesOffset, scale);
return new Beatmap.DTMRippleEffect_BM(rippleTime, emissionColor, emissionIntensity, positionOffset, eulerAnglesOffset, scale);
}
public override void SetUpInspector()
@@ -81,7 +66,6 @@ namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse
IHaveInspection inspector = EditorManager.instance.uiManager.inspector;
var container = inspector.GenerateContainer("DTM Ripple Effect");
var effectSettings1 = container.GenerateSubcontainer(3);
var isCircleToggle = inspector.GenerateToggle(this, effectSettings1, "Is Circle", nameof(isCircle));
var rippleTimeInputField = inspector.GenerateInputField(this, effectSettings1, "Ripple Time", nameof(rippleTime));
var effectSettings2 = container.GenerateSubcontainer(1);
var emissionColorPicker = inspector.GenerateEmissionColorPicker(this, effectSettings2, "Color", "NULL", nameof(emissionColor), nameof(emissionIntensity));
@@ -96,22 +80,20 @@ namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse
{
public class DTMRippleEffect_BM : EffectBase_BM
{
public bool isCircle;
public float rippleTime;
public Vector3 positionOffset;
public Vector3 eulerAngles;
public Vector3 scale;
public Color emissionColor = Color.white;
public float emissionIntensity = 0;
public DTMRippleEffect_BM()
{
}
public DTMRippleEffect_BM(bool isCircle, float rippleTime, Color emissionColor, float emissionIntensity, Vector3 positionOffset, Vector3 eulerAngles, Vector3 scale)
public DTMRippleEffect_BM(float rippleTime, Color emissionColor, float emissionIntensity, Vector3 positionOffset, Vector3 eulerAngles, Vector3 scale)
{
this.isCircle = isCircle;
this.rippleTime = rippleTime;
this.positionOffset = positionOffset;
this.eulerAngles = eulerAngles;
@@ -122,7 +104,7 @@ namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse
public override EffectBase ConvertToGameType(GameElement attachedGameElement)
{
return new DTMRippleEffect(isCircle, rippleTime, emissionColor, emissionIntensity, positionOffset, eulerAngles, scale)
return new DTMRippleEffect(rippleTime, emissionColor, emissionIntensity, positionOffset, eulerAngles, scale)
{
attachedGameElement = attachedGameElement
};