Example #1
0
        void Setup(Vrm10Instance instance)
        {
            if (instance.Vrm != null)
            {
                // OK
                return;
            }

            if (!CheckHumanoid(instance.gameObject))
            {
                // can not
                return;
            }

            EditorGUILayout.HelpBox("Humanoid OK.", MessageType.Info);
            if (GUILayout.Button("Create new VRM10Object"))
            {
                var saveName = (instance.name ?? "VRMObject") + ".asset";
                var path     = SaveFileDialog.GetPath(SaveTitle, saveName, SaveExtensions);
                var asset    = CreateAsset(path);
                if (asset != null)
                {
                    // update editor
                    serializedObject.Update();
                    var prop = serializedObject.FindProperty(nameof(Vrm10Instance.Vrm));
                    prop.objectReferenceValue = asset;
                    serializedObject.ApplyModifiedProperties();
                }
            }
        }