void IObserver <InputRemoting.Message> .OnNext(InputRemoting.Message msg) { if (m_Connection == null) { return; } ////TODO: this should really be sending to a specific player in the editor (can't //// do that through the IEditorPlayerConnection interface though) switch (msg.type) { case InputRemoting.MessageType.NewDevice: m_Connection.Send(kNewDeviceMsg, msg.data); break; case InputRemoting.MessageType.NewLayout: m_Connection.Send(kNewLayoutMsg, msg.data); break; case InputRemoting.MessageType.NewEvents: m_Connection.Send(kNewEventsMsg, msg.data); break; case InputRemoting.MessageType.ChangeUsages: m_Connection.Send(kChangeUsagesMsg, msg.data); break; case InputRemoting.MessageType.RemoveDevice: m_Connection.Send(kRemoveDeviceMsg, msg.data); break; } }
private void SendToSubscribers(InputRemoting.MessageType type, MessageEventArgs args) { if (m_Subscribers == null) { return; } var msg = new InputRemoting.Message { participantId = args.playerId, type = type, data = args.data }; for (var i = 0; i < m_Subscribers.Length; ++i) { m_Subscribers[i].observer.OnNext(msg); } }