新Head
This commit is contained in:
@@ -22,52 +22,31 @@ namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse
|
||||
|
||||
public override void SetUpInspector()
|
||||
{
|
||||
// base.SetUpInspector() 会自动生成 ColorSubmodule 的 UI(BaseColor + EmissionColor)
|
||||
base.SetUpInspector();
|
||||
|
||||
IHaveInspection inspector = EditorManager.instance.uiManager.inspector;
|
||||
|
||||
// ── 星座核心参数 ──────────────────────────────────────────────
|
||||
var mainContainer = inspector.GenerateContainer("DTMConstellation");
|
||||
var mainSettings = mainContainer.GenerateSubcontainer(3);
|
||||
|
||||
inspector.GenerateInputField(this, mainSettings, "Max Particles", nameof(maxParticles));
|
||||
inspector.GenerateInputField(this, mainSettings, "Max Line Count", nameof(maxLineCount));
|
||||
inspector.GenerateInputField(this, mainSettings, "Max Connections Per Star", nameof(maxConnectionsPerStar));
|
||||
inspector.GenerateInputField(this, mainSettings, "Max Connection Distance", nameof(maxConnectionDistance));
|
||||
|
||||
// ── 散布体积 ──────────────────────────────────────────────────
|
||||
var spreadContainer = inspector.GenerateContainer("Spread Volume");
|
||||
var spreadSettings = spreadContainer.GenerateSubcontainer(1);
|
||||
inspector.GenerateVector3InputField(this, spreadSettings, "Spread Size", nameof(spreadSize));
|
||||
|
||||
// ── 视觉参数 ─────────────────────────────────────────────────
|
||||
var visualContainer = inspector.GenerateContainer("Visual");
|
||||
var visualSettings = visualContainer.GenerateSubcontainer(3);
|
||||
inspector.GenerateInputField(this, visualSettings, "Active Star Size", nameof(activeStarSize));
|
||||
inspector.GenerateInputField(this, visualSettings, "Line Width", nameof(lineWidth));
|
||||
|
||||
// ── 粒子运动 ─────────────────────────────────────────────────
|
||||
var motionContainer = inspector.GenerateContainer("Particle Motion");
|
||||
var motionSettings = motionContainer.GenerateSubcontainer(1);
|
||||
inspector.GenerateVector3InputField(this, motionSettings, "Orbital Velocity", nameof(orbitalVelocity));
|
||||
inspector.GenerateInputField(this, motionSettings, "Angular Velocity", nameof(angularVelocity));
|
||||
|
||||
// ── 刷新操作按钮 ──────────────────────────────────────────────
|
||||
var actionContainer = inspector.GenerateContainer("Constellation Actions");
|
||||
var actionSettings = actionContainer.GenerateSubcontainer(2);
|
||||
|
||||
inspector.GenerateButton(this, actionSettings, "Refresh This", () =>
|
||||
{
|
||||
GenerateSingleConstellation();
|
||||
});
|
||||
|
||||
inspector.GenerateButton(this, actionSettings, "Refresh All", () =>
|
||||
{
|
||||
var allConstellations = FindObjectsByType<DTMConstellation>(FindObjectsSortMode.None);
|
||||
foreach (var c in allConstellations)
|
||||
c.GenerateSingleConstellation();
|
||||
});
|
||||
InspectorBuilder.For(this)
|
||||
.Section("DTMConstellation")
|
||||
.InputField(nameof(maxParticles), "Max Particles")
|
||||
.InputField(nameof(maxLineCount), "Max Line Count")
|
||||
.InputField(nameof(maxConnectionsPerStar), "Max Connections Per Star")
|
||||
.InputField(nameof(maxConnectionDistance), "Max Connection Distance")
|
||||
.Section("Spread Volume")
|
||||
.Vector3Field(nameof(spreadSize), "Spread Size")
|
||||
.Section("Visual")
|
||||
.InputField(nameof(activeStarSize), "Active Star Size")
|
||||
.InputField(nameof(lineWidth), "Line Width")
|
||||
.Section("Particle Motion")
|
||||
.Vector3Field(nameof(orbitalVelocity), "Orbital Velocity")
|
||||
.InputField(nameof(angularVelocity), "Angular Velocity")
|
||||
.Section("Constellation Actions")
|
||||
.Button("Refresh This", GenerateSingleConstellation)
|
||||
.Button("Refresh All", () =>
|
||||
{
|
||||
var allConstellations = FindObjectsByType<DTMConstellation>(FindObjectsSortMode.None);
|
||||
foreach (var c in allConstellations)
|
||||
c.GenerateSingleConstellation();
|
||||
})
|
||||
.Build();
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
|
||||
@@ -24,28 +24,19 @@ namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse
|
||||
{
|
||||
base.SetUpInspector();
|
||||
|
||||
IHaveInspection inspector = EditorManager.instance.uiManager.inspector;
|
||||
var container = inspector.GenerateContainer("DTMGlobalFog");
|
||||
var subcontainer = container.GenerateSubcontainer(2);
|
||||
|
||||
inspector.GenerateSlider(this, subcontainer, "Fog Intensity", nameof(fogIntensity), min: 0, max: 5).AddListenerFunction(UpdateFogProperties);
|
||||
|
||||
var colorStartContainer = container.GenerateSubcontainer(1, 240);
|
||||
inspector.GenerateEmissionColorPicker(this, colorStartContainer, "Fog Color Start", "NULL", nameof(fogColorStart), nameof(fogColorStartIntensity))
|
||||
.AddListenerFunction(UpdateFogProperties);
|
||||
|
||||
var colorEndContainer = container.GenerateSubcontainer(1, 240);
|
||||
inspector.GenerateEmissionColorPicker(this, colorEndContainer, "Fog Color End", "NULL", nameof(fogColorEnd), nameof(fogColorEndIntensity))
|
||||
.AddListenerFunction(UpdateFogProperties);
|
||||
|
||||
inspector.GenerateSlider(this, subcontainer, "Fog Color Duo", nameof(fogColorDuo), min: 0, max: 1).AddListenerFunction(UpdateFogProperties);
|
||||
inspector.GenerateSlider(this, subcontainer, "Skybox Fog Intensity", nameof(skyboxFogIntensity), min: 0, max: 5).AddListenerFunction(UpdateFogProperties);
|
||||
inspector.GenerateSlider(this, subcontainer, "Skybox Fog Height", nameof(skyboxFogHeight), min: 0, max: 10).AddListenerFunction(UpdateFogProperties);
|
||||
inspector.GenerateSlider(this, subcontainer, "Skybox Fog Falloff", nameof(skyboxFogFalloff), min: 0, max: 10).AddListenerFunction(UpdateFogProperties);
|
||||
inspector.GenerateSlider(this, subcontainer, "Skybox Fog Offset", nameof(skyboxFogOffset), min: -10, max: 10).AddListenerFunction(UpdateFogProperties);
|
||||
|
||||
inspector.GenerateSlider(this, subcontainer, "Skybox Fog Bottom", nameof(skyboxFogBottom), min: -10, max: 10).AddListenerFunction(UpdateFogProperties);
|
||||
inspector.GenerateSlider(this, subcontainer, "Skybox Fog Fill", nameof(skyboxFogFill), min: 0, max: 5).AddListenerFunction(UpdateFogProperties);
|
||||
InspectorBuilder.For(this)
|
||||
.Section("DTMGlobalFog")
|
||||
.Slider(nameof(fogIntensity), 0, 5, "Fog Intensity").OnChanged(UpdateFogProperties)
|
||||
.EmissionColorPicker(nameof(fogColorStart), "NULL", nameof(fogColorStartIntensity), "Fog Color Start").OnChanged(UpdateFogProperties)
|
||||
.EmissionColorPicker(nameof(fogColorEnd), "NULL", nameof(fogColorEndIntensity), "Fog Color End").OnChanged(UpdateFogProperties)
|
||||
.Slider(nameof(fogColorDuo), 0, 1, "Fog Color Duo").OnChanged(UpdateFogProperties)
|
||||
.Slider(nameof(skyboxFogIntensity), 0, 5, "Skybox Fog Intensity").OnChanged(UpdateFogProperties)
|
||||
.Slider(nameof(skyboxFogHeight), 0, 10, "Skybox Fog Height").OnChanged(UpdateFogProperties)
|
||||
.Slider(nameof(skyboxFogFalloff), 0, 10, "Skybox Fog Falloff").OnChanged(UpdateFogProperties)
|
||||
.Slider(nameof(skyboxFogOffset), -10, 10, "Skybox Fog Offset").OnChanged(UpdateFogProperties)
|
||||
.Slider(nameof(skyboxFogBottom), -10, 10, "Skybox Fog Bottom").OnChanged(UpdateFogProperties)
|
||||
.Slider(nameof(skyboxFogFill), 0, 5, "Skybox Fog Fill").OnChanged(UpdateFogProperties)
|
||||
.Build();
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
|
||||
@@ -21,28 +21,21 @@ namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse
|
||||
{
|
||||
base.SetUpInspector();
|
||||
|
||||
IHaveInspection inspector = EditorManager.instance.uiManager.inspector;
|
||||
var container = inspector.GenerateContainer("DTMFramesFloor");
|
||||
var subcontainer = container.GenerateSubcontainer(3);
|
||||
|
||||
inspector.GenerateSlider(this, subcontainer, "Pattern Size X", nameof(patternSizeX), min: 1, max: 500).AddListenerFunction(UpdateMaterialProperties);
|
||||
inspector.GenerateSlider(this, subcontainer, "Pattern Size Y", nameof(patternSizeY), min: 1, max: 500).AddListenerFunction(UpdateMaterialProperties);
|
||||
inspector.GenerateSlider(this, subcontainer, "Grid Density", nameof(gridDensity), min: 0.1f, max: 10).AddListenerFunction(UpdateMaterialProperties);
|
||||
inspector.GenerateSlider(this, subcontainer, "Time Angle", nameof(timeAngle), min: 0, max: 1).AddListenerFunction(UpdateMaterialProperties);
|
||||
inspector.GenerateSlider(this, subcontainer, "Step A", nameof(stepA), min: 0, max: 1).AddListenerFunction(UpdateMaterialProperties);
|
||||
inspector.GenerateSlider(this, subcontainer, "Step B", nameof(stepB), min: 0, max: 1).AddListenerFunction(UpdateMaterialProperties);
|
||||
inspector.GenerateSlider(this, subcontainer, "Base Speed", nameof(baseSpeed), min: 0, max: 10).AddListenerFunction(UpdateMaterialProperties);
|
||||
|
||||
inspector.GenerateToggle(this, subcontainer, "Enable Outer Border", nameof(enableOuterBorder)).AddListenerFunction(UpdateMaterialProperties);
|
||||
|
||||
var colorContainer = container.GenerateSubcontainer(1, 280f);
|
||||
inspector.GenerateBaseColorPicker(this, colorContainer, "Outer Border Color", nameof(outerBorderColor)).AddListenerFunction(UpdateMaterialProperties);
|
||||
|
||||
var subcontainer2 = container.GenerateSubcontainer(3);
|
||||
inspector.GenerateSlider(this, subcontainer2, "Outer Border Width", nameof(outerBorderWidth), min: 0, max: 0.5f).AddListenerFunction(UpdateMaterialProperties);
|
||||
|
||||
inspector.GenerateSlider(this, subcontainer2, "Fade Far", nameof(fadeFar), min: 1, max: 500).AddListenerFunction(UpdateMaterialProperties);
|
||||
inspector.GenerateSlider(this, subcontainer2, "Fade Near", nameof(fadeNear), min: 0, max: 200).AddListenerFunction(UpdateMaterialProperties);
|
||||
InspectorBuilder.For(this)
|
||||
.Section("DTMFramesFloor")
|
||||
.Slider(nameof(patternSizeX), 1, 500, "Pattern Size X").OnChanged(UpdateMaterialProperties)
|
||||
.Slider(nameof(patternSizeY), 1, 500, "Pattern Size Y").OnChanged(UpdateMaterialProperties)
|
||||
.Slider(nameof(gridDensity), 0.1f, 10, "Grid Density").OnChanged(UpdateMaterialProperties)
|
||||
.Slider(nameof(timeAngle), 0, 1, "Time Angle").OnChanged(UpdateMaterialProperties)
|
||||
.Slider(nameof(stepA), 0, 1, "Step A").OnChanged(UpdateMaterialProperties)
|
||||
.Slider(nameof(stepB), 0, 1, "Step B").OnChanged(UpdateMaterialProperties)
|
||||
.Slider(nameof(baseSpeed), 0, 10, "Base Speed").OnChanged(UpdateMaterialProperties)
|
||||
.Toggle(nameof(enableOuterBorder), "Enable Outer Border").OnChanged(UpdateMaterialProperties)
|
||||
.ColorPicker(nameof(outerBorderColor), "Outer Border Color").OnChanged(UpdateMaterialProperties)
|
||||
.Slider(nameof(outerBorderWidth), 0, 0.5f, "Outer Border Width").OnChanged(UpdateMaterialProperties)
|
||||
.Slider(nameof(fadeFar), 1, 500, "Fade Far").OnChanged(UpdateMaterialProperties)
|
||||
.Slider(nameof(fadeNear), 0, 200, "Fade Near").OnChanged(UpdateMaterialProperties)
|
||||
.Build();
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
|
||||
@@ -21,25 +21,22 @@ namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse
|
||||
{
|
||||
base.SetUpInspector();
|
||||
|
||||
IHaveInspection inspector = EditorManager.instance.uiManager.inspector;
|
||||
var container = inspector.GenerateContainer("DTMRandomGridTube");
|
||||
var subcontainer = container.GenerateSubcontainer(2);
|
||||
|
||||
inspector.GenerateSlider(this, subcontainer, "Pattern Size X", nameof(patternSizeX), min: 0, max: 20).AddListenerFunction(UpdateMaterialProperties);
|
||||
inspector.GenerateSlider(this, subcontainer, "Pattern Size Y", nameof(patternSizeY), min: 0, max: 20).AddListenerFunction(UpdateMaterialProperties);
|
||||
inspector.GenerateSlider(this, subcontainer, "Grid Density", nameof(gridDensity), min: 0, max: 10).AddListenerFunction(UpdateMaterialProperties);
|
||||
inspector.GenerateSlider(this, subcontainer, "Time Angle", nameof(timeAngle), min: 0, max: 6.28f).AddListenerFunction(UpdateMaterialProperties);
|
||||
inspector.GenerateSlider(this, subcontainer, "Step A", nameof(stepA), min: 0, max: 1).AddListenerFunction(UpdateMaterialProperties);
|
||||
inspector.GenerateSlider(this, subcontainer, "Step B", nameof(stepB), min: 0, max: 1).AddListenerFunction(UpdateMaterialProperties);
|
||||
inspector.GenerateSlider(this, subcontainer, "Base Speed", nameof(baseSpeed), min: 0, max: 3).AddListenerFunction(UpdateMaterialProperties);
|
||||
|
||||
inspector.GenerateSlider(this, subcontainer, "Seam Rotation", nameof(seamRotation), min: -180, max: 180).AddListenerFunction(UpdateMaterialProperties);
|
||||
inspector.GenerateSlider(this, subcontainer, "Seam Fade Width", nameof(seamFadeWidth), min: 0, max: 5).AddListenerFunction(UpdateMaterialProperties);
|
||||
inspector.GenerateSlider(this, subcontainer, "Seam Fade Smoothness", nameof(seamFadeSmoothness), min: 0, max: 5).AddListenerFunction(UpdateMaterialProperties);
|
||||
|
||||
inspector.GenerateSlider(this, subcontainer, "Fade Far", nameof(fadeFar), min: 0, max: 500).AddListenerFunction(UpdateMaterialProperties);
|
||||
inspector.GenerateSlider(this, subcontainer, "Fade Near", nameof(fadeNear), min: 0, max: 100).AddListenerFunction(UpdateMaterialProperties);
|
||||
inspector.GenerateSlider(this, subcontainer, "Tube Radius", nameof(tubeRadius), min: 0, max: 50).AddListenerFunction(UpdateMaterialProperties);
|
||||
InspectorBuilder.For(this)
|
||||
.Section("DTMRandomGridTube")
|
||||
.Slider(nameof(patternSizeX), 0, 20, "Pattern Size X").OnChanged(UpdateMaterialProperties)
|
||||
.Slider(nameof(patternSizeY), 0, 20, "Pattern Size Y").OnChanged(UpdateMaterialProperties)
|
||||
.Slider(nameof(gridDensity), 0, 10, "Grid Density").OnChanged(UpdateMaterialProperties)
|
||||
.Slider(nameof(timeAngle), 0, 6.28f, "Time Angle").OnChanged(UpdateMaterialProperties)
|
||||
.Slider(nameof(stepA), 0, 1, "Step A").OnChanged(UpdateMaterialProperties)
|
||||
.Slider(nameof(stepB), 0, 1, "Step B").OnChanged(UpdateMaterialProperties)
|
||||
.Slider(nameof(baseSpeed), 0, 3, "Base Speed").OnChanged(UpdateMaterialProperties)
|
||||
.Slider(nameof(seamRotation), -180, 180, "Seam Rotation").OnChanged(UpdateMaterialProperties)
|
||||
.Slider(nameof(seamFadeWidth), 0, 5, "Seam Fade Width").OnChanged(UpdateMaterialProperties)
|
||||
.Slider(nameof(seamFadeSmoothness), 0, 5, "Seam Fade Smoothness").OnChanged(UpdateMaterialProperties)
|
||||
.Slider(nameof(fadeFar), 0, 500, "Fade Far").OnChanged(UpdateMaterialProperties)
|
||||
.Slider(nameof(fadeNear), 0, 100, "Fade Near").OnChanged(UpdateMaterialProperties)
|
||||
.Slider(nameof(tubeRadius), 0, 50, "Tube Radius").OnChanged(UpdateMaterialProperties)
|
||||
.Build();
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
|
||||
@@ -33,8 +33,49 @@ namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse
|
||||
public override void SetUpInspector()
|
||||
{
|
||||
base.SetUpInspector();
|
||||
// 让强劲的特性打包流去替接管全部 20 几个杂毛元素生成,并自动分装成横列!
|
||||
Ichni.Editor.DynamicUIAutoBuilder.AutoBuild(this, EditorManager.instance.uiManager.inspector);
|
||||
|
||||
InspectorBuilder.For(this)
|
||||
.Section("DTMStarrySkybox - Sky")
|
||||
.ColorPicker(nameof(skyColor), "Sky Color")
|
||||
.ColorPicker(nameof(horizon), "Horizon")
|
||||
.Slider(nameof(horizonStrength), 0, 5, "Horizon Strength")
|
||||
.Span(2)
|
||||
.Slider(nameof(horizonSkyHeight), 0, 2, "Horizon Sky Height")
|
||||
.Span(2)
|
||||
.Section("DTMStarrySkybox - Stars")
|
||||
.Toggle(nameof(useStarMap), "Use Star Map")
|
||||
.Slider(nameof(starDensity), 0, 200, "Star Density")
|
||||
.Span(2)
|
||||
.Slider(nameof(starSize), 0, 300, "Star Size")
|
||||
.Span(2)
|
||||
.ColorPicker(nameof(starColor), "Star Color")
|
||||
.Toggle(nameof(preventStarsInFrontOfSun), "Prevent Stars In Front Of Sun")
|
||||
.InputField(nameof(starMapTextureName), "Star Map Texture (Name)")
|
||||
.Span(3)
|
||||
.Section("DTMStarrySkybox - Sun")
|
||||
.Toggle(nameof(haveSun), "Have Sun")
|
||||
.InputField(nameof(sunMaskTextureName), "Sun Mask Texture (Name)")
|
||||
.Span(3)
|
||||
.Slider(nameof(sunMaskSize), 0, 0.2f, "Sun Mask Size")
|
||||
.Span(2)
|
||||
.Slider(nameof(sunMaskSpherize), 0, 30, "Sun Mask Spherize")
|
||||
.Span(2)
|
||||
.Slider(nameof(sunDiscSize), 0, 5, "Sun Disc Size")
|
||||
.Span(2)
|
||||
.ColorPicker(nameof(sunColorOne), "Sun Color One")
|
||||
.ColorPicker(nameof(sunColorTwo), "Sun Color Two")
|
||||
.Slider(nameof(sunGradientStrength), 0, 10, "Sun Gradient Strength")
|
||||
.Span(2)
|
||||
.Slider(nameof(sunGradientHeight), 0, 3, "Sun Gradient Height")
|
||||
.Span(2)
|
||||
.Section("DTMStarrySkybox - Fog")
|
||||
.Slider(nameof(fogHeight), 0, 5, "Fog Height")
|
||||
.Span(2)
|
||||
.Slider(nameof(fogPower), 0, 1, "Fog Power")
|
||||
.Span(2)
|
||||
.Slider(nameof(fogContrast), 0, 200, "Fog Contrast")
|
||||
.Span(2)
|
||||
.Build();
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
|
||||
@@ -17,58 +17,37 @@ namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse
|
||||
{
|
||||
base.SetUpInspector();
|
||||
|
||||
IHaveInspection inspector = EditorManager.instance.uiManager.inspector;
|
||||
var container = inspector.GenerateContainer("DTMTrail");
|
||||
var subcontainer = container.GenerateSubcontainer(3);
|
||||
IHaveInspection insp = EditorManager.instance.uiManager.inspector;
|
||||
|
||||
var visibleTimeLengthButton = inspector.GenerateButton(this, subcontainer, "Visible Time Length", () =>
|
||||
{
|
||||
var ew = inspector.GenerateCompositeParameterWindow(
|
||||
this, "Visible Time Length", nameof(visibleTimeLength));
|
||||
ew.SetAsFlexibleFloat();
|
||||
});
|
||||
|
||||
var enableTimeListButton = inspector.GenerateButton(this, subcontainer, "Enable Head Time List", () =>
|
||||
{
|
||||
var ew = inspector.GenerateCompositeParameterWindow(
|
||||
this, "Enable Head Time List", nameof(enableTimes));
|
||||
ew.SetAsFlexibleBool();
|
||||
});
|
||||
|
||||
var headRotateSpeedButton = inspector.GenerateButton(this, subcontainer, "Head Rotate Speed", () =>
|
||||
{
|
||||
var ew = inspector.GenerateCompositeParameterWindow(
|
||||
this, "Head Rotate Speed", nameof(headRotateSpeed));
|
||||
ew.SetAsFlexibleFloat();
|
||||
});
|
||||
|
||||
var enableProcessTimeSlider =
|
||||
inspector.GenerateSlider(this, subcontainer, "Enable Process Time", nameof(enableProcessTime), min: 0, max: 3);
|
||||
|
||||
var headSizeSlider =
|
||||
inspector.GenerateSlider(this, subcontainer, "Head Size", nameof(headSize), min: 0, max: 10);
|
||||
|
||||
var curveSettings = container.GenerateSubcontainer(3);
|
||||
var widthCurveButton = inspector.GenerateButton(this, curveSettings, "Width Curve", () =>
|
||||
{
|
||||
var window = inspector.GenerateCompositeParameterWindow(this, "Width Curve", nameof(widthCurve));
|
||||
window.SetAsCustomCurve();
|
||||
window.closeButton.onClick.AddListener(() => trailRenderer.widthCurve = widthCurve);
|
||||
});
|
||||
|
||||
var colorSettings = container.GenerateSubcontainer(3);
|
||||
var gradientColorKeysButton = inspector.GenerateButton(this, colorSettings, "Gradient Color Keys", () =>
|
||||
{
|
||||
var gradientWindow = inspector.GenerateCompositeParameterWindow(this, "Gradient Color Keys", nameof(trailAlphaGradient));
|
||||
gradientWindow.SetAsGradientColorKeys();
|
||||
gradientWindow.closeButton.onClick.AddListener(() => trailRenderer.colorGradient = trailAlphaGradient);
|
||||
});
|
||||
var gradientAlphaKeysButton = inspector.GenerateButton(this, colorSettings, "Gradient Alpha Keys", () =>
|
||||
{
|
||||
var gradientWindow = inspector.GenerateCompositeParameterWindow(this, "Gradient Alpha Keys", nameof(trailAlphaGradient));
|
||||
gradientWindow.SetAsGradientAlphaKeys();
|
||||
gradientWindow.closeButton.onClick.AddListener(() => trailRenderer.colorGradient = trailAlphaGradient);
|
||||
});
|
||||
InspectorBuilder.For(this)
|
||||
.Section("DTMTrail")
|
||||
.Button("Visible Time Length", () =>
|
||||
insp.GenerateCompositeParameterWindow(this, "Visible Time Length", nameof(visibleTimeLength)).SetAsFlexibleFloat())
|
||||
.Button("Enable Head Time List", () =>
|
||||
insp.GenerateCompositeParameterWindow(this, "Enable Head Time List", nameof(enableTimes)).SetAsFlexibleBool())
|
||||
.Button("Head Rotate Speed", () =>
|
||||
insp.GenerateCompositeParameterWindow(this, "Head Rotate Speed", nameof(headRotateSpeed)).SetAsFlexibleFloat())
|
||||
.Slider(nameof(enableProcessTime), 0, 3, "Enable Process Time")
|
||||
.Slider(nameof(headSize), 0, 10, "Head Size")
|
||||
.Button("Width Curve", () =>
|
||||
{
|
||||
var window = insp.GenerateCompositeParameterWindow(this, "Width Curve", nameof(widthCurve));
|
||||
window.SetAsCustomCurve();
|
||||
window.closeButton.onClick.AddListener(() => trailRenderer.widthCurve = widthCurve);
|
||||
})
|
||||
.Button("Gradient Color Keys", () =>
|
||||
{
|
||||
var gradientWindow = insp.GenerateCompositeParameterWindow(this, "Gradient Color Keys", nameof(trailAlphaGradient));
|
||||
gradientWindow.SetAsGradientColorKeys();
|
||||
gradientWindow.closeButton.onClick.AddListener(() => trailRenderer.colorGradient = trailAlphaGradient);
|
||||
})
|
||||
.Button("Gradient Alpha Keys", () =>
|
||||
{
|
||||
var gradientWindow = insp.GenerateCompositeParameterWindow(this, "Gradient Alpha Keys", nameof(trailAlphaGradient));
|
||||
gradientWindow.SetAsGradientAlphaKeys();
|
||||
gradientWindow.closeButton.onClick.AddListener(() => trailRenderer.colorGradient = trailAlphaGradient);
|
||||
})
|
||||
.Build();
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
|
||||
@@ -7,8 +7,10 @@ namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse
|
||||
#region [Editor] Inspection
|
||||
public override void SetUpInspector()
|
||||
{
|
||||
IHaveInspection inspector = EditorManager.instance.uiManager.inspector;
|
||||
var container = inspector.GenerateContainer("DTM Note Bad Burst");
|
||||
InspectorBuilder.For(this)
|
||||
.Section("DTM Note Bad Burst")
|
||||
.HintText("No configurable parameters")
|
||||
.Build();
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
|
||||
@@ -7,11 +7,11 @@ namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse
|
||||
#region [Editor] Inspection
|
||||
public override void SetUpInspector()
|
||||
{
|
||||
IHaveInspection inspector = EditorManager.instance.uiManager.inspector;
|
||||
var container = inspector.GenerateContainer("DTM Note Generate Expand");
|
||||
var subcontainer = container.GenerateSubcontainer(3);
|
||||
var generateTimeField = inspector.GenerateInputField(this, subcontainer, "Generate Time", nameof(generateTime));
|
||||
var effectTimeField = inspector.GenerateInputField(this, subcontainer, "Effect Time", nameof(effectTime));
|
||||
InspectorBuilder.For(this)
|
||||
.Section("DTM Note Generate Expand")
|
||||
.InputField(nameof(generateTime), "Generate Time")
|
||||
.InputField(nameof(effectTime), "Effect Time")
|
||||
.Build();
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
|
||||
@@ -7,11 +7,11 @@ namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse
|
||||
#region [Editor] Inspection
|
||||
public override void SetUpInspector()
|
||||
{
|
||||
IHaveInspection inspector = EditorManager.instance.uiManager.inspector;
|
||||
var container = inspector.GenerateContainer("DTM Note Generate Expand");
|
||||
var subcontainer = container.GenerateSubcontainer(3);
|
||||
var generateTimeField = inspector.GenerateInputField(this, subcontainer, "Generate Time", nameof(generateTime));
|
||||
var effectTimeField = inspector.GenerateInputField(this, subcontainer, "Effect Time", nameof(effectTime));
|
||||
InspectorBuilder.For(this)
|
||||
.Section("DTM Note Generate Extend")
|
||||
.InputField(nameof(generateTime), "Generate Time")
|
||||
.InputField(nameof(effectTime), "Effect Time")
|
||||
.Build();
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
|
||||
@@ -7,8 +7,10 @@ namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse
|
||||
#region [Editor] Inspection
|
||||
public override void SetUpInspector()
|
||||
{
|
||||
IHaveInspection inspector = EditorManager.instance.uiManager.inspector;
|
||||
var container = inspector.GenerateContainer("DTM Note Good Burst");
|
||||
InspectorBuilder.For(this)
|
||||
.Section("DTM Note Good Burst")
|
||||
.HintText("No configurable parameters")
|
||||
.Build();
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
|
||||
@@ -7,9 +7,10 @@ namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse
|
||||
#region [Editor] Inspection
|
||||
public override void SetUpInspector()
|
||||
{
|
||||
IHaveInspection inspector = EditorManager.instance.uiManager.inspector;
|
||||
var container = inspector.GenerateContainer("Basic Note Holding Expand");
|
||||
var subcontainer = container.GenerateSubcontainer(3);
|
||||
InspectorBuilder.For(this)
|
||||
.Section("DTM Note Holding Breath")
|
||||
.HintText("No configurable parameters")
|
||||
.Build();
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
|
||||
@@ -7,10 +7,10 @@ namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse
|
||||
#region [Editor] Inspection
|
||||
public override void SetUpInspector()
|
||||
{
|
||||
IHaveInspection inspector = EditorManager.instance.uiManager.inspector;
|
||||
var container = inspector.GenerateContainer("DTM Note Miss Transparent");
|
||||
var subcontainer = container.GenerateSubcontainer(3);
|
||||
var effectTimeField = inspector.GenerateInputField(this, subcontainer, "Effect Time", nameof(effectTime));
|
||||
InspectorBuilder.For(this)
|
||||
.Section("DTM Note Miss Transparent")
|
||||
.InputField(nameof(effectTime), "Effect Time")
|
||||
.Build();
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
|
||||
@@ -7,8 +7,10 @@ namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse
|
||||
#region [Editor] Inspection
|
||||
public override void SetUpInspector()
|
||||
{
|
||||
IHaveInspection inspector = EditorManager.instance.uiManager.inspector;
|
||||
var container = inspector.GenerateContainer("DTM Note Perfect Burst");
|
||||
InspectorBuilder.For(this)
|
||||
.Section("DTM Note Perfect Burst")
|
||||
.HintText("No configurable parameters")
|
||||
.Build();
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
|
||||
@@ -7,16 +7,15 @@ namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse
|
||||
#region [Editor] Inspection
|
||||
public override void SetUpInspector()
|
||||
{
|
||||
IHaveInspection inspector = EditorManager.instance.uiManager.inspector;
|
||||
var container = inspector.GenerateContainer("DTM Ripple Effect");
|
||||
var effectSettings1 = container.GenerateSubcontainer(3);
|
||||
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));
|
||||
var positionOffsetInputField = inspector.GenerateVector3InputField(this, effectSettings2, "Position Offset", nameof(positionOffset));
|
||||
var eulerAnglesInputField = inspector.GenerateVector3InputField(this, effectSettings2, "Euler Angles", nameof(eulerAnglesOffset));
|
||||
var scaleInputField = inspector.GenerateVector3InputField(this, effectSettings2, "Scale", nameof(scale));
|
||||
SetRemove(effectSettings2);
|
||||
InspectorBuilder.For(this)
|
||||
.Section("DTM Ripple Effect")
|
||||
.InputField(nameof(rippleTime), "Ripple Time")
|
||||
.EmissionColorPicker(nameof(emissionColor), "NULL", nameof(emissionIntensity), "Color")
|
||||
.Vector3Field(nameof(positionOffset), "Position Offset")
|
||||
.Vector3Field(nameof(eulerAnglesOffset), "Euler Angles")
|
||||
.Vector3Field(nameof(scale), "Scale")
|
||||
.Button("Remove", () => { nowEffectState = EffectState.Before; AccommodatingList.Remove(this); EditorManager.instance.uiManager.inspector.SetInspector(attachedGameElement); })
|
||||
.Build();
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
|
||||
@@ -17,55 +17,33 @@ namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse
|
||||
[NonSerialized] public Material skyboxMaterial;
|
||||
|
||||
// --- Sky ---
|
||||
[Ichni.Editor.DynamicUIEmissionColor("Sky Color", Group = "DTMStarrySkybox - Sky")]
|
||||
public Color skyColor = Color.blue;
|
||||
[Ichni.Editor.DynamicUIEmissionColor("Horizon", Group = "DTMStarrySkybox - Sky")]
|
||||
public Color horizon = Color.cyan;
|
||||
[Ichni.Editor.DynamicUISlider("Horizon Strength", Group = "DTMStarrySkybox - Sky", Span = 2, Min = 0, Max = 5)]
|
||||
public float horizonStrength = 2f;
|
||||
[Ichni.Editor.DynamicUISlider("Horizon Sky Height", Group = "DTMStarrySkybox - Sky", Span = 2, Min = 0, Max = 2)]
|
||||
public float horizonSkyHeight = 0.7f;
|
||||
|
||||
// --- Stars ---
|
||||
[Ichni.Editor.DynamicUI("Use Star Map", Group = "DTMStarrySkybox - Stars")]
|
||||
public bool useStarMap = true;
|
||||
[Ichni.Editor.DynamicUISlider("Star Density", Group = "DTMStarrySkybox - Stars", Span = 2, Min = 0, Max = 200)]
|
||||
public float starDensity = 30f;
|
||||
[Ichni.Editor.DynamicUISlider("Star Size", Group = "DTMStarrySkybox - Stars", Span = 2, Min = 0, Max = 300)]
|
||||
public float starSize = 75f;
|
||||
[Ichni.Editor.DynamicUIEmissionColor("Star Color", Group = "DTMStarrySkybox - Stars")]
|
||||
public Color starColor = Color.white;
|
||||
[Ichni.Editor.DynamicUI("Prevent Stars In Front Of Sun", Group = "DTMStarrySkybox - Stars")]
|
||||
public bool preventStarsInFrontOfSun = true;
|
||||
[Ichni.Editor.DynamicUI("Star Map Texture (Name)", Group = "DTMStarrySkybox - Stars", Span = 3)]
|
||||
public string starMapTextureName = "None"; // 较长文本强行占满全行
|
||||
public string starMapTextureName = "None";
|
||||
|
||||
// --- Sun Mask ---
|
||||
[Ichni.Editor.DynamicUI("Have Sun", Group = "DTMStarrySkybox - Sun")]
|
||||
public bool haveSun = false;
|
||||
[Ichni.Editor.DynamicUI("Sun Mask Texture (Name)", Group = "DTMStarrySkybox - Sun", Span = 3)]
|
||||
public string sunMaskTextureName = "None";
|
||||
[Ichni.Editor.DynamicUISlider("Sun Mask Size", Group = "DTMStarrySkybox - Sun", Span = 2, Min = 0, Max = 0.2f)]
|
||||
public float sunMaskSize = 0.02f;
|
||||
[Ichni.Editor.DynamicUISlider("Sun Mask Spherize", Group = "DTMStarrySkybox - Sun", Span = 2, Min = 0, Max = 30)]
|
||||
public float sunMaskSpherize = 13.2f;
|
||||
[Ichni.Editor.DynamicUISlider("Sun Disc Size", Group = "DTMStarrySkybox - Sun", Span = 2, Min = 0, Max = 5)]
|
||||
public float sunDiscSize = 1f;
|
||||
[Ichni.Editor.DynamicUIEmissionColor("Sun Color One", Group = "DTMStarrySkybox - Sun")]
|
||||
public Color sunColorOne = Color.white;
|
||||
[Ichni.Editor.DynamicUIEmissionColor("Sun Color Two", Group = "DTMStarrySkybox - Sun")]
|
||||
public Color sunColorTwo = Color.white;
|
||||
[Ichni.Editor.DynamicUISlider("Sun Gradient Strength", Group = "DTMStarrySkybox - Sun", Span = 2, Min = 0, Max = 10)]
|
||||
public float sunGradientStrength = 3.7f;
|
||||
[Ichni.Editor.DynamicUISlider("Sun Gradient Height", Group = "DTMStarrySkybox - Sun", Span = 2, Min = 0, Max = 3)]
|
||||
public float sunGradientHeight = 1.23f;
|
||||
|
||||
// --- Fog ---
|
||||
[Ichni.Editor.DynamicUISlider("Fog Height", Group = "DTMStarrySkybox - Fog", Span = 2, Min = 0, Max = 5)]
|
||||
public float fogHeight = 1f;
|
||||
[Ichni.Editor.DynamicUISlider("Fog Power", Group = "DTMStarrySkybox - Fog", Span = 2, Min = 0, Max = 1)]
|
||||
public float fogPower = 0.5f;
|
||||
[Ichni.Editor.DynamicUISlider("Fog Contrast", Group = "DTMStarrySkybox - Fog", Span = 2, Min = 0, Max = 200)]
|
||||
public float fogContrast = 40f;
|
||||
|
||||
#endregion
|
||||
|
||||
Reference in New Issue
Block a user