EnumUtil to CacheEnum

This commit is contained in:
hiroj
2020-05-29 15:33:25 +09:00
parent 3dcec1376f
commit 4a3f4c3548
6 changed files with 25 additions and 13 deletions

View File

@@ -79,17 +79,29 @@ namespace VRM
/// </summary>
public void CreateDefaultPreset()
{
foreach (var preset in ((BlendShapePreset[])Enum.GetValues(typeof(BlendShapePreset)))
.Where(x => x != BlendShapePreset.Unknown))
var presets = CacheEnum.GetValues<BlendShapePreset>();
foreach (var preset in presets)
{
if (preset == BlendShapePreset.Unknown) continue;
CreateDefaultPreset(preset);
}
}
void CreateDefaultPreset(BlendShapePreset preset)
{
var clip = GetClip(preset);
BlendShapeClip clip = null;
foreach (var c in Clips)
{
if (c.Preset == preset)
{
clip = c;
break;
}
}
if (clip != null) return;
clip = ScriptableObject.CreateInstance<BlendShapeClip>();
clip.name = preset.ToString();
clip.BlendShapeName = preset.ToString();

View File

@@ -128,7 +128,7 @@ namespace VRM
{
if (x.mesh == index)
{
return EnumUtil.TryParseOrDefault<FirstPersonFlag>(x.firstPersonFlag);
return CacheEnum.TryParseOrDefault<FirstPersonFlag>(x.firstPersonFlag, true);
}
}

View File

@@ -158,12 +158,12 @@ namespace VRM
if (group != null)
{
asset.BlendShapeName = groupName;
asset.Preset = EnumUtil.TryParseOrDefault<BlendShapePreset>(group.presetName);
asset.Preset = CacheEnum.TryParseOrDefault<BlendShapePreset>(group.presetName, true);
asset.IsBinary = group.isBinary;
if (asset.Preset == BlendShapePreset.Unknown)
{
// fallback
asset.Preset = EnumUtil.TryParseOrDefault<BlendShapePreset>(group.name);
asset.Preset = CacheEnum.TryParseOrDefault<BlendShapePreset>(group.name, true);
}
asset.Values = group.binds.Select(x =>
{

View File

@@ -87,7 +87,7 @@ namespace VRM
{
get
{
return EnumUtil.TryParseOrDefault<LookAtType>(lookAtTypeName);
return CacheEnum.TryParseOrDefault<LookAtType>(lookAtTypeName, true);
}
set { lookAtTypeName = value.ToString(); }
}

View File

@@ -73,7 +73,7 @@ namespace VRM
{
public static VRMBone FromHumanBodyBone(this HumanBodyBones human)
{
return EnumUtil.TryParseOrDefault<VRMBone>(human.ToString(), VRMBone.unknown);
return human.ToVrmBone();
}
public static HumanBodyBones ToHumanBodyBone(this VRMBone bone)
@@ -85,7 +85,7 @@ namespace VRM
return HumanBodyBones.LastBone;
}
#endif
return EnumUtil.TryParseOrDefault<HumanBodyBones>(bone.ToString(), HumanBodyBones.LastBone);
return bone.ToUnityBone();
}
}
@@ -161,7 +161,7 @@ namespace VRM
}
get
{
return EnumUtil.TryParseOrDefault<VRMBone>(bone);
return CacheEnum.Parse<VRMBone>(bone, true);
}
}

View File

@@ -36,7 +36,7 @@ namespace VRM
{
static UssageLicense FromString(string src)
{
return EnumUtil.TryParseOrDefault<UssageLicense>(src);
return CacheEnum.TryParseOrDefault<UssageLicense>(src, true);
}
[JsonSchema(Description = "Title of VRM model")]
@@ -69,7 +69,7 @@ namespace VRM
{
get
{
return EnumUtil.TryParseOrDefault<AllowedUser>(allowedUserName);
return CacheEnum.TryParseOrDefault<AllowedUser>(allowedUserName, true);
}
set
{
@@ -135,7 +135,7 @@ namespace VRM
{
get
{
return EnumUtil.TryParseOrDefault<LicenseType>(licenseName);
return CacheEnum.TryParseOrDefault<LicenseType>(licenseName, true);
}
set
{