123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- using System;
- using System.Collections.Generic;
- using UnityEngine;
- namespace FairyGUI.Utils
- {
-
-
-
- public class HtmlButton : IHtmlObject
- {
- public GComponent button { get; private set; }
- public const string CLICK_EVENT = "OnHtmlButtonClick";
- public static string resource;
- RichTextField _owner;
- HtmlElement _element;
- EventCallback1 _clickHandler;
- public HtmlButton()
- {
- if (resource != null)
- {
- button = UIPackage.CreateObjectFromURL(resource).asCom;
- _clickHandler = (EventContext context) =>
- {
- _owner.DispatchEvent(CLICK_EVENT, context.data, this);
- };
- }
- else
- Debug.LogWarning("FairyGUI: Set HtmlButton.resource first");
- }
- public DisplayObject displayObject
- {
- get { return button != null ? button.displayObject : null; }
- }
- public HtmlElement element
- {
- get { return _element; }
- }
- public float width
- {
- get { return button != null ? button.width : 0; }
- }
- public float height
- {
- get { return button != null ? button.height : 0; }
- }
- public void Create(RichTextField owner, HtmlElement element)
- {
- _owner = owner;
- _element = element;
- if (button == null)
- return;
- button.onClick.Add(_clickHandler);
- int width = element.GetInt("width", button.sourceWidth);
- int height = element.GetInt("height", button.sourceHeight);
- button.SetSize(width, height);
- button.text = element.GetString("value");
- }
- public void SetPosition(float x, float y)
- {
- if (button != null)
- button.SetXY(x, y);
- }
- public void Add()
- {
- if (button != null)
- _owner.AddChild(button.displayObject);
- }
- public void Remove()
- {
- if (button != null && button.displayObject.parent != null)
- _owner.RemoveChild(button.displayObject);
- }
- public void Release()
- {
- if (button != null)
- button.RemoveEventListeners();
- _owner = null;
- _element = null;
- }
- public void Dispose()
- {
- if (button != null)
- button.Dispose();
- }
- }
- }
|