private void MoveHeadBack() { ResetHeadPosition(); _beganMoveIsOk = false; TexturePaint.RevertToLastSnapshot(); }
private bool DetectNextWaypoint() { if (!IsBrushOverNextWaypoint()) { return(false); } if (CurrentWaypoint.NextWaypoint == null) { throw new Exception("Next waypoint of " + CurrentWaypoint.name + " is null "); } CurrentWaypoint = CurrentWaypoint.NextWaypoint; if (CurrentWaypoint.IsControlPoint) { TexturePaint.MakeTextureSnapshot(); } if (!CurrentWaypoint.IsConnectedWithNext) { CurrentWaypoint = CurrentWaypoint.NextWaypoint; } if (CurrentWaypoint.IsControlPoint) { LastControlPoint = CurrentWaypoint; if (LastControlPoint.IsStartOfNewPart) { dispatcher.Dispatch(BrushEventType.PaintCharPartIsCompleted); } ResetHeadPosition(); } if (CurrentWaypoint.NextWaypoint == null) { dispatcher.Dispatch(BrushEventType.PaintCharIsCompleted); _actor.colorDetails.addColor = false; _actor.enabled = false; _isCompleted = true; _isInited = false; } return(true); }
public void DestroyPaint(float duration) { if (_completedCharPosition == null) { return; } var initScale = _texturePaint.transform.localScale; var param = new TweenParms(); param.Prop("localScale", Vector3.zero); param.Ease(EaseType.Linear); param.OnComplete(() => { TexturePaint.ClearColorBufferToTexture(); _texturePaint.transform.localScale = initScale; }); HOTween.To(_texturePaint.transform, duration, param); }