123456789101112131415161718192021222324252627282930313233343536373839 |
- //### Bezier Logic Interface
- //Describes public functions of any BezierLogic component
- //
- //It controlls only particles path, it does not controll any other aspect ot their behaviour or loock.
- //
- //License information: [ASSET STORE TERMS OF SERVICE AND EULA](https://unity3d.com/legal/as_terms)
- //
- //Developed by [MathArtCode](https://www.assetstore.unity3d.com/en/#!/search/page=1/sortby=popularity/query=publisher:8738) team, 2015
- using UnityEngine;
- namespace Assets.Scripts.BezierCurvedParticlesFlow.Interfaces {
- public interface IBezierLogic {
- // Returns a coordinate point relative to curve 'time' where 0 is bezier curve beginning and 1 is end of the bezier curve (length vise)
- Vector3 GetPoint(float t);
- // Returns a velocity point relative to curve 'time' where 0 is bezier curve beginning and 1 is end of the bezier curve (length vise)
- Vector3 GetVelocity(float t);
- // Returns a normalized velocity point relative to curve 'time' where 0 is bezier curve beginning and 1 is end of the bezier curve (length vise)
- Vector3 GetDirection(float t);
- // Sets a value of a point
- //- positioning (end points) have indexes 0, 3, 6, ...
- //- angles (control points) have indexes 1,2, 4,5, ...
- void SetControlPoint(int index, Vector3 point);
- //Gets a point value
- //- positioning (end points) have indexes 0, 3, 6, ...
- //- angles (control points) have indexes 1,2, 4,5, ...
- Vector3 GetControlPoint(int index);
- //Gets all avaliable points ammount (including end points)
- int ControlPointCount { get; }
- //Removes
- void RemovePoint(int selectedIndex);
- }
- }
|