public void RpcSignalVariableChange(string serializedVariable) { // Désérialisation IEventSource deserializedVariable = null; try { deserializedVariable = ValueSourceSerialization.Deserialize(serializedVariable); SimpleValueSource <bool> boolVar = (deserializedVariable as SimpleValueSource <bool>); SimpleValueSource <int> intVar = (deserializedVariable as SimpleValueSource <int>); SimpleValueSource <float> floatVar = (deserializedVariable as SimpleValueSource <float>); if (boolVar != null) { SignalVariableChangeToClient(boolVar); } else if (intVar != null) { SignalVariableChangeToClient(intVar); } else if (floatVar != null) { SignalVariableChangeToClient(floatVar); } else { throw new ArgumentException("Type de données non supporté"); } } catch (Exception e) { Debug.LogError(e.ToString()); } }
public void SignalVariableChangeToServer <T>(SimpleValueSource <T> source) { if (source == null || string.IsNullOrEmpty(source.Identifier)) { return; } // En RPC, on ne peut pas passer n'importe quels paramètres, donc il faut ruser un peu CmdSignalVariableChange(ValueSourceSerialization.Serialize(source)); }