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); }
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)); } }
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); }