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.
		
		
		
		
		
			
		
			
				
	
	
		
			53 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C#
		
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C#
		
	
| using FairyGUI.Utils;
 | |
| 
 | |
| namespace FairyGUI
 | |
| {
 | |
|     public class ChangePageAction : ControllerAction
 | |
|     {
 | |
|         public string objectId;
 | |
|         public string controllerName;
 | |
|         public string targetPage;
 | |
| 
 | |
|         public ChangePageAction()
 | |
|         {
 | |
|         }
 | |
| 
 | |
|         override protected void Enter(Controller controller)
 | |
|         {
 | |
|             if (string.IsNullOrEmpty(controllerName))
 | |
|                 return;
 | |
| 
 | |
|             GComponent gcom;
 | |
|             if (!string.IsNullOrEmpty(objectId))
 | |
|                 gcom = controller.parent.GetChildById(objectId) as GComponent;
 | |
|             else
 | |
|                 gcom = controller.parent;
 | |
|             if (gcom != null)
 | |
|             {
 | |
|                 Controller cc = gcom.GetController(controllerName);
 | |
|                 if (cc != null && cc != controller && !cc.changing)
 | |
|                 {
 | |
|                     if (this.targetPage == "~1")
 | |
|                     {
 | |
|                         if (controller.selectedIndex < cc.pageCount)
 | |
|                             cc.selectedIndex = controller.selectedIndex;
 | |
|                     }
 | |
|                     else if (this.targetPage == "~2")
 | |
|                         cc.selectedPage = controller.selectedPage;
 | |
|                     else
 | |
|                         cc.selectedPageId = this.targetPage;
 | |
|                 }
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         override public void Setup(ByteBuffer buffer)
 | |
|         {
 | |
|             base.Setup(buffer);
 | |
| 
 | |
|             objectId = buffer.ReadS();
 | |
|             controllerName = buffer.ReadS();
 | |
|             targetPage = buffer.ReadS();
 | |
|         }
 | |
|     }
 | |
| }
 |