移除ECM2

This commit is contained in:
2025-05-11 21:42:51 +08:00
parent aadd564c38
commit a7bf033ca9
726 changed files with 0 additions and 138648 deletions

View File

@@ -1,88 +0,0 @@
using UnityEngine;
namespace ECM2.Walkthrough.Ex71
{
/// <summary>
/// This example shows how to implement a moving platform.
/// It will loop from its start position (ie: transform.position) to its target position
/// (ie: startPosition + offset) during moveTime seconds.
/// </summary>
[RequireComponent(typeof(Rigidbody))]
public class KinematicMove : MonoBehaviour
{
#region FIELDS
[SerializeField]
public float _moveTime = 3.0f;
[SerializeField]
private Vector3 _offset;
#endregion
#region PRIVATE FIELDS
private Rigidbody _rigidbody;
private Vector3 _startPosition;
private Vector3 _targetPosition;
#endregion
#region PROPERTIES
public float moveTime
{
get => _moveTime;
set => _moveTime = Mathf.Max(0.0001f, value);
}
public Vector3 offset
{
get => _offset;
set => _offset = value;
}
#endregion
#region METHODS
/// <summary>
/// Sinusoidal ease function.
/// </summary>
public static float EaseInOut(float time, float duration)
{
return -0.5f * (Mathf.Cos(Mathf.PI * time / duration) - 1.0f);
}
#endregion
#region MONOBEHAVIOUR
public void OnValidate()
{
moveTime = _moveTime;
}
public void Awake()
{
_rigidbody = GetComponent<Rigidbody>();
_rigidbody.isKinematic = true;
_startPosition = transform.position;
_targetPosition = _startPosition + offset;
}
public void FixedUpdate()
{
float t = EaseInOut(Mathf.PingPong(Time.time, _moveTime), _moveTime);
Vector3 p = Vector3.Lerp(_startPosition, _targetPosition, t);
_rigidbody.MovePosition(p);
}
#endregion
}
}