private void OnDisable() { StopAllCoroutines(); _bombBinderCommander = null; _freeplayCommander = null; }
private IEnumerator CheckForBombBinderAndFreeplayDevice() { yield return(null); while (true) { UnityEngine.Object[] bombBinders = FindObjectsOfType(CommonReflectedTypeInfo.BombBinderType); if (bombBinders != null && bombBinders.Length > 0) { _bombBinderCommander = new BombBinderCommander((MonoBehaviour)bombBinders[0]); break; } yield return(null); } while (true) { UnityEngine.Object[] freeplayDevices = FindObjectsOfType(CommonReflectedTypeInfo.FreeplayDeviceType); if (freeplayDevices != null && freeplayDevices.Length > 0) { UnityEngine.Object[] objects = FindObjectsOfType(ReflectionHelper.FindType("MultipleBombsAssembly.MultipleBombs")); MonoBehaviour multipleBombs = (objects == null || objects.Length == 0) ? null : (MonoBehaviour)objects[0]; _freeplayCommander = new FreeplayCommander((MonoBehaviour)freeplayDevices[0], multipleBombs); break; } yield return(null); } }
private IEnumerator CheckForFreeplayDevice() { yield return(null); DebugLog("Attempting to find Freeplay device"); while (true) { UnityEngine.Object[] freeplayDevices = FindObjectsOfType(CommonReflectedTypeInfo.FreeplayDeviceType); if (freeplayDevices != null && freeplayDevices.Length > 0) { DebugLog("Freeplay Device found - Hooking into it."); IEnumerator multipleBombs = MultipleBombs.Refresh(); while (multipleBombs.MoveNext()) { yield return(multipleBombs.Current); } if (MultipleBombs.Installed()) { DebugLog("Multiple Bombs is also installed"); } _freeplayCommander = new FreeplayCommander((MonoBehaviour)freeplayDevices[0]); break; } yield return(null); } }
private IEnumerator CheckForBombBinderAndFreeplayDevice() { yield return(null); while (true) { BombBinder[] bombBinders = FindObjectsOfType <BombBinder>(); if (bombBinders != null && bombBinders.Length > 0) { _bombBinderCommander = new BombBinderCommander(bombBinders[0]); break; } yield return(null); } while (true) { FreeplayDevice[] freeplayDevices = FindObjectsOfType <FreeplayDevice>(); if (freeplayDevices != null && freeplayDevices.Length > 0) { _freeplayCommander = new FreeplayCommander(freeplayDevices[0]); break; } yield return(null); } }
private IEnumerator CheckForBombBinderAndFreeplayDevice() { yield return(null); SetupRoom setupRoom = (SetupRoom)SceneManager.Instance.CurrentRoom; _bombBinderCommander = new BombBinderCommander(setupRoom.BombBinder); _freeplayCommander = new FreeplayCommander(setupRoom.FreeplayDevice); }
void OnStateChange(KMGameInfo.State state) { DebugLog("Current state = {0}", state.ToString()); StopAllCoroutines(); if (state == KMGameInfo.State.Setup) { StartCoroutine(CheckForFreeplayDevice()); } else { _freeplayCommander = null; _handler = null; } }
private IEnumerator CheckForFreeplayDevice() { yield return(null); yield return(null); DebugLog("Attempting to find Freeplay device"); var multipleBombs = MultipleBombs.Refresh(); while (multipleBombs.MoveNext()) { yield return(multipleBombs.Current); } if (MultipleBombs.Installed()) { DebugLog("Multiple Bombs is also installed"); } var setupRoom = (SetupRoom)SceneManager.Instance.CurrentRoom; _freeplayCommander = new FreeplayCommander(setupRoom.FreeplayDevice); }