// Wait for a signal to start breaking (breaking) private void ListenForActivation() { if (Break) { _State = FloorState.BREAKING; Dissolving = BreakingDissolve; _Dissolve.SetProgress(Dissolving); } }
/// <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); } }
/// <summary> /// Initializes the object at the start and when reset. /// </summary> private void Init() { _active = _activeByDefault; _dissolve.SetProgress(GetTargetProgress(0f, 1f)); gameObject.layer = GetTargetLayer(); }