123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162 |
- 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 class UECheckBox : UETextComponent
- {
- protected bool mIsChecked;
- protected UGUI.ImageSprite mImageUnchecked;
- protected UGUI.ImageSprite mImageChecked;
- protected Vector2 mImageTextOffset = new Vector2();
- protected ImageAnchor mImageTextAnchor = ImageAnchor.C_C;
- public UECheckBox(bool use_bitmap) : base(use_bitmap)
- {
- base.Enable = true;
- base.EnableChildren = false;
- base.IsInteractive = true;
- this.PointerClick += EventHandler_PointerClick;
- }
- public UECheckBox() : this(UIEditor.GlobalUseBitmapText)
- {
- }
- private void EventHandler_PointerClick(DisplayNode sender, UnityEngine.EventSystems.PointerEventData e)
- {
- this.mIsChecked = !mIsChecked;
- }
- //----------------------------------------------------------------------------------------------
- public virtual bool IsChecked
- {
- get { return mIsChecked; }
- set { this.mIsChecked = value; }
- }
- //----------------------------------------------------------------------------------------------
- public ImageAnchor ImageTextAnchor
- {
- get { return mImageTextAnchor; }
- set { this.mImageTextAnchor = value; }
- }
- public Vector2 ImageTextOffset
- {
- get { return mImageTextOffset; }
- set { this.mImageTextOffset = value; }
- }
- //----------------------------------------------------------------------------------------------
- protected override void OnStart()
- {
- if (mTextSprite == null)
- {
- if (mUseBitmapFont)
- {
- mTextSprite = new BitmapTextSprite("bitmap_text");
- }
- else
- {
- mTextSprite = new TextSprite("bitmap_text");
- }
- }
- base.OnStart();
- }
- protected override void OnUpdateLayout()
- {
- base.OnUpdateLayout();
- if (IsChecked)
- {
- if (mImageChecked != null)
- {
- mImageChecked.Visible = true;
- UIUtils.AdjustAnchor(mImageTextAnchor, this, mImageChecked, mImageTextOffset);
- }
- if (mImageUnchecked != null)
- {
- mImageUnchecked.Visible = false;
- }
- }
- else
- {
- if (mImageUnchecked != null)
- {
- mImageUnchecked.Visible = true;
- UIUtils.AdjustAnchor(mImageTextAnchor, this, mImageUnchecked, mImageTextOffset);
- }
- if (mImageChecked != null)
- {
- mImageChecked.Visible = false;
- }
- }
- }
- protected override void DecodeFields(UIEditor.Decoder editor, UIComponentMeta e)
- {
- base.DecodeFields(editor, e as UECheckBoxMeta);
- this.Decode_ImageText(editor, e as UECheckBoxMeta);
- this.mIsChecked = (e as UECheckBoxMeta).is_checked;
- }
- protected override void DecodeEnd(UIEditor.Decoder editor, UIComponentMeta e)
- {
- base.DecodeEnd(editor, e);
- this.EnableChildren = false;
- this.Enable = true;
- }
- private void Decode_ImageText(UIEditor.Decoder editor, UECheckBoxMeta e)
- {
- if (!string.IsNullOrEmpty(e.imageAtlasUnchecked))
- {
- this.mImageUnchecked = editor.editor.ParseImageSpriteFromAtlas(e.imageAtlasUnchecked, Vector2.zero);
- if (mImageUnchecked != null)
- {
- this.AddChild(mImageUnchecked);
- }
- }
- else if (!string.IsNullOrEmpty(e.imagePathUnchecked))
- {
- this.mImageUnchecked = editor.editor.ParseImageSpriteFromImage(e.imagePathUnchecked, Vector2.zero);
- if (mImageUnchecked != null)
- {
- this.AddChild(mImageUnchecked);
- }
- }
- if (!string.IsNullOrEmpty(e.imageAtlasChecked))
- {
- this.mImageChecked = editor.editor.ParseImageSpriteFromAtlas(e.imageAtlasChecked, Vector2.zero);
- if (mImageChecked != null)
- {
- this.AddChild(mImageChecked);
- }
- }
- else if (!string.IsNullOrEmpty(e.imagePathChecked))
- {
- this.mImageChecked = editor.editor.ParseImageSpriteFromImage(e.imagePathChecked, Vector2.zero);
- if (mImageChecked != null)
- {
- this.AddChild(mImageChecked);
- }
- }
- this.mImageTextAnchor = e.imageAnchor;
- this.mImageTextOffset.x = e.imageOffsetX;
- this.mImageTextOffset.y = e.imageOffsetY;
- }
- }
- }
|