This commit is contained in:
SoulliesOfficial
2026-03-31 07:51:40 -04:00
parent e7d717aad5
commit 25b6da25ae
2054 changed files with 6065 additions and 32945 deletions

View File

@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using Ichni.RhythmGame.Beatmap;
using UnityEngine;
namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse.Beatmap
{
@@ -8,29 +9,38 @@ namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse.Beatmap
public class DTMGlobalFog_BM : EnvironmentObject_BM
{
public float fogIntensity = 1f;
public float fogColorStartR = 0.5f, fogColorStartG = 0.75f, fogColorStartB = 1.0f, fogColorStartA = 1.0f;
public float fogColorEndR = 0.75f, fogColorEndG = 1.0f, fogColorEndB = 1.25f, fogColorEndA = 1.0f;
// 新字段(新存档使用)
public Color fogColorStart = new Color(0.5f, 0.75f, 1f, 1f);
public Color fogColorEnd = new Color(0.75f, 1f, 1.25f, 1f);
public float fogColorStartIntensity = 0f;
public float fogColorEndIntensity = 0f;
// 旧字段(保留以兼容旧存档 JSON 反序列化)
public float fogColorStartR = -1f, fogColorStartG = -1f, fogColorStartB = -1f, fogColorStartA = -1f;
public float fogColorEndR = -1f, fogColorEndG = -1f, fogColorEndB = -1f, fogColorEndA = -1f;
public float fogColorDuo = 0f;
public float skyboxFogIntensity = 1f;
public float skyboxFogHeight = 1f;
public float skyboxFogFalloff = 1f;
public float skyboxFogFalloff = 8f;
public float skyboxFogOffset = 0f;
public float skyboxFogBottom = 0f;
public float skyboxFogFill = 0f;
public DTMGlobalFog_BM()
{
}
public float skyboxFogFill = 1f;
public override void ExecuteBM()
{
// 向后兼容:如果旧版 float 字段有有效值(>=0则从旧字段构建 Color覆盖新字段默认值
if (fogColorStartR >= 0f)
fogColorStart = new Color(fogColorStartR, fogColorStartG, fogColorStartB, fogColorStartA);
if (fogColorEndR >= 0f)
fogColorEnd = new Color(fogColorEndR, fogColorEndG, fogColorEndB, fogColorEndA);
matchedElement = DTMGlobalFog.GenerateElement(elementName, elementGuid, tags, false,
themeBundleName, objectName, GetElement(attachedElementGuid), isStatic,
fogIntensity,
fogColorStartR, fogColorStartG, fogColorStartB, fogColorStartA,
fogColorEndR, fogColorEndG, fogColorEndB, fogColorEndA,
fogColorStart, fogColorEnd,
fogColorStartIntensity, fogColorEndIntensity,
fogColorDuo,
skyboxFogIntensity, skyboxFogHeight,
skyboxFogFalloff, skyboxFogOffset,

View File

@@ -22,9 +22,37 @@ namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse.Beatmap
public float outerBorderColorA = 1f;
public float outerBorderWidth = 0.02f;
public float fadeFar = 100f;
public float fadeNear = 20f;
public DTMRandomGridFloor_BM()
{
}
public DTMRandomGridFloor_BM(string elementName, Guid elementGuid, List<string> tags, GameElement_BM attachedElement,
string themeBundleName, string objectName, bool isStatic,
float patternSizeX, float patternSizeY, float gridDensity,
float timeAngle, float stepA, float stepB,
bool enableOuterBorder, Color outerColor, float outerBorderWidth,
float fadeFar = 100f, float fadeNear = 20f)
: base(elementName, elementGuid, tags, attachedElement, themeBundleName, objectName, isStatic)
{
this.patternSizeX = patternSizeX;
this.patternSizeY = patternSizeY;
this.gridDensity = gridDensity;
this.timeAngle = timeAngle;
this.stepA = stepA;
this.stepB = stepB;
this.enableOuterBorder = enableOuterBorder;
this.outerBorderColorR = outerColor.r;
this.outerBorderColorG = outerColor.g;
this.outerBorderColorB = outerColor.b;
this.outerBorderColorA = outerColor.a;
this.outerBorderWidth = outerBorderWidth;
this.fadeFar = fadeFar;
this.fadeNear = fadeNear;
}
public override void ExecuteBM()
@@ -35,7 +63,8 @@ namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse.Beatmap
themeBundleName, objectName, GetElement(attachedElementGuid), isStatic,
patternSizeX, patternSizeY, gridDensity,
timeAngle, stepA, stepB,
enableOuterBorder, outerColor, outerBorderWidth);
enableOuterBorder, outerColor, outerBorderWidth,
fadeFar, fadeNear);
}
}
}

View File

@@ -24,11 +24,6 @@ namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse.Beatmap
public float fadeNear = 20f;
public float tubeRadius = 10f;
public DTMRandomGridTube_BM()
{
}
public override void ExecuteBM()
{
matchedElement = DTMRandomGridTube.GenerateElement(elementName, elementGuid, tags, false,

View File

@@ -38,11 +38,6 @@ namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse.Beatmap
public float fogPower = 0.5f;
public float fogContrast = 40f;
public DTMStarrySkybox_BM()
{
}
public override void ExecuteBM()
{
matchedElement = DTMStarrySkybox.GenerateElement(

View File

@@ -1,28 +1,26 @@
using System;
using System.Collections.Generic;
using Ichni.RhythmGame.Beatmap;
using UnityEngine;
namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse.Beatmap
{
public partial class DTMTrail_BM : EnvironmentObject_BM
public partial class DTMTrail_BM : EnvironmentObject_BM
{
public FlexibleFloat_BM visibleTimeLength;
public FlexibleBool_BM enableTimes;
public float enableProcessTime = 0.5f;
public float headSize = 1f;
public FlexibleFloat_BM headRotateSpeed;
public AnimationCurve widthCurve;
public Gradient trailAlphaGradient;
public override void ExecuteBM()
{
public FlexibleFloat_BM visibleTimeLength;
public FlexibleBool_BM enableTimes;
public float enableProcessTime = 0.5f;
public float headSize = 1f;
public FlexibleFloat_BM headRotateSpeed;
public DTMTrail_BM()
{
}
public override void ExecuteBM()
{
matchedElement = DTMTrail.GenerateElement(elementName, elementGuid, tags, false,
themeBundleName, objectName, GetElement(attachedElementGuid), isStatic, visibleTimeLength?.ConvertToGameType(),
enableTimes.ConvertToGameType(), headRotateSpeed?.ConvertToGameType(), enableProcessTime, headSize);
}
matchedElement = DTMTrail.GenerateElement(elementName, elementGuid, tags, false,
themeBundleName, objectName, GetElement(attachedElementGuid), isStatic, visibleTimeLength?.ConvertToGameType(),
enableTimes?.ConvertToGameType(), headRotateSpeed?.ConvertToGameType(), enableProcessTime, headSize,
widthCurve, trailAlphaGradient);
}
}
}