/// <inheritdoc/> protected override void OnMessageReceived(IncomingMessage msg) { var key = msg.ReadString(); var value = msg.ReadFloat32(); m_FloatProperties[key] = value; Action <float> action; m_RegisteredActions.TryGetValue(key, out action); action?.Invoke(value); }
/// <inheritdoc/> protected override void OnMessageReceived(IncomingMessage msg) { var key = msg.ReadString(); var type = msg.ReadInt32(); if ((int)EnvironmentDataTypes.Float == type) { var value = msg.ReadFloat32(); m_Parameters[key] = () => value; Action <float> action; m_RegisteredActions.TryGetValue(key, out action); action?.Invoke(value); } else if ((int)EnvironmentDataTypes.Sampler == type) { int seed = msg.ReadInt32(); int samplerType = msg.ReadInt32(); Func <float> sampler = () => 0.0f; if ((int)SamplerType.Uniform == samplerType) { float min = msg.ReadFloat32(); float max = msg.ReadFloat32(); sampler = SamplerFactory.CreateUniformSampler(min, max, seed); } else if ((int)SamplerType.Gaussian == samplerType) { float mean = msg.ReadFloat32(); float stddev = msg.ReadFloat32(); sampler = SamplerFactory.CreateGaussianSampler(mean, stddev, seed); } else if ((int)SamplerType.MultiRangeUniform == samplerType) { IList <float> intervals = msg.ReadFloatList(); sampler = SamplerFactory.CreateMultiRangeUniformSampler(intervals, seed); } else { Debug.LogWarning("EnvironmentParametersChannel received an unknown data type."); } m_Parameters[key] = sampler; } else { Debug.LogWarning("EnvironmentParametersChannel received an unknown data type."); } }
/// <inheritdoc/> protected override void OnMessageReceived(IncomingMessage msg) { var key = msg.ReadString(); var type = msg.ReadInt32(); if ((int)EnvironmentDataTypes.Float == type) { var value = msg.ReadFloat32(); m_Parameters[key] = value; Action <float> action; m_RegisteredActions.TryGetValue(key, out action); action?.Invoke(value); } else { Debug.LogWarning("EnvironmentParametersChannel received an unknown data type."); } }