public void Set(WeakpointFormation other) { _type = other._type; _rotateSpeed = other._rotateSpeed; _distance = other._distance; _followSpeed = other._followSpeed; _transistionTime = other._transistionTime; _delay = other._delay; _animationName = other._animationName; _pivot = other._pivot; _customTrackPoint = new Transform[other._customTrackPoint.Length]; for (int i = 0; i < _customTrackPoint.Length; i++) { _customTrackPoint[i] = other._customTrackPoint[i]; } }
public void SwitchToFormat(WeakpointFormation formation) { _lastFormation.Set(_currentFormation); _targetFormation.Set(formation); _transiting = true; _transitionTime = 0; if (_targetFormation._type == _lastFormation._type) { return; } _transitionStartPoint.Clear(); foreach (var point in _trackPoints) { _transitionStartPoint.Add(point.position); } Vector3[] targetPoints; CalculateTargetPoints(out targetPoints); SortTrackPointstoClosestTarget(targetPoints); }