public override void Show(System.Action complete) { Holoville.HOTween.Core.TweenDelegate.TweenCallback onLoadAnimationOver = () => { if (complete != null) { complete(); } }; PanelAnimationType type = animationType; PanelAnimation oldPanelAnimation = Util.AppManager.OldPanel == null ? null : Util.AppManager.OldPanel.controllerAnimation as PanelAnimation; if (oldPanelAnimation == null) { type = PanelAnimationType.Fade; } this._init(oldPanelAnimation, type); // パネル表示時→ローディングアニメ非表示 //Indicator.Hide(type, true, complete); switch (type) { case PanelAnimationType.Move: HOTween.To(panel, 0.3f, new TweenParms() .Prop("anchoredPosition", Vector2.zero).OnComplete(onLoadAnimationOver)); break; case PanelAnimationType.Fade: HOTween.To(canvasGroup, 0.3f, new TweenParms().Prop("alpha", 1).OnComplete(onLoadAnimationOver)); break; } }
private void _init(PanelAnimation oldPanelAnimation, PanelAnimationType type) { switch (type) { case PanelAnimationType.Move: float x = this.index > oldPanelAnimation.index ? Camera.main.pixelWidth : -Camera.main.pixelWidth; panel.anchoredPosition = new Vector3(x, panel.anchoredPosition.y); break; case PanelAnimationType.Fade: canvasGroup.alpha = 0; break; } }
private void AnimatePanel(PanelAnimationType type) { Thread t = new Thread(new ParameterizedThreadStart(DoAnimation)); t.Start(type); }