1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- using System;
- using FairyGUI.Utils;
- namespace FairyGUI
- {
- public class ControllerAction
- {
- public enum ActionType
- {
- PlayTransition,
- ChangePage
- }
- public string[] fromPage;
- public string[] toPage;
- public static ControllerAction CreateAction(ActionType type)
- {
- switch (type)
- {
- case ActionType.PlayTransition:
- return new PlayTransitionAction();
- case ActionType.ChangePage:
- return new ChangePageAction();
- }
- return null;
- }
- public ControllerAction()
- {
- }
- public void Run(Controller controller, string prevPage, string curPage)
- {
- if ((fromPage == null || fromPage.Length == 0 || Array.IndexOf(fromPage, prevPage) != -1)
- && (toPage == null || toPage.Length == 0 || Array.IndexOf(toPage, curPage) != -1))
- Enter(controller);
- else
- Leave(controller);
- }
- virtual protected void Enter(Controller controller)
- {
- }
- virtual protected void Leave(Controller controller)
- {
- }
- virtual public void Setup(ByteBuffer buffer)
- {
- int cnt;
- cnt = buffer.ReadShort();
- fromPage = new string[cnt];
- for (int i = 0; i < cnt; i++)
- fromPage[i] = buffer.ReadS();
- cnt = buffer.ReadShort();
- toPage = new string[cnt];
- for (int i = 0; i < cnt; i++)
- toPage[i] = buffer.ReadS();
- }
- }
- }
|