/// <summary> /// Parses the settings we know about /// </summary> /// <param name="SettingsValues">A setting array that has been run through MDReplicator.ParseParameters</param> protected void ParseSettings(MDReplicatedSetting[] SettingsValues) { foreach (MDReplicatedSetting setting in SettingsValues) { switch ((Settings)setting.Key) { case Settings.OnValueChangedEvent: Node Node = NodeRef.GetRef() as Node; OnValueChangedMethodCallback = Node.GetType().GetMethodRecursive(setting.Value.ToString()); if (OnValueChangedMethodCallback == null) { OnValueChangedEventCallback = Node.GetType().GetEvent(setting.Value.ToString()); } MDLog.CError(OnValueChangedMethodCallback == null && OnValueChangedEventCallback == null, LOG_CAT, $"Failed to find method or event with name {setting.Value.ToString()} on Node {Node.GetPath()}"); break; case Settings.Converter: Type DataConverterType = Type.GetType(setting.Value.ToString()); DataConverter = MDStatics.CreateConverterOfType(DataConverterType); break; case Settings.CallOnValueChangedEventLocally: ShouldCallOnValueChangedCallbackLocally = setting.Value as bool? ?? false; break; } } // We got no data converter, get default one if (DataConverter == null) { DataConverter = MDStatics.GetConverterForType(Member.GetUnderlyingType()); } }
/// <summary> /// Parses the settings we know about /// </summary> /// <param name="SettingsValues">A setting array that has been run through MDReplicator.ParseParameters</param> protected void ParseSettings(MDReplicatedSetting[] SettingsValues) { foreach (MDReplicatedSetting setting in SettingsValues) { switch ((Settings)setting.Key) { case Settings.OnValueChangedEvent: Node Node = NodeRef.GetRef() as Node; OnValueChangedCallback = Node.GetType().GetMethodRecursive(setting.Value.ToString()); break; case Settings.Converter: Type DataConverterType = Type.GetType(setting.Value.ToString()); DataConverter = MDStatics.CreateConverterOfType(DataConverterType); break; } } // We got no data converter, get default one if (DataConverter == null) { DataConverter = MDStatics.GetConverterForType(Member.GetUnderlyingType()); } }