protected override void ReceivedPlainMessage(string jsonString, UdpManager.ReceivedMessage.Sender sender) { // You can implement the parsing of your json based received data here. // Have a look into the base implementation in JsonConverter.cs to see a possible way how to do this. // If you cannot use the received data, call the base method to pass on the DevKit internal json messages. base.ReceivedPlainMessage(jsonString, sender); }
private void CallReceivedSettingMessage(SettingMessage settingMessage, UdpManager.ReceivedMessage.Sender sender) { if (ReceivedSettingMessage != null) { foreach (ReceivedSettingMessageDelegated Callack in ReceivedSettingMessage.GetInvocationList()) { try { Callack(settingMessage, sender); } catch (System.Exception ex) { Debug.LogException(ex); } } } }
private void CallReceivedFieldOfViewMessage(FieldOfViewAsset fovAsset, UdpManager.ReceivedMessage.Sender sender) { if (ReceivedFieldOfViewMessage != null) { foreach (ReceivedFieldOfViewMessageDelegated Callack in ReceivedFieldOfViewMessage.GetInvocationList()) { try { Callack(fovAsset, sender); } catch (System.Exception ex) { Debug.LogException(ex); } } } }
private void CallReceivedSpawnAsset(SpawnAsset spawnAsset, UdpManager.ReceivedMessage.Sender sender) { if (ReceivedSpawnAsset != null) { foreach (ReceivedSpawnAssetDelegated Callack in ReceivedSpawnAsset.GetInvocationList()) { try { Callack(spawnAsset, sender); } catch (System.Exception ex) { Debug.LogException(ex); } } } }
// Feel free to implement your own way of receiving messages in a derived class. protected virtual void ReceivedPlainMessage(string jsonString, UdpManager.ReceivedMessage.Sender sender) { try { EventType eventType = JsonUtility.FromJson <EventType>(jsonString); if (eventType.EventIdentifier != EventIdentifierBase.UNKNOWN) { ReceivedEventMessage(jsonString, eventType.EventIdentifier, sender); } else { Debug.LogWarning("Received JSON Message of unknown event type."); } } catch (System.ArgumentException exception) { Debug.LogException(exception); Debug.LogError("The json string, that led to an exception:\n" + jsonString); } }
protected override void ReceivedEventMessage(string jsonString, uint eventIdentifier, UdpManager.ReceivedMessage.Sender sender) { switch (eventIdentifier) { // Implement your own cases here and parse your own network messages. default: base.ReceivedEventMessage(jsonString, eventIdentifier, sender); break; } }
// Override this method in a derived class to receive additional json-serialized classes. protected virtual void ReceivedEventMessage(string jsonString, uint eventIdentifier, UdpManager.ReceivedMessage.Sender sender) { //Debug.Log("Received JSON: " + jsonString); switch (eventIdentifier) { case EventIdentifierBase.ASSET_TRANSFORM: TransformAsset transformAsset = JsonUtility.FromJson <TransformAsset>(jsonString); CallReceivedTransformAsset(transformAsset, sender); break; case EventIdentifierBase.ASSET_SPAWN: SpawnAsset spawnAsset = JsonUtility.FromJson <SpawnAsset>(jsonString); CallReceivedSpawnAsset(spawnAsset, sender); break; case EventIdentifierBase.ASSET_FOV: FieldOfViewAsset fovAsset = JsonUtility.FromJson <FieldOfViewAsset>(jsonString); CallReceivedFieldOfViewMessage(fovAsset, sender); break; case EventIdentifierBase.SETTING_MESSAGE: SettingMessage settingMessage = JsonUtility.FromJson <SettingMessage>(jsonString); if (settingMessage.valueType == SettingMessage.ValueType.FLOAT) { SettingMessageFloat settingMessageFloat = JsonUtility.FromJson <SettingMessageFloat>(jsonString); CallReceivedSettingMessage(settingMessageFloat, sender); } else { Debug.LogWarning("Setting Message was received, but value type has not yet been implemented. This message is dismissed."); } break; default: Debug.LogWarning("Received Event of Type " + EventIdentifierBase.GetIdentifierName(eventIdentifier) + "(" + eventIdentifier + ") but it was not handled."); break; } }