void InstantiatePrimitive(E_PRIMITIVE_STATE op) { lastSnapperComponent = BlocklyPlayground.LastSnapperComponent; switch (op) { case E_PRIMITIVE_STATE.CUBE: CreatePrimitive(GameObject.CreatePrimitive(PrimitiveType.Cube), lastSnapperComponent); break; case E_PRIMITIVE_STATE.SPHERE: CreatePrimitive(GameObject.CreatePrimitive(PrimitiveType.Sphere), lastSnapperComponent); break; case E_PRIMITIVE_STATE.CAPSULE: CreatePrimitive(GameObject.CreatePrimitive(PrimitiveType.Capsule), lastSnapperComponent); break; case E_PRIMITIVE_STATE.CYLINDER: CreatePrimitive(GameObject.CreatePrimitive(PrimitiveType.Cylinder), lastSnapperComponent); break; case E_PRIMITIVE_STATE.PLANE: CreatePrimitive(GameObject.CreatePrimitive(PrimitiveType.Plane), lastSnapperComponent); break; case E_PRIMITIVE_STATE.QUAD: CreatePrimitive(GameObject.CreatePrimitive(PrimitiveType.Quad), lastSnapperComponent); break; default: Debug.LogError("Unrecognized Option"); break; } }
void OnGUI() { UnityEngine.Profiling.Profiler.BeginSample("Snapper Quick Settings"); UISystemProfilerApi.BeginSample(UISystemProfilerApi.SampleType.Render); EditorGUILayout.BeginHorizontal("Box", GUILayout.Height(fButtonHeight)); #region Small Buttons EditorGUILayout.BeginVertical(buttonSmallWidth); if (GUILayout.Button((Texture)EditorGUIUtility.Load("Icons/Snapper.png")))//, "|Open Snapper Editor.")) { BlocklyPlayground.OpenSnapperEditor(); } // Two Buttons EditorGUILayout.BeginHorizontal(); if (GUILayout.Button(EditorGUIUtility.GetBuiltinSkin(EditorSkin.Inspector).GetStyle("Icon.Activation").normal.background)) { AssessmentWizard.CreateWizard(); } if (GUILayout.Button(EditorGUIUtility.IconContent("LookDevSideBySide", "|Publish."))) { BlocklyPlayground.PublishTo(); } EditorGUILayout.EndHorizontal(); if (GUILayout.Button(EditorGUIUtility.IconContent("renderdoc", "|Me."))) { Debug.Log(Application.companyName); } EditorGUILayout.EndVertical(); #endregion #region Big Buttons EditorGUILayout.BeginHorizontal(); if (GUILayout.Button(EditorGUIUtility.IconContent("cs Script Icon", "|Save as C# Script."))) { BlocklyPlayground.SaveAsCSharp(); } /*if (GUILayout.Button(EditorGUIUtility.IconContent("js Script Icon", "|Save as JS."))) * { * BlocklyPlayground.SaveAsJavaScript(); * }*/ // Create primitive with our most recent Snapper script. EditorGUILayout.BeginVertical(); op = (E_PRIMITIVE_STATE)EditorGUILayout.EnumPopup("Primitive to create:", op); EditorGUILayout.LabelField(string.Format("Last Snapper Script: \"{0}\"", BlocklyPlayground.LastSnapperComponent)); // If we're not compiling... if (!EditorApplication.isCompiling) { // ... allow us to create a primitive. if (GUILayout.Button(EditorGUIUtility.IconContent("GameObject Icon", "|Adds the latest Snapper script to a primitive."), GUILayout.Height(fButtonHeight - fPadding * 8f))) { InstantiatePrimitive(op); } } // ... We don't want to create a primitive if we're compiling. else { GUIStyle style = new GUIStyle(); style.richText = true; EditorGUILayout.LabelField("<color=red>Compiling!</color> Please Wait.", style); } EditorGUILayout.EndVertical(); EditorGUILayout.EndHorizontal(); #endregion EditorGUILayout.EndHorizontal(); UISystemProfilerApi.EndSample(UISystemProfilerApi.SampleType.Render); UnityEngine.Profiling.Profiler.EndSample(); }