Exemplo n.º 1
0
    /// <summary>
    ///  設定値の反映
    /// </summary>
    /// <param name="obj"></param>
    private void BoneSettiong(object obj)
    {
        BoneColliderData     boneColliderData = (BoneColliderData)obj;
        DynamicBoneSettingV1 setting          = new DynamicBoneSettingV1();
        DynamicBoneCollider  bone             = (DynamicBoneCollider)target;

        setting.SetXmlToCollider(boneColliderData.filePath, boneColliderData.name, bone);
    }
Exemplo n.º 2
0
    /// <summary>
    /// 出力
    /// </summary>
    private void Export()
    {
        string          datasDir = Path.Combine(Application.dataPath, DATAS_BASE_DIR);
        FileTextConfirm window   = EditorWindow.GetWindow <FileTextConfirm>(true, "ファイル名入力");

        window.Target = target;

        // 入力値の復元
        window.fileName = EditorPrefs.GetString(SAVE_KEY_FILE_NAME);
        window.saveName = EditorPrefs.GetString(SAVE_KEY_BONE_NAME);

        window.SetCallback(x => {
            EditorPrefs.SetString(SAVE_KEY_FILE_NAME, x.fileName);
            EditorPrefs.SetString(SAVE_KEY_BONE_NAME, x.name);

            string filePath = Path.Combine(datasDir, x.fileName + ".xml");
            string saveKey  = filePath + "__Collider__" + x.name;
            if (boneColliderDatas.ContainsKey(saveKey))
            {
                bool isSave = EditorUtility.DisplayDialog("上書き保存", "同名称があります。上書きしますか?\n\n\nコライダー名:" + x.name
                                                          + "\nファイルパス:" + filePath, "はい", "いいえ");
                if (!isSave)
                {
                    return;
                }
            }

            DynamicBoneSettingV1 setting = new DynamicBoneSettingV1();
            if (setting.ExportXmlCollider((DynamicBoneCollider)x.target, x.name, filePath))
            {
                AssetDatabase.Refresh();
                window.Close();
                LoadBoneList();
            }
            else
            {
                EditorUtility.DisplayDialog("保存失敗", "ファイルの保存に失敗しました。もう一度やり直してください。\n※何度も発生する場合は、Unityを再起動してください。", "はい");
            }
        });
    }