예제 #1
0
 // Label Setup
 internal void LabelSetup(TextAnchor anchor, GameObject parent)
 {
     myGO = GameObject.Find(anchor.ToString());
     if (!myGO)
     {
         myGO                    = new GameObject(anchor.ToString(), typeof(GUIText));
         myGO.hideFlags          = HideFlags.HideInHierarchy;
         myGO.transform.position = Vector3.zero;
         myGO.transform.parent   = parent.transform;
     }
     myGUIText = myGO.guiText;
 }
예제 #2
0
 public virtual T WithTextAnchor(TextAnchor textAnchor)
 {
     return(SetAttr(new
     {
         textAnchor = textAnchor.ToString().ToLower()
     }));
 }
        public static Vector2 ToViewportCoords(this TextAnchor textboxAnchor)
        {
            switch (textboxAnchor)
            {
            case TextAnchor.UpperLeft:
                return(new Vector2(left, upper));

            case TextAnchor.UpperCenter:
                return(new Vector2(center, upper));

            case TextAnchor.UpperRight:
                return(new Vector2(right, upper));

            case TextAnchor.MiddleLeft:
                return(new Vector2(left, middle));

            case TextAnchor.MiddleCenter:
                return(new Vector2(center, middle));

            case TextAnchor.MiddleRight:
                return(new Vector2(right, middle));

            case TextAnchor.LowerLeft:
                return(new Vector2(left, lower));

            case TextAnchor.LowerCenter:
                return(new Vector2(center, lower));

            case TextAnchor.LowerRight:
                return(new Vector2(right, lower));

            default:
                throw new NotImplementedException(textboxAnchor.ToString() + " of TST TextAnchor enum not yet implemented.");
            }
        }
예제 #4
0
        public static Vector2 ToViewportCoords(this TextAnchor textAnchor)
        {
            switch (textAnchor)
            {
            case TextAnchor.UpperLeft:
                return(new Vector2(left, upper));

            case TextAnchor.UpperCenter:
                return(new Vector2(center, upper));

            case TextAnchor.UpperRight:
                return(new Vector2(right, upper));

            case TextAnchor.MiddleLeft:
                return(new Vector2(left, middle));

            case TextAnchor.MiddleCenter:
                return(new Vector2(center, middle));

            case TextAnchor.MiddleRight:
                return(new Vector2(right, middle));

            case TextAnchor.LowerLeft:
                return(new Vector2(left, lower));

            case TextAnchor.LowerCenter:
                return(new Vector2(center, lower));

            case TextAnchor.LowerRight:
                return(new Vector2(right, lower));

            default:
                throw new System.NotImplementedException("Didn't account for " + textAnchor.ToString());
            }
        }
        /// <summary>
        /// Get the GUI rect on screen.
        /// Calculate position by specified alignment and size by GUI content.
        /// </summary>
        /// <returns>The GUI rect.</returns>
        private Rect GetRect()
        {
            var _s      = _style.CalcSize(_content);
            var _result = new Rect(Vector2.zero, _s);

            var _a = alignment.ToString();

            if (_a.Contains("Center"))
            {
                _result.x = (Screen.width - _s.x) * 0.5f;
            }
            else if (_a.Contains("Right"))
            {
                _result.x = Screen.width - _s.x;
            }

            if (_a.Contains("Middle"))
            {
                _result.y = (Screen.height - _s.y) * 0.5f;
            }
            else if (_a.Contains("Lower"))
            {
                _result.y = Screen.height - _s.y;
            }

            return(_result);
        }
예제 #6
0
    void Save()
    {
        EditorPrefs.SetInt("StoredDefault_SpaceBefore", defaultSpaceBefore);
        EditorPrefs.SetInt("StoredDefault_Height", defaultHeight);
        EditorPrefs.SetInt("StoredDefault_SpaceAfter", defaultSpaceAfter);
        EditorPrefs.SetInt("StoredDefault_Width", defaultWidth);
        EditorPrefs.SetInt("StoredDefault_InnerWidth", defaultInnerWidth);

        ///

        EditorPrefs.SetString("StoredDefault_Anchor", defaultAnchor.ToString());
        EditorPrefs.SetString("StoredDefault_Style", defaultStyle.ToString());
        EditorPrefs.SetInt("StoredDefault_Size", defaultSize);
        EditorPrefs.SetBool("StoredDefault_Box", boxEnabled);
        EditorPrefs.SetString("StoredDefault_FontColor", defaultColor.ToString());
        EditorPrefs.SetString("StoredDefault_BoxColor", defaultBoxColor.ToString());
    }
예제 #7
0
 public virtual void ConfigureGUI(GUIConfigurationStyles styles)
 {
     Visible = GUILayout.Toggle(Visible, "Enabled", styles.Toggle);
     if (!DraggableWindowsEnabled)
     {
         GUILayout.Label("X", styles.SmallLabel);
         X = (int)GUILayout.HorizontalSlider(X, -3840.0f, 3840.0f, styles.HorizontalSlider, styles.HorizontalSliderThumb);
         if (int.TryParse(GUILayout.TextField(X.ToString(), styles.TextField), out int x))
         {
             X = x;
         }
     }
     else
     {
         GUILayout.Label($"X - {X.ToString()}", styles.SmallLabel);
     }
     if (!DraggableWindowsEnabled)
     {
         GUILayout.Label("Y", styles.SmallLabel);
         Y = (int)GUILayout.HorizontalSlider(Y, -2160, 2160.0f, styles.HorizontalSlider, styles.HorizontalSliderThumb);
         if (int.TryParse(GUILayout.TextField(Y.ToString(), styles.TextField), out int y))
         {
             Y = y;
         }
     }
     else
     {
         GUILayout.Label($"Y - {Y.ToString()}", styles.SmallLabel);
     }
     GUILayout.Label("Size", styles.SmallLabel);
     Size = (int)GUILayout.HorizontalSlider(Size, 0.0f, 500.0f, styles.HorizontalSlider, styles.HorizontalSliderThumb);
     if (int.TryParse(GUILayout.TextField(Size.ToString(), styles.TextField), out int size))
     {
         Size = size;
     }
     if (GUILayout.Button($"Alignment: {Alignment.ToString()}", styles.Button))
     {
         Alignment = (TextAnchor)((int)(Alignment + 1) % 9);
     }
     Bold   = GUILayout.Toggle(Bold, "Bold", styles.Toggle);
     Italic = GUILayout.Toggle(Italic, "Italic", styles.Toggle);
 }
    void OnGUI()
    {
        // set up fields to manipulate based on the defaults we want to set for new texts
        GUILayout.Label("Default Text Options", EditorStyles.boldLabel);
        font     = (Font)EditorGUILayout.ObjectField("Font: ", font, typeof(Font), false);
        fontSize = EditorGUILayout.IntField("Size: ", fontSize);
        color    = EditorGUILayout.ColorField("Color: ", color);
        anchor   = (TextAnchor)EditorGUILayout.EnumPopup("Alignment: ", anchor);

        pos       = EditorGUILayout.Vector3Field("Position: ", pos);
        sizeDelta = EditorGUILayout.Vector2Field("Width and Height: ", sizeDelta);

        holdTime = EditorGUILayout.FloatField("HoldTime: ", holdTime);

        EditorGUILayout.Space();
        // save the data
        if (GUILayout.Button("Save"))
        {
            defaultTextOptions = new CutsceneTextData();

            defaultTextOptions.textToShow = "Enter your text here.";
            defaultTextOptions.fontSize   = fontSize;
            defaultTextOptions.holdTime   = holdTime;
            defaultTextOptions.font       = font.name;
            defaultTextOptions.textAnchor = anchor.ToString();
            defaultTextOptions.fontColor  = new float[] { color.r, color.g, color.b, color.a };
            defaultTextOptions.position   = new float[] { pos.x, pos.y, pos.z };
            defaultTextOptions.sizeDelta  = new float[] { sizeDelta.x, sizeDelta.y };

            Save();

            cutsceneCreator.textDefaults = defaultTextOptions; // set the text defaults in the cutsceneCreator

            Close();                                           // close the window when we save
        }
    }