public void ElecSwitchTouched(ElecSwitch elecSwitch) { AllSwitchTouched = true; if (elecSwitch.Touched == true) { foreach(var es in ElecSwitches) { if (!es.Touched) AllSwitchTouched = false; } } if (AllSwitchTouched) { DoorOpen(); } else { DoorClose(); } }
private IEnumerator SwitchHandlerCoroutine(ElecSwitch elecSwitch, ElecSwitchColor color) { elecSwitch.TurnOff(); if ((ElecSwitchColor.RED == color && redDoorsOpen) || (ElecSwitchColor.BLACK == color && blackDoorsOpen) || (ElecSwitchColor.BLUE == color && blueDoorsOpen)) goto EXIT_LABEL; cman.BeginCutScene(); yield return StartCoroutine(elecSwitch.Press()); switch (color) { case ElecSwitchColor.BLACK: toggleDoor(blackDoors, blackDoorsOpen = true); toggleDoor(blueDoors, blueDoorsOpen = false); toggleDoor(redDoors, redDoorsOpen = false); break; case ElecSwitchColor.BLUE: toggleDoor(blackDoors, blackDoorsOpen = false); toggleDoor(blueDoors, blueDoorsOpen = true); toggleDoor(redDoors, redDoorsOpen = false); break; case ElecSwitchColor.RED: toggleDoor(blackDoors, blackDoorsOpen = false); toggleDoor(blueDoors, blueDoorsOpen = false); toggleDoor(redDoors, redDoorsOpen = true); break; } yield return StartCoroutine(elecSwitch.Recover()); cman.EndCutScene(); EXIT_LABEL: elecSwitch.TurnOn(); }
private void SwitchHandler(ElecSwitch elecSwitch, ElecSwitchColor color) { StartCoroutine(SwitchHandlerCoroutine(elecSwitch, color)); }