internal void Set(ForcedEventData forced, double x1, double y1, double x2, double y2) { this.forced = forced; this.x1 = x1; this.y1 = y1; this.x2 = x2; this.y2 = y2; object[] o = forced.Initial; control.MouseEvent += control_MouseEvent; data = forced.Data; }
/// <summary> /// Gets inputs /// </summary> /// <param names="names">Input names</param> /// <returns>Inputs</returns> public override Action <object[]> GetInput(string[] names) { string s = names[0].Substring(0, names[0].LastIndexOf('.')); for (int i = 1; i < names.Length; i++) { if (!s.Equals(names[i].Substring(0, names[1].LastIndexOf('.')))) { throw new Exception("Different sources"); } } ForcedEventData f = desktop.GetObject <ForcedEventData>(s); s += "."; List <Tuple <string, object> > l = f.Types; List <int> li = new List <int>(); List <string> ln = new List <string>(); for (int i = 0; i < l.Count; i++) { string ts = l[i].Item1; ln.Add(s + ts); } List <int> lin = new List <int>(); foreach (string name in names) { lin.Add(ln.IndexOf(name)); } int[] indx = lin.ToArray(); return((object[] o) => { object[] data = f.Data; for (int i = 0; i < o.Length; i++) { data[indx[i]] = o[i]; } f.Force(); }); }