Advertisement
Sc2ad

dnSpy Hook Method C# + InputManagerHooks

Mar 27th, 2019
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.03 KB | None | 0 0
  1.         // Token: 0x06000025 RID: 37 RVA: 0x00002FC4 File Offset: 0x000011C4
  2.         private void InputManager_TriggerClickDownEvent(InputManager.orig_TriggerClickDownEvent orig, InputManager self, string eventName, ref List<ClickDownInfo> clickInfosContainer)
  3.         {
  4.             bool flag = this.HasFlag(State.Playing) && !this.HasFlag(State.Pausing);
  5.             if (flag)
  6.             {
  7.                 InputManagerHooks.TriggerClickDownEvent(self, eventName, ref clickInfosContainer);
  8.             }
  9.             orig.Invoke(self, eventName, ref clickInfosContainer);
  10.         }
  11.  
  12.         // Token: 0x06000001 RID: 1 RVA: 0x00002050 File Offset: 0x00000250
  13.         public static void TriggerClickDownEvent(InputManager self, string eventName, ref List<ClickDownInfo> clickInfosContainer)
  14.         {
  15.             DynData<InputManager> dynData = new DynData<InputManager>(self);
  16.             dynData.Set<bool>("stopClickEventPropagation", false);
  17.             LayerMask mask = (!dynData.Get<IGameCameraService>("gameCameraManager").IsTacticalMapActive()) ? dynData.Get<LayerMask>("gameMouseClickLayerMask") : dynData.Get<LayerMask>("tacticalMapClickLayerMask");
  18.             RaycastHit[] array = Physics.RaycastAll(dynData.Get<IGameCameraService>("gameCameraManager").ScreenPointToRay(TASInputPlayer.GetMousePos()), float.PositiveInfinity, mask);
  19.             Array.Sort<RaycastHit>(array, (RaycastHit hitInfo1, RaycastHit hitInfo2) => hitInfo1.distance.CompareTo(hitInfo2.distance));
  20.             bool flag = dynData.Get<bool>("debug");
  21.             if (flag)
  22.             {
  23.             }
  24.             clickInfosContainer = new List<ClickDownInfo>();
  25.             int num = 0;
  26.             foreach (RaycastHit raycastHit in array)
  27.             {
  28.                 ClickDownInfo item = new ClickDownInfo(raycastHit.collider, raycastHit.point, num, array.Length);
  29.                 clickInfosContainer.Add(item);
  30.             }
  31.             foreach (ClickDownInfo clickDownInfo in clickInfosContainer)
  32.             {
  33.                 bool flag2 = dynData.Get<bool>("debug");
  34.                 if (flag2)
  35.                 {
  36.                 }
  37.                 clickDownInfo.HitCollider.SendMessage(eventName, clickDownInfo, SendMessageOptions.DontRequireReceiver);
  38.                 num++;
  39.                 bool flag3 = dynData.Get<bool>("stopClickEventPropagation");
  40.                 if (flag3)
  41.                 {
  42.                     break;
  43.                 }
  44.             }
  45.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement