Exemple #1
0
        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;
            }
        }
Exemple #2
0
        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;
            }
        }
Exemple #3
0
        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;
            }
        }
Exemple #4
0
        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;
            }
        }
Exemple #5
0
 /// <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();
     }
 }
Exemple #6
0
    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);
    }
Exemple #7
0
 /// <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();
     }
 }
Exemple #8
0
        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();
        }
Exemple #9
0
        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();
            }
        }