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); }
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(); }