/// <summary>
    /// provides the configuration window for each scene and saves the user input scene configuration in
    /// <see cref="SceneConfManager"/> the SceneConfManager.
    /// </summary>
    void drawSceneConfiguration()
    {
        GUILayout.BeginArea(new Rect(10, 10, 250, 250));
        GUILayout.Label("Scene Configuration");
        GUILayout.Label("Configuration for " + sceneName + " :");

        bt            = (OptionsBuildTarget)EditorGUILayout.EnumPopup("BuildTarget :", bt);
        btg           = (OptionsTargetGroup)EditorGUILayout.EnumPopup("BuildTargetGroup :", btg);
        assignVIU     = GUILayout.Toggle(assignVIU, "VIU");
        assignGvR     = GUILayout.Toggle(assignGvR, "Google VR");
        assignWaveSDK = GUILayout.Toggle(assignWaveSDK, "Wave SDK");
        if (GUILayout.Button("Save Config"))
        {
            getBuildTarget(bt);
            getBuildTargetGroupOtion(btg);
            SceneData sceneData = new SceneData();
            sceneData.sceneName        = sceneName;
            sceneData.buildtarget      = buildTargetName;
            sceneData.buildtargetGroup = buildTargetGroupName;
            sceneData.viu    = assignVIU;
            sceneData.gvr    = assignGvR;
            sceneData.wavevr = assignWaveSDK;
            SceneConfManager.addSceneData(sceneData);
            this.Close();
            //SceneConfig.sceneConfigs = new SceneData[] { sceneData };
            //Debug.Log("SceneConfigs saved: " + SceneConfig);
            //string saveFile = JsonUtility.ToJson(sceneData, true);
            //Debug.Log(JsonUtility.ToJson(SceneConfig, true));
            //saveIntoJson(saveFile);
        }
        GUILayout.EndArea();
    }
    /// <summary>
    /// set the user input buildtarget
    /// </summary>
    /// <param name="bt"><see cref="BuildTarget"/>buildtarget</param>
    void getBuildTarget(OptionsBuildTarget bt)
    {
        switch (bt)
        {
        case OptionsBuildTarget.Android:
            buildTargetName = "Android";
            break;

        case OptionsBuildTarget.StandaloneWindows64:
            buildTargetName = "StandaloneWindows64";
            break;
        }
    }
    /// <summary>
    ///
    /// </summary>
    private void showCreateConfiguration()
    {
        GUILayout.BeginArea(new Rect(0, 0, 250, 250));
        GUILayout.Label("Create Configuration:");
        configName  = EditorGUILayout.TextField("Config. Name:", configName);
        description = EditorGUILayout.TextField("Description: ", description);
        projectName = EditorGUILayout.TextField("Product Name: ", projectName);
        GUILayout.EndArea();

        GUILayout.BeginArea(new Rect(0, 80, 250, 250));
        index = EditorGUILayout.Popup(
            "Choose Scene:",
            index,
            allScenesPath);
        GUILayout.EndArea();
        GUILayout.BeginArea(new Rect(0, 100, 250, 250));
        bt             = (OptionsBuildTarget)EditorGUILayout.EnumPopup("BuildTarget :", bt);
        btg            = (OptionsTargetGroup)EditorGUILayout.EnumPopup("Platform :", btg);
        assignVIU      = GUILayout.Toggle(assignVIU, "VIU");
        assignGvR      = GUILayout.Toggle(assignGvR, "Google VR");
        assignWaveSDK  = GUILayout.Toggle(assignWaveSDK, "Wave SDK");
        assignMiddleVR = GUILayout.Toggle(assignMiddleVR, "MiddleVR");

        if (GUI.Button(new Rect(0, 200, 50, 25), "Save"))
        {
            PlatformData platformData = new PlatformData();
            platformData.configurationName = configName;
            platformData.description       = description;
            platformData.projectName       = projectName;
            platformData.sceneName         = allScenesPath[index];
            getBuildTarget(bt);
            getBuildTargetGroupOption(btg);
            platformData.buildtarget      = buildTargetName;
            platformData.buildtargetGroup = buildTargetGroupName;
            platformData.viu      = assignVIU;
            platformData.gvr      = assignGvR;
            platformData.wavevr   = assignWaveSDK;
            platformData.middleVR = assignMiddleVR;
            //PlatformDataManager.updatePlatformDataByIndex(storedIndex, platformData);
            //PlatformDataManager.updatePlatformDataByData(platformData.configurationName, platformData);
            PlatformDataManager.updatePlatformData(platformData);
            this.Close();
        }

        if (GUI.Button(new Rect(50, 200, 50, 25), "Cancel"))
        {
            this.Close();
        }
        GUILayout.EndArea();
    }
    /// <summary>
    ///
    /// </summary>
    public void init()
    {
        if (!updateOnce)
        {
            this.platformData   = new PlatformData();
            this.platformData   = PlatformDataManager.getPlatformDataFromIndex(this.index);
            this.projectName    = platformData.projectName;
            this.description    = platformData.description;
            this.configName     = platformData.configurationName;
            this.assignVIU      = platformData.viu;
            this.assignGvR      = platformData.gvr;
            this.assignWaveSDK  = platformData.wavevr;
            this.assignMiddleVR = platformData.middleVR;

            if (platformData.buildtargetGroup == "Android")
            {
                btg = OptionsTargetGroup.Android;
            }

            if (platformData.buildtargetGroup == "Standalone")
            {
                btg = OptionsTargetGroup.Standalone;
            }

            if (platformData.buildtarget == "Android")
            {
                bt = OptionsBuildTarget.Android;
            }

            if (platformData.buildtarget == "StandaloneWindows64")
            {
                bt = OptionsBuildTarget.StandaloneWindows64;
            }

            updateOnce = true;
        }
    }