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.
		
		
		
		
		
			
	
	
		
			
				
					
						
							|  |  |  |  | using FairyGUI.Utils; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | namespace FairyGUI | 
					
						
							|  |  |  |  | { | 
					
						
							|  |  |  |  |     public class PlayTransitionAction : ControllerAction | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         public string transitionName; | 
					
						
							|  |  |  |  |         public int playTimes; | 
					
						
							|  |  |  |  |         public float delay; | 
					
						
							|  |  |  |  |         public bool stopOnExit; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         private Transition _currentTransition; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         public PlayTransitionAction() | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             playTimes = 1; | 
					
						
							|  |  |  |  |             delay = 0; | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         override protected void Enter(Controller controller) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             Transition trans = controller.parent.GetTransition(transitionName); | 
					
						
							|  |  |  |  |             if (trans != null) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 if (_currentTransition != null && _currentTransition.playing) | 
					
						
							|  |  |  |  |                     trans.ChangePlayTimes(playTimes); | 
					
						
							|  |  |  |  |                 else | 
					
						
							|  |  |  |  |                     trans.Play(playTimes, delay, null); | 
					
						
							|  |  |  |  |                 _currentTransition = trans; | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         override protected void Leave(Controller controller) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             if (stopOnExit && _currentTransition != null) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 _currentTransition.Stop(); | 
					
						
							|  |  |  |  |                 _currentTransition = null; | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         override public void Setup(ByteBuffer buffer) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             base.Setup(buffer); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |             transitionName = buffer.ReadS(); | 
					
						
							|  |  |  |  |             playTimes = buffer.ReadInt(); | 
					
						
							|  |  |  |  |             delay = buffer.ReadFloat(); | 
					
						
							|  |  |  |  |             stopOnExit = buffer.ReadBool(); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | } |