示例#1
0
        void Update()
        {
            // invoke events in the queue
            lock (_eventQueue)
                while (_eventQueue.Count > 0)
                {
                    switch (_eventQueue.Dequeue())
                    {
                    case EventRecord.Trigger: _triggerEvent.Invoke(); break;

                    case EventRecord.GateOn:  _gateOnEvent.Invoke(); break;

                    case EventRecord.GateOff: _gateOffEvent.Invoke(); break;
                    }
                }

            // value interpolation and invokation
            if (_eventType == EventType.Value)
            {
                _valueEvent.Invoke(_value.Step());
            }

            #if UNITY_EDITOR
            // re-register the osc data callback if the address was changed
            if (_address != _registeredAddress)
            {
                OnDisable();
                OnEnable();
            }
            #endif
        }
示例#2
0
 void Update()
 {
     if (_eventType == EventType.Value)
     {
         _valueEvent.Invoke(_value.Step());
     }
 }
 void Update()
 {
     if (_eventType == EventType.Value)
     {
         _value.targetValue = _stateValues[_state];
         _valueEvent.Invoke(_value.Step());
     }
 }
 void Update()
 {
     if (isPlaying)
     {
         time += Time.deltaTime * _speed;
         var v = _animations[_animationIndex].Evaluate(time);
         _valueEvent.Invoke(v);
     }
 }
 private void OnValueChanged(bool minimumReached)
 {
     SetCurrencyText();
     onValueChanged.Invoke();
     if (minimumReached)
     {
         onMinimumReached.Invoke();
     }
 }
示例#6
0
        void DoKnobUpdate(float inputValue)
        {
            const float threshold = 0.5f;

            if (_eventType == EventType.Value)
            {
                // update the target value for the interpolator
                _value.targetValue =
                    BasicMath.Lerp(_outputValue0, _outputValue1, inputValue);
                // invoke the event in direct mode
                if (!_interpolator.enabled)
                {
                    _valueEvent.Invoke(_value.Step());
                }
            }
            else if (_lastInputValue < threshold && inputValue >= threshold)
            {
                if (_eventType == EventType.Trigger)
                {
                    _triggerEvent.Invoke();
                }
                else // EventType.Toggle
                {
                    _toggleState ^= true;
                    if (_toggleState)
                    {
                        _toggleOnEvent.Invoke();
                    }
                    else
                    {
                        _toggleOffEvent.Invoke();
                    }
                }
            }

            _lastInputValue = inputValue;
        }
示例#7
0
        void Update()
        {
            if (_eventType == EventType.Trigger)
            {
                if (IsKeyDown)
                {
                    _triggerEvent.Invoke();
                }
            }
            else if (_eventType == EventType.Gate)
            {
                if (IsKeyDown)
                {
                    _keyDownEvent.Invoke();
                }
                else if (IsKeyUp)
                {
                    _keyUpEvent.Invoke();
                }
            }
            else if (_eventType == EventType.Toggle)
            {
                if (IsKeyDown)
                {
                    _toggle ^= true;
                    if (_toggle)
                    {
                        _toggleOnEvent.Invoke();
                    }
                    else
                    {
                        _toggleOffEvent.Invoke();
                    }
                }
            }
            else // EventType.Value
            {
                if (IsKeyDown)
                {
                    _value.targetValue = _onValue;
                }
                else if (IsKeyUp)
                {
                    _value.targetValue = _offValue;
                }

                _valueEvent.Invoke(_value.Step());
            }
        }
 private void OnValueChanged()
 {
     if (hpBar != null)
     {
         hpBar.SetValue(currentValue);
     }
     onValueChanged.Invoke();
     if (minimumReached)
     {
         CancelInvoke("isNoMoreUnderAttack");
         isUnderAttack = false;
         onMinimumReached.Invoke();
         if (hpBar != null)
         {
             hpBar.DisableBar();
             hpBar = null;
         }
     }
 }
示例#9
0
        void NoteOn(MidiChannel channel, int note, float velocity)
        {
            if (!FilterNote(channel, note))
            {
                return;
            }

            velocity = Mathf.Lerp(_velocityOffset, 1.0f, velocity);

            if (_eventType == EventType.Trigger)
            {
                _triggerEvent.Invoke(velocity);
            }
            else if (_eventType == EventType.Gate)
            {
                if (_voiceMode == VoiceMode.Mono &&
                    _lastNote != -1 && _lastNote != note)
                {
                    _noteOffEvent.Invoke(_lastNote);
                }

                _noteOnEvent.Invoke(note, velocity);
                _lastNote = note;
            }
            else if (_eventType == EventType.Toggle)
            {
                _toggle ^= true;
                if (_toggle)
                {
                    _toggleOnEvent.Invoke();
                }
                else
                {
                    _toggleOffEvent.Invoke();
                }
            }
            else // EventType.Value
            {
                _value.targetValue = _onValue * velocity;
            }
        }
示例#10
0
 private void BtnHoKhau_Click(object sender, EventArgs e)
 {
     ValueEvent?.Invoke(congDanSelected);
     Close();
 }
示例#11
0
 private void BtnPhieuTamVang_Click(object sender, EventArgs e)
 {
     ValueEvent?.Invoke(congDanSelected);
     Close();
 }
示例#12
0
        void SendWithNoise(float input)
        {
            var n = _noise.Value01(0) * input * _noiseRate;

            _target.Invoke(input - n);
        }
示例#13
0
 public void Trigger()
 {
     _target.Invoke(_amplitude);
     _triggered = 1;
 }
示例#14
0
 private void BtnNhanKhau_Click(object sender, EventArgs e)
 {
     ValueEvent?.Invoke(hoKhauSelected);
     Close();
 }
示例#15
0
 private void InvokeListeners(float t)
 {
     _onStep.Invoke(t);
 }