public override void gaxb_complete() { HideAnimation = (x, idx, direction) => { x.canvasGroup.alpha = 0; x.gameObject.SetActive(false); }; ShowAnimation = (x, idx, direction) => { x.canvasGroup.alpha = 1; x.gameObject.SetActive(true); }; CloseAnimation = (x, idx, block) => { x.canvasGroup.alpha = 0; x.gameObject.SetActive(false); block(); }; foreach (object childObj in children) { PUGameObject child = childObj as PUGameObject; child.CheckCanvasGroup(); child.canvasGroup.alpha = 0; child.gameObject.SetActive(false); } int initialIndex = currentIndex.Value; currentIndex = -1; SwitchTo(initialIndex); }