87 lines
2.2 KiB
C#
87 lines
2.2 KiB
C#
using System.Collections.Generic;
|
|
using UniGLTF;
|
|
using UnityEngine;
|
|
|
|
|
|
namespace VRM
|
|
{
|
|
[CreateAssetMenu(menuName = "VRM/MetaObject")]
|
|
public class VRMMetaObject : ScriptableObject
|
|
{
|
|
[SerializeField]
|
|
public string ExporterVersion;
|
|
|
|
#region Info
|
|
[SerializeField]
|
|
public string Title;
|
|
|
|
[SerializeField]
|
|
public string Version;
|
|
|
|
[SerializeField]
|
|
public string Author;
|
|
|
|
[SerializeField]
|
|
public string ContactInformation;
|
|
|
|
[SerializeField]
|
|
public string Reference;
|
|
|
|
[SerializeField]
|
|
public Texture2D Thumbnail;
|
|
#endregion
|
|
|
|
#region Permission
|
|
[SerializeField, Tooltip("A person who can perform with this avatar")]
|
|
public AllowedUser AllowedUser;
|
|
|
|
[SerializeField, Tooltip("Violent acts using this avatar")]
|
|
public UssageLicense ViolentUssage;
|
|
|
|
[SerializeField, Tooltip("Sexuality acts using this avatar")]
|
|
public UssageLicense SexualUssage;
|
|
|
|
[SerializeField, Tooltip("For commercial use")]
|
|
public UssageLicense CommercialUssage;
|
|
|
|
[SerializeField, Tooltip("Other License Url")]
|
|
public string OtherPermissionUrl;
|
|
#endregion
|
|
|
|
#region Distribution License
|
|
[SerializeField]
|
|
public LicenseType LicenseType;
|
|
|
|
[SerializeField]
|
|
public string OtherLicenseUrl;
|
|
#endregion
|
|
|
|
/*
|
|
public bool Equals(VRMMetaObject other)
|
|
{
|
|
return
|
|
Author == other.Author
|
|
&& Title == other.Title
|
|
&& UniGLTF.MonoBehaviourComparator.AssetAreEquals(Thumbnail, other.Thumbnail)
|
|
;
|
|
}
|
|
*/
|
|
|
|
public IEnumerable<Validation> Validate(GameObject _)
|
|
{
|
|
if (string.IsNullOrEmpty(Title))
|
|
{
|
|
yield return Validation.Error("Require Title. ");
|
|
}
|
|
if (string.IsNullOrEmpty(Version))
|
|
{
|
|
yield return Validation.Error("Require Version. ");
|
|
}
|
|
if (string.IsNullOrEmpty(Author))
|
|
{
|
|
yield return Validation.Error("Require Author. ");
|
|
}
|
|
}
|
|
}
|
|
}
|