コード例 #1
0
ファイル: Player.cs プロジェクト: game-dev-osna/ClicketyClack
    private void StartMoveToTarget(Vector3 target)
    {
        if (isStunned)
        {
            return;
        }
        if (startGameManager.inSetup)
        {
            return;
        }
        start       = transform.position;
        this.target = new Vector3(target.x, transform.position.y, target.z);
        startDist   = Vector3.Distance(start, this.target);
        SetMoving(true);
        transform.LookAt(this.target);

        //TODO with sequence to lerp up then steady then down
        if (moveTween != null && moveTween.IsPlaying())
        {
            moveTween.SetTarget(this.target);
            moveTween.ChangeValues(start, this.target, startDist / speed);
        }
        else
        {
            moveTween = transform.DOMove(this.target, startDist / speed);
            moveTween.OnUpdate(() => {
                var t = (Mathf.Sin(moveTween.ElapsedPercentage().Remap(0, 1, -Mathf.PI + Mathf.PI / 2, Mathf.PI + Mathf.PI / 2)) + 1) / 2.0f;
                animator.SetFloat("Speed", t);

                if (!isMoving || isStunned)
                {
                    moveTween.Kill();
                }
            });
            moveTween.OnComplete(() => {
                SetMoving(false);
            });
            moveTween.OnKill(() => {
                SetMoving(false);
            });
        }
    }
コード例 #2
0
    private static int ChangeValues(IntPtr L)
    {
        int result;

        try
        {
            ToLua.CheckArgsCount(L, 4);
            TweenerCore <float, float, FloatOptions> tweenerCore = (TweenerCore <float, float, FloatOptions>)ToLua.CheckObject(L, 1, typeof(TweenerCore <float, float, FloatOptions>));
            object  newStartValue = ToLua.ToVarObject(L, 2);
            object  newEndValue   = ToLua.ToVarObject(L, 3);
            float   newDuration   = (float)LuaDLL.luaL_checknumber(L, 4);
            Tweener o             = tweenerCore.ChangeValues(newStartValue, newEndValue, newDuration);
            ToLua.PushObject(L, o);
            result = 1;
        }
        catch (Exception e)
        {
            result = LuaDLL.toluaL_exception(L, e, null);
        }
        return(result);
    }
コード例 #3
0
 public void UpdateTweenValues()
 {
     SetEndColorForOnlyAlpha();
     thisTween = thisTween.ChangeValues(valueGetter(), data.endColor, data.Duration);
     SetEase();
 }
コード例 #4
0
 public void UpdateTweenValues()
 {
     thisTween = thisTween.ChangeValues(valueGetter(), data.endPos, data.Duration);
     SetEase();
 }