123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168 |
- using CommonLang.Xml;
- using CommonUnity3D.UGUI;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Xml;
- using UnityEngine;
- using CommonUI.Data;
- using TextAnchor = CommonUI.Data.TextAnchor;
- using FontStyle = CommonUI.Data.FontStyle;
- namespace CommonUnity3D.UGUIEditor.UI
- {
- public abstract class UETextBoxBase : UIComponent
- {
- protected readonly RichTextBox mTextSprite;
- protected UETextBoxBase(bool use_bitmap)
- {
- this.mTextSprite = new RichTextBox("text", use_bitmap);
- this.AddChild(mTextSprite);
- this.Scrollable = false;
- }
-
- public string Text
- {
- get { return mTextSprite.Text; }
- set
- {
- if (IsDispose) return;
- mTextSprite.Text = value;
- }
- }
- public int FontSize
- {
- get { return mTextSprite.FontSize; }
- set { mTextSprite.FontSize = value; }
- }
- public UnityEngine.Color FontColor
- {
- get { return mTextSprite.FontColor; }
- set { mTextSprite.FontColor = value; }
- }
- public ITextComponent TextComponent
- {
- get { return mTextSprite; }
- }
- public ScrollRectInteractive Scroll
- {
- get { return mTextSprite.Scroll; }
- }
- public bool Scrollable
- {
- get { return mTextSprite.Scrollable; }
- set { this.mTextSprite.Scrollable = value; }
- }
- public CommonUI.Display.Text.AttributedString AText
- {
- get { return mTextSprite.AText; }
- set { mTextSprite.AText = value; }
- }
- public string XmlText
- {
- set { mTextSprite.RichTextLayer.XmlText = value; }
- }
- public string UnityRichText
- {
- set { this.XmlText = UIUtils.UnityRichTextToXmlText(value); }
- }
-
- private void ResetSize()
- {
- Vector2 bsize = this.Size2D;
- if (this.Layout != null)
- {
- mTextSprite.Position2D = new Vector2(
- Layout.ClipSize,
- Layout.ClipSize);
- mTextSprite.Size2D = new Vector2(
- bsize.x - Layout.ClipSize2,
- bsize.y - Layout.ClipSize2);
- }
- else
- {
- mTextSprite.Size2D = bsize;
- }
- this.EnableChildren = mTextSprite.IsNeedScroll;
- }
- protected override void OnSizeChanged(Vector2 size)
- {
- base.OnSizeChanged(size);
- this.ResetSize();
- }
- protected override void OnUpdate()
- {
- base.OnUpdate();
- this.ResetSize();
- }
- protected override void DecodeBegin(UIEditor.Decoder editor, UIComponentMeta e)
- {
- base.DecodeBegin(editor, e);
- }
- protected override void DecodeEnd(UIEditor.Decoder editor, UIComponentMeta e)
- {
- base.DecodeEnd(editor, e);
- this.Decode_Text(editor, e as UETextBoxBaseMeta);
- this.Enable = false;
- }
- private void Decode_Text(UIEditor.Decoder editor, UETextBoxBaseMeta e)
- {
- this.FontColor = UIUtils.UInt32_ARGB_To_Color(e.textColor);
- if (e.text_size > 0)
- {
- this.FontSize = e.text_size;
- }
- if (e.text_shadow_alpha > 0)
- {
- Color shadow_color = UIUtils.UInt32_ARGB_To_Color(e.text_shadow_dcolor);
- shadow_color.a = e.text_shadow_alpha;
- mTextSprite.SetShadow(shadow_color, new Vector2(e.text_shadow_x, e.text_shadow_y));
- }
- }
- }
-
- public class UETextBox : UETextBoxBase
- {
- public UETextBox(bool use_bitmap) : base(use_bitmap)
- {
- }
- public UETextBox() : this(UIEditor.GlobalUseBitmapText)
- {
- }
- protected override void DecodeEnd(UIEditor.Decoder editor, UIComponentMeta e)
- {
- base.DecodeEnd(editor, e);
- this.Text = (e as UETextBoxMeta).Text;
- }
- }
- public class UETextBoxHtml : UETextBoxBase
- {
- public UETextBoxHtml(bool use_bitmap) : base(use_bitmap)
- {
- }
- public UETextBoxHtml() : this(UIEditor.GlobalUseBitmapText)
- {
- }
- protected override void DecodeEnd(UIEditor.Decoder editor, UIComponentMeta e)
- {
- base.DecodeEnd(editor, e);
- var xmltext = (e as UETextBoxHtmlMeta).HtmlText;
- if (!string.IsNullOrEmpty(xmltext))
- {
- this.UnityRichText = xmltext;
- }
- }
- }
- }
|