PageOtherHelp.cs 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513
  1. using System;
  2. using System.CodeDom.Compiler;
  3. using System.Collections.Generic;
  4. using System.ComponentModel;
  5. using System.Linq;
  6. using System.Runtime.CompilerServices;
  7. using System.Windows;
  8. using System.Windows.Controls;
  9. using System.Windows.Markup;
  10. using System.Windows.Media;
  11. using Microsoft.VisualBasic.CompilerServices;
  12. namespace PCL
  13. {
  14. // Token: 0x020001A1 RID: 417
  15. [DesignerGenerated]
  16. public class PageOtherHelp : MyPageRight, IRefreshable, IComponentConnector
  17. {
  18. // Token: 0x06001105 RID: 4357 RVA: 0x0000A5DF File Offset: 0x000087DF
  19. public PageOtherHelp()
  20. {
  21. base.Loaded += this.PageOther_Loaded;
  22. base.Initialized += this.PageOther_Inited;
  23. this.InitializeComponent();
  24. }
  25. // Token: 0x06001106 RID: 4358 RVA: 0x0000A612 File Offset: 0x00008812
  26. private void PageOther_Loaded(object sender, RoutedEventArgs e)
  27. {
  28. this.PanBack.ScrollToHome();
  29. }
  30. // Token: 0x06001107 RID: 4359 RVA: 0x0007B78C File Offset: 0x0007998C
  31. private void PageOther_Inited(object sender, EventArgs e)
  32. {
  33. base.PageLoaderInit(this.Load, this.PanLoad, this.PanBack, null, ModMain._RepositoryRepository, delegate(ModLoader.LoaderBase a0)
  34. {
  35. this.HelpListLoad((ModLoader.LoaderTask<int, List<ModMain.HelpEntry>>)a0);
  36. }, null, true);
  37. }
  38. // Token: 0x06001108 RID: 4360 RVA: 0x0007B7C8 File Offset: 0x000799C8
  39. private void HelpListLoad(ModLoader.LoaderTask<int, List<ModMain.HelpEntry>> Loader)
  40. {
  41. try
  42. {
  43. this.PanList.Children.Clear();
  44. this.PanBack.ScrollToHome();
  45. List<ModMain.HelpEntry> output = Loader.Output;
  46. List<string> list = new List<string>();
  47. try
  48. {
  49. foreach (ModMain.HelpEntry helpEntry in output)
  50. {
  51. if ((ModBase.Val("50") != 50.0 || helpEntry.m_BroadcasterError) && (ModBase.Val("50") == 50.0 || helpEntry.fieldError))
  52. {
  53. try
  54. {
  55. foreach (string item in helpEntry._StrategyMap)
  56. {
  57. if (!list.Contains(item))
  58. {
  59. list.Add(item);
  60. }
  61. }
  62. }
  63. finally
  64. {
  65. List<string>.Enumerator enumerator2;
  66. ((IDisposable)enumerator2).Dispose();
  67. }
  68. }
  69. }
  70. }
  71. finally
  72. {
  73. List<ModMain.HelpEntry>.Enumerator enumerator;
  74. ((IDisposable)enumerator).Dispose();
  75. }
  76. if (list.Contains("指南"))
  77. {
  78. list.Remove("指南");
  79. list.Insert(0, "指南");
  80. }
  81. try
  82. {
  83. foreach (string text in list)
  84. {
  85. List<ModMain.HelpEntry> list2 = new List<ModMain.HelpEntry>();
  86. try
  87. {
  88. foreach (ModMain.HelpEntry helpEntry2 in output)
  89. {
  90. if ((ModBase.Val("50") != 50.0 || helpEntry2.m_BroadcasterError) && (ModBase.Val("50") == 50.0 || helpEntry2.fieldError) && helpEntry2._StrategyMap.Contains(text))
  91. {
  92. list2.Add(helpEntry2);
  93. }
  94. }
  95. }
  96. finally
  97. {
  98. List<ModMain.HelpEntry>.Enumerator enumerator4;
  99. ((IDisposable)enumerator4).Dispose();
  100. }
  101. MyCard myCard = new MyCard();
  102. myCard.Title = text;
  103. myCard.Margin = new Thickness(0.0, 0.0, 0.0, 15.0);
  104. myCard.CreateParser(11);
  105. MyCard myCard2 = myCard;
  106. StackPanel stackPanel = new StackPanel
  107. {
  108. Margin = new Thickness(20.0, 40.0, 18.0, 0.0),
  109. VerticalAlignment = VerticalAlignment.Top,
  110. RenderTransform = new TranslateTransform(0.0, 0.0),
  111. Tag = list2
  112. };
  113. myCard2.Children.Add(stackPanel);
  114. myCard2._Stub = stackPanel;
  115. if (Operators.CompareString(text, "指南", false) == 0)
  116. {
  117. MyCard.StackInstall(ref stackPanel, 11, "指南");
  118. }
  119. else
  120. {
  121. myCard2.IsSwaped = true;
  122. }
  123. this.PanList.Children.Add(myCard2);
  124. }
  125. }
  126. finally
  127. {
  128. List<string>.Enumerator enumerator3;
  129. ((IDisposable)enumerator3).Dispose();
  130. }
  131. }
  132. catch (Exception ex)
  133. {
  134. ModBase.Log(ex, "加载帮助列表 UI 失败", ModBase.LogLevel.Feedback, "出现错误");
  135. }
  136. }
  137. // Token: 0x06001109 RID: 4361 RVA: 0x0007BB24 File Offset: 0x00079D24
  138. public static void OnItemClick(ModMain.HelpEntry Entry)
  139. {
  140. try
  141. {
  142. if (Entry._ReaderError)
  143. {
  144. ModEvent.TryStartEvent(Entry._ClientError, Entry.m_ConfigError);
  145. }
  146. else
  147. {
  148. PageOtherHelp.EnterHelpPage(Entry);
  149. }
  150. }
  151. catch (Exception ex)
  152. {
  153. ModBase.Log(ex, "处理帮助项目点击时发生意外错误", ModBase.LogLevel.Feedback, "出现错误");
  154. }
  155. }
  156. // Token: 0x0600110A RID: 4362 RVA: 0x0000A61F File Offset: 0x0000881F
  157. public static void EnterHelpPage(string Location)
  158. {
  159. ModBase.RunInThread(delegate
  160. {
  161. if (ModMain._RepositoryRepository.State != ModBase.LoadState.Finished)
  162. {
  163. ModMain._RepositoryRepository.WaitForExit(ModBase.GetUuid(), null, false);
  164. }
  165. ModMain.HelpEntry Entry = new ModMain.HelpEntry(Location);
  166. ModBase.RunInUi(delegate()
  167. {
  168. PageOtherHelpDetail pageOtherHelpDetail = new PageOtherHelpDetail();
  169. if (pageOtherHelpDetail.Init(Entry))
  170. {
  171. ModMain._ProcessIterator.PageChange(new FormMain.PageStackData
  172. {
  173. initializerMap = FormMain.PageType.HelpDetail,
  174. m_SingletonMap = new object[]
  175. {
  176. Entry,
  177. pageOtherHelpDetail
  178. }
  179. }, FormMain.PageSubType.Default);
  180. return;
  181. }
  182. ModBase.Log("[Help] 已取消进入帮助项目,这一般是由于 xaml 初始化失败,且用户在弹窗中手动放弃", ModBase.LogLevel.Debug, "出现错误");
  183. }, false);
  184. });
  185. }
  186. // Token: 0x0600110B RID: 4363 RVA: 0x0000A63D File Offset: 0x0000883D
  187. public static void EnterHelpPage(ModMain.HelpEntry Entry)
  188. {
  189. Action $I1;
  190. ModBase.RunInThread(delegate
  191. {
  192. if (ModMain._RepositoryRepository.State != ModBase.LoadState.Finished)
  193. {
  194. ModMain._RepositoryRepository.WaitForExit(ModBase.GetUuid(), null, false);
  195. }
  196. ModBase.RunInUi(($I1 == null) ? ($I1 = delegate()
  197. {
  198. PageOtherHelpDetail pageOtherHelpDetail = new PageOtherHelpDetail();
  199. if (pageOtherHelpDetail.Init(Entry))
  200. {
  201. ModMain._ProcessIterator.PageChange(new FormMain.PageStackData
  202. {
  203. initializerMap = FormMain.PageType.HelpDetail,
  204. m_SingletonMap = new object[]
  205. {
  206. Entry,
  207. pageOtherHelpDetail
  208. }
  209. }, FormMain.PageSubType.Default);
  210. return;
  211. }
  212. ModBase.Log("[Help] 已取消进入帮助项目,这一般是由于 xaml 初始化失败,且用户在弹窗中手动放弃", ModBase.LogLevel.Debug, "出现错误");
  213. }) : $I1, false);
  214. });
  215. }
  216. // Token: 0x0600110C RID: 4364 RVA: 0x0007BB84 File Offset: 0x00079D84
  217. public static PageOtherHelpDetail GetHelpPage(string Location)
  218. {
  219. if (ModMain._RepositoryRepository.State != ModBase.LoadState.Finished)
  220. {
  221. ModMain._RepositoryRepository.WaitForExit(ModBase.GetUuid(), null, false);
  222. }
  223. PageOtherHelpDetail pageOtherHelpDetail = new PageOtherHelpDetail();
  224. if (!pageOtherHelpDetail.Init(new ModMain.HelpEntry(Location)))
  225. {
  226. throw new Exception("已取消进入帮助项目,这一般是由于 xaml 初始化失败,且用户在弹窗中手动放弃");
  227. }
  228. return pageOtherHelpDetail;
  229. }
  230. // Token: 0x0600110D RID: 4365 RVA: 0x0007BBD8 File Offset: 0x00079DD8
  231. public void SearchRun()
  232. {
  233. if (string.IsNullOrWhiteSpace(this.SearchBox.Text))
  234. {
  235. ModAnimation.AniStart(new ModAnimation.AniData[]
  236. {
  237. ModAnimation.AaOpacity(this.PanSearch, -this.PanSearch.Opacity, 100, 0, null, false),
  238. ModAnimation.AaCode(delegate
  239. {
  240. this.PanSearch.Height = 0.0;
  241. this.PanSearch.Visibility = Visibility.Collapsed;
  242. this.PanList.Visibility = Visibility.Visible;
  243. }, 0, true),
  244. ModAnimation.AaOpacity(this.PanList, 1.0 - this.PanList.Opacity, 150, 30, null, false)
  245. }, "FrmOtherHelp Search Switch", false);
  246. return;
  247. }
  248. List<ModBase.SearchEntry<ModMain.HelpEntry>> list = new List<ModBase.SearchEntry<ModMain.HelpEntry>>();
  249. try
  250. {
  251. foreach (ModMain.HelpEntry helpEntry in ModMain._RepositoryRepository.Output)
  252. {
  253. if (helpEntry._ParserError && (ModBase.Val("50") != 50.0 || helpEntry.m_BroadcasterError) && helpEntry._ParserError && (ModBase.Val("50") == 50.0 || helpEntry.fieldError))
  254. {
  255. list.Add(new ModBase.SearchEntry<ModMain.HelpEntry>
  256. {
  257. m_DicError = helpEntry,
  258. helperError = new List<KeyValuePair<string, double>>
  259. {
  260. new KeyValuePair<string, double>(helpEntry.Title, 1.0),
  261. new KeyValuePair<string, double>(helpEntry._PublisherMap, 0.5),
  262. new KeyValuePair<string, double>(helpEntry._DefinitionMap, 1.5)
  263. }
  264. });
  265. }
  266. }
  267. }
  268. finally
  269. {
  270. List<ModMain.HelpEntry>.Enumerator enumerator;
  271. ((IDisposable)enumerator).Dispose();
  272. }
  273. List<ModBase.SearchEntry<ModMain.HelpEntry>> list2 = ModBase.Search<ModMain.HelpEntry>(list, this.SearchBox.Text, 5, 0.08);
  274. this.PanSearchList.Children.Clear();
  275. if (!Enumerable.Any<ModBase.SearchEntry<ModMain.HelpEntry>>(list2))
  276. {
  277. this.PanSearch.Title = "无搜索结果";
  278. this.PanSearchList.Visibility = Visibility.Collapsed;
  279. }
  280. else
  281. {
  282. this.PanSearch.Title = "搜索结果";
  283. try
  284. {
  285. foreach (ModBase.SearchEntry<ModMain.HelpEntry> searchEntry in list2)
  286. {
  287. MyListItem myListItem = searchEntry.m_DicError.ToListItem();
  288. if (ModBase._TokenRepository)
  289. {
  290. myListItem.Info = string.Concat(new string[]
  291. {
  292. searchEntry.indexerError ? "完全匹配," : "",
  293. "相似度:",
  294. Conversions.ToString(Math.Round(searchEntry.m_IssuerError, 3)),
  295. ",",
  296. myListItem.Info
  297. });
  298. }
  299. this.PanSearchList.Children.Add(myListItem);
  300. }
  301. }
  302. finally
  303. {
  304. List<ModBase.SearchEntry<ModMain.HelpEntry>>.Enumerator enumerator2;
  305. ((IDisposable)enumerator2).Dispose();
  306. }
  307. this.PanSearchList.Visibility = Visibility.Visible;
  308. }
  309. ModAnimation.AniStart(new ModAnimation.AniData[]
  310. {
  311. ModAnimation.AaOpacity(this.PanList, -this.PanList.Opacity, 100, 0, null, false),
  312. ModAnimation.AaCode(delegate
  313. {
  314. this.PanList.Visibility = Visibility.Collapsed;
  315. this.PanSearch.Visibility = Visibility.Visible;
  316. this.PanSearch.TriggerForceResize();
  317. }, 0, true),
  318. ModAnimation.AaOpacity(this.PanSearch, 1.0 - this.PanSearch.Opacity, 150, 30, null, false)
  319. }, "FrmOtherHelp Search Switch", false);
  320. }
  321. // Token: 0x0600110E RID: 4366 RVA: 0x0000A65B File Offset: 0x0000885B
  322. public void Refresh()
  323. {
  324. PageOtherLeft.RefreshHelp();
  325. }
  326. // Token: 0x1700029C RID: 668
  327. // (get) Token: 0x0600110F RID: 4367 RVA: 0x0000A662 File Offset: 0x00008862
  328. // (set) Token: 0x06001110 RID: 4368 RVA: 0x0000A66A File Offset: 0x0000886A
  329. internal virtual MyScrollViewer PanBack { get; set; }
  330. // Token: 0x1700029D RID: 669
  331. // (get) Token: 0x06001111 RID: 4369 RVA: 0x0000A673 File Offset: 0x00008873
  332. // (set) Token: 0x06001112 RID: 4370 RVA: 0x0000A67B File Offset: 0x0000887B
  333. internal virtual StackPanel PanMain { get; set; }
  334. // Token: 0x1700029E RID: 670
  335. // (get) Token: 0x06001113 RID: 4371 RVA: 0x0000A684 File Offset: 0x00008884
  336. // (set) Token: 0x06001114 RID: 4372 RVA: 0x0007BF34 File Offset: 0x0007A134
  337. internal virtual MySearchBox SearchBox
  338. {
  339. [CompilerGenerated]
  340. get
  341. {
  342. return this.m_SpecificationThread;
  343. }
  344. [CompilerGenerated]
  345. set
  346. {
  347. MySearchBox.TextChangedEventHandler obj = delegate(object sender, EventArgs e)
  348. {
  349. this.SearchRun();
  350. };
  351. MySearchBox specificationThread = this.m_SpecificationThread;
  352. if (specificationThread != null)
  353. {
  354. specificationThread.RegisterField(obj);
  355. }
  356. this.m_SpecificationThread = value;
  357. specificationThread = this.m_SpecificationThread;
  358. if (specificationThread != null)
  359. {
  360. specificationThread.ChangeField(obj);
  361. }
  362. }
  363. }
  364. // Token: 0x1700029F RID: 671
  365. // (get) Token: 0x06001115 RID: 4373 RVA: 0x0000A68C File Offset: 0x0000888C
  366. // (set) Token: 0x06001116 RID: 4374 RVA: 0x0000A694 File Offset: 0x00008894
  367. internal virtual MyCard PanSearch { get; set; }
  368. // Token: 0x170002A0 RID: 672
  369. // (get) Token: 0x06001117 RID: 4375 RVA: 0x0000A69D File Offset: 0x0000889D
  370. // (set) Token: 0x06001118 RID: 4376 RVA: 0x0000A6A5 File Offset: 0x000088A5
  371. internal virtual StackPanel PanSearchList { get; set; }
  372. // Token: 0x170002A1 RID: 673
  373. // (get) Token: 0x06001119 RID: 4377 RVA: 0x0000A6AE File Offset: 0x000088AE
  374. // (set) Token: 0x0600111A RID: 4378 RVA: 0x0000A6B6 File Offset: 0x000088B6
  375. internal virtual StackPanel PanList { get; set; }
  376. // Token: 0x170002A2 RID: 674
  377. // (get) Token: 0x0600111B RID: 4379 RVA: 0x0000A6BF File Offset: 0x000088BF
  378. // (set) Token: 0x0600111C RID: 4380 RVA: 0x0000A6C7 File Offset: 0x000088C7
  379. internal virtual MyCard PanLoad { get; set; }
  380. // Token: 0x170002A3 RID: 675
  381. // (get) Token: 0x0600111D RID: 4381 RVA: 0x0000A6D0 File Offset: 0x000088D0
  382. // (set) Token: 0x0600111E RID: 4382 RVA: 0x0000A6D8 File Offset: 0x000088D8
  383. internal virtual MyLoading Load { get; set; }
  384. // Token: 0x0600111F RID: 4383 RVA: 0x0007BF78 File Offset: 0x0007A178
  385. [GeneratedCode("PresentationBuildTasks", "4.0.0.0")]
  386. public void InitializeComponent()
  387. {
  388. if (!this._IndexerThread)
  389. {
  390. this._IndexerThread = true;
  391. Uri resourceLocator = new Uri("/Plain Craft Launcher 2;component/pages/pageother/pageotherhelp.xaml", UriKind.Relative);
  392. Application.LoadComponent(this, resourceLocator);
  393. }
  394. }
  395. // Token: 0x06001120 RID: 4384 RVA: 0x0000414E File Offset: 0x0000234E
  396. [GeneratedCode("PresentationBuildTasks", "4.0.0.0")]
  397. internal Delegate _CreateDelegate(Type delegateType, string handler)
  398. {
  399. return Delegate.CreateDelegate(delegateType, this, handler);
  400. }
  401. // Token: 0x06001121 RID: 4385 RVA: 0x0007BFA8 File Offset: 0x0007A1A8
  402. [EditorBrowsable(EditorBrowsableState.Never)]
  403. [GeneratedCode("PresentationBuildTasks", "4.0.0.0")]
  404. public void System_Windows_Markup_IComponentConnector_Connect(int connectionId, object target)
  405. {
  406. if (connectionId == 1)
  407. {
  408. this.PanBack = (MyScrollViewer)target;
  409. return;
  410. }
  411. if (connectionId == 2)
  412. {
  413. this.PanMain = (StackPanel)target;
  414. return;
  415. }
  416. if (connectionId == 3)
  417. {
  418. this.SearchBox = (MySearchBox)target;
  419. return;
  420. }
  421. if (connectionId == 4)
  422. {
  423. this.PanSearch = (MyCard)target;
  424. return;
  425. }
  426. if (connectionId == 5)
  427. {
  428. this.PanSearchList = (StackPanel)target;
  429. return;
  430. }
  431. if (connectionId == 6)
  432. {
  433. this.PanList = (StackPanel)target;
  434. return;
  435. }
  436. if (connectionId == 7)
  437. {
  438. this.PanLoad = (MyCard)target;
  439. return;
  440. }
  441. if (connectionId == 8)
  442. {
  443. this.Load = (MyLoading)target;
  444. return;
  445. }
  446. this._IndexerThread = true;
  447. }
  448. // Token: 0x040008F8 RID: 2296
  449. [CompilerGenerated]
  450. [AccessedThroughProperty("PanBack")]
  451. private MyScrollViewer _ErrorThread;
  452. // Token: 0x040008F9 RID: 2297
  453. [CompilerGenerated]
  454. [AccessedThroughProperty("PanMain")]
  455. private StackPanel _ContextThread;
  456. // Token: 0x040008FA RID: 2298
  457. [AccessedThroughProperty("SearchBox")]
  458. [CompilerGenerated]
  459. private MySearchBox m_SpecificationThread;
  460. // Token: 0x040008FB RID: 2299
  461. [AccessedThroughProperty("PanSearch")]
  462. [CompilerGenerated]
  463. private MyCard _MockThread;
  464. // Token: 0x040008FC RID: 2300
  465. [AccessedThroughProperty("PanSearchList")]
  466. [CompilerGenerated]
  467. private StackPanel _RequestThread;
  468. // Token: 0x040008FD RID: 2301
  469. [CompilerGenerated]
  470. [AccessedThroughProperty("PanList")]
  471. private StackPanel dicThread;
  472. // Token: 0x040008FE RID: 2302
  473. [AccessedThroughProperty("PanLoad")]
  474. [CompilerGenerated]
  475. private MyCard helperThread;
  476. // Token: 0x040008FF RID: 2303
  477. [AccessedThroughProperty("Load")]
  478. [CompilerGenerated]
  479. private MyLoading _IssuerThread;
  480. // Token: 0x04000900 RID: 2304
  481. private bool _IndexerThread;
  482. }
  483. }