private void OnEnable()
 {
     if (audioEvent != null)
     {
         audioEvent.AddListener(this);
     }
 }
    /// <summary>
    /// Add audio listener function.
    /// </summary>
    /// <param name="listener"></param>
    public static void AddAudioListener(UnityAction <AudioClip> listener)
    {
        AudioEvent thisEvent = null;

        if (instance.audioEventDictionary.TryGetValue(AUDIOEVENT, out thisEvent))
        {
            thisEvent.AddListener(listener);
        }
        else
        {
            thisEvent = new AudioEvent();
            thisEvent.AddListener(listener);
            instance.audioEventDictionary.Add(AUDIOEVENT, thisEvent);
        }
    }
예제 #3
0
        void Start()
        {
#if UNITY_STANDALONE
            Cursor.visible = false;
#endif

            server  = CreateServer("Channel18", port);
            packets = new List <OSCPacket>();

            foreach (var go in GameObject.FindObjectsOfType <GameObject>())
            {
                var kontrollables = go.GetComponents <INanoKontrollable>();
                if (kontrollables.Length > 0)
                {
                    foreach (var kontrollable in kontrollables)
                    {
                        onNoteOn.AddListener(kontrollable.NoteOn);
                        onNoteOff.AddListener(kontrollable.NoteOff);
                        onKnob.AddListener(kontrollable.Knob);
                    }
                }

                var oscReactables = go.GetComponents <IOSCReactable>();
                if (oscReactables.Length > 0)
                {
                    foreach (var oscReactable in oscReactables)
                    {
                        onOsc.AddListener(oscReactable.OnOSC);
                    }
                }

                var audioReactables = go.GetComponents <IAudioReactable>();
                if (audioReactables.Length > 0)
                {
                    foreach (var audioReactable in audioReactables)
                    {
                        onAudio.AddListener(audioReactable.OnReact);
                    }
                }
            }
        }