private void Controller_NewUIEvent(UIEvent uievent) { BaseUtils.Variables cv = new BaseUtils.Variables(); string prefix = "EventClass_"; cv.AddPropertiesFieldsOfClass(uievent, prefix, new Type[] { typeof(System.Drawing.Icon), typeof(System.Drawing.Image), typeof(System.Drawing.Bitmap), typeof(BaseUtils.JSON.JObject) }, 5); cv[prefix + "UIDisplayed"] = "0"; actioncontroller.ActionRun(Actions.ActionEventEDList.onUIEvent, cv); actioncontroller.ActionRun(Actions.ActionEventEDList.EliteUIEvent(uievent), cv); if (!uievent.EventRefresh) // don't send the refresh events thru the system.. see if profiles need changing { Actions.ActionVars.TriggerVars(cv, "UI" + uievent.EventTypeStr, "UIEvent"); int i = EDDProfiles.Instance.ActionOn(cv, out string errlist); if (i >= 0) { ChangeToProfileId(i, true); } if (errlist.HasChars()) { LogLine("Profile reports errors in triggers:".T(EDTx.EDDiscoveryForm_PE1) + errlist); } try { if (DLLManager.Count > 0) // if worth calling.. { BaseUtils.JSON.JToken t = BaseUtils.JSON.JToken.FromObject(uievent, ignoreunserialisable: true, ignored: new Type[] { typeof(Bitmap), typeof(Image) }, maxrecursiondepth: 3); string output = t?.ToString(); if (output != null) { // System.Diagnostics.Debug.WriteLine("DLL JSON UI String " + output); DLLManager.NewUIEvent(output); } else { System.Diagnostics.Debug.WriteLine("JSON convert error from object in DLL"); } } } catch (Exception ex) { System.Diagnostics.Debug.WriteLine("Could not serialise " + uievent.EventTypeStr + " " + ex); } } }
// send JSON public bool SendWebSockets(BaseUtils.JSON.JToken json, bool wait = false) { return(SendWebSockets(json.ToString(), wait)); }