private void OnEnable() { edittingAvatar = new VRCAvatar(); editorFolderPath = Path.GetDirectoryName( AssetDatabase.GetAssetPath(MonoScript.FromScriptableObject(this))); editorFolderPath = editorFolderPath.Substring(0, editorFolderPath.LastIndexOf(Path.DirectorySeparatorChar) + 1); saveFolder = "Assets/"; licenseText = FileUtility.GetFileTexts(editorFolderPath + LICENSE_FILE_NAME); readmeText = FileUtility.GetFileTexts(editorFolderPath + README_FILE_NAME); usingSoftwareLicenseText = FileUtility.GetFileTexts(editorFolderPath + USING_SOFTWARE_FILE_NAME); avatarMonitorGUI = ScriptableObject.CreateInstance <AvatarMonitorGUI>(); animationsGUI = ScriptableObject.CreateInstance <AnimationsGUI>(); avatarInfoGUI = ScriptableObject.CreateInstance <AvatarInfoGUI>(); faceEmotionGUI = ScriptableObject.CreateInstance <FaceEmotionGUI>(); probeAnchorGUI = ScriptableObject.CreateInstance <ProbeAnchorGUI>(); meshBoundsGUI = ScriptableObject.CreateInstance <MeshBoundsGUI>(); shaderGUI = ScriptableObject.CreateInstance <ShaderGUI>(); toolGUIs.Add(ToolFunc.AvatarInfo, avatarInfoGUI); toolGUIs.Add(ToolFunc.FaceEmotion, faceEmotionGUI); toolGUIs.Add(ToolFunc.ProbeAnchor, probeAnchorGUI); toolGUIs.Add(ToolFunc.Bounds, meshBoundsGUI); toolGUIs.Add(ToolFunc.Shader, shaderGUI); avatarMonitorGUI.Initialize(CurrentTool); animationsGUI.Initialize(edittingAvatar, originalAvatar, saveFolder, this, faceEmotionGUI); avatarInfoGUI.Initialize(originalAvatar, edittingAvatar, avatarMonitorGUI); probeAnchorGUI.Initialize(originalAvatar); selectedToolGUI = avatarInfoGUI; CurrentTool = ToolFunc.AvatarInfo; (layoutType, language) = EditorSetting.instance.LoadSettingDataFromScriptableObject( editorFolderPath, language, avatarMonitorGUI, faceEmotionGUI); // Windowを開いたときにオブジェクトが選択されていればそれをアバターとして設定する if (Selection.gameObjects.Length == 1) { var selectionTransform = Selection.gameObjects.Single().transform; while (selectionTransform != null) { targetAvatarDescriptor = selectionTransform.GetComponent <VRC_AvatarDescriptor>(); if (targetAvatarDescriptor != null) { OnChangedAvatar(); break; } selectionTransform = selectionTransform.parent; } } SceneView.onSceneGUIDelegate += OnSceneGUI; }
public void Initialize(VRCAvatar originalAvatar, VRCAvatar editAvatar, AvatarMonitorGUI monitorGUI) { this.originalAvatar = originalAvatar; this.editAvatar = editAvatar; this.monitorGUI = monitorGUI; showIconTexture = Resources.Load <Texture2D>("Icon/ShowIcon"); hideIconTexture = Resources.Load <Texture2D>("Icon/HideIcon"); }