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.
		
		
		
		
		
			
		
			
				
	
	
		
			69 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C#
		
	
			
		
		
	
	
			69 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C#
		
	
| using System;
 | |
| using FairyGUI.Utils;
 | |
| 
 | |
| namespace FairyGUI
 | |
| {
 | |
|     /// <summary>
 | |
|     /// Gear is a connection between object and controller.
 | |
|     /// </summary>
 | |
|     public class GearDisplay : GearBase
 | |
|     {
 | |
|         /// <summary>
 | |
|         /// Pages involed in this gear.
 | |
|         /// </summary>
 | |
|         public string[] pages { get; set; }
 | |
| 
 | |
|         int _visible;
 | |
|         uint _displayLockToken;
 | |
| 
 | |
|         public GearDisplay(GObject owner)
 | |
|             : base(owner)
 | |
|         {
 | |
|             _displayLockToken = 1;
 | |
|         }
 | |
| 
 | |
|         override protected void AddStatus(string pageId, ByteBuffer buffer)
 | |
|         {
 | |
|         }
 | |
| 
 | |
|         override protected void Init()
 | |
|         {
 | |
|             pages = null;
 | |
|         }
 | |
| 
 | |
|         override public void Apply()
 | |
|         {
 | |
|             _displayLockToken++;
 | |
|             if (_displayLockToken == 0)
 | |
|                 _displayLockToken = 1;
 | |
| 
 | |
|             if (pages == null || pages.Length == 0
 | |
|                 || Array.IndexOf(pages, _controller.selectedPageId) != -1)
 | |
|                 _visible = 1;
 | |
|             else
 | |
|                 _visible = 0;
 | |
|         }
 | |
| 
 | |
|         override public void UpdateState()
 | |
|         {
 | |
|         }
 | |
| 
 | |
|         public uint AddLock()
 | |
|         {
 | |
|             _visible++;
 | |
|             return _displayLockToken;
 | |
|         }
 | |
| 
 | |
|         public void ReleaseLock(uint token)
 | |
|         {
 | |
|             if (token == _displayLockToken)
 | |
|                 _visible--;
 | |
|         }
 | |
| 
 | |
|         public bool connected
 | |
|         {
 | |
|             get { return _controller == null || _visible > 0; }
 | |
|         }
 | |
|     }
 | |
| }
 |