/
AvatarMenuCreatorBaseParameterProvider.cs
39 lines (35 loc) · 1.39 KB
/
AvatarMenuCreatorBaseParameterProvider.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
using nadena.dev.ndmf;
using net.narazaka.avatarmenucreator.components;
using net.narazaka.avatarmenucreator.components.editor;
using net.narazaka.avatarmenucreator.editor.util;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Diagnostics.CodeAnalysis;
using System.Linq;
namespace net.narazaka.avatarmenucreator.editor
{
[ParameterProviderFor(typeof(AvatarMenuCreatorBase))]
internal class AvatarMenuCreatorBaseParameterProvider : IParameterProvider
{
readonly AvatarMenuCreatorBase Menu;
public AvatarMenuCreatorBaseParameterProvider(AvatarMenuCreatorBase c)
{
Menu = c;
}
public IEnumerable<ProvidedParameter> GetSuppliedParameters([AllowNull] BuildContext context = null)
{
return Menu.GetParameterNameAndTypes().Select(p =>
new ProvidedParameter(p.name, ParameterNamespace.Animator, Menu, AvatarMenuCreatorPlugin.Instance, p.valueType.ToAnimatorControllerParameterType())
{
WantSynced = true,
IsHidden = Menu.AvatarMenu.InternalParameter,
}
);
}
public void RemapParameters(ref ImmutableDictionary<(ParameterNamespace, string), ParameterMapping> nameMap,
BuildContext context)
{
// no-op
}
}
}