internal TriggeredEvent(TriggeredEventTemplate template, RasterPropMonitorComputer rpmComp) { eventName = template.eventName; if (string.IsNullOrEmpty(eventName)) { throw new Exception("TriggeredEvent: eventName not valid"); } string[] tokens = template.range.Split(','); if (string.IsNullOrEmpty(template.variableName)) { throw new Exception("TriggeredEvent: variableName not valid"); } if (tokens.Length != 2) { throw new Exception("TriggeredEvent: tokens not valid"); } variable = new VariableOrNumberRange(rpmComp, template.variableName, tokens[0], tokens[1]); if (JSIActionGroupSwitch.groupList.ContainsKey(template.triggerEvent)) { isPluginAction = false; action = JSIActionGroupSwitch.groupList[template.triggerEvent]; } else { isPluginAction = true; pluginAction = (Action<bool>)rpmComp.GetInternalMethod(template.triggerEvent, typeof(Action<bool>)); if (pluginAction == null) { throw new Exception("TriggeredEvent: Unable to initialize pluginAction"); } } if (string.IsNullOrEmpty(template.triggerState)) { throw new Exception("TriggeredEvent: Unable to initialize triggerState"); } if (bool.TryParse(template.triggerState, out triggerState)) { toggleAction = false; } else if (template.triggerState.ToLower() == "toggle") { toggleAction = true; if (isPluginAction) { pluginState = (Func<bool>)rpmComp.GetInternalMethod(template.eventState, typeof(Func<bool>)); if (pluginState == null) { throw new Exception("TriggeredEvent: Unable to initialize pluginState"); } } } else { throw new Exception("TriggeredEvent: Unable to determine triggerState"); } if (!string.IsNullOrEmpty(template.oneShot)) { if (!bool.TryParse(template.oneShot, out oneShot)) { oneShot = false; } } else { oneShot = false; } JUtil.LogMessage(this, "Triggered Event {0} created", eventName); }
internal TriggeredEvent(TriggeredEventTemplate template, RasterPropMonitorComputer rpmComp) { eventName = template.eventName; if (string.IsNullOrEmpty(eventName)) { throw new Exception("TriggeredEvent: eventName not valid"); } string[] tokens = template.range.Split(','); if (string.IsNullOrEmpty(template.variableName)) { throw new Exception("TriggeredEvent: variableName not valid"); } if (tokens.Length != 2) { throw new Exception("TriggeredEvent: tokens not valid"); } variable = new VariableOrNumberRange(rpmComp, template.variableName, tokens[0], tokens[1]); if (JSIActionGroupSwitch.groupList.ContainsKey(template.triggerEvent)) { isPluginAction = false; action = JSIActionGroupSwitch.groupList[template.triggerEvent]; } else { isPluginAction = true; pluginAction = (Action <bool>)rpmComp.GetInternalMethod(template.triggerEvent, typeof(Action <bool>)); if (pluginAction == null) { throw new Exception("TriggeredEvent: Unable to initialize pluginAction"); } } if (string.IsNullOrEmpty(template.triggerState)) { throw new Exception("TriggeredEvent: Unable to initialize triggerState"); } if (bool.TryParse(template.triggerState, out triggerState)) { toggleAction = false; } else if (template.triggerState.ToLower() == "toggle") { toggleAction = true; if (isPluginAction) { pluginState = (Func <bool>)rpmComp.GetInternalMethod(template.eventState, typeof(Func <bool>)); if (pluginState == null) { throw new Exception("TriggeredEvent: Unable to initialize pluginState"); } } } else { throw new Exception("TriggeredEvent: Unable to determine triggerState"); } if (!string.IsNullOrEmpty(template.oneShot)) { if (!bool.TryParse(template.oneShot, out oneShot)) { oneShot = false; } } else { oneShot = false; } JUtil.LogMessage(this, "Triggered Event {0} created", eventName); }