public override void Hide(System.Action complete) { Holoville.HOTween.Core.TweenDelegate.TweenCallback onLoadAnimationOver = () => { if (complete != null) { complete(); } }; // パネル非表示→ローディングアニメ表示 //Indicator.Show(type, type == Indicator.Type.Tips ? "" : Localization.Get("Transmitting"), true, complete); RectTransform trans;// = gameObject.GetComponent<RectTransform>(); //PanelAnimation currentPanelAnimation = App.Util.AppManager.CurrentPanel.controllerAnimation as PanelAnimation; switch (animationType) { case DialogAnimationType.Down: trans = panel as RectTransform; HOTween.To(panel as RectTransform, 0.3f, new TweenParms() .Prop("anchoredPosition", new Vector2(trans.anchoredPosition.x, Camera.main.pixelHeight * -1f)).OnComplete(onLoadAnimationOver)); break; case DialogAnimationType.Middle: HOTween.To(panel, 0.2f, new TweenParms().Prop("localScale", new Vector3(1f, 0, 1f)).OnComplete(onLoadAnimationOver)); break; case DialogAnimationType.Fade: HOTween.To(canvasGroup, 0.3f, new TweenParms().Prop("alpha", 0).OnComplete(onLoadAnimationOver)); break; } }
public override void Show(System.Action complete) { Holoville.HOTween.Core.TweenDelegate.TweenCallback onLoadAnimationOver = () => { if (complete != null) { complete(); } }; DialogAnimationType type = animationType; this._init(); // パネル表示時→ローディングアニメ非表示 //Indicator.Hide(type, true, complete); RectTransform trans = gameObject.GetComponent <RectTransform>(); switch (type) { case DialogAnimationType.Down: HOTween.To(panel as RectTransform, 0.3f, new TweenParms().Prop("anchoredPosition", _savePosition) .OnComplete(onLoadAnimationOver)); break; case DialogAnimationType.Middle: HOTween.To(panel, 0.3f, new TweenParms().Prop("localScale", new Vector3(1f, 1f, 1f)).OnComplete(onLoadAnimationOver)); break; case DialogAnimationType.Fade: HOTween.To(canvasGroup, 0.3f, new TweenParms().Prop("alpha", 1).OnComplete(onLoadAnimationOver)); break; } }
public override void Hide(System.Action complete) { Holoville.HOTween.Core.TweenDelegate.TweenCallback onLoadAnimationOver = () => { if (complete != null) { complete(); } }; // パネル非表示→ローディングアニメ表示 //Indicator.Show(type, type == Indicator.Type.Tips ? "" : Localization.Get("Transmitting"), true, complete); PanelAnimation currentPanelAnimation = App.Util.AppManager.CurrentPanel.controllerAnimation as PanelAnimation; switch (animationType) { case PanelAnimationType.Move: float x = this.index > currentPanelAnimation.index ? Camera.main.pixelWidth : -Camera.main.pixelWidth; HOTween.To(panel, 0.3f, new TweenParms() .Prop("anchoredPosition", new Vector2(x, 0)).OnComplete(() => { Debug.LogError("Hide OnComplete"); gameObject.SetActive(false); onLoadAnimationOver(); })); Debug.LogError("Hide trans.anchoredPosition=" + x); break; case PanelAnimationType.Fade: HOTween.To(canvasGroup, 0.3f, new TweenParms().Prop("alpha", 0).OnComplete(onLoadAnimationOver)); break; } }
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; } }
/// <summary> /// 开始动作 /// </summary> /// <returns><c>true</c>, if start run was actioned, <c>false</c> otherwise.</returns> /// <param name="vCharacter">Current character.</param> private void ActionStartRun(VCharacterBase vCharacter) { Debug.LogError("ActionStartRun"); System.Action actionStartEvent = () => { //cBattlefield.MapMoveToPosition(currentCharacter.CoordinateX, currentCharacter.CoordinateY); //vCharacter.direction = (vCharacter.mCharacter.coordinate.x > vCharacter.mCharacter.target.coordinate.x ? Direction.left : Direction.right); vCharacter.direction = Global.mapSearch.GetDirection(vCharacter.mCharacter.coordinate, vCharacter.mCharacter.target.coordinate); vCharacter.action = ActionType.attack; App.Model.Master.MSkill skillMaster = vCharacter.mCharacter.currentSkill.master; if (!string.IsNullOrEmpty(skillMaster.animation)) { VTile vTile = Global.mapSearch.GetTile(vCharacter.mCharacter.target.coordinate); //this.cBattlefield.CreateEffect(skillMaster.animation, vTile.transform); } }; if (vCharacter.mCharacter.currentSkill.master.effect.special == SkillEffectSpecial.back_thrust) { //回马枪 VTile currentTile = Global.mapSearch.GetTile(vCharacter.mCharacter.coordinate); VTile targetTile = Global.mapSearch.GetTile(vCharacter.mCharacter.target.coordinate); Direction direction = Global.mapSearch.GetDirection(targetTile, currentTile); VTile backTile = Global.mapSearch.GetTile(currentTile, direction); if (Global.charactersManager.GetCharacter(backTile.coordinate) != null) { actionStartEvent(); return; } Sequence sequence = new Sequence(); TweenParms tweenParms = new TweenParms() .Prop("X", backTile.transform.localPosition.x, false) .Prop("Y", backTile.transform.localPosition.y, false) .Ease(EaseType.Linear); TweenParms tweenParmsTarget = new TweenParms() .Prop("X", currentTile.transform.localPosition.x, false) .Prop("Y", currentTile.transform.localPosition.y, false) .Ease(EaseType.Linear); Holoville.HOTween.Core.TweenDelegate.TweenCallback moveComplete = () => { vCharacter.mCharacter.coordinate.y = backTile.coordinate.y; vCharacter.mCharacter.coordinate.x = backTile.coordinate.x; vCharacter.mCharacter.target.coordinate.y = currentTile.coordinate.y; vCharacter.mCharacter.target.coordinate.x = currentTile.coordinate.x; actionStartEvent(); }; tweenParms.OnComplete(moveComplete); VCharacterBase vTarget = Global.charactersManager.GetVCharacter(vCharacter.mCharacter.target); sequence.Insert(0f, HOTween.To(vCharacter, 0.5f, tweenParms)); sequence.Insert(0f, HOTween.To(vTarget, 0.5f, tweenParmsTarget)); sequence.Play(); } else { actionStartEvent(); } }
public Tweener SetMove(Vector3 targetPos, float during, EaseType type, Holoville.HOTween.Core.TweenDelegate.TweenCallback call) { TweenParms parms = new TweenParms(); parms.Prop("position", targetPos); parms.OnComplete(call); Tweener tweener = HOTween.To(transform, during, parms); tweener.easeType = type; return(tweener); }
/// <summary> /// 开始动作 /// </summary> /// <returns><c>true</c>, if start run was actioned, <c>false</c> otherwise.</returns> /// <param name="currentCharacter">Current character.</param> private void ActionStartRun(MCharacter currentCharacter) { System.Action actionStartEvent = () => { cBattlefield.MapMoveToPosition(currentCharacter.CoordinateX, currentCharacter.CoordinateY); currentCharacter.Direction = (currentCharacter.X > currentCharacter.Target.X ? Direction.left : Direction.right); currentCharacter.Action = ActionType.attack; App.Model.Master.MSkill skillMaster = currentCharacter.CurrentSkill.Master; if (!string.IsNullOrEmpty(skillMaster.animation)) { VTile vTile = this.cBattlefield.mapSearch.GetTile(currentCharacter.Target.CoordinateX, currentCharacter.Target.CoordinateY); this.cBattlefield.CreateEffect(skillMaster.animation, vTile.transform); } }; if (currentCharacter.CurrentSkill.Master.effect.special == App.Model.Master.SkillEffectSpecial.back_thrust) { //回马枪 VTile currentTile = cBattlefield.mapSearch.GetTile(currentCharacter.CoordinateX, currentCharacter.CoordinateY); VTile targetTile = cBattlefield.mapSearch.GetTile(currentCharacter.Target.CoordinateX, currentCharacter.Target.CoordinateY); Direction direction = cBattlefield.mapSearch.GetDirection(targetTile, currentTile); VTile backTile = cBattlefield.mapSearch.GetTile(currentTile, direction); if (cBattlefield.charactersManager.GetCharacter(backTile.Index) != null) { actionStartEvent(); return; } Sequence sequence = new Sequence(); TweenParms tweenParms = new TweenParms().Prop("X", backTile.transform.localPosition.x, false).Prop("Y", backTile.transform.localPosition.y, false).Ease(EaseType.Linear); TweenParms tweenParmsTarget = new TweenParms().Prop("X", currentTile.transform.localPosition.x, false).Prop("Y", currentTile.transform.localPosition.y, false).Ease(EaseType.Linear); Holoville.HOTween.Core.TweenDelegate.TweenCallback moveComplete = () => { currentCharacter.CoordinateY = backTile.CoordinateY; currentCharacter.CoordinateX = backTile.CoordinateX; currentCharacter.Target.CoordinateY = currentTile.CoordinateY; currentCharacter.Target.CoordinateX = currentTile.CoordinateX; actionStartEvent(); }; tweenParms.OnComplete(moveComplete); sequence.Insert(0f, HOTween.To(currentCharacter, 0.5f, tweenParms)); sequence.Insert(0f, HOTween.To(currentCharacter.Target, 0.5f, tweenParmsTarget)); sequence.Play(); } else { actionStartEvent(); } }
private void MoveCharacter(Avatar.VCharacterBase vCharacter, int x, int y) { //MapMoveToPosition(mCharacter.CoordinateX, mCharacter.CoordinateY); Holoville.HOTween.Core.TweenDelegate.TweenCallback moveComplete = () => { vCharacter.action = Model.ActionType.idle; App.Util.LSharp.LSharpScript.Instance.Analysis(); }; vCharacter.action = Model.ActionType.move; Sequence sequence = new Sequence(); TweenParms tweenParms = new TweenParms().Prop("X", x * 0.32f, false) .Prop("Y", -4.4f, false).Ease(EaseType.Linear); tweenParms.OnComplete(moveComplete); sequence.Append(HOTween.To(vCharacter, 1f, tweenParms)); sequence.Play(); }
private void MoveCharacter(MCharacter mCharacter, int x, int y) { MapMoveToPosition(mCharacter.CoordinateX, mCharacter.CoordinateY); VTile startTile = mapSearch.GetTile(mCharacter.CoordinateX, mCharacter.CoordinateY); VTile endTile = mapSearch.GetTile(x, y); List <VTile> tiles = aStar.Search(mCharacter, startTile, endTile); Holoville.HOTween.Core.TweenDelegate.TweenCallback moveComplete = () => { mCharacter.CoordinateY = endTile.CoordinateY; mCharacter.CoordinateX = endTile.CoordinateX; mCharacter.Action = ActionType.idle; MapMoveToPosition(mCharacter.CoordinateX, mCharacter.CoordinateY); App.Util.LSharp.LSharpScript.Instance.Analysis(); }; if (tiles.Count > 0) { mCharacter.Action = ActionType.move; Sequence sequence = new Sequence(); foreach (VTile tile in tiles) { TweenParms tweenParms = new TweenParms().Prop("X", tile.transform.localPosition.x, false).Prop("Y", tile.transform.localPosition.y, false).Ease(EaseType.Linear); if (tile.Index == endTile.Index) { tweenParms.OnComplete(moveComplete); } else { tweenParms.OnComplete(() => { MapMoveToPosition(tile.CoordinateX, tile.CoordinateY); }); } sequence.Append(HOTween.To(mCharacter, 0.5f, tweenParms)); } sequence.Play(); } else { moveComplete(); } }