示例#1
0
        public async void ConnectToWifi(WifiSignal signal)
        {
            using (_cancellationSource = new CancellationTokenSource())
            {
                var id         = Guid.NewGuid();
                var parameters = new DialogParameters
                {
                    { ConnectingToDeviceParams.CancellationTokenSource, _cancellationSource },
                    { ConnectingToDeviceParams.Identifier, id }
                };

                _dialogService.ShowDialog(DialogConstants.ConnectingToDevice, parameters);
                await _wifiService.Connect(signal.Ssid, Device.DefaultPassword,
                                           false, _cancellationSource.Token);

                _eventAggregator.GetEvent <CloseDialogEvent>().Publish(id);

                var configParams = new NavigationParameters
                {
                    { ParameterConstants.Device, Device },
                    { ParameterConstants.WifiSignals, WifiSignals }
                };
                await NavigationService.NavigateAsync(nameof(ConfigureDevice), configParams);
            }
        }
    public void ChangeActiveSignal()
    {
        //change it here!
        //random signal, not the last
        int currentIndex = signals.IndexOf(activeSignal);
        int max = signals.Count;
        int random;
        do{
            random = Random.Range(0, max);
        } while (random == currentIndex);

        activeSignal = signals[random];

        Debug.Log("WiFi Spot changed to " + activeSignal.name);
    }
示例#3
0
    private void Awake()
    {
        sInstance = this;
        GameManager.OnGameReady += delegate {
            mFreeze            = false;
            transform.position = WifiManager.sClosestWifiPoint.transform.position;
            mOriginPoint       = WifiManager.sClosestWifiPoint;
            mWifiPointTarget   = mOriginPoint.GetRandomNextWifiPoint(mOriginPoint);
            mCurrentDirection  = (mWifiPointTarget.transform.position - mOriginPoint.transform.position).normalized;
            SwitchSpeed();
        };
        SignalScanner.OnBigDisconnection += delegate
        {
            mFreeze       = true;
            mCurrentSpeed = 0;
            CancelInvoke(nameof(SwitchSpeed));

            Shader.SetGlobalVector("SignalInfo", new Vector4(transform.position.x, transform.position.z, SignalScanner.sDistanceToBigReconnect, 1));
            if (mIndicatorVFX != null)
            {
                mIndicatorVFX.transform.position = transform.position;
                mIndicatorVFX.Play();
            }
        };
        SignalScanner.OnBigReconnection += delegate
        {
            mFreeze = false;
            SwitchSpeed();

            Shader.SetGlobalVector("SignalInfo", Vector4.zero);
            if (mIndicatorVFX != null)
            {
                mIndicatorVFX.Stop(true, ParticleSystemStopBehavior.StopEmitting);
            }
        };
    }