53 lines
1.5 KiB
C#
53 lines
1.5 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();
|
|||
|
}
|
|||
|
}
|
|||
|
}
|