void OnGUI() { if (GUILayout.Button("Open Documentation")) { Application.OpenURL("https://github.com/horsley86/platform-builder-pro/wiki"); } GUILayout.Space(20f); material = (Material)EditorGUILayout.ObjectField("Material", material, typeof(Material), false); if (GUILayout.Button("Create New")) { var sceneCameraTransform = SceneView.lastActiveSceneView.camera.transform; PlatformHelper.CreateNewPlatform(material, sceneCameraTransform.position + sceneCameraTransform.forward * 10f); } if (Selection.activeTransform != null) { var platform = Selection.activeTransform.root.GetComponentInChildren <Platform>(); if (platform != null) { GUILayout.Space(20f); GUILayout.Label("Platform Operations"); GUILayout.Space(5f); if (platform.strategies == null || platform.strategies[0] == null) { platform.strategies = PlatformBuilder.GetStrategies(); } //iterate through the platform's strategies and paint the active gui for (var i = 0; i < platform.strategies.Length; i++) { if (GUILayout.Button(platform.strategies[i].GuiTitle)) { //if (activeStrategyIndex != i) //{ // platform.SetStrategy(platform.strategies[i]); //} platform.SetStrategy(platform.strategies[i]); activeStrategyIndex = i; } if (activeStrategyIndex == i) { GUILayout.BeginVertical("box"); platform.strategies[i].DrawGui(); GUILayout.EndVertical(); } } } } }