PageLinkIoi.cs 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973
  1. using System;
  2. using System.CodeDom.Compiler;
  3. using System.Collections.Generic;
  4. using System.ComponentModel;
  5. using System.Diagnostics;
  6. using System.Linq;
  7. using System.Net.Sockets;
  8. using System.Runtime.CompilerServices;
  9. using System.Threading;
  10. using System.Windows;
  11. using System.Windows.Controls;
  12. using System.Windows.Controls.Primitives;
  13. using System.Windows.Input;
  14. using System.Windows.Markup;
  15. using Microsoft.VisualBasic.CompilerServices;
  16. using Newtonsoft.Json.Linq;
  17. namespace PCL
  18. {
  19. // Token: 0x02000104 RID: 260
  20. [DesignerGenerated]
  21. public class PageLinkIoi : MyPageRight, IComponentConnector
  22. {
  23. // Token: 0x06000A53 RID: 2643 RVA: 0x000074E7 File Offset: 0x000056E7
  24. public PageLinkIoi()
  25. {
  26. this.InitializeComponent();
  27. }
  28. // Token: 0x06000A54 RID: 2644 RVA: 0x0000507A File Offset: 0x0000327A
  29. public static bool IoiStop(bool SleepWhenKilled)
  30. {
  31. return false;
  32. }
  33. // Token: 0x06000A55 RID: 2645 RVA: 0x0000507A File Offset: 0x0000327A
  34. public static bool IoiStart()
  35. {
  36. return false;
  37. }
  38. // Token: 0x06000A56 RID: 2646 RVA: 0x000063A1 File Offset: 0x000045A1
  39. private static void IoiLogLine(string Content)
  40. {
  41. }
  42. // Token: 0x06000A57 RID: 2647 RVA: 0x000063A1 File Offset: 0x000045A1
  43. public void RefreshUi()
  44. {
  45. }
  46. // Token: 0x06000A58 RID: 2648 RVA: 0x000063A1 File Offset: 0x000045A1
  47. public void RefreshWorker()
  48. {
  49. }
  50. // Token: 0x06000A59 RID: 2649 RVA: 0x000063A1 File Offset: 0x000045A1
  51. private static void SendPortsubRequest(PageLinkIoi.LinkUserIoi User)
  52. {
  53. }
  54. // Token: 0x06000A5A RID: 2650 RVA: 0x0004AC88 File Offset: 0x00048E88
  55. private static void SendConnectRequest(PageLinkIoi.LinkUserIoi User)
  56. {
  57. JObject jobject = new JObject();
  58. jobject["version"] = 4;
  59. jobject["name"] = PageLinkIoi.GetPlayerName();
  60. jobject["id"] = PageLinkIoi.m_FieldConfig;
  61. jobject["type"] = "connect";
  62. User.Send(jobject);
  63. }
  64. // Token: 0x06000A5B RID: 2651 RVA: 0x0004ACF4 File Offset: 0x00048EF4
  65. private static void SendUpdateRequest(PageLinkIoi.LinkUserIoi User, int Stage, long Unique = -1L)
  66. {
  67. if (Unique == -1L)
  68. {
  69. Unique = ModBase.GetTimeTick();
  70. }
  71. JObject jobject = new JObject();
  72. jobject["name"] = PageLinkIoi.GetPlayerName();
  73. jobject["id"] = PageLinkIoi.m_FieldConfig;
  74. jobject["type"] = "update";
  75. jobject["stage"] = Stage;
  76. jobject["unique"] = Unique;
  77. if (Stage < 3)
  78. {
  79. JArray jarray = new JArray();
  80. try
  81. {
  82. foreach (PageLinkIoi.RoomEntry roomEntry in PageLinkIoi.repositoryConfig)
  83. {
  84. JObject jobject2 = new JObject();
  85. jobject2["name"] = roomEntry.connectionTest;
  86. jobject2["port"] = roomEntry.workerTest;
  87. jarray.Add(jobject2);
  88. }
  89. }
  90. finally
  91. {
  92. List<PageLinkIoi.RoomEntry>.Enumerator enumerator;
  93. ((IDisposable)enumerator).Dispose();
  94. }
  95. jobject["rooms"] = jarray;
  96. User._ExpressionTest[Unique] = DateTime.Now;
  97. }
  98. User.Send(jobject);
  99. }
  100. // Token: 0x06000A5C RID: 2652 RVA: 0x000063A1 File Offset: 0x000045A1
  101. private static void SendDisconnectRequest(PageLinkIoi.LinkUserIoi User, string Message = null, bool IsError = false)
  102. {
  103. }
  104. // Token: 0x06000A5D RID: 2653 RVA: 0x000063A1 File Offset: 0x000045A1
  105. private static void BtnListRefresh_Click(MyIconButton sender, EventArgs e)
  106. {
  107. }
  108. // Token: 0x06000A5E RID: 2654 RVA: 0x000063A1 File Offset: 0x000045A1
  109. private static void BtnListDisconnect_Click(MyIconButton sender, EventArgs e)
  110. {
  111. }
  112. // Token: 0x06000A5F RID: 2655 RVA: 0x000063A1 File Offset: 0x000045A1
  113. public static void BtnLeftCopy_Click()
  114. {
  115. }
  116. // Token: 0x06000A60 RID: 2656 RVA: 0x0004AE28 File Offset: 0x00049028
  117. public static string GetPlayerName()
  118. {
  119. if (PageLinkIoi._ComposerConfig == null)
  120. {
  121. ModLaunch.McLoginName();
  122. PageLinkIoi._ComposerConfig = ModLaunch.McLoginName();
  123. }
  124. string text = ModBase.m_IdentifierRepository.Get("LinkName", null).ToString().Trim();
  125. string result;
  126. if (Operators.CompareString(text, "", false) != 0)
  127. {
  128. result = text.Trim();
  129. }
  130. else
  131. {
  132. result = PageLinkIoi._ComposerConfig;
  133. }
  134. return result;
  135. }
  136. // Token: 0x06000A61 RID: 2657 RVA: 0x000074F6 File Offset: 0x000056F6
  137. private static bool IsPlayerNameValid(string Name)
  138. {
  139. return true;
  140. }
  141. // Token: 0x06000A62 RID: 2658 RVA: 0x000063A1 File Offset: 0x000045A1
  142. public static void StartSocketListener()
  143. {
  144. }
  145. // Token: 0x06000A63 RID: 2659 RVA: 0x0004AE88 File Offset: 0x00049088
  146. private List<PageLinkIoi.RoomEntry> GetRoomList()
  147. {
  148. List<PageLinkIoi.RoomEntry> list = new List<PageLinkIoi.RoomEntry>(PageLinkIoi.repositoryConfig);
  149. checked
  150. {
  151. int num = PageLinkIoi._IteratorConfig.Count - 1;
  152. int num2 = 0;
  153. while (num2 <= num && num2 <= PageLinkIoi._IteratorConfig.Count - 1)
  154. {
  155. list.AddRange(Enumerable.ElementAtOrDefault<PageLinkIoi.LinkUserIoi>(PageLinkIoi._IteratorConfig.Values, num2)._FactoryTest);
  156. num2++;
  157. }
  158. return list;
  159. }
  160. }
  161. // Token: 0x06000A64 RID: 2660 RVA: 0x000063A1 File Offset: 0x000045A1
  162. public static void BtnLeftCreate_Click()
  163. {
  164. }
  165. // Token: 0x06000A65 RID: 2661 RVA: 0x000063A1 File Offset: 0x000045A1
  166. private static void SendPortsubBack(PageLinkIoi.LinkUserIoi User, int TargetVersion)
  167. {
  168. }
  169. // Token: 0x06000A66 RID: 2662 RVA: 0x000063A1 File Offset: 0x000045A1
  170. private void LinkCreate()
  171. {
  172. }
  173. // Token: 0x06000A67 RID: 2663 RVA: 0x0004AEE4 File Offset: 0x000490E4
  174. private static void SendUpdateRequestToAllUsers()
  175. {
  176. checked
  177. {
  178. int num = PageLinkIoi._IteratorConfig.Count - 1;
  179. int num2 = 0;
  180. while (num2 <= num && num2 <= PageLinkIoi._IteratorConfig.Count - 1)
  181. {
  182. PageLinkIoi.LinkUserIoi linkUserIoi = Enumerable.ElementAtOrDefault<PageLinkIoi.LinkUserIoi>(PageLinkIoi._IteratorConfig.Values, num2);
  183. if (linkUserIoi._ExporterTest >= 1.0)
  184. {
  185. try
  186. {
  187. PageLinkIoi.SendUpdateRequest(linkUserIoi, 1, -1L);
  188. }
  189. catch (Exception ex)
  190. {
  191. ModBase.Log(ex, "发送全局刷新请求失败(" + linkUserIoi._ConfigurationTest + ")", ModBase.LogLevel.Debug, "出现错误");
  192. }
  193. }
  194. num2++;
  195. }
  196. }
  197. }
  198. // Token: 0x06000A68 RID: 2664 RVA: 0x000063A1 File Offset: 0x000045A1
  199. private static void BtnRoomEdit_Click(MyIconButton sender, EventArgs e)
  200. {
  201. }
  202. // Token: 0x06000A69 RID: 2665 RVA: 0x0004AF90 File Offset: 0x00049190
  203. private static void BtnRoom_Click(MyListItem sender, EventArgs e)
  204. {
  205. PageLinkIoi.RoomEntry roomEntry = (PageLinkIoi.RoomEntry)sender.Tag;
  206. if (ModMain.MyMsgBox("请在多人游戏页面点击直接连接,输入 " + roomEntry.ValidateMapper() + " 以进入服务器!", "加入房间", "复制地址", "确定", "", false, true, false, null, null, null) == 1)
  207. {
  208. ModBase.ClipboardSet(roomEntry.ValidateMapper(), true);
  209. }
  210. }
  211. // Token: 0x06000A6A RID: 2666 RVA: 0x000063A1 File Offset: 0x000045A1
  212. private static void BtnRoomClose_Click(MyIconButton sender, EventArgs e)
  213. {
  214. }
  215. // Token: 0x06000A6B RID: 2667 RVA: 0x000063A1 File Offset: 0x000045A1
  216. public static void ReceiveJson(JObject JsonData, Socket NewSocket = null)
  217. {
  218. }
  219. // Token: 0x06000A6C RID: 2668 RVA: 0x000063A1 File Offset: 0x000045A1
  220. public static void UserRemove(PageLinkIoi.LinkUserIoi User, bool ShowLeaveMessage)
  221. {
  222. }
  223. // Token: 0x06000A6D RID: 2669 RVA: 0x000063A1 File Offset: 0x000045A1
  224. public static void ModuleStopManually()
  225. {
  226. }
  227. // Token: 0x17000181 RID: 385
  228. // (get) Token: 0x06000A6E RID: 2670 RVA: 0x000074F9 File Offset: 0x000056F9
  229. // (set) Token: 0x06000A6F RID: 2671 RVA: 0x00007501 File Offset: 0x00005701
  230. internal virtual MyScrollViewer PanBack { get; set; }
  231. // Token: 0x17000182 RID: 386
  232. // (get) Token: 0x06000A70 RID: 2672 RVA: 0x0000750A File Offset: 0x0000570A
  233. // (set) Token: 0x06000A71 RID: 2673 RVA: 0x00007512 File Offset: 0x00005712
  234. internal virtual MyCard CardUser { get; set; }
  235. // Token: 0x17000183 RID: 387
  236. // (get) Token: 0x06000A72 RID: 2674 RVA: 0x0000751B File Offset: 0x0000571B
  237. // (set) Token: 0x06000A73 RID: 2675 RVA: 0x00007523 File Offset: 0x00005723
  238. internal virtual MyHint LabHint { get; set; }
  239. // Token: 0x17000184 RID: 388
  240. // (get) Token: 0x06000A74 RID: 2676 RVA: 0x0000752C File Offset: 0x0000572C
  241. // (set) Token: 0x06000A75 RID: 2677 RVA: 0x00007534 File Offset: 0x00005734
  242. internal virtual StackPanel PanUserList { get; set; }
  243. // Token: 0x17000185 RID: 389
  244. // (get) Token: 0x06000A76 RID: 2678 RVA: 0x0000753D File Offset: 0x0000573D
  245. // (set) Token: 0x06000A77 RID: 2679 RVA: 0x0004AFEC File Offset: 0x000491EC
  246. internal virtual MyButton BtnLeftCreate
  247. {
  248. [CompilerGenerated]
  249. get
  250. {
  251. return this.specificationConfig;
  252. }
  253. [CompilerGenerated]
  254. set
  255. {
  256. MyButton.ClickEventHandler value2 = (PageLinkIoi._Closure$__.$IR63-1 == null) ? (PageLinkIoi._Closure$__.$IR63-1 = delegate(object sender, MouseButtonEventArgs e)
  257. {
  258. PageLinkIoi.BtnLeftCreate_Click();
  259. }) : PageLinkIoi._Closure$__.$IR63-1;
  260. MyButton myButton = this.specificationConfig;
  261. if (myButton != null)
  262. {
  263. myButton.Click -= value2;
  264. }
  265. this.specificationConfig = value;
  266. myButton = this.specificationConfig;
  267. if (myButton != null)
  268. {
  269. myButton.Click += value2;
  270. }
  271. }
  272. }
  273. // Token: 0x17000186 RID: 390
  274. // (get) Token: 0x06000A78 RID: 2680 RVA: 0x00007545 File Offset: 0x00005745
  275. // (set) Token: 0x06000A79 RID: 2681 RVA: 0x0004B048 File Offset: 0x00049248
  276. internal virtual MyButton BtnLeftCopy
  277. {
  278. [CompilerGenerated]
  279. get
  280. {
  281. return this.mockConfig;
  282. }
  283. [CompilerGenerated]
  284. set
  285. {
  286. MyButton.ClickEventHandler value2 = (PageLinkIoi._Closure$__.$IR67-2 == null) ? (PageLinkIoi._Closure$__.$IR67-2 = delegate(object sender, MouseButtonEventArgs e)
  287. {
  288. PageLinkIoi.BtnLeftCopy_Click();
  289. }) : PageLinkIoi._Closure$__.$IR67-2;
  290. MyButton myButton = this.mockConfig;
  291. if (myButton != null)
  292. {
  293. myButton.Click -= value2;
  294. }
  295. this.mockConfig = value;
  296. myButton = this.mockConfig;
  297. if (myButton != null)
  298. {
  299. myButton.Click += value2;
  300. }
  301. }
  302. }
  303. // Token: 0x17000187 RID: 391
  304. // (get) Token: 0x06000A7A RID: 2682 RVA: 0x0000754D File Offset: 0x0000574D
  305. // (set) Token: 0x06000A7B RID: 2683 RVA: 0x00007555 File Offset: 0x00005755
  306. internal virtual MyCard CardRoom { get; set; }
  307. // Token: 0x17000188 RID: 392
  308. // (get) Token: 0x06000A7C RID: 2684 RVA: 0x0000755E File Offset: 0x0000575E
  309. // (set) Token: 0x06000A7D RID: 2685 RVA: 0x00007566 File Offset: 0x00005766
  310. internal virtual StackPanel PanRoom { get; set; }
  311. // Token: 0x17000189 RID: 393
  312. // (get) Token: 0x06000A7E RID: 2686 RVA: 0x0000756F File Offset: 0x0000576F
  313. // (set) Token: 0x06000A7F RID: 2687 RVA: 0x0004B0A4 File Offset: 0x000492A4
  314. internal virtual MyListItem BtnCreate
  315. {
  316. [CompilerGenerated]
  317. get
  318. {
  319. return this.m_HelperConfig;
  320. }
  321. [CompilerGenerated]
  322. set
  323. {
  324. MyListItem.ClickEventHandler value2 = delegate(object sender, MouseButtonEventArgs e)
  325. {
  326. this.LinkCreate();
  327. };
  328. MyListItem helperConfig = this.m_HelperConfig;
  329. if (helperConfig != null)
  330. {
  331. helperConfig.Click -= value2;
  332. }
  333. this.m_HelperConfig = value;
  334. helperConfig = this.m_HelperConfig;
  335. if (helperConfig != null)
  336. {
  337. helperConfig.Click += value2;
  338. }
  339. }
  340. }
  341. // Token: 0x1700018A RID: 394
  342. // (get) Token: 0x06000A80 RID: 2688 RVA: 0x00007577 File Offset: 0x00005777
  343. // (set) Token: 0x06000A81 RID: 2689 RVA: 0x0000757F File Offset: 0x0000577F
  344. internal virtual MyCard PanLoad { get; set; }
  345. // Token: 0x1700018B RID: 395
  346. // (get) Token: 0x06000A82 RID: 2690 RVA: 0x00007588 File Offset: 0x00005788
  347. // (set) Token: 0x06000A83 RID: 2691 RVA: 0x00007590 File Offset: 0x00005790
  348. internal virtual MyLoading Load { get; set; }
  349. // Token: 0x1700018C RID: 396
  350. // (get) Token: 0x06000A84 RID: 2692 RVA: 0x00007599 File Offset: 0x00005799
  351. // (set) Token: 0x06000A85 RID: 2693 RVA: 0x000075A1 File Offset: 0x000057A1
  352. internal virtual Grid PanAlways { get; set; }
  353. // Token: 0x06000A86 RID: 2694 RVA: 0x0004B0E8 File Offset: 0x000492E8
  354. [GeneratedCode("PresentationBuildTasks", "4.0.0.0")]
  355. public void InitializeComponent()
  356. {
  357. if (!this._SerializerConfig)
  358. {
  359. this._SerializerConfig = true;
  360. Uri resourceLocator = new Uri("/Plain Craft Launcher 2;component/pages/pagelink/pagelinkioi.xaml", UriKind.Relative);
  361. Application.LoadComponent(this, resourceLocator);
  362. }
  363. }
  364. // Token: 0x06000A87 RID: 2695 RVA: 0x0000414E File Offset: 0x0000234E
  365. [GeneratedCode("PresentationBuildTasks", "4.0.0.0")]
  366. internal Delegate _CreateDelegate(Type delegateType, string handler)
  367. {
  368. return Delegate.CreateDelegate(delegateType, this, handler);
  369. }
  370. // Token: 0x06000A88 RID: 2696 RVA: 0x0004B118 File Offset: 0x00049318
  371. [GeneratedCode("PresentationBuildTasks", "4.0.0.0")]
  372. [EditorBrowsable(EditorBrowsableState.Never)]
  373. public void System_Windows_Markup_IComponentConnector_Connect(int connectionId, object target)
  374. {
  375. if (connectionId == 1)
  376. {
  377. this.PanBack = (MyScrollViewer)target;
  378. return;
  379. }
  380. if (connectionId == 2)
  381. {
  382. this.CardUser = (MyCard)target;
  383. return;
  384. }
  385. if (connectionId == 3)
  386. {
  387. this.LabHint = (MyHint)target;
  388. return;
  389. }
  390. if (connectionId == 4)
  391. {
  392. this.PanUserList = (StackPanel)target;
  393. return;
  394. }
  395. if (connectionId == 5)
  396. {
  397. this.BtnLeftCreate = (MyButton)target;
  398. return;
  399. }
  400. if (connectionId == 6)
  401. {
  402. this.BtnLeftCopy = (MyButton)target;
  403. return;
  404. }
  405. if (connectionId == 7)
  406. {
  407. this.CardRoom = (MyCard)target;
  408. return;
  409. }
  410. if (connectionId == 8)
  411. {
  412. this.PanRoom = (StackPanel)target;
  413. return;
  414. }
  415. if (connectionId == 9)
  416. {
  417. this.BtnCreate = (MyListItem)target;
  418. return;
  419. }
  420. if (connectionId == 10)
  421. {
  422. this.PanLoad = (MyCard)target;
  423. return;
  424. }
  425. if (connectionId == 11)
  426. {
  427. this.Load = (MyLoading)target;
  428. return;
  429. }
  430. if (connectionId == 12)
  431. {
  432. this.PanAlways = (Grid)target;
  433. return;
  434. }
  435. this._SerializerConfig = true;
  436. }
  437. // Token: 0x04000554 RID: 1364
  438. public static string m_BroadcasterConfig = ModBase.m_InstanceRepository + "联机模块\\IOI 联机模块.exe";
  439. // Token: 0x04000555 RID: 1365
  440. private static string m_FieldConfig;
  441. // Token: 0x04000556 RID: 1366
  442. private static string _ReaderConfig;
  443. // Token: 0x04000557 RID: 1367
  444. private static Process m_ClientConfig = null;
  445. // Token: 0x04000558 RID: 1368
  446. private static ModBase.LoadState _ConfigConfig = ModBase.LoadState.Waiting;
  447. // Token: 0x04000559 RID: 1369
  448. private static int m_TestsConfig = 0;
  449. // Token: 0x0400055A RID: 1370
  450. private static string mapperConfig = "";
  451. // Token: 0x0400055B RID: 1371
  452. private static string threadConfig = "";
  453. // Token: 0x0400055C RID: 1372
  454. private static string _PropertyConfig = "";
  455. // Token: 0x0400055D RID: 1373
  456. private static string _ComposerConfig = null;
  457. // Token: 0x0400055E RID: 1374
  458. public static Dictionary<string, PageLinkIoi.LinkUserIoi> _IteratorConfig = new Dictionary<string, PageLinkIoi.LinkUserIoi>();
  459. // Token: 0x0400055F RID: 1375
  460. private static List<PageLinkIoi.RoomEntry> repositoryConfig = new List<PageLinkIoi.RoomEntry>();
  461. // Token: 0x04000560 RID: 1376
  462. [CompilerGenerated]
  463. [AccessedThroughProperty("PanBack")]
  464. private MyScrollViewer _TestConfig;
  465. // Token: 0x04000561 RID: 1377
  466. [AccessedThroughProperty("CardUser")]
  467. [CompilerGenerated]
  468. private MyCard mapConfig;
  469. // Token: 0x04000562 RID: 1378
  470. [AccessedThroughProperty("LabHint")]
  471. [CompilerGenerated]
  472. private MyHint errorConfig;
  473. // Token: 0x04000563 RID: 1379
  474. [AccessedThroughProperty("PanUserList")]
  475. [CompilerGenerated]
  476. private StackPanel m_ContextConfig;
  477. // Token: 0x04000564 RID: 1380
  478. [AccessedThroughProperty("BtnLeftCreate")]
  479. [CompilerGenerated]
  480. private MyButton specificationConfig;
  481. // Token: 0x04000565 RID: 1381
  482. [AccessedThroughProperty("BtnLeftCopy")]
  483. [CompilerGenerated]
  484. private MyButton mockConfig;
  485. // Token: 0x04000566 RID: 1382
  486. [AccessedThroughProperty("CardRoom")]
  487. [CompilerGenerated]
  488. private MyCard m_RequestConfig;
  489. // Token: 0x04000567 RID: 1383
  490. [AccessedThroughProperty("PanRoom")]
  491. [CompilerGenerated]
  492. private StackPanel _DicConfig;
  493. // Token: 0x04000568 RID: 1384
  494. [CompilerGenerated]
  495. [AccessedThroughProperty("BtnCreate")]
  496. private MyListItem m_HelperConfig;
  497. // Token: 0x04000569 RID: 1385
  498. [AccessedThroughProperty("PanLoad")]
  499. [CompilerGenerated]
  500. private MyCard m_IssuerConfig;
  501. // Token: 0x0400056A RID: 1386
  502. [AccessedThroughProperty("Load")]
  503. [CompilerGenerated]
  504. private MyLoading m_IndexerConfig;
  505. // Token: 0x0400056B RID: 1387
  506. [CompilerGenerated]
  507. [AccessedThroughProperty("PanAlways")]
  508. private Grid interpreterConfig;
  509. // Token: 0x0400056C RID: 1388
  510. private bool _SerializerConfig;
  511. // Token: 0x02000105 RID: 261
  512. public abstract class LinkUserBase : IDisposable
  513. {
  514. // Token: 0x06000A8A RID: 2698 RVA: 0x000063A1 File Offset: 0x000045A1
  515. public void Send(JObject Request)
  516. {
  517. }
  518. // Token: 0x06000A8B RID: 2699 RVA: 0x000063A1 File Offset: 0x000045A1
  519. public void StartListener()
  520. {
  521. }
  522. // Token: 0x06000A8C RID: 2700 RVA: 0x000075B2 File Offset: 0x000057B2
  523. public void BindSocket(Socket Socket)
  524. {
  525. if (this.getterTest != null)
  526. {
  527. throw new Exception("该用户已经绑定了 Socket");
  528. }
  529. this.getterTest = Socket;
  530. this.StartListener();
  531. }
  532. // Token: 0x06000A8D RID: 2701 RVA: 0x0004B1FC File Offset: 0x000493FC
  533. public LinkUserBase(string Id, string DisplayName)
  534. {
  535. this.taskTest = ModBase.GetUuid();
  536. this.getterTest = null;
  537. this.m_TokenTest = null;
  538. this._ExpressionTest = new Dictionary<long, DateTime>();
  539. this.m_WriterTest = new Queue<int>();
  540. this.m_RegistryTest = DateTime.Now;
  541. this.ruleTest = DateTime.Now;
  542. this.m_ProccesorTest = false;
  543. this._ConsumerTest = Id;
  544. this._ConfigurationTest = DisplayName;
  545. ModBase.Log("[IOI] 无通信包的新用户对象:" + this.ToString(), ModBase.LogLevel.Normal, "出现错误");
  546. }
  547. // Token: 0x06000A8E RID: 2702 RVA: 0x0004B288 File Offset: 0x00049488
  548. public LinkUserBase(string Id, string DisplayName, Socket Socket)
  549. {
  550. this.taskTest = ModBase.GetUuid();
  551. this.getterTest = null;
  552. this.m_TokenTest = null;
  553. this._ExpressionTest = new Dictionary<long, DateTime>();
  554. this.m_WriterTest = new Queue<int>();
  555. this.m_RegistryTest = DateTime.Now;
  556. this.ruleTest = DateTime.Now;
  557. this.m_ProccesorTest = false;
  558. this._ConsumerTest = Id;
  559. this._ConfigurationTest = DisplayName;
  560. this.getterTest = Socket;
  561. ModBase.Log("[IOI] 新用户对象:" + this.ToString(), ModBase.LogLevel.Normal, "出现错误");
  562. this.StartListener();
  563. }
  564. // Token: 0x06000A8F RID: 2703 RVA: 0x000075D4 File Offset: 0x000057D4
  565. public override string ToString()
  566. {
  567. return string.Concat(new string[]
  568. {
  569. this._ConfigurationTest,
  570. " @ ",
  571. this._ConsumerTest,
  572. " #",
  573. Conversions.ToString(this.taskTest)
  574. });
  575. }
  576. // Token: 0x06000A90 RID: 2704 RVA: 0x00007611 File Offset: 0x00005811
  577. public static implicit operator string(PageLinkIoi.LinkUserBase User)
  578. {
  579. return User.ToString();
  580. }
  581. // Token: 0x06000A91 RID: 2705 RVA: 0x00007619 File Offset: 0x00005819
  582. protected virtual void Dispose(bool IsDisposing)
  583. {
  584. if (this.getterTest != null)
  585. {
  586. this.getterTest.Dispose();
  587. }
  588. if (this.m_TokenTest != null && this.m_TokenTest.IsAlive)
  589. {
  590. this.m_TokenTest.Interrupt();
  591. }
  592. }
  593. // Token: 0x06000A92 RID: 2706 RVA: 0x0000764E File Offset: 0x0000584E
  594. public void Dispose()
  595. {
  596. if (!this.m_ProccesorTest)
  597. {
  598. this.m_ProccesorTest = true;
  599. this.Dispose(true);
  600. }
  601. GC.SuppressFinalize(this);
  602. }
  603. // Token: 0x0400056D RID: 1389
  604. public int taskTest;
  605. // Token: 0x0400056E RID: 1390
  606. public string _ConsumerTest;
  607. // Token: 0x0400056F RID: 1391
  608. public string _ConfigurationTest;
  609. // Token: 0x04000570 RID: 1392
  610. public Socket getterTest;
  611. // Token: 0x04000571 RID: 1393
  612. public Thread m_TokenTest;
  613. // Token: 0x04000572 RID: 1394
  614. public Dictionary<long, DateTime> _ExpressionTest;
  615. // Token: 0x04000573 RID: 1395
  616. public Queue<int> m_WriterTest;
  617. // Token: 0x04000574 RID: 1396
  618. public DateTime m_RegistryTest;
  619. // Token: 0x04000575 RID: 1397
  620. public DateTime ruleTest;
  621. // Token: 0x04000576 RID: 1398
  622. public bool m_ProccesorTest;
  623. }
  624. // Token: 0x02000106 RID: 262
  625. public class LinkUserIoi : PageLinkIoi.LinkUserBase
  626. {
  627. // Token: 0x06000A94 RID: 2708 RVA: 0x0000766C File Offset: 0x0000586C
  628. public LinkUserIoi(string Id, string DisplayName, Socket Socket) : base(Id, DisplayName, Socket)
  629. {
  630. this.m_SetterTest = new Dictionary<int, string>();
  631. this._FactoryTest = new List<PageLinkIoi.RoomEntry>();
  632. this._ExporterTest = 0.0;
  633. this.importerTest = null;
  634. }
  635. // Token: 0x06000A95 RID: 2709 RVA: 0x000076A4 File Offset: 0x000058A4
  636. public LinkUserIoi(string Id, string DisplayName) : base(Id, DisplayName)
  637. {
  638. this.m_SetterTest = new Dictionary<int, string>();
  639. this._FactoryTest = new List<PageLinkIoi.RoomEntry>();
  640. this._ExporterTest = 0.0;
  641. this.importerTest = null;
  642. }
  643. // Token: 0x06000A96 RID: 2710 RVA: 0x0004B320 File Offset: 0x00049520
  644. public string GetDescription()
  645. {
  646. if (this._ExporterTest >= 1.0)
  647. {
  648. return "已连接," + ((!Enumerable.Any<int>(this.m_WriterTest)) ? "检查延迟中" : (Conversions.ToString(Math.Round(Enumerable.Average(this.m_WriterTest))) + "ms"));
  649. }
  650. return "正在连接," + Conversions.ToString(Math.Round(this._ExporterTest * 100.0)) + "%";
  651. }
  652. // Token: 0x06000A97 RID: 2711 RVA: 0x0004B3A8 File Offset: 0x000495A8
  653. public MyListItem ToListItem()
  654. {
  655. MyListItem myListItem = new MyListItem
  656. {
  657. Title = this._ConfigurationTest,
  658. Height = 42.0,
  659. Tag = this,
  660. Type = MyListItem.CheckType.None,
  661. Logo = "pack://application:,,,/images/Blocks/Grass.png"
  662. };
  663. MyIconButton myIconButton = new MyIconButton
  664. {
  665. Logo = "M875.52 148.48C783.36 56.32 655.36 0 512 0 291.84 0 107.52 138.24 30.72 332.8l122.88 46.08C204.8 230.4 348.16 128 512 128c107.52 0 199.68 40.96 271.36 112.64L640 384h384V0L875.52 148.48zM512 896c-107.52 0-199.68-40.96-271.36-112.64L384 640H0v384l148.48-148.48C240.64 967.68 368.64 1024 512 1024c220.16 0 404.48-138.24 481.28-332.8L870.4 645.12C819.2 793.6 675.84 896 512 896z",
  666. LogoScale = 0.85,
  667. ToolTip = "刷新",
  668. Tag = this
  669. };
  670. myIconButton.Click += ((PageLinkIoi.LinkUserIoi._Closure$__.$IR7-1 == null) ? (PageLinkIoi.LinkUserIoi._Closure$__.$IR7-1 = delegate(object sender, EventArgs e)
  671. {
  672. PageLinkIoi.BtnListRefresh_Click((MyIconButton)sender, e);
  673. }) : PageLinkIoi.LinkUserIoi._Closure$__.$IR7-1);
  674. ToolTipService.SetPlacement(myIconButton, PlacementMode.Bottom);
  675. ToolTipService.SetHorizontalOffset(myIconButton, -10.0);
  676. ToolTipService.SetVerticalOffset(myIconButton, 5.0);
  677. ToolTipService.SetInitialShowDelay(myIconButton, 200);
  678. MyIconButton myIconButton2 = new MyIconButton
  679. {
  680. Logo = "F1 M 26.9166,22.1667L 37.9999,33.25L 49.0832,22.1668L 53.8332,26.9168L 42.7499,38L 53.8332,49.0834L 49.0833,53.8334L 37.9999,42.75L 26.9166,53.8334L 22.1666,49.0833L 33.25,38L 22.1667,26.9167L 26.9166,22.1667 Z",
  681. LogoScale = 0.85,
  682. ToolTip = "断开",
  683. Tag = this
  684. };
  685. myIconButton2.Click += ((PageLinkIoi.LinkUserIoi._Closure$__.$IR7-2 == null) ? (PageLinkIoi.LinkUserIoi._Closure$__.$IR7-2 = delegate(object sender, EventArgs e)
  686. {
  687. PageLinkIoi.BtnListDisconnect_Click((MyIconButton)sender, e);
  688. }) : PageLinkIoi.LinkUserIoi._Closure$__.$IR7-2);
  689. ToolTipService.SetPlacement(myIconButton2, PlacementMode.Bottom);
  690. ToolTipService.SetHorizontalOffset(myIconButton2, -10.0);
  691. ToolTipService.SetVerticalOffset(myIconButton2, 5.0);
  692. ToolTipService.SetInitialShowDelay(myIconButton2, 200);
  693. myListItem.Buttons = new MyIconButton[]
  694. {
  695. myIconButton,
  696. myIconButton2
  697. };
  698. this.RefreshUi(myListItem);
  699. return myListItem;
  700. }
  701. // Token: 0x06000A98 RID: 2712 RVA: 0x000076DB File Offset: 0x000058DB
  702. public void RefreshUi(MyListItem RelatedListItem)
  703. {
  704. RelatedListItem.Title = this._ConfigurationTest;
  705. RelatedListItem.Info = this.GetDescription();
  706. Enumerable.ElementAtOrDefault<MyIconButton>(RelatedListItem.Buttons, 0).Visibility = ((this._ExporterTest == 1.0) ? Visibility.Visible : Visibility.Collapsed);
  707. }
  708. // Token: 0x06000A99 RID: 2713 RVA: 0x0004B524 File Offset: 0x00049724
  709. protected override void Dispose(bool IsDisposing)
  710. {
  711. ModBase.Log("[IOI] 用户资源释放(IOI, " + this._ConfigurationTest + ")", ModBase.LogLevel.Normal, "出现错误");
  712. if (this.importerTest != null && this.importerTest.IsAlive)
  713. {
  714. this.importerTest.Interrupt();
  715. }
  716. PageLinkIoi._IteratorConfig.Remove(this._ConsumerTest);
  717. base.Dispose(IsDisposing);
  718. }
  719. // Token: 0x04000577 RID: 1399
  720. public Dictionary<int, string> m_SetterTest;
  721. // Token: 0x04000578 RID: 1400
  722. public List<PageLinkIoi.RoomEntry> _FactoryTest;
  723. // Token: 0x04000579 RID: 1401
  724. public double _ExporterTest;
  725. // Token: 0x0400057A RID: 1402
  726. public Thread importerTest;
  727. }
  728. // Token: 0x02000108 RID: 264
  729. public class RoomEntry
  730. {
  731. // Token: 0x06000A9F RID: 2719 RVA: 0x0004B58C File Offset: 0x0004978C
  732. public string ValidateMapper()
  733. {
  734. string result;
  735. if (this.resolverTest)
  736. {
  737. result = "localhost:" + Conversions.ToString(this.workerTest);
  738. }
  739. else
  740. {
  741. result = this.serverTest.m_SetterTest[this.workerTest] + ":" + Conversions.ToString(this.workerTest);
  742. }
  743. return result;
  744. }
  745. // Token: 0x06000AA0 RID: 2720 RVA: 0x00007746 File Offset: 0x00005946
  746. public RoomEntry(int Port, string DisplayName, PageLinkIoi.LinkUserIoi User = null)
  747. {
  748. this.serverTest = null;
  749. this.resolverTest = (User == null);
  750. this.serverTest = User;
  751. this.connectionTest = DisplayName;
  752. this.workerTest = Port;
  753. }
  754. // Token: 0x06000AA1 RID: 2721 RVA: 0x0004B5E8 File Offset: 0x000497E8
  755. public override string ToString()
  756. {
  757. return string.Concat(new string[]
  758. {
  759. this.connectionTest,
  760. " - ",
  761. Conversions.ToString(this.workerTest),
  762. " - ",
  763. Conversions.ToString(this.resolverTest)
  764. });
  765. }
  766. // Token: 0x06000AA2 RID: 2722 RVA: 0x00007775 File Offset: 0x00005975
  767. public static implicit operator string(PageLinkIoi.RoomEntry Room)
  768. {
  769. return Room.ToString();
  770. }
  771. // Token: 0x06000AA3 RID: 2723 RVA: 0x0000777D File Offset: 0x0000597D
  772. public static int SelectPort(PageLinkIoi.RoomEntry Room)
  773. {
  774. return Room.workerTest;
  775. }
  776. // Token: 0x06000AA4 RID: 2724 RVA: 0x0004B638 File Offset: 0x00049838
  777. public string GetDescription()
  778. {
  779. string result;
  780. if (this.resolverTest)
  781. {
  782. result = "由我创建,端口 " + Conversions.ToString(this.workerTest);
  783. }
  784. else
  785. {
  786. result = "由 " + this.serverTest._ConfigurationTest + " 创建,端口 " + Conversions.ToString(this.workerTest);
  787. }
  788. return result;
  789. }
  790. // Token: 0x06000AA5 RID: 2725 RVA: 0x0004B68C File Offset: 0x0004988C
  791. public MyListItem ToListItem()
  792. {
  793. MyListItem myListItem = new MyListItem
  794. {
  795. Title = this.connectionTest,
  796. Height = 42.0,
  797. Info = this.GetDescription(),
  798. Tag = this,
  799. Type = (this.resolverTest ? MyListItem.CheckType.None : MyListItem.CheckType.Clickable),
  800. Logo = "pack://application:,,,/images/Blocks/" + (this.resolverTest ? "GrassPath" : "Grass") + ".png"
  801. };
  802. if (this.resolverTest)
  803. {
  804. MyIconButton myIconButton = new MyIconButton
  805. {
  806. Logo = "M732.64 64.32C688.576 21.216 613.696 21.216 569.6 64.32L120.128 499.52c-17.6 12.896-26.432 30.144-30.848 51.68L32 870.048c0 25.856 8.8 56 26.432 73.248 17.632 17.216 17.632 48.704 88.64 48.704h13.248l326.08-56c22.016-4.32 39.68-12.928 52.864-30.176l449.472-435.2c22.048-21.536 35.264-47.36 35.264-77.536 0-30.176-13.216-56-35.264-77.568l-256.096-251.2zM139.712 903.776l56-326.912 311.04-295.136 267.104 269.44-310.976 295.168-323.168 57.44zM844.576 467.84l-273.984-260.672 61.856-59.84c8.832-8.512 26.528-8.512 39.776 0l234.24 226.496c4.384 4.288 8.832 12.8 8.832 17.088s-4.416 8.544-8.864 12.8l-61.856 64.128z",
  807. LogoScale = 1.0,
  808. ToolTip = "修改名称",
  809. Tag = this
  810. };
  811. myIconButton.Click += ((PageLinkIoi.RoomEntry._Closure$__.$IR11-1 == null) ? (PageLinkIoi.RoomEntry._Closure$__.$IR11-1 = delegate(object sender, EventArgs e)
  812. {
  813. PageLinkIoi.BtnRoomEdit_Click((MyIconButton)sender, e);
  814. }) : PageLinkIoi.RoomEntry._Closure$__.$IR11-1);
  815. ToolTipService.SetPlacement(myIconButton, PlacementMode.Bottom);
  816. ToolTipService.SetHorizontalOffset(myIconButton, -22.0);
  817. ToolTipService.SetVerticalOffset(myIconButton, 5.0);
  818. ToolTipService.SetInitialShowDelay(myIconButton, 200);
  819. MyIconButton myIconButton2 = new MyIconButton
  820. {
  821. Logo = "F1 M 26.9166,22.1667L 37.9999,33.25L 49.0832,22.1668L 53.8332,26.9168L 42.7499,38L 53.8332,49.0834L 49.0833,53.8334L 37.9999,42.75L 26.9166,53.8334L 22.1666,49.0833L 33.25,38L 22.1667,26.9167L 26.9166,22.1667 Z",
  822. LogoScale = 0.85,
  823. ToolTip = "关闭",
  824. Tag = this
  825. };
  826. myIconButton2.Click += ((PageLinkIoi.RoomEntry._Closure$__.$IR11-2 == null) ? (PageLinkIoi.RoomEntry._Closure$__.$IR11-2 = delegate(object sender, EventArgs e)
  827. {
  828. PageLinkIoi.BtnRoomClose_Click((MyIconButton)sender, e);
  829. }) : PageLinkIoi.RoomEntry._Closure$__.$IR11-2);
  830. ToolTipService.SetPlacement(myIconButton2, PlacementMode.Bottom);
  831. ToolTipService.SetHorizontalOffset(myIconButton2, -10.0);
  832. ToolTipService.SetVerticalOffset(myIconButton2, 5.0);
  833. ToolTipService.SetInitialShowDelay(myIconButton2, 200);
  834. myListItem.Buttons = new MyIconButton[]
  835. {
  836. myIconButton,
  837. myIconButton2
  838. };
  839. }
  840. else
  841. {
  842. myListItem.Click += ((PageLinkIoi.RoomEntry._Closure$__.$IR11-3 == null) ? (PageLinkIoi.RoomEntry._Closure$__.$IR11-3 = delegate(object sender, MouseButtonEventArgs e)
  843. {
  844. PageLinkIoi.BtnRoom_Click((MyListItem)sender, e);
  845. }) : PageLinkIoi.RoomEntry._Closure$__.$IR11-3);
  846. }
  847. return myListItem;
  848. }
  849. // Token: 0x06000AA6 RID: 2726 RVA: 0x00007785 File Offset: 0x00005985
  850. public void RefreshUi(MyListItem RelatedListItem)
  851. {
  852. RelatedListItem.Title = this.connectionTest;
  853. RelatedListItem.Info = this.GetDescription();
  854. }
  855. // Token: 0x0400057E RID: 1406
  856. public int workerTest;
  857. // Token: 0x0400057F RID: 1407
  858. public string connectionTest;
  859. // Token: 0x04000580 RID: 1408
  860. public PageLinkIoi.LinkUserIoi serverTest;
  861. // Token: 0x04000581 RID: 1409
  862. public bool resolverTest;
  863. }
  864. }
  865. }