public void ChangeDetectedString() { ChangeTrigger<string> s = new ChangeTrigger<string>(); Assert.IsTrue(s.GetChange("This is a Test")); Assert.IsTrue(s.GetChangeUpdate("This is a Test")); Assert.IsFalse(s.GetChange("This is a Test")); }
public void ChangeDetectedInt() { ChangeTrigger<int> s = new ChangeTrigger<int>(); Assert.IsTrue(s.GetChange(1)); Assert.IsTrue(s.GetChangeUpdate(1)); Assert.IsFalse(s.GetChange(1)); }
public override void BindNode(SerializedObject serializedObject) { if (_attribute.Renameable) { var property = serializedObject.FindProperty($"{_attribute.PropertyName}.{SerializedDictionary<string, string>.KeyProperty}.Array.size"); if (property != null) { Add(ChangeTrigger.Create(property, _ => RefreshOutputs(property))); RefreshOutputs(property); } else { Debug.LogWarningFormat(Data.Node, _invalidDictionaryWarning, _attribute.PropertyName); } } else { var property = serializedObject.FindProperty($"{_attribute.PropertyName}.{SerializedList<string>.ItemsProperty}.Array.size"); if (property != null) { Add(ChangeTrigger.Create(property, _ => RefreshOutputs(property))); RefreshOutputs(property); } else { Debug.LogWarningFormat(Data.Node, _invalidListWarning, _attribute.PropertyName); } } base.BindNode(serializedObject); }
private void CreateTrigger <T>(VisualElement root, SerializedObject obj, string propertyName) { var property = obj.FindProperty(propertyName); var field = new PropertyField(property); var trigger = new ChangeTrigger <T>(property, PropertyChanged); root.Add(field); root.Add(trigger); }
private void CreateArraySizeTrigger(VisualElement root, SerializedObject obj, string propertyName) { var list = obj.FindProperty(propertyName); var field = new PropertyField(list); var property = list.FindPropertyRelative("Array.size"); var trigger = new ChangeTrigger <int>(property, PropertyChanged); root.Add(field); root.Add(trigger); }
public MemoryRule(string description, long memoryOffset, int numBytes, DataType dataType, ChangeTrigger trigger, TransferType transfer, Endianness endian, bool log) { Description = description; _memoryOffset = memoryOffset; _numBytes = numBytes; _dataType = dataType; _trigger = trigger; _transferType = transfer; _endian = endian; _bytes = null; _printToLog = log; }
public MemoryRule(string serializedData) { var split = serializedData.Split('|'); //Unused so far var version = split[0]; _description = split[1]; _memoryOffset = Convert.ToInt64(split[2], 16); _numBytes = Convert.ToInt32(split[3]); if (split[4] == "Flags") { split[4] = "Data"; } _dataType = (DataType)Enum.Parse(typeof(DataType), split[4]); _trigger = (ChangeTrigger)Enum.Parse(typeof(ChangeTrigger), split[5]); _transferType = (TransferType)Enum.Parse(typeof(TransferType), split[6]); _endian = (Endianness)Enum.Parse(typeof(Endianness), split[7]); if (split.Length > 8) { _printToLog = split[8] == "1"; } }
//public static void Browse() { } //public async Task<string> RegisterAndReadTagAsync(cdeP property, string nodeId, int samplingInterval = 1000, ChangeTrigger changeTrigger = ChangeTrigger.Value, double deadbandvalue = 0) { return false; } public bool RegisterTag(cdeP property, string nodeId, int samplingInterval = 1000, ChangeTrigger changeTrigger = ChangeTrigger.Value, double deadbandvalue = 0) { if (property.GetThing()?.GetBaseThing() == null) { return(false); } return(_TagRegistrations.TryAdd(property.Name, new TagRegistration { PropertyName = property.Name, TagInfo = new MsgOPCUACreateTags.TagInfo { DisplayName = property.Name, NodeId = nodeId, SamplingInterval = samplingInterval, ChangeTrigger = changeTrigger, DeadbandValue = deadbandvalue, HostThingAddress = property.GetThing().GetBaseThing(), }, Error = "Not subscribed", })); }
public MemoryRule(string description, string memoryOffset, int numBytes, DataType dataType, ChangeTrigger trigger, TransferType transfer, Endianness endian, bool log) : this(description, Convert.ToInt64(memoryOffset, 16), numBytes, dataType, trigger, transfer, endian, log) { }