You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			108 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			C#
		
	
			
		
		
	
	
			108 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			C#
		
	
| 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();
 | |
|         }
 | |
|     }
 | |
| }
 |