summaryrefslogtreecommitdiff
path: root/Assets/ThirdParty/BezierCurves/Scripts/BezierPoint.cs
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2022-03-10 14:07:40 +0800
committerchai <chaifix@163.com>2022-03-10 14:07:40 +0800
commit22891bf59032ba88262824255a706d652031384b (patch)
tree7595439ba9966c9402d37e37cee5e8cf098757d5 /Assets/ThirdParty/BezierCurves/Scripts/BezierPoint.cs
parent8b04ea73e540067f83870b61d89db4868fea5e8a (diff)
* move folder
Diffstat (limited to 'Assets/ThirdParty/BezierCurves/Scripts/BezierPoint.cs')
-rw-r--r--Assets/ThirdParty/BezierCurves/Scripts/BezierPoint.cs170
1 files changed, 0 insertions, 170 deletions
diff --git a/Assets/ThirdParty/BezierCurves/Scripts/BezierPoint.cs b/Assets/ThirdParty/BezierCurves/Scripts/BezierPoint.cs
deleted file mode 100644
index 5abe769d..00000000
--- a/Assets/ThirdParty/BezierCurves/Scripts/BezierPoint.cs
+++ /dev/null
@@ -1,170 +0,0 @@
-#region UsingStatements
-
-using UnityEngine;
-using System;
-using System.Collections;
-
-#endregion
-
-/// <summary>
-/// - Helper class for storing and manipulating Bezier Point data
-/// - Ensures that handles are in correct relation to one another
-/// - Handles adding/removing self from curve point lists
-/// - Calls SetDirty() on curve when edited
-/// </summary>
-[Serializable]
-public class BezierPoint : MonoBehaviour{
-
- #region PublicEnumerations
-
- /// <summary>
- /// - Enumeration describing the relationship between a point's handles
- /// - Connected : The point's handles are mirrored across the point
- /// - Broken : Each handle moves independently of the other
- /// - None : This point has no handles (both handles are located ON the point)
- /// </summary>
- public enum HandleStyle
- {
- Connected,
- Broken,
- None,
- }
-
- #endregion
-
- #region PublicProperties
-
- /// <summary>
- /// - Curve this point belongs to
- /// - Changing this value will automatically remove this point from the current curve and add it to the new one
- /// </summary>
- [SerializeField]
- private BezierCurve _curve;
- public BezierCurve curve
- {
- get{return _curve;}
- set
- {
- if(_curve) _curve.RemovePoint(this);
- _curve = value;
- _curve.AddPoint(this);
- }
- }
-
- /// <summary>
- /// - Value describing the relationship between this point's handles
- /// </summary>
- public HandleStyle handleStyle;
-
- /// <summary>
- /// - Shortcut to transform.position
- /// </summary>
- /// <value>
- /// - The point's world position
- /// </value>
- public Vector3 position
- {
- get { return transform.position; }
- set { transform.position = value; }
- }
-
- /// <summary>
- /// - Shortcut to transform.localPosition
- /// </summary>
- /// <value>
- /// - The point's local position.
- /// </value>
- public Vector3 localPosition
- {
- get { return transform.localPosition; }
- set { transform.localPosition = value; }
- }
-
- /// <summary>
- /// - Local position of the first handle
- /// - Setting this value will cause the curve to become dirty
- /// - This handle effects the curve generated from this point and the point proceeding it in curve.points
- /// </summary>
- [SerializeField]
- private Vector3 _handle1;
- public Vector3 handle1
- {
- get { return _handle1; }
- set
- {
- if(_handle1 == value) return;
- _handle1 = value;
- if(handleStyle == HandleStyle.None) handleStyle = HandleStyle.Broken;
- else if(handleStyle == HandleStyle.Connected) _handle2 = -value;
- _curve.SetDirty();
- }
- }
-
- /// <summary>
- /// - Global position of the first handle
- /// - Ultimately stored in the 'handle1' variable
- /// - Setting this value will cause the curve to become dirty
- /// - This handle effects the curve generated from this point and the point proceeding it in curve.points
- /// </summary>
- public Vector3 globalHandle1
- {
- get{return transform.TransformPoint(handle1);}
- set{handle1 = transform.InverseTransformPoint(value);}
- }
-
- /// <summary>
- /// - Local position of the second handle
- /// - Setting this value will cause the curve to become dirty
- /// - This handle effects the curve generated from this point and the point coming after it in curve.points
- /// </summary>
- [SerializeField]
- private Vector3 _handle2;
- public Vector3 handle2
- {
- get { return _handle2; }
- set
- {
- if(_handle2 == value) return;
- _handle2 = value;
- if(handleStyle == HandleStyle.None) handleStyle = HandleStyle.Broken;
- else if(handleStyle == HandleStyle.Connected) _handle1 = -value;
- _curve.SetDirty();
- }
- }
-
- /// <summary>
- /// - Global position of the second handle
- /// - Ultimately stored in the 'handle2' variable
- /// - Setting this value will cause the curve to become dirty
- /// - This handle effects the curve generated from this point and the point coming after it in curve.points
- /// </summary>
- public Vector3 globalHandle2
- {
- get{return transform.TransformPoint(handle2);}
- set{handle2 = transform.InverseTransformPoint(value);}
- }
-
- #endregion
-
- #region PrivateVariables
-
- /// <summary>
- /// - Used to determine if this point has moved since the last frame
- /// </summary>
- private Vector3 lastPosition;
-
- #endregion
-
- #region MonoBehaviourFunctions
-
- void Update()
- {
- if(!_curve.dirty && transform.position != lastPosition)
- {
- _curve.SetDirty();
- lastPosition = transform.position;
- }
- }
-
- #endregion
-}