// ------------------------------------------------------------------ // Desc: // ------------------------------------------------------------------ public override void OnInspectorGUI() { DrawDefaultInspector(); GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); if (GUILayout.Button("Edit...", GUILayout.Width(50), GUILayout.Height(20))) { exBitmapFontEditor editor = exBitmapFontEditor.NewWindow(); editor.Edit(target); } GUILayout.Space(5); GUILayout.EndHorizontal(); }
// ------------------------------------------------------------------ // Desc: // ------------------------------------------------------------------ public override void OnInspectorGUI() { // ======================================================== // Base GUI // ======================================================== base.OnInspectorGUI(); GUILayout.Space(20); // ======================================================== // // ======================================================== // DELME { // bool needRebuild = false; // } DELME end EditorGUIUtility.LookLikeInspector(); // ======================================================== // pt size // ======================================================== GUI.enabled = false; int pt_size = 0; if (editSpriteFont.fontInfo != null) { pt_size = editSpriteFont.fontInfo.size; } EditorGUILayout.IntField("Pt Size", pt_size); GUI.enabled = true; // ======================================================== // Use multiline // ======================================================== editSpriteFont.useMultiline = EditorGUILayout.Toggle("Use Multi-Line", editSpriteFont.useMultiline); // ======================================================== // text // ======================================================== GUI.enabled = !inAnimMode; if (editSpriteFont.useMultiline == false) { editSpriteFont.text = EditorGUILayout.TextField("Text", editSpriteFont.text); } else { EditorGUILayout.LabelField("Text"); editSpriteFont.text = EditorGUILayout.TextArea(editSpriteFont.text, EditorGUIUtility.GetBuiltinSkin(EditorSkin.Inspector).textArea); // EditorGUIUtility.LookLikeControls (); // EditorGUILayout.LabelField ( "Text", "" ); // GUILayout.BeginHorizontal(); // GUILayout.Space (30); // if ( Event.current.Equals ( Event.KeyboardEvent ("^return") ) || // Event.current.Equals ( Event.KeyboardEvent ("%return") ) ) // { // GUIUtility.keyboardControl = -1; // remove any keyboard control // Repaint(); // } // string newText = EditorGUILayout.TextArea ( editSpriteFont.text, GUILayout.Height(textAreaHeight + 3) ); // if ( newText != editSpriteFont.text ) { // editSpriteFont.text = newText; // long lines = exStringHelper.CountLinesInString(editSpriteFont.text); // textAreaHeight = lines * EditorStyles.textField.lineHeight; // } // GUILayout.Space (10); // GUILayout.EndHorizontal(); // EditorGUIUtility.LookLikeInspector (); } GUI.enabled = true; // ------------------------------------------------------------------ // Desc: // ------------------------------------------------------------------ if (editSpriteFont.useMultiline) { GUILayout.BeginHorizontal(); GUILayout.Space(20); editSpriteFont.textAlign = (exSpriteFont.TextAlign)GUILayout.Toolbar((int)editSpriteFont.textAlign, textAlignStrings, GUILayout.Width(150)); GUILayout.EndHorizontal(); } // ======================================================== // font info // ======================================================== GUI.enabled = !inAnimMode; GUILayout.BeginHorizontal(); exBitmapFont newFontInfo = (exBitmapFont)EditorGUILayout.ObjectField("Font Info" , editSpriteFont.fontInfo , typeof(exBitmapFont) , false ); if (editSpriteFont.fontInfo != newFontInfo) { editSpriteFont.Clear(); // this will prevent leak of mesh editSpriteFont.fontInfo = newFontInfo; } if (GUILayout.Button("Edit...", GUILayout.Width(40), GUILayout.Height(15))) { exBitmapFontEditor editor = exBitmapFontEditor.NewWindow(); editor.Edit(editSpriteFont.fontInfo); } GUILayout.EndHorizontal(); GUI.enabled = true; // ======================================================== // use kerning // ======================================================== bool haveKerning = (editSpriteFont.fontInfo != null) && (editSpriteFont.fontInfo.kernings.Count != 0); GUI.enabled = !inAnimMode && haveKerning; editSpriteFont.useKerning = EditorGUILayout.Toggle("Use Kerning", editSpriteFont.useKerning); GUI.enabled = true; // ======================================================== // tracking // ======================================================== editSpriteFont.tracking = EditorGUILayout.FloatField("Tracking", editSpriteFont.tracking); // ======================================================== // line spacing // ======================================================== editSpriteFont.lineSpacing = EditorGUILayout.FloatField("Line Spacing", editSpriteFont.lineSpacing); /////////////////////////////////////////////////////////////////////////////// // normal color option /////////////////////////////////////////////////////////////////////////////// // ======================================================== // top color // ======================================================== editSpriteFont.topColor = EditorGUILayout.ColorField("Top Color", editSpriteFont.topColor); // ======================================================== // bot color // ======================================================== editSpriteFont.botColor = EditorGUILayout.ColorField("Bot Color", editSpriteFont.botColor); /////////////////////////////////////////////////////////////////////////////// // outline option /////////////////////////////////////////////////////////////////////////////// // ======================================================== // use outline // ======================================================== editSpriteFont.useOutline = EditorGUILayout.Toggle("Use Outline", editSpriteFont.useOutline); GUI.enabled = editSpriteFont.useOutline; ++EditorGUI.indentLevel; // ======================================================== // Outline Width // ======================================================== editSpriteFont.outlineWidth = EditorGUILayout.FloatField("Outline Width", editSpriteFont.outlineWidth); // ======================================================== // Outline Color // ======================================================== editSpriteFont.outlineColor = EditorGUILayout.ColorField("Outline Color", editSpriteFont.outlineColor); --EditorGUI.indentLevel; GUI.enabled = true; /////////////////////////////////////////////////////////////////////////////// // shadow option /////////////////////////////////////////////////////////////////////////////// editSpriteFont.useShadow = EditorGUILayout.Toggle("Use Shadow", editSpriteFont.useShadow); GUI.enabled = editSpriteFont.useShadow; ++EditorGUI.indentLevel; // ======================================================== // Shadow Bias // ======================================================== EditorGUILayout.LabelField("Shadow Bias", ""); ++EditorGUI.indentLevel; float newShadowBiasX = EditorGUILayout.FloatField("X", editSpriteFont.shadowBias.x); float newShadowBiasY = EditorGUILayout.FloatField("Y", editSpriteFont.shadowBias.y); if (newShadowBiasX != editSpriteFont.shadowBias.x || newShadowBiasY != editSpriteFont.shadowBias.y) { editSpriteFont.shadowBias = new Vector2(newShadowBiasX, newShadowBiasY); } --EditorGUI.indentLevel; // ======================================================== // Shadow Color // ======================================================== editSpriteFont.shadowColor = EditorGUILayout.ColorField("Shadow Color", editSpriteFont.shadowColor); --EditorGUI.indentLevel; GUI.enabled = true; // ======================================================== // Rebuild button // ======================================================== GUI.enabled = !inAnimMode; GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); if (GUILayout.Button("Rebuild...", GUILayout.Height(20))) { // needRebuild = true; } GUILayout.EndHorizontal(); GUI.enabled = true; GUILayout.Space(5); // if dirty, build it. if (!EditorApplication.isPlaying && !AnimationUtility.InAnimationMode()) { // DELME { // if ( needRebuild ) { // EditorUtility.ClearProgressBar(); // editSpriteFont.Build(); // } // else // } DELME end if (GUI.changed) { if (editSpriteFont.meshFilter.sharedMesh != null) { editSpriteFont.UpdateMesh(editSpriteFont.meshFilter.sharedMesh); } EditorUtility.SetDirty(editSpriteFont); } } }