@@ -1,3 +1,4 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
@@ -103,8 +104,9 @@ namespace Ichni.RhythmGame
|
||||
var effectNameInputField = inspector.GenerateInputField(subcontainer, "Effect Name");
|
||||
var addEffectButton = inspector.GenerateButton(this, subcontainer, "Add Effect", () =>
|
||||
{
|
||||
if (EffectCollection.TryGetValue(effectNameInputField.GetValue<string>(), out EffectBase newEffect))
|
||||
if (EffectCollection.TryGetValue(effectNameInputField.GetValue<string>(), out var factory))
|
||||
{
|
||||
EffectBase newEffect = factory.Invoke(); // 创建新实例
|
||||
newEffect.attachedGameElement = attachedGameElement;
|
||||
effectCollection[effect.Key].Add(newEffect);
|
||||
newEffect.AccommodatingList = effectCollection[effect.Key];
|
||||
@@ -132,23 +134,23 @@ namespace Ichni.RhythmGame
|
||||
Note,
|
||||
}
|
||||
|
||||
private static Dictionary<string, EffectBase> EffectCollection { get; } =
|
||||
new Dictionary<string, EffectBase>()
|
||||
private static Dictionary<string, Func<EffectBase>> EffectCollection { get; } =
|
||||
new Dictionary<string, Func<EffectBase>>()
|
||||
{
|
||||
{ "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)) },
|
||||
{ "RadialBlur", new RadialBlurEffect(1,4,0.5f,0.5f, 1, CustomCurvePresets.Parabolic(1,0,1))},
|
||||
{ "Vignette", new VignetteEffect(1, 1, 0.4f, Color.black, CustomCurvePresets.Parabolic(1, 0, 1)) },
|
||||
{ "SetInteger", new SetIntegerEffect("New Variable", 0, false, 0, 1) },
|
||||
{ "EnableControl", new EnableControlEffect(null, "New Variable", 0, false, "") },
|
||||
{ "Pixelate", new PixelateEffect(1, 320, 180, CustomCurvePresets.Instant())},
|
||||
{ "LowPassFilter", new LowPassFilterEffect(1, 10, CustomCurvePresets.Parabolic(1, 0, 1)) },
|
||||
{ "HighPassFilter", new HighPassFilterEffect(1, 22000, CustomCurvePresets.Parabolic(1, 0, 1)) },
|
||||
{ "DTM_RippleEffect", new DTMRippleEffect(0.65f, Color.white, 0) }
|
||||
{ "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)) },
|
||||
{ "RadialBlur",()=> new RadialBlurEffect(1,4,0.5f,0.5f, 1, CustomCurvePresets.Parabolic(1,0,1))},
|
||||
{ "Vignette", ()=>new VignetteEffect(1, 1, 0.4f, Color.black, CustomCurvePresets.Parabolic(1, 0, 1)) },
|
||||
{ "SetInteger",()=> new SetIntegerEffect("New Variable", 0, false, 0, 1) },
|
||||
{ "EnableControl",()=> new EnableControlEffect(null, "New Variable", 0, false, "") },
|
||||
{ "Pixelate", ()=>new PixelateEffect(1, 320, 180, CustomCurvePresets.Instant())},
|
||||
{ "LowPassFilter", ()=>new LowPassFilterEffect(1, 10, CustomCurvePresets.Parabolic(1, 0, 1)) },
|
||||
{ "HighPassFilter",()=> new HighPassFilterEffect(1, 22000, CustomCurvePresets.Parabolic(1, 0, 1)) },
|
||||
{ "DTM_RippleEffect",()=> new DTMRippleEffect(0.65f, Color.white, 0) }
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user