// Crest Ocean System
// Copyright 2022 Wave Harmonic Ltd
using UnityEngine;
namespace Crest.Examples
{
///
/// Moves this transform.
///
public class SimpleMotion : CustomMonoBehaviour
{
///
/// The version of this asset. Can be used to migrate across versions. This value should
/// only be changed when the editor upgrades the version.
///
[SerializeField, HideInInspector]
#pragma warning disable 414
int _version = 0;
#pragma warning restore 414
public bool _resetOnDisable;
[Header("Translation")]
public Vector3 _velocity;
[Header("Rotation")]
public Vector3 _angularVelocity;
Vector3 _oldPosition;
Quaternion _oldRotation;
void OnEnable()
{
_oldPosition = transform.position;
_oldRotation = transform.rotation;
}
void OnDisable()
{
if (_resetOnDisable)
{
transform.position = _oldPosition;
transform.rotation = _oldRotation;
}
}
void Update()
{
// Translation
{
transform.position += _velocity * Time.deltaTime;
}
// Rotation
{
transform.rotation *= Quaternion.Euler(_angularVelocity * Time.deltaTime);
}
}
}
}