void Awake() { moduleId = moduleIdCounter++; foreach (MonitorScreens monitor in monitors) { MonitorScreens pressedMonitor = monitor; pressedMonitor.selectable.OnInteract += delegate() { OnMonitorPress(pressedMonitor); return(false); }; } foreach (MonitorScreens badnik in badniks) { MonitorScreens pressedBadnik = badnik; pressedBadnik.selectable.OnInteract += delegate() { OnBadnikPress(pressedBadnik); return(false); }; } foreach (MonitorScreens hero in heroes) { MonitorScreens pressedHero = hero; pressedHero.selectable.OnInteract += delegate() { OnHeroPress(pressedHero); return(false); }; } boss.selectable.OnInteract += delegate() { OnBossPress(); return(false); }; logo.OnInteract += delegate() { OnLogoPress(); return(false); }; GetComponent <KMBombModule>().OnActivate += OnLights; }
public void OnHeroPress(MonitorScreens pressedHero) { if (buttonLock) { return; } pressedHero.selectable.AddInteractionPunch(0.5f); if (lastPressed == null) { lastPressed = pressedHero.gameObject; lastPressed.gameObject.SetActive(false); } else { lastPressed.gameObject.SetActive(true); lastPressed = pressedHero.gameObject; lastPressed.gameObject.SetActive(false); } if ((secondsCount == (ringCount % 20)) || (secondsCount == (ringCount % 20) + 20) || (secondsCount == (ringCount % 20) + 40)) { if (pressedHero.containsIllegalSound) { Debug.LogFormat("[Sonic & Knuckles #{0}] You pressed {1}. That is correct.", moduleId, pressedHero.label); SetUpBoss(); } else { Debug.LogFormat("[Sonic & Knuckles #{0}] Strike! You pressed {1}. That is incorrect.", moduleId, pressedHero.label); Strike(); } } else { Audio.PlaySoundAtTransform(pressedHero.attachedSound.name, transform); } }