自动化生成字典

This commit is contained in:
2025-12-12 15:19:10 +08:00
parent ae9793d6f9
commit ddf38a88b6
30 changed files with 353 additions and 294 deletions

View File

@@ -263,17 +263,17 @@ MonoBehaviour:
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Runtime::UnityEngine.Rendering.Universal.DepthOfField
active: 1
mode:
m_OverrideState: 0
m_Value: 0
m_OverrideState: 1
m_Value: 1
gaussianStart:
m_OverrideState: 0
m_Value: 10
m_OverrideState: 1
m_Value: 20
gaussianEnd:
m_OverrideState: 0
m_OverrideState: 1
m_Value: 30
gaussianMaxRadius:
m_OverrideState: 0
m_Value: 1
m_OverrideState: 1
m_Value: 1.5
highQualitySampling:
m_OverrideState: 0
m_Value: 0

File diff suppressed because one or more lines are too long

View File

@@ -1,9 +1,11 @@
using Demo.Attr;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace Demo.Game
{
[Scriptable]
public class Anchor : ScriptableObject
{
protected override bool IsSelfEnableUpdate => false;

View File

@@ -1,9 +1,11 @@
using Demo.Attr;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace Demo.Game
{
[Scriptable]
public class PrefabRootObject : ScriptableObject, IAssetBundleLoader
{
public static PrefabRootObject Make()

View File

@@ -1,10 +1,12 @@
using Convention;
using Demo.Attr;
using System.Collections;
using System.Collections.Generic;
using Convention;
using UnityEngine;
namespace Demo.Game
{
[Scriptable]
public class SkyUpdatement : Updatement<int>, IAssetBundleLoader
{
public static SkyUpdatement Make()

View File

@@ -1,10 +1,12 @@
using Convention;
using Demo.Attr;
using System.Collections;
using System.Collections.Generic;
using Convention;
using UnityEngine;
namespace Demo.Game
{
[Scriptable]
public class WorldLightObject : ScriptableObject
{
public static WorldLightObject Make()

View File

@@ -6,9 +6,11 @@ using Cinemachine;
#endif
using Convention.WindowsUI.Variant;
using UnityEngine;
using Demo.Attr;
namespace Demo.Game
{
[Scriptable(nameof(MakeCameraObject))]
public class CameraObject : ScriptableObject
{
private Camera MainCamera => Camera.main;

View File

@@ -1,14 +1,16 @@
using Convention;
using Demo.Attr;
using System;
using System.Collections;
using System.Collections.Generic;
using Convention;
using UnityEngine;
using System;
using Unity.Collections;
using UnityEngine.Rendering;
using System.IO;
using Unity.Collections;
using UnityEngine;
using UnityEngine.Rendering;
namespace Demo.Game
{
[Scriptable]
public class DDT : ScriptableObject
{
protected override bool IsSelfEnableUpdate => false;

View File

@@ -7,8 +7,7 @@ using Dreamteck.Splines;
using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Reflection;
using UnityEngine;
namespace Demo
@@ -17,68 +16,6 @@ namespace Demo
{
public static class DefaultInstantiate
{
public static Dictionary<string, Func<ScriptableObject>> GameObjectInstantiate = new()
{
{ $"{nameof(Anchor)}",Anchor.Make},
// Camera
{ $"{nameof(CameraObject)}",CameraObject.MakeCameraObject},
// Global Env
{ $"{nameof(PrefabRootObject)}",PrefabRootObject.Make },
{ $"{nameof(SkyUpdatement)}",SkyUpdatement.Make},
// Sub World
{ $"{nameof(SubWorld)}",SubWorld.Make},
};
public static Dictionary<string, Func<ScriptableObject>> DDTInstantiate = new()
{
{ $"{nameof(DDT)}",DDT.Make}
};
public static Dictionary<string, Func<ScriptableObject>> TickUpdatementInstantiate = new()
{
{ $"{nameof(LookAtAnchor)}",LookAtAnchor.Make},
{ $"{nameof(TickMovement)}",TickMovement.Make},
{ $"{nameof(TickRotation)}",TickRotation.Make},
{ $"{nameof(TickScaling)}",TickScaling.Make},
};
public static Dictionary<string, Func<ScriptableObject>> MaterialUpdatementInstantiate = new()
{
{ $"{nameof(MaterialUpdatement)}",MaterialUpdatement.Make},
{ $"{nameof(ColorUpdatement)}",ColorUpdatement.Make},
{ $"{nameof(EmissionColorUpdatement)}",EmissionColorUpdatement.Make},
};
public static Dictionary<string, Func<ScriptableObject>> SplineInstantiate = new()
{
{ $"{nameof(SplineCore)}",SplineCore.Make},
{ $"{nameof(SplineNode)}",SplineNode.Make},
{ $"{nameof(SplineAnchor)}",SplineAnchor.Make},
{ $"{nameof(SplineMovement)}",SplineMovement.Make},
{ $"{nameof(SplineRotation)}",SplineRotation.Make},
{ $"{nameof(SplineScaling)}",SplineScaling.Make},
{ $"{nameof(SplinePointerObject)}",SplinePointerObject.Make},
{ $"{nameof(SplineTrackRenderer)}",SplineTrackRenderer.Make},
{ $"{nameof(SplineTubeRenderer)}",SplineTubeRenderer.Make},
{ $"{nameof(SplineSurfaceRenderer)}",SplineSurfaceRenderer.Make},
{ $"{nameof(SplineRenderer)}",SplineRenderer.Make},
};
public static Dictionary<string, Func<ScriptableObject>> JudgementInstantiate = new()
{
// 可判定物只能有一个种类被使用,否则会引起输入检定冲突
{ $"{nameof(FullScreenInteraction)}",FullScreenInteraction.Make},
// Effect
{ $"{nameof(ParticleEffect)}",ParticleEffect.Make },
// JudgementEffect
{ $"{nameof(ParticleJudgement)}",ParticleJudgement.Make},
};
public static Dictionary<string, Func<ScriptableObject>> SingleVolumeInstantiate = new()
{
{ $"{nameof(MotionBlurVolume)}", MotionBlurVolume.Make }
};
public static void OpenInstantiateMenu(this ScriptableObject self, RectTransform item)
{
List<SharedModule.CallbackData> result = new()
@@ -99,13 +36,23 @@ namespace Demo
public static Dictionary<string, Func<ScriptableObject>> GetScriptableObjectInstantiate()
{
return s_ScriptableObjectInstantiate ??= new Dictionary<string, Func<ScriptableObject>>(GameObjectInstantiate
.Union(DDTInstantiate)
.Union(TickUpdatementInstantiate)
.Union(MaterialUpdatementInstantiate)
.Union(SplineInstantiate)
.Union(JudgementInstantiate)
.Union(SingleVolumeInstantiate));
//return s_ScriptableObjectInstantiate ??= new Dictionary<string, Func<ScriptableObject>>(GameObjectInstantiate
// .Union(DDTInstantiate)
// .Union(TickUpdatementInstantiate)
// .Union(MaterialUpdatementInstantiate)
// .Union(SplineInstantiate)
// .Union(JudgementInstantiate)
// .Union(SingleVolumeInstantiate));
if (s_ScriptableObjectInstantiate == null)
{
s_ScriptableObjectInstantiate = new();
foreach (var type in Utility.SeekType(x => x.IsSubclassOf(typeof(ScriptableObject)) && x.GetCustomAttribute<Attr.ScriptableAttribute>() != null))
{
var attr = type.GetCustomAttribute<Attr.ScriptableAttribute>();
s_ScriptableObjectInstantiate.Add(type.Name, () => (ScriptableObject)ConventionUtility.InvokeMember(type.GetMethod(attr.generaterName), null));
}
}
return s_ScriptableObjectInstantiate;
}
}
}

View File

@@ -1,13 +1,15 @@
using Convention;
using Demo.Attr;
using System.Collections;
using System.IO;
using System.Linq;
using Convention;
using UnityEngine;
using UnityEngine.SceneManagement;
namespace Demo.Game
{
public class SubWorld : ScriptableObject
[Scriptable]
public class SubWorld : ScriptableObject
{
public static SubWorld Make()
{

View File

@@ -1,11 +1,13 @@
using Convention;
using Demo.Attr;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using Convention;
using UnityEngine;
namespace Demo.Game
{
[Scriptable]
public class ParticleEffect : IEffectHookObject, IAssetBundleLoader
{
public static ParticleEffect Make()

View File

@@ -1,8 +1,10 @@
using Convention;
using Demo.Attr;
using UnityEngine;
namespace Demo.Game
{
[Scriptable]
public class FullScreenInteraction : IInteraction
{
public static FullScreenInteraction Make()

View File

@@ -1,4 +1,5 @@
using Convention;
using Demo.Attr;
using NUnit.Framework.Internal;
using System.Collections;
using System.Collections.Generic;
@@ -6,6 +7,7 @@ using UnityEngine;
namespace Demo.Game
{
[Scriptable]
public class ParticleJudgement : IJudgementHookObject, IAssetBundleLoader
{
public static ParticleJudgement Make()

View File

@@ -1,10 +1,12 @@
using Convention;
using Demo.Attr;
using System.Collections;
using System.Collections.Generic;
using Convention;
using UnityEngine;
namespace Demo.Game
{
[Scriptable]
public class LookAtAnchor : Updatement<int>
{
public static LookAtAnchor Make()

View File

@@ -1,4 +1,5 @@
using Convention;
using Demo.Attr;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
@@ -6,6 +7,7 @@ using UnityEngine.Rendering.LookDev;
namespace Demo.Game
{
[Scriptable]
public class MaterialUpdatement : Updatement<int>, IAssetBundleLoader
{
public static MaterialUpdatement Make()

View File

@@ -1,9 +1,11 @@
using Demo.Attr;
using Dreamteck.Splines;
using System.Collections;
using UnityEngine;
namespace Demo.Game
{
[Scriptable]
public class SplineRenderer : BasicSplineRenderer<Dreamteck.Splines.SplineRenderer>
{
public static SplineRenderer Make()

View File

@@ -1,9 +1,11 @@
using Demo.Attr;
using Dreamteck.Splines;
using System.Collections;
using UnityEngine;
namespace Demo.Game
{
[Scriptable]
public class SplineSurfaceRenderer : BasicSplineRenderer<SurfaceGenerator>
{
public static SplineSurfaceRenderer Make()

View File

@@ -1,11 +1,13 @@
using Convention;
using Demo.Attr;
using Dreamteck.Splines;
using System;
using System.Collections;
using Convention;
using Dreamteck.Splines;
using UnityEngine;
namespace Demo.Game
{
[Scriptable]
public class SplineTrackRenderer : BasicSplineRenderer<PathGenerator>
{
public static SplineTrackRenderer Make()

View File

@@ -1,11 +1,13 @@
using Convention;
using Demo.Attr;
using Dreamteck.Splines;
using System;
using System.Collections;
using Convention;
using Dreamteck.Splines;
using UnityEngine;
namespace Demo.Game
{
[Scriptable]
public class SplineTubeRenderer : BasicSplineRenderer<TubeGenerator>
{
public static SplineTubeRenderer Make()

View File

@@ -1,9 +1,11 @@
using Demo.Attr;
using System;
using System.Collections;
using UnityEngine;
namespace Demo.Game
{
[Scriptable]
public class SplineAnchor : ScriptableObject, IDependOnSplineCore, IDependOnSplineRenderer
{
public static SplineAnchor Make()

View File

@@ -1,8 +1,9 @@
using Convention;
using Demo.Attr;
using Dreamteck.Splines;
using System;
using System.Collections;
using System.Collections.Generic;
using Convention;
using Dreamteck.Splines;
using UnityEngine;
namespace Demo.Game
@@ -48,6 +49,7 @@ namespace Demo.Game
}
}
[Scriptable]
public class SplineCore : ScriptableObject
{
protected override bool IsSelfEnableUpdate => false;

View File

@@ -1,10 +1,12 @@
using System.Collections;
using Convention;
using Demo.Attr;
using Dreamteck.Splines;
using System.Collections;
using UnityEngine;
namespace Demo.Game
{
[Scriptable]
public class SplineNode : ScriptableObject
{
protected override bool IsSelfEnableUpdate => false;

View File

@@ -1,11 +1,13 @@
using System.Collections;
using Convention;
using Convention.WindowsUI.Variant;
using Demo.Attr;
using Dreamteck.Splines;
using System.Collections;
using UnityEngine;
namespace Demo.Game
{
[Scriptable]
public class SplineMovement : BasicSplineJustFollow
{
public static SplineMovement Make()

View File

@@ -1,12 +1,14 @@
using System.Collections;
using System.Collections.Generic;
using Convention;
using Convention.WindowsUI.Variant;
using Demo.Attr;
using Dreamteck.Splines;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace Demo.Game
{
[Scriptable]
public class SplinePointerObject : BasicSplineJustFollow
{
public static SplinePointerObject Make()

View File

@@ -1,6 +1,7 @@
using Convention;
using Demo.Attr;
using System;
using System.Collections;
using Convention;
using UnityEngine;
namespace Demo.Game
@@ -8,6 +9,7 @@ namespace Demo.Game
/// <summary>
/// 天然被动跟随
/// </summary>
[Scriptable]
public class SplineRotation : BasicSplineJustFollow
{
public static SplineRotation Make()

View File

@@ -1,3 +1,4 @@
using Demo.Attr;
using UnityEngine;
namespace Demo.Game
@@ -5,6 +6,7 @@ namespace Demo.Game
/// <summary>
/// 天然被动跟随
/// </summary>
[Scriptable]
public class SplineScaling : BasicSplineJustFollow
{
public static SplineScaling Make()

View File

@@ -1,12 +1,14 @@
using Convention;
using Convention.WindowsUI.Variant;
using Demo.Attr;
using System;
using System.Collections;
using System.Collections.Generic;
using Convention;
using Convention.WindowsUI.Variant;
using UnityEngine;
namespace Demo.Game
{
[Scriptable]
public class TickMovement : Updatement<Vector3>
{
public static TickMovement Make()

View File

@@ -1,9 +1,11 @@
using System;
using Convention;
using Demo.Attr;
using System;
using UnityEngine;
namespace Demo.Game
{
[Scriptable]
public class TickRotation : Updatement<Vector3>
{
public static TickRotation Make()

View File

@@ -1,9 +1,11 @@
using System;
using Convention;
using Demo.Attr;
using System;
using UnityEngine;
namespace Demo.Game
{
[Scriptable]
public class TickScaling : Updatement<Vector3>
{
public static TickScaling Make()

View File

@@ -1,8 +1,10 @@
using Demo.Attr;
using UnityEngine;
using UnityEngine.Rendering.Universal;
namespace Demo.Game
{
[Scriptable]
public class MotionBlurVolume : BaseForSingleVolume<MotionBlur>
{
public static MotionBlurVolume Make()