コード例 #1
0
        public static TextField Clone(TextField fieldSource, bool useFontname)
        {
            var field = new TextField(fieldSource.m_type);

            field.m_text      = fieldSource.m_text;
            field.m_fontSize  = fieldSource.m_fontSize;
            field.m_style     = fieldSource.m_style;
            field.x           = fieldSource.x;
            field.y           = fieldSource.y;
            field.m_rotation  = fieldSource.m_rotation;
            field.m_fontColor = new SerializableColor(fieldSource.m_fontColor);
            field.m_scaleX    = fieldSource.m_scaleX;
            field.m_scaleY    = fieldSource.m_scaleY;
            field.m_width     = fieldSource.m_width;
            field.m_height    = fieldSource.m_height;
            field.borderSize  = fieldSource.borderSize;
            field.borderColor = new SerializableColor(fieldSource.borderColor);
            if (field.m_type == 0)
            {
                if (useFontname)
                {
                    field.SetFont(fieldSource.m_fontName, FontManager.instance);
                }
                else
                {
                    field.SetFont(fieldSource.m_font);
                }
                field.m_spacing = fieldSource.m_spacing;
            }
            return(field);
        }
コード例 #2
0
 public static TextField ParseText(string s, FontManager fManager)
 {
     if (!s.Contains("textParam:"))
     {
         throw new FormatException("[ProceduralObjects] TextField Parse : Input string was not in the correct format");
     }
     try
     {
         TextField f          = new TextField(0);
         bool      newVersion = s.Contains(" m_rotation:");
         f.SetFont(s.GetStringBetween(" m_font:", " m_size:"), fManager);
         f.m_fontSize = uint.Parse(s.GetStringBetween(" m_size:", " m_spacing:"));
         f.m_spacing  = uint.Parse(s.GetStringBetween(" m_spacing:", " m_style:"));
         f.m_style    = TextCustomizationManager.IntToStyle(int.Parse(s.GetStringBetween(" m_style:", " m_x:")));
         f.x          = float.Parse(s.GetStringBetween(" m_x:", " m_y:"));
         f.y          = float.Parse(s.GetStringBetween(" m_y:", " m_scaleX:"));
         f.m_scaleX   = float.Parse(s.GetStringBetween(" m_scaleX:", " m_scaleY:"));
         f.m_scaleY   = float.Parse(s.GetStringBetween(" m_scaleY:", newVersion ? " m_rotation:" : " m_fontcolor:"));
         if (newVersion)
         {
             f.m_rotation = byte.Parse(s.GetStringBetween(" m_rotation:", " m_fontcolor:"));
         }
         f.m_fontColor = SerializableColor.Parse(s.GetStringBetween(" m_fontcolor:", " m_text:"));
         f.m_text      = s.GetStringAfter(" m_text:");
         return(f);
     }
     catch (Exception e)
     {
         Debug.LogError("[ProceduralObjects] Error : " + e.GetType().ToString() + " while parsing a TextField : " + e.Message);
         return(new TextField(0));
     }
 }
コード例 #3
0
        public TextField AddField(TextureFont defaultFont, byte type)
        {
            if (m_textFields == null)
            {
                m_textFields = new List <TextField>();
            }
            TextField field = new TextField(type);

            field.SetFont(defaultFont);
            m_textFields.Add(field);
            return(field);
        }