Пример #1
0
    private void OnTriggerEnter(Collider other)
    {
        PathTriggerVolume vol = other.gameObject.GetComponent <PathTriggerVolume>();

        if (vol != null)
        {
            if (showDebug)
            {
                Debug.Log("enter path volume");
            }
            BezierSpline newSpline = vol.Path;
            if (newSpline == null)
            {
                Debug.Log("PathKeeper - OnTriggerEnter: Path not set in path trigger volume");
            }
            if (!paths.ContainsKey(newSpline))
            {
                Path newPath = new Path
                {
                    splinePos        = Vector3.zero,
                    tangent          = Vector3.right,
                    horTangent       = Vector3.right,
                    relativePosition = 0f,
                    pathVelocity     = 0f
                };
                paths.Add(newSpline, newPath);
            }
        }
    }
Пример #2
0
    private void OnTriggerExit(Collider other)
    {
        PathTriggerVolume vol = other.gameObject.GetComponent <PathTriggerVolume>();

        if (vol != null)
        {
            if (showDebug)
            {
                Debug.Log("exit path volume");
            }
            BezierSpline oldSpline = vol.Path;
            if (oldSpline == null)
            {
                Debug.Log("PathKeeper - OnTriggerExit: Path not set in path trigger volume");
            }
            if (paths.ContainsKey(oldSpline))
            {
                paths.Remove(oldSpline);
            }
        }
    }