Esempio n. 1
0
 protected virtual void OnEnteredSegment(LevelSegment entered)
 {
     if (isPlayerInstance)
     {
         entered.Enter();
     }
 }
Esempio n. 2
0
        private void DoUpdate()
        {
            if (LevelGenerator.instance == null || !LevelGenerator.instance.ready)
            {
                _result.position = trs.position;
                _result.up       = trs.up;
                _result.forward  = trs.forward;
                _result.percent  = 0.0;
                return;
            }
            if (Time.unscaledTime - lastUpdateTime < updateTime)
            {
                return;
            }
            LevelGenerator.instance.Project(trs.position, _result, useAccurateMode);
            int index = 0;

            LevelGenerator.instance.GlobalToLocalPercent(_result.percent, out index);
            _segmentIndex = index;
            _levelSegment = LevelGenerator.instance.segments[_segmentIndex];
            if (onProject != null)
            {
                onProject();
            }
            if (_levelSegment != lastSegment)
            {
                _levelSegment.Enter();
                lastSegment = _levelSegment;
            }
            lastUpdateTime = Time.unscaledTime;
        }
Esempio n. 3
0
 private void Init(LevelSegment input, double percentAlong = 0.0)
 {
     _segment = input;
     Evaluate(percentAlong, _result);
     if (isPlayerInstance)
     {
         _segment.Enter();
     }
     OnEnteredSegment(_segment);
     RefreshTargets();
 }