示例#1
0
 // Wait for a signal to start breaking (breaking)
 private void ListenForActivation()
 {
     if (Break)
     {
         _State     = FloorState.BREAKING;
         Dissolving = BreakingDissolve;
         _Dissolve.SetProgress(Dissolving);
     }
 }
示例#2
0
        /// <summary>
        /// Updates the object once per frame.
        /// </summary>
        private void Update()
        {
            float dist = _maxDist - _players[0].transform.position.y;

            if (!_increment)
            {
                _mySwitch.SetProgress((_maxDist - dist) / _maxDist);
            }
            else
            {
                _mySwitch.AdjustProgress(dist / 10000f);
            }

            if (_mySwitch.Activated && !_stayedOn)
            {
                _stayedOn = true;

                if (_rotator != null)
                {
                    if (_rotator.Active)
                    {
                        _rotator.StopMoving(false);
                    }
                    else
                    {
                        _rotator.StartMoving(false);
                    }
                }
            }
            else if (!_mySwitch.Activated && _stayedOn)
            {
                _stayedOn = false;
            }

            if (_transparency != null)
            {
                _transparency.SetAlpha(_mySwitch.Progress);
            }

            if (_scale != null)
            {
                _scale.SetScale(_mySwitch.Progress, 0, 0);
            }

            if (_dissolve != null)
            {
                _dissolve.SetProgress(_mySwitch.Progress);
            }
        }
示例#3
0
 /// <summary>
 /// Initializes the object at the start and when reset.
 /// </summary>
 private void Init()
 {
     _active = _activeByDefault;
     _dissolve.SetProgress(GetTargetProgress(0f, 1f));
     gameObject.layer = GetTargetLayer();
 }