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); }); } }
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); }
public void UpdateTweenValues() { SetEndColorForOnlyAlpha(); thisTween = thisTween.ChangeValues(valueGetter(), data.endColor, data.Duration); SetEase(); }
public void UpdateTweenValues() { thisTween = thisTween.ChangeValues(valueGetter(), data.endPos, data.Duration); SetEase(); }