MyMenuItem.cs 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. using System;
  2. using System.Windows;
  3. using System.Windows.Controls;
  4. using System.Windows.Input;
  5. using System.Windows.Media;
  6. using System.Windows.Shapes;
  7. using Microsoft.VisualBasic.CompilerServices;
  8. namespace PCL
  9. {
  10. // Token: 0x0200009D RID: 157
  11. public class MyMenuItem : MenuItem
  12. {
  13. // Token: 0x06000474 RID: 1140 RVA: 0x00028728 File Offset: 0x00026928
  14. public MyMenuItem()
  15. {
  16. base.Loaded += this.MyMenuItem_Loaded;
  17. base.MouseEnter += delegate(object sender, MouseEventArgs e)
  18. {
  19. this.RefreshColor();
  20. };
  21. base.MouseLeave += delegate(object sender, MouseEventArgs e)
  22. {
  23. this.RefreshColor();
  24. };
  25. base.IsEnabledChanged += delegate(object sender, DependencyPropertyChangedEventArgs e)
  26. {
  27. this.RefreshColor();
  28. };
  29. this.managerBroadcaster = ModBase.GetUuid();
  30. }
  31. // Token: 0x06000475 RID: 1141 RVA: 0x00028790 File Offset: 0x00026990
  32. private void MyMenuItem_Loaded(object sender, RoutedEventArgs e)
  33. {
  34. if (base.Icon != null)
  35. {
  36. Path path = (Path)base.GetTemplateChild("Icon");
  37. if (path != null)
  38. {
  39. path.Data = (Geometry)new GeometryConverter().ConvertFromString(Conversions.ToString(base.Icon));
  40. }
  41. }
  42. ((ContextMenu)base.Parent).Opacity = Conversions.ToDouble(Operators.AddObject(Operators.DivideObject(ModBase.m_IdentifierRepository.Get("UiLauncherTransparent", null), 1000), 0.4));
  43. }
  44. // Token: 0x06000476 RID: 1142 RVA: 0x00028820 File Offset: 0x00026A20
  45. private void RefreshColor()
  46. {
  47. string text;
  48. string text2;
  49. int time;
  50. if (!base.IsEnabled)
  51. {
  52. text = "ColorBrushTransparent";
  53. text2 = "ColorBrushGray5";
  54. time = 200;
  55. }
  56. else if (base.IsMouseOver)
  57. {
  58. text = "ColorBrush6";
  59. text2 = "ColorBrush2";
  60. time = 100;
  61. }
  62. else
  63. {
  64. text = "ColorBrushTransparent";
  65. text2 = "ColorBrush1";
  66. time = 200;
  67. }
  68. if (Operators.CompareString(this.m_ModelBroadcaster, text, false) != 0)
  69. {
  70. this.m_ModelBroadcaster = text;
  71. if (base.IsLoaded && ModAnimation.CalcParser() == 0)
  72. {
  73. ModAnimation.AniStart(new ModAnimation.AniData[]
  74. {
  75. ModAnimation.AaColor(this, Control.BackgroundProperty, text, time, 0, null, false),
  76. ModAnimation.AaColor(this, Control.ForegroundProperty, text2, time, 0, null, false)
  77. }, "MyMenuItem Color " + Conversions.ToString(this.managerBroadcaster), false);
  78. return;
  79. }
  80. ModAnimation.AniStop("MyMenuItem Color " + Conversions.ToString(this.managerBroadcaster));
  81. base.SetResourceReference(Control.BackgroundProperty, text);
  82. base.SetResourceReference(Control.ForegroundProperty, text2);
  83. }
  84. }
  85. // Token: 0x04000266 RID: 614
  86. public int managerBroadcaster;
  87. // Token: 0x04000267 RID: 615
  88. private string m_ModelBroadcaster;
  89. }
  90. }