예제 #1
0
 private void CrystalPanel_OnUnplugButtonClicked(On.CrystalPanel.orig_OnUnplugButtonClicked orig, CrystalPanel self)
 {
     // If the shift key is down, instead of doing it right away, add it to a queue.
     if (ConditionalAddToQueue(new QueueData(self, new DynData <CrystalPanel>(self).Get <MajorModule>("module"))))
     {
         self.Hide(false);
         return;
     }
     orig(self);
 }
예제 #2
0
 public void CallOrig()
 {
     if (hero != null)
     {
         Debug.Log("Hero Orig");
         //heroOrig(hero, info);
     }
     else if (merch != null)
     {
         Debug.Log("Merch Orig");
         //merchOrig(merch, info);
     }
     else if (room != null)
     {
         Debug.Log("Room Orig");
         //roomOrig(room, info);
         // Invokes the original OnRightClickDown
         //method.Invoke(room, new object[] { info });
         room.MoveSelectedHeroesToRoom();
     }
     else if (door != null)
     {
         Debug.Log("Door Orig");
         // This could be replaced with orig for Door.OnRightClickDown
         foreach (Hero hero in Hero.SelectedHeroes)
         {
             hero.MoveToDoor(door, false, null, true);
         }
     }
     else if (crystalPanel != null)
     {
         Debug.Log("Crystal Orig");
         foreach (Hero hero in Hero.SelectedHeroes)
         {
             hero.MoveToCrystal(module);
         }
         crystalPanel.Hide(true);
     }
     Services.GetService <IInputService>().StopClickEventPropagation();
 }