123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- using System;
- using System.Collections.Generic;
- using UnityEngine;
- namespace FairyGUI.Utils
- {
- /// <summary>
- ///
- /// </summary>
- public class HtmlSelect : IHtmlObject
- {
- public GComboBox comboBox { get; private set; }
- public const string CHANGED_EVENT = "OnHtmlSelectChanged";
- public static string resource;
- RichTextField _owner;
- HtmlElement _element;
- EventCallback0 _changeHandler;
- public HtmlSelect()
- {
- if (resource != null)
- {
- comboBox = UIPackage.CreateObjectFromURL(resource).asComboBox;
- _changeHandler = () =>
- {
- _owner.DispatchEvent(CHANGED_EVENT, null, this);
- };
- }
- else
- Debug.LogWarning("FairyGUI: Set HtmlSelect.resource first");
- }
- public DisplayObject displayObject
- {
- get { return comboBox.displayObject; }
- }
- public HtmlElement element
- {
- get { return _element; }
- }
- public float width
- {
- get { return comboBox != null ? comboBox.width : 0; }
- }
- public float height
- {
- get { return comboBox != null ? comboBox.height : 0; }
- }
- public void Create(RichTextField owner, HtmlElement element)
- {
- _owner = owner;
- _element = element;
- if (comboBox == null)
- return;
- comboBox.onChanged.Add(_changeHandler);
- int width = element.GetInt("width", comboBox.sourceWidth);
- int height = element.GetInt("height", comboBox.sourceHeight);
- comboBox.SetSize(width, height);
- comboBox.items = (string[])element.Get("items");
- comboBox.values = (string[])element.Get("values");
- comboBox.value = element.GetString("value");
- }
- public void SetPosition(float x, float y)
- {
- if (comboBox != null)
- comboBox.SetXY(x, y);
- }
- public void Add()
- {
- if (comboBox != null)
- _owner.AddChild(comboBox.displayObject);
- }
- public void Remove()
- {
- if (comboBox != null && comboBox.displayObject.parent != null)
- _owner.RemoveChild(comboBox.displayObject);
- }
- public void Release()
- {
- if (comboBox != null)
- comboBox.RemoveEventListeners();
- _owner = null;
- _element = null;
- }
- public void Dispose()
- {
- if (comboBox != null)
- comboBox.Dispose();
- }
- }
- }
|