MyListItem.cs 47 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379
  1. using System;
  2. using System.CodeDom.Compiler;
  3. using System.Collections;
  4. using System.Collections.Generic;
  5. using System.ComponentModel;
  6. using System.Linq;
  7. using System.Runtime.CompilerServices;
  8. using System.Threading;
  9. using System.Windows;
  10. using System.Windows.Controls;
  11. using System.Windows.Data;
  12. using System.Windows.Input;
  13. using System.Windows.Markup;
  14. using System.Windows.Media;
  15. using System.Windows.Shapes;
  16. using Microsoft.VisualBasic;
  17. using Microsoft.VisualBasic.CompilerServices;
  18. namespace PCL
  19. {
  20. // Token: 0x020001C1 RID: 449
  21. [DesignerGenerated]
  22. public class MyListItem : Grid, IMyRadio, IComponentConnector
  23. {
  24. // Token: 0x060014CB RID: 5323 RVA: 0x0008BBE0 File Offset: 0x00089DE0
  25. public MyListItem()
  26. {
  27. base.SizeChanged += delegate(object sender, SizeChangedEventArgs e)
  28. {
  29. this.OnSizeChanged();
  30. };
  31. base.PreviewMouseLeftButtonUp += this.Button_MouseUp;
  32. base.PreviewMouseLeftButtonDown += this.Button_MouseDown;
  33. base.MouseLeave += new MouseEventHandler(this.Button_MouseLeave);
  34. base.PreviewMouseLeftButtonUp += new MouseButtonEventHandler(this.Button_MouseLeave);
  35. base.MouseEnter += new MouseEventHandler(this.RefreshColor);
  36. base.MouseLeave += new MouseEventHandler(this.RefreshColor);
  37. base.MouseLeftButtonDown += new MouseButtonEventHandler(this.RefreshColor);
  38. base.MouseLeftButtonUp += new MouseButtonEventHandler(this.RefreshColor);
  39. base.Loaded += this.MyListItem_Loaded;
  40. this.m_IdentifierComposer = null;
  41. this.tagComposer = null;
  42. this._ObserverComposer = ModBase.GetUuid();
  43. this.stubComposer = true;
  44. this.MinPaddingRight = 4;
  45. this.stateComposer = "";
  46. this.callbackComposer = "";
  47. this.m_TemplateComposer = 1.0;
  48. this.SetConfig(false);
  49. this.taskComposer = false;
  50. this._ConsumerComposer = MyListItem.CheckType.None;
  51. this.configurationComposer = false;
  52. this.expressionComposer = false;
  53. this._ProccesorComposer = true;
  54. this.InitializeComponent();
  55. }
  56. // Token: 0x14000013 RID: 19
  57. // (add) Token: 0x060014CC RID: 5324 RVA: 0x0008BD24 File Offset: 0x00089F24
  58. // (remove) Token: 0x060014CD RID: 5325 RVA: 0x0008BD5C File Offset: 0x00089F5C
  59. public event MyListItem.ClickEventHandler Click
  60. {
  61. [CompilerGenerated]
  62. add
  63. {
  64. MyListItem.ClickEventHandler clickEventHandler = this.m_IndexerComposer;
  65. MyListItem.ClickEventHandler clickEventHandler2;
  66. do
  67. {
  68. clickEventHandler2 = clickEventHandler;
  69. MyListItem.ClickEventHandler value2 = (MyListItem.ClickEventHandler)Delegate.Combine(clickEventHandler2, value);
  70. clickEventHandler = Interlocked.CompareExchange<MyListItem.ClickEventHandler>(ref this.m_IndexerComposer, value2, clickEventHandler2);
  71. }
  72. while (clickEventHandler != clickEventHandler2);
  73. }
  74. [CompilerGenerated]
  75. remove
  76. {
  77. MyListItem.ClickEventHandler clickEventHandler = this.m_IndexerComposer;
  78. MyListItem.ClickEventHandler clickEventHandler2;
  79. do
  80. {
  81. clickEventHandler2 = clickEventHandler;
  82. MyListItem.ClickEventHandler value2 = (MyListItem.ClickEventHandler)Delegate.Remove(clickEventHandler2, value);
  83. clickEventHandler = Interlocked.CompareExchange<MyListItem.ClickEventHandler>(ref this.m_IndexerComposer, value2, clickEventHandler2);
  84. }
  85. while (clickEventHandler != clickEventHandler2);
  86. }
  87. }
  88. // Token: 0x060014CE RID: 5326 RVA: 0x0008BD94 File Offset: 0x00089F94
  89. [CompilerGenerated]
  90. public void VisitConfig(MyListItem.LogoClickEventHandler obj)
  91. {
  92. MyListItem.LogoClickEventHandler logoClickEventHandler = this.interpreterComposer;
  93. MyListItem.LogoClickEventHandler logoClickEventHandler2;
  94. do
  95. {
  96. logoClickEventHandler2 = logoClickEventHandler;
  97. MyListItem.LogoClickEventHandler value = (MyListItem.LogoClickEventHandler)Delegate.Combine(logoClickEventHandler2, obj);
  98. logoClickEventHandler = Interlocked.CompareExchange<MyListItem.LogoClickEventHandler>(ref this.interpreterComposer, value, logoClickEventHandler2);
  99. }
  100. while (logoClickEventHandler != logoClickEventHandler2);
  101. }
  102. // Token: 0x060014CF RID: 5327 RVA: 0x0008BDCC File Offset: 0x00089FCC
  103. [CompilerGenerated]
  104. public void CallConfig(MyListItem.LogoClickEventHandler obj)
  105. {
  106. MyListItem.LogoClickEventHandler logoClickEventHandler = this.interpreterComposer;
  107. MyListItem.LogoClickEventHandler logoClickEventHandler2;
  108. do
  109. {
  110. logoClickEventHandler2 = logoClickEventHandler;
  111. MyListItem.LogoClickEventHandler value = (MyListItem.LogoClickEventHandler)Delegate.Remove(logoClickEventHandler2, obj);
  112. logoClickEventHandler = Interlocked.CompareExchange<MyListItem.LogoClickEventHandler>(ref this.interpreterComposer, value, logoClickEventHandler2);
  113. }
  114. while (logoClickEventHandler != logoClickEventHandler2);
  115. }
  116. // Token: 0x14000014 RID: 20
  117. // (add) Token: 0x060014D0 RID: 5328 RVA: 0x0008BE04 File Offset: 0x0008A004
  118. // (remove) Token: 0x060014D1 RID: 5329 RVA: 0x0008BE3C File Offset: 0x0008A03C
  119. public event IMyRadio.CheckEventHandler Check
  120. {
  121. [CompilerGenerated]
  122. add
  123. {
  124. IMyRadio.CheckEventHandler checkEventHandler = this.m_SerializerComposer;
  125. IMyRadio.CheckEventHandler checkEventHandler2;
  126. do
  127. {
  128. checkEventHandler2 = checkEventHandler;
  129. IMyRadio.CheckEventHandler value2 = (IMyRadio.CheckEventHandler)Delegate.Combine(checkEventHandler2, value);
  130. checkEventHandler = Interlocked.CompareExchange<IMyRadio.CheckEventHandler>(ref this.m_SerializerComposer, value2, checkEventHandler2);
  131. }
  132. while (checkEventHandler != checkEventHandler2);
  133. }
  134. [CompilerGenerated]
  135. remove
  136. {
  137. IMyRadio.CheckEventHandler checkEventHandler = this.m_SerializerComposer;
  138. IMyRadio.CheckEventHandler checkEventHandler2;
  139. do
  140. {
  141. checkEventHandler2 = checkEventHandler;
  142. IMyRadio.CheckEventHandler value2 = (IMyRadio.CheckEventHandler)Delegate.Remove(checkEventHandler2, value);
  143. checkEventHandler = Interlocked.CompareExchange<IMyRadio.CheckEventHandler>(ref this.m_SerializerComposer, value2, checkEventHandler2);
  144. }
  145. while (checkEventHandler != checkEventHandler2);
  146. }
  147. }
  148. // Token: 0x14000015 RID: 21
  149. // (add) Token: 0x060014D2 RID: 5330 RVA: 0x0008BE74 File Offset: 0x0008A074
  150. // (remove) Token: 0x060014D3 RID: 5331 RVA: 0x0008BEAC File Offset: 0x0008A0AC
  151. public event IMyRadio.ChangedEventHandler Changed
  152. {
  153. [CompilerGenerated]
  154. add
  155. {
  156. IMyRadio.ChangedEventHandler changedEventHandler = this._WatcherComposer;
  157. IMyRadio.ChangedEventHandler changedEventHandler2;
  158. do
  159. {
  160. changedEventHandler2 = changedEventHandler;
  161. IMyRadio.ChangedEventHandler value2 = (IMyRadio.ChangedEventHandler)Delegate.Combine(changedEventHandler2, value);
  162. changedEventHandler = Interlocked.CompareExchange<IMyRadio.ChangedEventHandler>(ref this._WatcherComposer, value2, changedEventHandler2);
  163. }
  164. while (changedEventHandler != changedEventHandler2);
  165. }
  166. [CompilerGenerated]
  167. remove
  168. {
  169. IMyRadio.ChangedEventHandler changedEventHandler = this._WatcherComposer;
  170. IMyRadio.ChangedEventHandler changedEventHandler2;
  171. do
  172. {
  173. changedEventHandler2 = changedEventHandler;
  174. IMyRadio.ChangedEventHandler value2 = (IMyRadio.ChangedEventHandler)Delegate.Remove(changedEventHandler2, value);
  175. changedEventHandler = Interlocked.CompareExchange<IMyRadio.ChangedEventHandler>(ref this._WatcherComposer, value2, changedEventHandler2);
  176. }
  177. while (changedEventHandler != changedEventHandler2);
  178. }
  179. }
  180. // Token: 0x17000383 RID: 899
  181. // (get) Token: 0x060014D4 RID: 5332 RVA: 0x0008BEE4 File Offset: 0x0008A0E4
  182. public Border RectBack
  183. {
  184. get
  185. {
  186. if (this.m_IdentifierComposer == null)
  187. {
  188. Border border = new Border
  189. {
  190. Name = "RectBack",
  191. CornerRadius = new CornerRadius((double)((this.IsScaleAnimationEnabled || base.Height > 40.0) ? 6 : 0)),
  192. RenderTransform = (this.IsScaleAnimationEnabled ? new ScaleTransform(0.8, 0.8) : null),
  193. RenderTransformOrigin = new Point(0.5, 0.5),
  194. BorderThickness = new Thickness(ModBase.smethod_4(1.0)),
  195. SnapsToDevicePixels = true,
  196. IsHitTestVisible = false,
  197. Opacity = 0.0
  198. };
  199. border.SetResourceReference(Border.BackgroundProperty, "ColorBrush7");
  200. border.SetResourceReference(Border.BorderBrushProperty, "ColorBrush6");
  201. Grid.SetColumnSpan(border, 999);
  202. Grid.SetRowSpan(border, 999);
  203. base.Children.Insert(0, border);
  204. this.m_IdentifierComposer = border;
  205. }
  206. return this.m_IdentifierComposer;
  207. }
  208. }
  209. // Token: 0x17000384 RID: 900
  210. // (get) Token: 0x060014D5 RID: 5333 RVA: 0x0008C004 File Offset: 0x0008A204
  211. public TextBlock LabInfo
  212. {
  213. get
  214. {
  215. if (this.tagComposer == null)
  216. {
  217. TextBlock element = new TextBlock
  218. {
  219. Name = "LabInfo",
  220. SnapsToDevicePixels = false,
  221. UseLayoutRounding = false,
  222. HorizontalAlignment = HorizontalAlignment.Left,
  223. IsHitTestVisible = false,
  224. TextTrimming = TextTrimming.CharacterEllipsis,
  225. Visibility = Visibility.Collapsed,
  226. FontSize = 12.0,
  227. Margin = new Thickness(4.0, 0.0, 0.0, 0.0),
  228. Opacity = 0.6
  229. };
  230. Grid.SetColumn(element, 3);
  231. Grid.SetRow(element, 2);
  232. base.Children.Add(element);
  233. this.tagComposer = element;
  234. }
  235. return this.tagComposer;
  236. }
  237. }
  238. // Token: 0x17000385 RID: 901
  239. // (get) Token: 0x060014D6 RID: 5334 RVA: 0x0000BC9C File Offset: 0x00009E9C
  240. // (set) Token: 0x060014D7 RID: 5335 RVA: 0x0000BCA4 File Offset: 0x00009EA4
  241. public bool IsScaleAnimationEnabled
  242. {
  243. get
  244. {
  245. return this.stubComposer;
  246. }
  247. set
  248. {
  249. this.stubComposer = value;
  250. if (this.m_IdentifierComposer != null)
  251. {
  252. this.RectBack.CornerRadius = new CornerRadius((double)(value ? 6 : 0));
  253. }
  254. }
  255. }
  256. // Token: 0x17000386 RID: 902
  257. // (get) Token: 0x060014D8 RID: 5336 RVA: 0x0008C0CC File Offset: 0x0008A2CC
  258. // (set) Token: 0x060014D9 RID: 5337 RVA: 0x0000BCCD File Offset: 0x00009ECD
  259. public int PaddingLeft
  260. {
  261. get
  262. {
  263. return checked((int)Math.Round(this.ColumnPaddingLeft.Width.Value));
  264. }
  265. set
  266. {
  267. this.ColumnPaddingLeft.Width = new GridLength((double)value);
  268. }
  269. }
  270. // Token: 0x17000387 RID: 903
  271. // (get) Token: 0x060014DA RID: 5338 RVA: 0x0000BCE1 File Offset: 0x00009EE1
  272. // (set) Token: 0x060014DB RID: 5339 RVA: 0x0000BCE9 File Offset: 0x00009EE9
  273. public int MinPaddingRight { get; set; }
  274. // Token: 0x17000388 RID: 904
  275. // (get) Token: 0x060014DC RID: 5340 RVA: 0x0000BCF2 File Offset: 0x00009EF2
  276. // (set) Token: 0x060014DD RID: 5341 RVA: 0x0008C0F4 File Offset: 0x0008A2F4
  277. public IEnumerable<MyIconButton> Buttons
  278. {
  279. get
  280. {
  281. return this.m_RefComposer;
  282. }
  283. set
  284. {
  285. this.m_RefComposer = value;
  286. if (this.systemComposer != null)
  287. {
  288. base.Children.Remove(this.systemComposer);
  289. this.systemComposer = null;
  290. }
  291. int num = Enumerable.Count<MyIconButton>(value);
  292. if (num != 0)
  293. {
  294. if (num == 1)
  295. {
  296. try
  297. {
  298. foreach (MyIconButton myIconButton in value)
  299. {
  300. if (myIconButton.Height.Equals(double.NaN))
  301. {
  302. myIconButton.Height = 25.0;
  303. }
  304. if (myIconButton.Width.Equals(double.NaN))
  305. {
  306. myIconButton.Width = 25.0;
  307. }
  308. MyIconButton myIconButton2 = myIconButton;
  309. myIconButton2.Opacity = 0.0;
  310. myIconButton2.Margin = new Thickness(0.0, 0.0, 5.0, 0.0);
  311. myIconButton2.SnapsToDevicePixels = false;
  312. myIconButton2.HorizontalAlignment = HorizontalAlignment.Right;
  313. myIconButton2.VerticalAlignment = VerticalAlignment.Center;
  314. myIconButton2.SnapsToDevicePixels = false;
  315. myIconButton2.UseLayoutRounding = false;
  316. Grid.SetColumnSpan(myIconButton, 10);
  317. Grid.SetRowSpan(myIconButton, 10);
  318. base.Children.Add(myIconButton);
  319. this.systemComposer = myIconButton;
  320. }
  321. return;
  322. }
  323. finally
  324. {
  325. IEnumerator<MyIconButton> enumerator;
  326. if (enumerator != null)
  327. {
  328. enumerator.Dispose();
  329. }
  330. }
  331. }
  332. this.systemComposer = new StackPanel
  333. {
  334. Opacity = 0.0,
  335. Margin = new Thickness(0.0, 0.0, 5.0, 0.0),
  336. SnapsToDevicePixels = false,
  337. Orientation = Orientation.Horizontal,
  338. HorizontalAlignment = HorizontalAlignment.Right,
  339. VerticalAlignment = VerticalAlignment.Center,
  340. UseLayoutRounding = false
  341. };
  342. Grid.SetColumnSpan(this.systemComposer, 10);
  343. Grid.SetRowSpan(this.systemComposer, 10);
  344. try
  345. {
  346. foreach (MyIconButton myIconButton3 in value)
  347. {
  348. if (myIconButton3.Height.Equals(double.NaN))
  349. {
  350. myIconButton3.Height = 25.0;
  351. }
  352. if (myIconButton3.Width.Equals(double.NaN))
  353. {
  354. myIconButton3.Width = 25.0;
  355. }
  356. ((StackPanel)this.systemComposer).Children.Add(myIconButton3);
  357. }
  358. }
  359. finally
  360. {
  361. IEnumerator<MyIconButton> enumerator2;
  362. if (enumerator2 != null)
  363. {
  364. enumerator2.Dispose();
  365. }
  366. }
  367. base.Children.Add(this.systemComposer);
  368. }
  369. }
  370. }
  371. // Token: 0x17000389 RID: 905
  372. // (get) Token: 0x060014DE RID: 5342 RVA: 0x0000BCFA File Offset: 0x00009EFA
  373. // (set) Token: 0x060014DF RID: 5343 RVA: 0x0000BD0C File Offset: 0x00009F0C
  374. public string Title
  375. {
  376. get
  377. {
  378. return Conversions.ToString(base.GetValue(MyListItem._DecoratorComposer));
  379. }
  380. set
  381. {
  382. base.SetValue(MyListItem._DecoratorComposer, value);
  383. }
  384. }
  385. // Token: 0x1700038A RID: 906
  386. // (get) Token: 0x060014E0 RID: 5344 RVA: 0x0000BD1A File Offset: 0x00009F1A
  387. // (set) Token: 0x060014E1 RID: 5345 RVA: 0x0000BD2C File Offset: 0x00009F2C
  388. public double FontSize
  389. {
  390. get
  391. {
  392. return Conversions.ToDouble(base.GetValue(MyListItem.instanceComposer));
  393. }
  394. set
  395. {
  396. base.SetValue(MyListItem.instanceComposer, value);
  397. }
  398. }
  399. // Token: 0x1700038B RID: 907
  400. // (get) Token: 0x060014E2 RID: 5346 RVA: 0x0000BD3F File Offset: 0x00009F3F
  401. // (set) Token: 0x060014E3 RID: 5347 RVA: 0x0008C38C File Offset: 0x0008A58C
  402. public string Info
  403. {
  404. get
  405. {
  406. return this.stateComposer;
  407. }
  408. set
  409. {
  410. if (Operators.CompareString(this.stateComposer, value, false) != 0)
  411. {
  412. value = value.Replace("\r", "").Replace("\n", "");
  413. this.stateComposer = value;
  414. this.LabInfo.Text = value;
  415. this.LabInfo.Visibility = ((Operators.CompareString(value, "", false) == 0) ? Visibility.Collapsed : Visibility.Visible);
  416. }
  417. }
  418. }
  419. // Token: 0x1700038C RID: 908
  420. // (get) Token: 0x060014E4 RID: 5348 RVA: 0x0000BD47 File Offset: 0x00009F47
  421. // (set) Token: 0x060014E5 RID: 5349 RVA: 0x0008C3FC File Offset: 0x0008A5FC
  422. public string Logo
  423. {
  424. get
  425. {
  426. return this.callbackComposer;
  427. }
  428. set
  429. {
  430. if (Operators.CompareString(this.callbackComposer, value, false) != 0)
  431. {
  432. this.callbackComposer = value;
  433. if (!Information.IsNothing(this.PathLogo))
  434. {
  435. base.Children.Remove(this.PathLogo);
  436. }
  437. if (Operators.CompareString(this.callbackComposer, "", false) != 0)
  438. {
  439. if (this.callbackComposer.StartsWithF("http", true))
  440. {
  441. this.PathLogo = new MyImage
  442. {
  443. Tag = this,
  444. IsHitTestVisible = this.ManageConfig(),
  445. Source = this.callbackComposer,
  446. RenderTransformOrigin = new Point(0.5, 0.5),
  447. RenderTransform = new ScaleTransform
  448. {
  449. ScaleX = this.LogoScale,
  450. ScaleY = this.LogoScale
  451. },
  452. SnapsToDevicePixels = true,
  453. UseLayoutRounding = false
  454. };
  455. RenderOptions.SetBitmapScalingMode(this.PathLogo, BitmapScalingMode.LowQuality);
  456. }
  457. else if (!this.callbackComposer.EndsWithF(".png", true) && !this.callbackComposer.EndsWithF(".jpg", true) && !this.callbackComposer.EndsWithF(".webp", true))
  458. {
  459. this.PathLogo = new Path
  460. {
  461. Tag = this,
  462. IsHitTestVisible = this.ManageConfig(),
  463. HorizontalAlignment = HorizontalAlignment.Center,
  464. VerticalAlignment = VerticalAlignment.Center,
  465. Stretch = Stretch.Uniform,
  466. Data = (Geometry)new GeometryConverter().ConvertFromString(this.callbackComposer),
  467. RenderTransformOrigin = new Point(0.5, 0.5),
  468. RenderTransform = new ScaleTransform
  469. {
  470. ScaleX = this.LogoScale,
  471. ScaleY = this.LogoScale
  472. },
  473. SnapsToDevicePixels = false,
  474. UseLayoutRounding = false
  475. };
  476. this.PathLogo.SetBinding(Shape.FillProperty, new Binding("Foreground")
  477. {
  478. Source = this
  479. });
  480. }
  481. else
  482. {
  483. this.PathLogo = new Canvas
  484. {
  485. Tag = this,
  486. IsHitTestVisible = this.ManageConfig(),
  487. Background = new MyBitmap(this.callbackComposer),
  488. RenderTransformOrigin = new Point(0.5, 0.5),
  489. RenderTransform = new ScaleTransform
  490. {
  491. ScaleX = this.LogoScale,
  492. ScaleY = this.LogoScale
  493. },
  494. SnapsToDevicePixels = true,
  495. UseLayoutRounding = false,
  496. HorizontalAlignment = HorizontalAlignment.Stretch,
  497. VerticalAlignment = VerticalAlignment.Stretch
  498. };
  499. RenderOptions.SetBitmapScalingMode(this.PathLogo, BitmapScalingMode.LowQuality);
  500. }
  501. Grid.SetColumn(this.PathLogo, 2);
  502. Grid.SetRowSpan(this.PathLogo, 4);
  503. this.OnSizeChanged();
  504. base.Children.Add(this.PathLogo);
  505. if (this.ManageConfig())
  506. {
  507. this.PathLogo.MouseLeave += delegate(object sender, MouseEventArgs e)
  508. {
  509. this.taskComposer = false;
  510. };
  511. this.PathLogo.MouseLeftButtonDown += delegate(object sender, MouseButtonEventArgs e)
  512. {
  513. this.taskComposer = true;
  514. };
  515. this.PathLogo.MouseLeftButtonUp += delegate(object sender, MouseButtonEventArgs e)
  516. {
  517. if (this.taskComposer)
  518. {
  519. this.taskComposer = false;
  520. MyListItem.LogoClickEventHandler logoClickEventHandler = this.interpreterComposer;
  521. if (logoClickEventHandler != null)
  522. {
  523. logoClickEventHandler(RuntimeHelpers.GetObjectValue(NewLateBinding.LateGet(sender, null, "Tag", new object[0], null, null, null)), e);
  524. }
  525. }
  526. };
  527. }
  528. }
  529. this.ColumnLogo.Width = new GridLength((double)(checked(((Operators.CompareString(this.callbackComposer, "", false) == 0) ? 0 : 34) + ((base.Height < 40.0) ? 0 : 4))));
  530. }
  531. }
  532. }
  533. // Token: 0x1700038D RID: 909
  534. // (get) Token: 0x060014E6 RID: 5350 RVA: 0x0000BD4F File Offset: 0x00009F4F
  535. // (set) Token: 0x060014E7 RID: 5351 RVA: 0x0000BD57 File Offset: 0x00009F57
  536. public double LogoScale
  537. {
  538. get
  539. {
  540. return this.m_TemplateComposer;
  541. }
  542. set
  543. {
  544. this.m_TemplateComposer = value;
  545. if (!Information.IsNothing(this.PathLogo))
  546. {
  547. this.PathLogo.RenderTransform = new ScaleTransform
  548. {
  549. ScaleX = this.LogoScale,
  550. ScaleY = this.LogoScale
  551. };
  552. }
  553. }
  554. }
  555. // Token: 0x060014E8 RID: 5352 RVA: 0x0000BD95 File Offset: 0x00009F95
  556. [CompilerGenerated]
  557. public bool ManageConfig()
  558. {
  559. return this._MethodComposer;
  560. }
  561. // Token: 0x060014E9 RID: 5353 RVA: 0x0000BD9D File Offset: 0x00009F9D
  562. [CompilerGenerated]
  563. public void SetConfig(bool AutoPropertyValue)
  564. {
  565. this._MethodComposer = AutoPropertyValue;
  566. }
  567. // Token: 0x1700038E RID: 910
  568. // (get) Token: 0x060014EA RID: 5354 RVA: 0x0000BDA6 File Offset: 0x00009FA6
  569. // (set) Token: 0x060014EB RID: 5355 RVA: 0x0008C754 File Offset: 0x0008A954
  570. public MyListItem.CheckType Type
  571. {
  572. get
  573. {
  574. return this._ConsumerComposer;
  575. }
  576. set
  577. {
  578. if (this._ConsumerComposer != value)
  579. {
  580. this._ConsumerComposer = value;
  581. this.ColumnCheck.Width = new GridLength((double)((this._ConsumerComposer == MyListItem.CheckType.None || this._ConsumerComposer == MyListItem.CheckType.Clickable) ? ((base.Height < 40.0) ? 4 : 2) : 6));
  582. if (this._ConsumerComposer != MyListItem.CheckType.None)
  583. {
  584. if (this._ConsumerComposer != MyListItem.CheckType.Clickable)
  585. {
  586. if (Information.IsNothing(this.m_ParamComposer))
  587. {
  588. this.m_ParamComposer = new Border
  589. {
  590. Width = 5.0,
  591. Height = (this.Checked ? double.NaN : 0.0),
  592. CornerRadius = new CornerRadius(2.0, 2.0, 2.0, 2.0),
  593. VerticalAlignment = (this.Checked ? VerticalAlignment.Stretch : VerticalAlignment.Center),
  594. HorizontalAlignment = HorizontalAlignment.Left,
  595. UseLayoutRounding = false,
  596. SnapsToDevicePixels = false,
  597. Margin = (this.Checked ? new Thickness(-1.0, 6.0, 0.0, 6.0) : new Thickness(-1.0, 0.0, 0.0, 0.0))
  598. };
  599. this.m_ParamComposer.SetResourceReference(Border.BackgroundProperty, "ColorBrush3");
  600. Grid.SetRowSpan(this.m_ParamComposer, 4);
  601. base.Children.Add(this.m_ParamComposer);
  602. return;
  603. }
  604. return;
  605. }
  606. }
  607. if (!Information.IsNothing(this.m_ParamComposer))
  608. {
  609. base.Children.Remove(this.m_ParamComposer);
  610. this.m_ParamComposer = null;
  611. }
  612. this.SetChecked(false, false, false);
  613. return;
  614. }
  615. }
  616. }
  617. // Token: 0x060014EC RID: 5356 RVA: 0x0008C930 File Offset: 0x0008AB30
  618. private void OnSizeChanged()
  619. {
  620. this.ColumnCheck.Width = new GridLength((double)((this._ConsumerComposer == MyListItem.CheckType.None || this._ConsumerComposer == MyListItem.CheckType.Clickable) ? ((base.Height < 40.0) ? 4 : 2) : 6));
  621. this.ColumnLogo.Width = new GridLength((double)(checked(((Operators.CompareString(this.callbackComposer, "", false) == 0) ? 0 : 34) + ((base.Height < 40.0) ? 0 : 4))));
  622. if (this.PathLogo != null)
  623. {
  624. if (!this.callbackComposer.EndsWithF(".png", true) && !this.callbackComposer.EndsWithF(".jpg", true) && !this.callbackComposer.EndsWithF(".webp", true))
  625. {
  626. this.PathLogo.Margin = new Thickness((double)((base.Height < 40.0) ? 6 : 8), 8.0, (double)((base.Height < 40.0) ? 4 : 6), 8.0);
  627. }
  628. else
  629. {
  630. this.PathLogo.Margin = new Thickness(4.0, 5.0, 3.0, 5.0);
  631. }
  632. }
  633. this.LabTitle.Margin = new Thickness(4.0, 0.0, 0.0, (double)((base.Height < 40.0) ? 0 : 2));
  634. }
  635. // Token: 0x1700038F RID: 911
  636. // (get) Token: 0x060014ED RID: 5357 RVA: 0x0000BDAE File Offset: 0x00009FAE
  637. // (set) Token: 0x060014EE RID: 5358 RVA: 0x0000BDB6 File Offset: 0x00009FB6
  638. public bool Checked
  639. {
  640. get
  641. {
  642. return this.configurationComposer;
  643. }
  644. set
  645. {
  646. this.SetChecked(value, false, true);
  647. }
  648. }
  649. // Token: 0x060014EF RID: 5359 RVA: 0x0008CAC0 File Offset: 0x0008ACC0
  650. public void SetChecked(bool value, bool user, bool anime)
  651. {
  652. try
  653. {
  654. ModBase.RouteEventArgs routeEventArgs = new ModBase.RouteEventArgs(user);
  655. bool flag = this.configurationComposer;
  656. if (this.Type == MyListItem.CheckType.RadioBox)
  657. {
  658. if (base.IsInitialized && value != this.configurationComposer)
  659. {
  660. this.configurationComposer = value;
  661. IMyRadio.ChangedEventHandler watcherComposer = this._WatcherComposer;
  662. if (watcherComposer != null)
  663. {
  664. watcherComposer(this, routeEventArgs);
  665. }
  666. if (routeEventArgs.m_SerializerError)
  667. {
  668. this.configurationComposer = flag;
  669. return;
  670. }
  671. }
  672. this.configurationComposer = value;
  673. }
  674. else
  675. {
  676. if (value == this.configurationComposer)
  677. {
  678. return;
  679. }
  680. this.configurationComposer = value;
  681. if (base.IsInitialized)
  682. {
  683. IMyRadio.ChangedEventHandler watcherComposer2 = this._WatcherComposer;
  684. if (watcherComposer2 != null)
  685. {
  686. watcherComposer2(this, routeEventArgs);
  687. }
  688. if (routeEventArgs.m_SerializerError)
  689. {
  690. this.configurationComposer = flag;
  691. return;
  692. }
  693. }
  694. }
  695. if (value)
  696. {
  697. ModBase.RouteEventArgs routeEventArgs2 = new ModBase.RouteEventArgs(user);
  698. IMyRadio.CheckEventHandler serializerComposer = this.m_SerializerComposer;
  699. if (serializerComposer != null)
  700. {
  701. serializerComposer(this, routeEventArgs2);
  702. }
  703. if (routeEventArgs2.m_SerializerError)
  704. {
  705. return;
  706. }
  707. }
  708. checked
  709. {
  710. if (this.Type == MyListItem.CheckType.RadioBox)
  711. {
  712. if (Information.IsNothing(base.Parent))
  713. {
  714. return;
  715. }
  716. List<MyListItem> list = new List<MyListItem>();
  717. int num = 0;
  718. try
  719. {
  720. foreach (object obj in ((IEnumerable)NewLateBinding.LateGet(base.Parent, null, "Children", new object[0], null, null, null)))
  721. {
  722. object objectValue = RuntimeHelpers.GetObjectValue(obj);
  723. if (objectValue is MyListItem && ((MyListItem)objectValue).Type == MyListItem.CheckType.RadioBox)
  724. {
  725. list.Add((MyListItem)objectValue);
  726. if (Conversions.ToBoolean(NewLateBinding.LateGet(objectValue, null, "Checked", new object[0], null, null, null)))
  727. {
  728. num++;
  729. }
  730. }
  731. }
  732. }
  733. finally
  734. {
  735. IEnumerator enumerator;
  736. if (enumerator is IDisposable)
  737. {
  738. (enumerator as IDisposable).Dispose();
  739. }
  740. }
  741. int num2 = num;
  742. if (num2 == 0)
  743. {
  744. list[0].Checked = true;
  745. }
  746. else if (num2 > 1)
  747. {
  748. if (this.Checked)
  749. {
  750. try
  751. {
  752. foreach (MyListItem myListItem in list)
  753. {
  754. if (myListItem.Checked && !myListItem.Equals(this))
  755. {
  756. myListItem.Checked = false;
  757. }
  758. }
  759. goto IL_255;
  760. }
  761. finally
  762. {
  763. List<MyListItem>.Enumerator enumerator2;
  764. ((IDisposable)enumerator2).Dispose();
  765. }
  766. }
  767. bool flag2 = false;
  768. try
  769. {
  770. foreach (MyListItem myListItem2 in list)
  771. {
  772. if (myListItem2.Checked)
  773. {
  774. if (flag2)
  775. {
  776. myListItem2.Checked = false;
  777. }
  778. else
  779. {
  780. flag2 = true;
  781. }
  782. }
  783. }
  784. }
  785. finally
  786. {
  787. List<MyListItem>.Enumerator enumerator3;
  788. ((IDisposable)enumerator3).Dispose();
  789. }
  790. }
  791. }
  792. IL_255:;
  793. }
  794. if (base.IsLoaded && ModAnimation.CalcParser() == 0 && anime)
  795. {
  796. List<ModAnimation.AniData> list2 = new List<ModAnimation.AniData>();
  797. if (this.Checked)
  798. {
  799. if (!Information.IsNothing(this.m_ParamComposer))
  800. {
  801. double num3 = base.ActualHeight - this.m_ParamComposer.ActualHeight - 12.0;
  802. list2.Add(ModAnimation.AaHeight(this.m_ParamComposer, num3 * 0.4, 200, 0, new ModAnimation.AniEaseOutFluent(ModAnimation.AniEasePower.Weak), false));
  803. list2.Add(ModAnimation.AaHeight(this.m_ParamComposer, num3 * 0.6, 300, 0, new ModAnimation.AniEaseOutBack(ModAnimation.AniEasePower.Weak), false));
  804. list2.Add(ModAnimation.AaOpacity(this.m_ParamComposer, 1.0 - this.m_ParamComposer.Opacity, 30, 0, null, false));
  805. this.m_ParamComposer.VerticalAlignment = VerticalAlignment.Center;
  806. this.m_ParamComposer.Margin = new Thickness(-1.0, 0.0, 0.0, 0.0);
  807. }
  808. list2.Add(ModAnimation.AaColor(this, MyListItem.m_GetterComposer, (base.Height < 40.0) ? "ColorBrush3" : "ColorBrush2", 200, 0, null, false));
  809. }
  810. else
  811. {
  812. if (!Information.IsNothing(this.m_ParamComposer))
  813. {
  814. list2.Add(ModAnimation.AaHeight(this.m_ParamComposer, -this.m_ParamComposer.ActualHeight, 120, 0, new ModAnimation.AniEaseInFluent(ModAnimation.AniEasePower.Weak), false));
  815. list2.Add(ModAnimation.AaOpacity(this.m_ParamComposer, -this.m_ParamComposer.Opacity, 70, 40, null, false));
  816. this.m_ParamComposer.VerticalAlignment = VerticalAlignment.Center;
  817. }
  818. list2.Add(ModAnimation.AaColor(this, MyListItem.m_GetterComposer, "ColorBrush1", 120, 0, null, false));
  819. }
  820. ModAnimation.AniStart(list2, "MyListItem Checked " + Conversions.ToString(this._ObserverComposer), false);
  821. }
  822. else
  823. {
  824. ModAnimation.AniStop("MyListItem Checked " + Conversions.ToString(this._ObserverComposer));
  825. if (this.Checked)
  826. {
  827. if (!Information.IsNothing(this.m_ParamComposer))
  828. {
  829. this.m_ParamComposer.Height = double.NaN;
  830. this.m_ParamComposer.Margin = new Thickness(-1.0, 6.0, 0.0, 6.0);
  831. this.m_ParamComposer.Opacity = 1.0;
  832. this.m_ParamComposer.VerticalAlignment = VerticalAlignment.Stretch;
  833. }
  834. base.SetResourceReference(MyListItem.m_GetterComposer, (base.Height < 40.0) ? "ColorBrush3" : "ColorBrush2");
  835. }
  836. else
  837. {
  838. if (!Information.IsNothing(this.m_ParamComposer))
  839. {
  840. this.m_ParamComposer.Height = 0.0;
  841. this.m_ParamComposer.Margin = new Thickness(-1.0, 0.0, 0.0, 0.0);
  842. this.m_ParamComposer.Opacity = 0.0;
  843. this.m_ParamComposer.VerticalAlignment = VerticalAlignment.Center;
  844. }
  845. base.SetResourceReference(MyListItem.m_GetterComposer, "ColorBrush1");
  846. }
  847. }
  848. }
  849. catch (Exception ex)
  850. {
  851. ModBase.Log(ex, "设置 Checked 失败", ModBase.LogLevel.Debug, "出现错误");
  852. }
  853. }
  854. // Token: 0x17000390 RID: 912
  855. // (get) Token: 0x060014F0 RID: 5360 RVA: 0x0000BDC1 File Offset: 0x00009FC1
  856. // (set) Token: 0x060014F1 RID: 5361 RVA: 0x0000BDD3 File Offset: 0x00009FD3
  857. public Brush Foreground
  858. {
  859. get
  860. {
  861. return (Brush)base.GetValue(MyListItem.m_GetterComposer);
  862. }
  863. set
  864. {
  865. base.SetValue(MyListItem.m_GetterComposer, value);
  866. }
  867. }
  868. // Token: 0x060014F2 RID: 5362 RVA: 0x0008D0F4 File Offset: 0x0008B2F4
  869. private void Button_MouseUp(object sender, MouseButtonEventArgs e)
  870. {
  871. if (this.expressionComposer)
  872. {
  873. MyListItem.ClickEventHandler indexerComposer = this.m_IndexerComposer;
  874. if (indexerComposer != null)
  875. {
  876. indexerComposer(RuntimeHelpers.GetObjectValue(sender), e);
  877. }
  878. if (!e.Handled)
  879. {
  880. if (!string.IsNullOrEmpty(this.EventType))
  881. {
  882. ModEvent.TryStartEvent(this.EventType, this.EventData);
  883. e.Handled = true;
  884. }
  885. if (!e.Handled)
  886. {
  887. switch (this.Type)
  888. {
  889. case MyListItem.CheckType.Clickable:
  890. ModBase.Log("[Control] 按下单击列表项:" + this.Title, ModBase.LogLevel.Normal, "出现错误");
  891. return;
  892. case MyListItem.CheckType.RadioBox:
  893. ModBase.Log("[Control] 按下单选列表项:" + this.Title, ModBase.LogLevel.Normal, "出现错误");
  894. if (!this.Checked)
  895. {
  896. this.SetChecked(true, true, true);
  897. return;
  898. }
  899. break;
  900. case MyListItem.CheckType.CheckBox:
  901. ModBase.Log("[Control] 按下复选列表项(" + (!this.Checked).ToString() + "):" + this.Title, ModBase.LogLevel.Normal, "出现错误");
  902. this.SetChecked(!this.Checked, true, true);
  903. break;
  904. default:
  905. return;
  906. }
  907. }
  908. }
  909. }
  910. }
  911. // Token: 0x060014F3 RID: 5363 RVA: 0x0000BDE1 File Offset: 0x00009FE1
  912. private void Button_MouseDown(object sender, MouseButtonEventArgs e)
  913. {
  914. if (base.IsMouseDirectlyOver && this.Type != MyListItem.CheckType.None)
  915. {
  916. this.expressionComposer = true;
  917. if (this.systemComposer != null)
  918. {
  919. this.systemComposer.IsHitTestVisible = false;
  920. }
  921. }
  922. }
  923. // Token: 0x060014F4 RID: 5364 RVA: 0x0000BE0E File Offset: 0x0000A00E
  924. private void Button_MouseLeave(object sender, object e)
  925. {
  926. this.expressionComposer = false;
  927. if (this.systemComposer != null)
  928. {
  929. this.systemComposer.IsHitTestVisible = true;
  930. }
  931. }
  932. // Token: 0x17000391 RID: 913
  933. // (get) Token: 0x060014F5 RID: 5365 RVA: 0x0000BE2B File Offset: 0x0000A02B
  934. // (set) Token: 0x060014F6 RID: 5366 RVA: 0x0000BE3D File Offset: 0x0000A03D
  935. public string EventType
  936. {
  937. get
  938. {
  939. return Conversions.ToString(base.GetValue(MyListItem._WriterComposer));
  940. }
  941. set
  942. {
  943. base.SetValue(MyListItem._WriterComposer, value);
  944. }
  945. }
  946. // Token: 0x17000392 RID: 914
  947. // (get) Token: 0x060014F7 RID: 5367 RVA: 0x0000BE4B File Offset: 0x0000A04B
  948. // (set) Token: 0x060014F8 RID: 5368 RVA: 0x0000BE5D File Offset: 0x0000A05D
  949. public string EventData
  950. {
  951. get
  952. {
  953. return Conversions.ToString(base.GetValue(MyListItem._RegistryComposer));
  954. }
  955. set
  956. {
  957. base.SetValue(MyListItem._RegistryComposer, value);
  958. }
  959. }
  960. // Token: 0x060014F9 RID: 5369 RVA: 0x0008D208 File Offset: 0x0008B408
  961. public void RefreshColor(object sender, EventArgs e)
  962. {
  963. if (this.tokenComposer != null)
  964. {
  965. this.tokenComposer((MyListItem)sender, e);
  966. this.tokenComposer = null;
  967. }
  968. string text;
  969. int num;
  970. if (this.expressionComposer && (this.Type != MyListItem.CheckType.RadioBox || !this.Checked))
  971. {
  972. text = "MouseDown";
  973. num = 120;
  974. }
  975. else if (base.IsMouseOver && this._ProccesorComposer)
  976. {
  977. text = "MouseOver";
  978. num = 120;
  979. }
  980. else
  981. {
  982. text = "Idle";
  983. num = 180;
  984. }
  985. if (Operators.CompareString(this._RuleComposer, text, false) != 0)
  986. {
  987. this._RuleComposer = text;
  988. if (base.IsLoaded && ModAnimation.CalcParser() == 0)
  989. {
  990. List<ModAnimation.AniData> list = new List<ModAnimation.AniData>();
  991. if (base.IsMouseOver && this._ProccesorComposer)
  992. {
  993. checked
  994. {
  995. if (this.systemComposer != null)
  996. {
  997. list.Add(ModAnimation.AaOpacity(this.systemComposer, unchecked(1.0 - this.systemComposer.Opacity), (int)Math.Round(unchecked((double)num * 0.7)), (int)Math.Round(unchecked((double)num * 0.3)), null, false));
  998. list.Add(ModAnimation.AaDouble(delegate(object i)
  999. {
  1000. this.ColumnPaddingRight.Width = new GridLength(Conversions.ToDouble(NewLateBinding.LateGet(null, typeof(Math), "Max", new object[]
  1001. {
  1002. 0,
  1003. Operators.AddObject(this.ColumnPaddingRight.Width.Value, i)
  1004. }, null, null, null)));
  1005. }, unchecked((double)Math.Max(this.MinPaddingRight, checked(5 + Enumerable.Count<MyIconButton>(this.Buttons) * 25)) - this.ColumnPaddingRight.Width.Value), (int)Math.Round(unchecked((double)num * 0.3)), (int)Math.Round(unchecked((double)num * 0.7)), null, false));
  1006. }
  1007. }
  1008. list.AddRange(new ModAnimation.AniData[]
  1009. {
  1010. ModAnimation.AaColor(this.RectBack, Border.BackgroundProperty, this.expressionComposer ? "ColorBrush6" : "ColorBrushBg1", num, 0, null, false),
  1011. ModAnimation.AaOpacity(this.RectBack, 1.0 - this.RectBack.Opacity, num, 0, new ModAnimation.AniEaseOutFluent(ModAnimation.AniEasePower.Middle), false)
  1012. });
  1013. if (this.IsScaleAnimationEnabled)
  1014. {
  1015. list.Add(ModAnimation.AaScaleTransform(this.RectBack, 1.0 - ((ScaleTransform)this.RectBack.RenderTransform).ScaleX, checked((int)Math.Round(unchecked((double)num * 1.6))), 0, new ModAnimation.AniEaseOutFluent(ModAnimation.AniEasePower.Middle), false));
  1016. if (this.expressionComposer)
  1017. {
  1018. list.Add(ModAnimation.AaScaleTransform(this, 0.98 - ((ScaleTransform)base.RenderTransform).ScaleX, checked((int)Math.Round(unchecked((double)num * 0.9))), 0, new ModAnimation.AniEaseOutFluent(ModAnimation.AniEasePower.Middle), false));
  1019. }
  1020. else
  1021. {
  1022. list.Add(ModAnimation.AaScaleTransform(this, 1.0 - ((ScaleTransform)base.RenderTransform).ScaleX, checked((int)Math.Round(unchecked((double)num * 1.2))), 0, new ModAnimation.AniEaseOutFluent(ModAnimation.AniEasePower.Middle), false));
  1023. }
  1024. }
  1025. }
  1026. else
  1027. {
  1028. if (this.systemComposer != null)
  1029. {
  1030. list.Add(ModAnimation.AaOpacity(this.systemComposer, -this.systemComposer.Opacity, checked((int)Math.Round(unchecked((double)num * 0.4))), 0, null, false));
  1031. list.Add(ModAnimation.AaDouble(delegate(object i)
  1032. {
  1033. this.ColumnPaddingRight.Width = new GridLength(Conversions.ToDouble(NewLateBinding.LateGet(null, typeof(Math), "Max", new object[]
  1034. {
  1035. 0,
  1036. Operators.AddObject(this.ColumnPaddingRight.Width.Value, i)
  1037. }, null, null, null)));
  1038. }, (double)this.MinPaddingRight - this.ColumnPaddingRight.Width.Value, checked((int)Math.Round(unchecked((double)num * 0.4))), 0, null, false));
  1039. }
  1040. list.Add(ModAnimation.AaOpacity(this.RectBack, -this.RectBack.Opacity, num, 0, null, false));
  1041. if (this.IsScaleAnimationEnabled)
  1042. {
  1043. list.AddRange(new ModAnimation.AniData[]
  1044. {
  1045. ModAnimation.AaColor(this.RectBack, Border.BackgroundProperty, this.expressionComposer ? "ColorBrush6" : "ColorBrush7", num, 0, null, false),
  1046. ModAnimation.AaScaleTransform(this, 1.0 - ((ScaleTransform)base.RenderTransform).ScaleX, checked(num * 3), 0, new ModAnimation.AniEaseOutFluent(ModAnimation.AniEasePower.Middle), false),
  1047. ModAnimation.AaScaleTransform(this.RectBack, 0.996 - ((ScaleTransform)this.RectBack.RenderTransform).ScaleX, num, 0, new ModAnimation.AniEaseOutFluent(ModAnimation.AniEasePower.Middle), false),
  1048. ModAnimation.AaScaleTransform(this.RectBack, -0.246, 1, 0, null, true)
  1049. });
  1050. }
  1051. }
  1052. ModAnimation.AniStart(list, "ListItem Color " + Conversions.ToString(this._ObserverComposer), false);
  1053. return;
  1054. }
  1055. if (base.IsMouseOver && this._ProccesorComposer)
  1056. {
  1057. if (this.systemComposer != null)
  1058. {
  1059. this.systemComposer.Opacity = 1.0;
  1060. this.ColumnPaddingRight.Width = new GridLength((double)Math.Max(this.MinPaddingRight, checked(5 + Enumerable.Count<MyIconButton>(this.Buttons) * 25)));
  1061. }
  1062. this.RectBack.Background = ModSecret.m_RulesField;
  1063. this.RectBack.Opacity = 1.0;
  1064. this.RectBack.RenderTransform = new ScaleTransform(1.0, 1.0);
  1065. base.RenderTransform = new ScaleTransform(1.0, 1.0);
  1066. }
  1067. else
  1068. {
  1069. if (this.systemComposer != null)
  1070. {
  1071. this.systemComposer.Opacity = 0.0;
  1072. this.ColumnPaddingRight.Width = new GridLength((double)this.MinPaddingRight);
  1073. }
  1074. base.RenderTransform = new ScaleTransform(1.0, 1.0);
  1075. if (this.m_IdentifierComposer != null)
  1076. {
  1077. if (this.IsScaleAnimationEnabled)
  1078. {
  1079. this.RectBack.RenderTransform = new ScaleTransform(0.75, 0.75);
  1080. }
  1081. this.RectBack.Background = ModSecret.m_TagField;
  1082. this.RectBack.Opacity = 0.0;
  1083. }
  1084. }
  1085. ModAnimation.AniStop("ListItem Color " + Conversions.ToString(this._ObserverComposer));
  1086. }
  1087. }
  1088. // Token: 0x060014FA RID: 5370 RVA: 0x0008D804 File Offset: 0x0008BA04
  1089. private void MyListItem_Loaded(object sender, RoutedEventArgs e)
  1090. {
  1091. if (this.Checked)
  1092. {
  1093. base.SetResourceReference(MyListItem.m_GetterComposer, (base.Height < 40.0) ? "ColorBrush3" : "ColorBrush2");
  1094. }
  1095. else
  1096. {
  1097. base.SetResourceReference(MyListItem.m_GetterComposer, "ColorBrush1");
  1098. }
  1099. this.ColumnPaddingRight.Width = new GridLength((double)this.MinPaddingRight);
  1100. if (Operators.CompareString(this.EventType, "打开帮助", false) == 0 && (Operators.CompareString(this.Title, "", false) == 0 || Operators.CompareString(this.Info, "", false) == 0))
  1101. {
  1102. try
  1103. {
  1104. new ModMain.HelpEntry(ModEvent.GetEventAbsoluteUrls(this.EventData, this.EventType)[0]).SetToListItem(this);
  1105. }
  1106. catch (Exception ex)
  1107. {
  1108. ModBase.Log(ex, "设置帮助 MyListItem 失败", ModBase.LogLevel.Msgbox, "出现错误");
  1109. this.EventType = null;
  1110. this.EventData = null;
  1111. }
  1112. }
  1113. }
  1114. // Token: 0x060014FB RID: 5371 RVA: 0x0000BE6B File Offset: 0x0000A06B
  1115. public override string ToString()
  1116. {
  1117. return this.Title;
  1118. }
  1119. // Token: 0x17000393 RID: 915
  1120. // (get) Token: 0x060014FC RID: 5372 RVA: 0x0000BE73 File Offset: 0x0000A073
  1121. // (set) Token: 0x060014FD RID: 5373 RVA: 0x0000BE7B File Offset: 0x0000A07B
  1122. internal virtual MyListItem PanBack { get; set; }
  1123. // Token: 0x17000394 RID: 916
  1124. // (get) Token: 0x060014FE RID: 5374 RVA: 0x0000BE84 File Offset: 0x0000A084
  1125. // (set) Token: 0x060014FF RID: 5375 RVA: 0x0000BE8C File Offset: 0x0000A08C
  1126. internal virtual ColumnDefinition ColumnCheck { get; set; }
  1127. // Token: 0x17000395 RID: 917
  1128. // (get) Token: 0x06001500 RID: 5376 RVA: 0x0000BE95 File Offset: 0x0000A095
  1129. // (set) Token: 0x06001501 RID: 5377 RVA: 0x0000BE9D File Offset: 0x0000A09D
  1130. internal virtual ColumnDefinition ColumnPaddingLeft { get; set; }
  1131. // Token: 0x17000396 RID: 918
  1132. // (get) Token: 0x06001502 RID: 5378 RVA: 0x0000BEA6 File Offset: 0x0000A0A6
  1133. // (set) Token: 0x06001503 RID: 5379 RVA: 0x0000BEAE File Offset: 0x0000A0AE
  1134. internal virtual ColumnDefinition ColumnLogo { get; set; }
  1135. // Token: 0x17000397 RID: 919
  1136. // (get) Token: 0x06001504 RID: 5380 RVA: 0x0000BEB7 File Offset: 0x0000A0B7
  1137. // (set) Token: 0x06001505 RID: 5381 RVA: 0x0000BEBF File Offset: 0x0000A0BF
  1138. internal virtual ColumnDefinition ColumnPaddingRight { get; set; }
  1139. // Token: 0x17000398 RID: 920
  1140. // (get) Token: 0x06001506 RID: 5382 RVA: 0x0000BEC8 File Offset: 0x0000A0C8
  1141. // (set) Token: 0x06001507 RID: 5383 RVA: 0x0000BED0 File Offset: 0x0000A0D0
  1142. internal virtual TextBlock LabTitle { get; set; }
  1143. // Token: 0x06001508 RID: 5384 RVA: 0x0008D904 File Offset: 0x0008BB04
  1144. [GeneratedCode("PresentationBuildTasks", "4.0.0.0")]
  1145. public void InitializeComponent()
  1146. {
  1147. if (!this.serverComposer)
  1148. {
  1149. this.serverComposer = true;
  1150. Uri resourceLocator = new Uri("/Plain Craft Launcher 2;component/controls/mylistitem.xaml", UriKind.Relative);
  1151. Application.LoadComponent(this, resourceLocator);
  1152. }
  1153. }
  1154. // Token: 0x06001509 RID: 5385 RVA: 0x0008D934 File Offset: 0x0008BB34
  1155. [EditorBrowsable(EditorBrowsableState.Never)]
  1156. [GeneratedCode("PresentationBuildTasks", "4.0.0.0")]
  1157. public void System_Windows_Markup_IComponentConnector_Connect(int connectionId, object target)
  1158. {
  1159. if (connectionId == 1)
  1160. {
  1161. this.PanBack = (MyListItem)target;
  1162. return;
  1163. }
  1164. if (connectionId == 2)
  1165. {
  1166. this.ColumnCheck = (ColumnDefinition)target;
  1167. return;
  1168. }
  1169. if (connectionId == 3)
  1170. {
  1171. this.ColumnPaddingLeft = (ColumnDefinition)target;
  1172. return;
  1173. }
  1174. if (connectionId == 4)
  1175. {
  1176. this.ColumnLogo = (ColumnDefinition)target;
  1177. return;
  1178. }
  1179. if (connectionId == 5)
  1180. {
  1181. this.ColumnPaddingRight = (ColumnDefinition)target;
  1182. return;
  1183. }
  1184. if (connectionId == 6)
  1185. {
  1186. this.LabTitle = (TextBlock)target;
  1187. return;
  1188. }
  1189. this.serverComposer = true;
  1190. }
  1191. // Token: 0x04000AAB RID: 2731
  1192. [CompilerGenerated]
  1193. private MyListItem.ClickEventHandler m_IndexerComposer;
  1194. // Token: 0x04000AAC RID: 2732
  1195. [CompilerGenerated]
  1196. private MyListItem.LogoClickEventHandler interpreterComposer;
  1197. // Token: 0x04000AAD RID: 2733
  1198. [CompilerGenerated]
  1199. private IMyRadio.CheckEventHandler m_SerializerComposer;
  1200. // Token: 0x04000AAE RID: 2734
  1201. [CompilerGenerated]
  1202. private IMyRadio.ChangedEventHandler _WatcherComposer;
  1203. // Token: 0x04000AAF RID: 2735
  1204. private Border m_IdentifierComposer;
  1205. // Token: 0x04000AB0 RID: 2736
  1206. public FrameworkElement systemComposer;
  1207. // Token: 0x04000AB1 RID: 2737
  1208. public FrameworkElement PathLogo;
  1209. // Token: 0x04000AB2 RID: 2738
  1210. public Border m_ParamComposer;
  1211. // Token: 0x04000AB3 RID: 2739
  1212. private TextBlock tagComposer;
  1213. // Token: 0x04000AB4 RID: 2740
  1214. public int _ObserverComposer;
  1215. // Token: 0x04000AB5 RID: 2741
  1216. private bool stubComposer;
  1217. // Token: 0x04000AB6 RID: 2742
  1218. [CompilerGenerated]
  1219. private int m_RulesComposer;
  1220. // Token: 0x04000AB7 RID: 2743
  1221. private IEnumerable<MyIconButton> m_RefComposer;
  1222. // Token: 0x04000AB8 RID: 2744
  1223. public static readonly DependencyProperty _DecoratorComposer = DependencyProperty.Register("Title", typeof(string), typeof(MyListItem));
  1224. // Token: 0x04000AB9 RID: 2745
  1225. public static readonly DependencyProperty instanceComposer = DependencyProperty.Register("FontSize", typeof(double), typeof(MyListItem), new PropertyMetadata(14.0));
  1226. // Token: 0x04000ABA RID: 2746
  1227. private string stateComposer;
  1228. // Token: 0x04000ABB RID: 2747
  1229. private string callbackComposer;
  1230. // Token: 0x04000ABC RID: 2748
  1231. private double m_TemplateComposer;
  1232. // Token: 0x04000ABD RID: 2749
  1233. [CompilerGenerated]
  1234. private bool _MethodComposer;
  1235. // Token: 0x04000ABE RID: 2750
  1236. private bool taskComposer;
  1237. // Token: 0x04000ABF RID: 2751
  1238. private MyListItem.CheckType _ConsumerComposer;
  1239. // Token: 0x04000AC0 RID: 2752
  1240. private bool configurationComposer;
  1241. // Token: 0x04000AC1 RID: 2753
  1242. public static readonly DependencyProperty m_GetterComposer = DependencyProperty.Register("Foreground", typeof(Brush), typeof(MyListItem), new PropertyMetadata(ModSecret._InterpreterField));
  1243. // Token: 0x04000AC2 RID: 2754
  1244. public Action<MyListItem, EventArgs> tokenComposer;
  1245. // Token: 0x04000AC3 RID: 2755
  1246. private bool expressionComposer;
  1247. // Token: 0x04000AC4 RID: 2756
  1248. public static readonly DependencyProperty _WriterComposer = DependencyProperty.Register("EventType", typeof(string), typeof(MyListItem), new PropertyMetadata(null));
  1249. // Token: 0x04000AC5 RID: 2757
  1250. public static readonly DependencyProperty _RegistryComposer = DependencyProperty.Register("EventData", typeof(string), typeof(MyListItem), new PropertyMetadata(null));
  1251. // Token: 0x04000AC6 RID: 2758
  1252. private string _RuleComposer;
  1253. // Token: 0x04000AC7 RID: 2759
  1254. public bool _ProccesorComposer;
  1255. // Token: 0x04000AC8 RID: 2760
  1256. [AccessedThroughProperty("PanBack")]
  1257. [CompilerGenerated]
  1258. private MyListItem setterComposer;
  1259. // Token: 0x04000AC9 RID: 2761
  1260. [CompilerGenerated]
  1261. [AccessedThroughProperty("ColumnCheck")]
  1262. private ColumnDefinition m_FactoryComposer;
  1263. // Token: 0x04000ACA RID: 2762
  1264. [CompilerGenerated]
  1265. [AccessedThroughProperty("ColumnPaddingLeft")]
  1266. private ColumnDefinition m_ExporterComposer;
  1267. // Token: 0x04000ACB RID: 2763
  1268. [AccessedThroughProperty("ColumnLogo")]
  1269. [CompilerGenerated]
  1270. private ColumnDefinition _ImporterComposer;
  1271. // Token: 0x04000ACC RID: 2764
  1272. [AccessedThroughProperty("ColumnPaddingRight")]
  1273. [CompilerGenerated]
  1274. private ColumnDefinition _WorkerComposer;
  1275. // Token: 0x04000ACD RID: 2765
  1276. [AccessedThroughProperty("LabTitle")]
  1277. [CompilerGenerated]
  1278. private TextBlock m_ConnectionComposer;
  1279. // Token: 0x04000ACE RID: 2766
  1280. private bool serverComposer;
  1281. // Token: 0x020001C2 RID: 450
  1282. // (Invoke) Token: 0x06001513 RID: 5395
  1283. public delegate void ClickEventHandler(object sender, MouseButtonEventArgs e);
  1284. // Token: 0x020001C3 RID: 451
  1285. // (Invoke) Token: 0x06001518 RID: 5400
  1286. public delegate void LogoClickEventHandler(object sender, MouseButtonEventArgs e);
  1287. // Token: 0x020001C4 RID: 452
  1288. public enum CheckType
  1289. {
  1290. // Token: 0x04000AD0 RID: 2768
  1291. None,
  1292. // Token: 0x04000AD1 RID: 2769
  1293. Clickable,
  1294. // Token: 0x04000AD2 RID: 2770
  1295. RadioBox,
  1296. // Token: 0x04000AD3 RID: 2771
  1297. CheckBox
  1298. }
  1299. }
  1300. }