Пример #1
0
    private void OnDisable()
    {
        StopAllCoroutines();

        _bombBinderCommander = null;
        _freeplayCommander   = null;
    }
Пример #2
0
    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);
        }
    }
Пример #3
0
    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);
        }
    }
Пример #4
0
    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);
    }
Пример #6
0
 void OnStateChange(KMGameInfo.State state)
 {
     DebugLog("Current state = {0}", state.ToString());
     StopAllCoroutines();
     if (state == KMGameInfo.State.Setup)
     {
         StartCoroutine(CheckForFreeplayDevice());
     }
     else
     {
         _freeplayCommander = null;
         _handler           = null;
     }
 }
Пример #7
0
    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);
    }