public override IEnumerator DoAction() { _startTime = Time.time; _initialPosition = ReferencedSequence.ReferencedGameObject.transform.position; float distanceToTarget = Vector3.Distance(_initialPosition, _targetTransform.position); if (FaceMovementDir) { ReferencedSequence.ReferencedGameObject.transform.LookAt(_targetTransform); } while (_canMove) { float fracJourney = _distanceCovered / distanceToTarget; if (fracJourney >= 1) { _canMove = false; } ReferencedSequence.ReferencedGameObject.transform.position = Vector3.Lerp(_initialPosition, _targetTransform.position, fracJourney); _distanceCovered = (Time.time - _startTime) * MoveSpeed; yield return(null); } ReferencedSequence.DoNextAction(); _canMove = true; _distanceCovered = 0; }
public override IEnumerator DoAction() { _rotationProgress = 0; _originalRotation = ReferencedSequence.ReferencedGameObject.transform.rotation; _targetRotation = Quaternion.Euler(_originalRotation.eulerAngles.x, Rotation, _originalRotation.eulerAngles.z); if (RotateInstantly) { ReferencedSequence.ReferencedGameObject.transform.rotation = _targetRotation; ReferencedSequence.DoNextAction(); yield break; } _canRotate = true; while (_canRotate) { _rotationProgress += Time.deltaTime * RotationSpeed; if (_rotationProgress >= 1) { _canRotate = false; } ReferencedSequence.ReferencedGameObject.transform.rotation = Quaternion.Lerp(_originalRotation, _targetRotation, _rotationProgress); yield return(null); } ReferencedSequence.DoNextAction(); }
public override IEnumerator DoAction() { ToriiObjectAnimator animator = ReferencedSequence.ReferencedGameObject.GetComponentInChildren <ToriiObjectAnimator>(); animator.ChangeAnimation(AnimationName); animator.Play(); ReferencedSequence.DoNextAction(); yield return(null); }
public override IEnumerator DoAction() { yield return(new WaitForSeconds(WaitTime)); ReferencedSequence.DoNextAction(); }
public override IEnumerator DoAction() { ReferencedSequence.ReferencedGameObject.GetComponent <AudioSource>().PlayOneShot(_source.clip); ReferencedSequence.DoNextAction(); yield return(null); }