public void OpenSectorLookup(string key, LookupRules rules, string playerKey, bool readOnly, string sectorKey) { AddLookupArgs args = new AddLookupArgs() { LookupKey = key, Rules = rules, PlayerKey = playerKey, ReadOnly = readOnly, SectorKey = sectorKey }; if(InvokeRequired) Invoke(new Action<AddLookupArgs>(OpenSectorLookup), args); else { try { OpenSectorLookup(args); } catch(Exception ex) { HandleException(ex); } } }
void OpenSectorLookup(AddLookupArgs args) { ISectorView sector = (ISectorView)Controls.Find(args.SectorKey, true).First(); LookupView lookupView = new LookupView(args.Rules, args.ReadOnly, sector.SectorItem, args.SectorKey, args.PlayerKey); lookupView.Name = args.LookupKey; lookupViews.Add(lookupView); if(gameStructure.GetActivePlayer().PlayerKey == args.PlayerKey) lookupView.Show(this); UpdateLookupPlayers(); }