예제 #1
0
        private void BrowseAndLoadSpringSetup()
        {
            string checkErrorMessage;

            if (!IsOkayToSetup(out checkErrorMessage))
            {
                Debug.LogError(checkErrorMessage);
                return;
            }

            // var initialPath = "";
            var initialDirectory = ""; // System.IO.Path.GetDirectoryName(initialPath);
            var fileFilters      = new string[] { "CSVファイル", "csv", "テキストファイル", "txt" };
            var path             = EditorUtility.OpenFilePanelWithFilters(
                "スプリングボーンセットアップを読み込む", initialDirectory, fileFilters);

            if (path.Length == 0)
            {
                return;
            }

            var sourceText = FileUtil.ReadAllText(path);

            if (string.IsNullOrEmpty(sourceText))
            {
                return;
            }

            var parsedSetup = DynamicsSetup.ParseFromRecordText(springBoneRoot, springBoneRoot, sourceText, importSettings);

            if (parsedSetup.Setup != null)
            {
                var buildAction = new BuildDynamicsAction(parsedSetup.Setup, path, springBoneRoot);
                if (parsedSetup.HasErrors)
                {
                    SpringBoneSetupErrorWindow.ShowWindow(springBoneRoot, springBoneRoot, path, parsedSetup.Errors, buildAction);
                }
                else
                {
                    buildAction.Perform();
                }
            }
            else
            {
                const string ErrorFormat =
                    "スプリングボーンセットアップが失敗しました。\n"
                    + "元データにエラーがあるか、もしくは\n"
                    + "キャラクターにデータが一致しません。\n"
                    + "詳しくはConsoleのログをご覧下さい。\n\n"
                    + "キャラクター: {0}\n\n"
                    + "パス: {1}";
                var resultErrorMessage = string.Format(ErrorFormat, springBoneRoot.name, path);
                EditorUtility.DisplayDialog("スプリングボーンセットアップ", resultErrorMessage, "OK");
                Debug.LogError("スプリングボーンセットアップ失敗: " + springBoneRoot.name + "\n" + path);
            }
            Close();
        }
        private void BrowseAndLoadSpringSetup()
        {
            string checkErrorMessage;

            if (!IsOkayToSetup(out checkErrorMessage))
            {
                Debug.LogError(checkErrorMessage);
                return;
            }

            // var initialPath = "";
            var initialDirectory = ""; // System.IO.Path.GetDirectoryName(initialPath);
            var fileFilters      = new string[] { "CSV文件", "csv", "文本文件", "txt" };
            var path             = EditorUtility.OpenFilePanelWithFilters(
                "导入SpringBone", initialDirectory, fileFilters);

            if (path.Length == 0)
            {
                return;
            }

            var sourceText = FileUtil.ReadAllText(path);

            if (string.IsNullOrEmpty(sourceText))
            {
                return;
            }

            var parsedSetup = DynamicsSetup.ParseFromRecordText(springBoneRoot, springBoneRoot, sourceText, importSettings);

            if (parsedSetup.Setup != null)
            {
                var buildAction = new BuildDynamicsAction(parsedSetup.Setup, path, springBoneRoot);
                if (parsedSetup.HasErrors)
                {
                    SpringBoneSetupErrorWindow.ShowWindow(springBoneRoot, springBoneRoot, path, parsedSetup.Errors, buildAction);
                }
                else
                {
                    buildAction.Perform();
                }
            }
            else
            {
                const string ErrorFormat =
                    "SpringBone导入失败。\n"
                    + "原始数据中有错误,\n"
                    + "或数据与骨骼名称不匹配。\n"
                    + "详细信息请查看Console的日志。\n\n"
                    + "springBoneRoot: {0}\n\n"
                    + "Path: {1}";
                var resultErrorMessage = string.Format(ErrorFormat, springBoneRoot.name, path);
                EditorUtility.DisplayDialog("导入SpringBone", resultErrorMessage, "OK");
                Debug.LogError("SpringBone导入失败: " + springBoneRoot.name + "\n" + path);
            }
            Close();
        }