//creates a new HOTween tween which moves us to the next waypoint //(defined by passed arguments) internal void CreateTween() { //play walk animation if set PlayWalk(); //prepare HOTween's parameters, you can look them up here //http://www.holoville.com/hotween/documentation.html //////////////////////////////////////////////////////////// //create new HOTween plugin for curved paths //pass in array of Vector3 waypoint positions, relative = true plugPath = new PlugVector3Path(wpPos, true, pathtype); //orients the tween target along the path //constrains this game object on one axis if (orientToPath || lockAxis != Axis.None) { plugPath.OrientToPath(lookAhead, lockAxis); } //lock position axis if (lockPosition != Axis.None) { plugPath.LockPosition(lockPosition); } //create a smooth path if closePath was true if (closePath) { plugPath.ClosePath(true); } //create TweenParms for storing HOTween's parameters tParms = new TweenParms(); //sets the path plugin as tween position property if (local) { tParms.Prop("localPosition", plugPath); } else { tParms.Prop("position", plugPath); } //additional tween parameters for partial tweens tParms.AutoKill(false); tParms.Pause(true); tParms.Loops(1); //differ between TimeValue like mentioned above at enum TimeValue //use speed with linear easing if (timeValue == TimeValue.speed) { tParms.SpeedBased(); tParms.Ease(EaseType.Linear); } else { //use time in seconds and the chosen easetype tParms.Ease(easetype); } //create a new tween, move this gameobject with given arguments tween = HOTween.To(transform, originSpeed, tParms); //continue new tween with adjusted speed if it was changed before if (originSpeed != speed) { ChangeSpeed(speed); } }
//creates a new HOTween tween with give arguments that moves along the path private void CreateTween() { //prepare HOTween's parameters, you can look them up here //http://www.holoville.com/hotween/documentation.html //create new plugin for curved paths //pass in array of Vector3 waypoint positions, relative = true plugPath = new PlugVector3Path(wpPos, true, pathType); //orients the tween target along the path if (orientToPath) { plugPath.OrientToPath(lookAhead, lockAxis); } //lock position axis, if set if (lockPosition != Holoville.HOTween.Axis.None) { plugPath.LockPosition(lockPosition); } //create a closed loop, if set if (loopType == LoopType.loop && closeLoop) { plugPath.ClosePath(true); } //create TweenParms for storing HOTween's parameters tParms = new TweenParms(); //sets the path plugin as tween position property if (local) { tParms.Prop("localPosition", plugPath); } else { tParms.Prop("position", plugPath); } //additional tween parameters for partial tweens tParms.AutoKill(false); tParms.Pause(true); tParms.Loops(1); //differ between TimeValue, use speed with linear easing //or time based tweening with an animation easetype if (timeValue == TimeValue.speed) { tParms.SpeedBased(); tParms.Ease(EaseType.Linear); } else { //use time in seconds and the chosen easetype if (easeType == Holoville.HOTween.EaseType.AnimationCurve) { tParms.Ease(animEaseType); } else { tParms.Ease(easeType); } } //finally create the tween tween = HOTween.To(transform, originSpeed, tParms); //continue new tween with adjusted speed if it was changed before if (originSpeed != speed) { ChangeSpeed(speed); } }