示例#1
0
 // Use this for initialization
 void Awake()
 {
     buttonKey           = EasyWiFiController.registerControl(EasyWiFiConstants.CONTROLLERTYPE_BUTTON, controlName);
     button              = (ButtonControllerType)EasyWiFiController.controllerDataDictionary[buttonKey];
     currentImage        = gameObject.GetComponent <Image>();
     buttonRegularSprite = currentImage.sprite;
 }
示例#2
0
        // Use this for initialization
        void Awake()
        {
            buttonKey = EasyWiFiController.registerControl(EasyWiFiConstants.CONTROLLERTYPE_BUTTON, controlName);
            button    = (ButtonControllerType)EasyWiFiController.controllerDataDictionary[buttonKey];

            GetComponent <Button>().onClick.AddListener(OnButtonPressed);
        }
    // Use this for initialization
    void Awake()
    {
        //check to see if we already have an existing EasyWiFiManager from another scene
        //if we do destroy this one
        foreach (var gameObj in FindObjectsOfType(typeof(EasyWiFiManager)))
        {
            if (gameObj.GetInstanceID() == this.GetInstanceID())
            {
                //this is the current gameobject ignore
            }
            else
            {
                //another one must have been present from another scene so destroy the one we're currently in since the other one has active connections
                DestroyImmediate(this.gameObject);
                return;
            }
        }


        Screen.sleepTimeout = SleepTimeout.NeverSleep;
        if (peerType == EasyWiFiConstants.PEER_TYPE.Server)
        {
            EasyWiFiController.initialize(applicationName, EasyWiFiConstants.PEERTYPE_SERVER, serverSocketPort, clientSocketPort, logVerbose, clientConnectAutomatically);
        }
        else
        {
            EasyWiFiController.initialize(applicationName, EasyWiFiConstants.PEERTYPE_CLIENT, serverSocketPort, clientSocketPort, logVerbose, clientConnectAutomatically);
        }

        DontDestroyOnLoad(transform.gameObject);
    }
 protected override void Awake()
 {
     base.Awake();
     if (Application.isPlaying)
     {
         buttonKey = EasyWiFiController.registerControl(EasyWiFiConstants.CONTROLLERTYPE_BUTTON, controlName);
         button    = (ButtonControllerType)EasyWiFiController.controllerDataDictionary[buttonKey];
     }
 }
 // Use this for initialization
 void Awake()
 {
     gyroKey = EasyWiFiController.registerControl(EasyWiFiConstants.CONTROLLERTYPE_GYRO, controlName);
     gyro    = (GyroControllerType)EasyWiFiController.controllerDataDictionary[gyroKey];
     if (SystemInfo.supportsGyroscope)
     {
         Input.gyro.enabled = true;
     }
 }
示例#6
0
        void Awake()
        {
            buttonKey           = EasyWiFiController.registerControl(EasyWiFiConstants.CONTROLLERTYPE_BUTTON, controlName);
            button              = (ButtonControllerType)EasyWiFiController.controllerDataDictionary[buttonKey];
            currentImage        = gameObject.GetComponent <Image>();
            buttonRegularSprite = currentImage.sprite;

            lowPassFilterFactor      = accelerometerUpdateInterval / lowPassKernelWidthInSeconds;
            shakeDetectionThreshold *= shakeDetectionThreshold;
            lowPassValue             = Input.acceleration;
        }
    void LateUpdate()
    {
        if (peerType == EasyWiFiConstants.PEER_TYPE.Client)
        {
            //we are the client we are responsible for triggering the send of Easy WiFi Controllers data structure over
            //the network and because of this we want to order this script to run after the others

            if (EasyWiFiController.clientState == EasyWiFiConstants.CURRENT_CLIENT_STATE.SendingControllerData)
            {
                //send the data
                if ((Time.realtimeSinceStartup - lastSendTime) > maxRate)
                {
                    lastSendTime = Time.realtimeSinceStartup;
                    EasyWiFiController.sendWiFIControllerData(EasyWiFiController.createControllerDataMessage(packetNumber));

                    //increment the packet number
                    if (packetNumber < EasyWiFiConstants.ROLLOVER_PACKET_NUMBER)
                    {
                        packetNumber++;
                    }
                    else
                    {
                        packetNumber = 0;
                    }
                }
            }
        }
        else
        {
            //send the backchannel (if present)
            if (serverSendBackchannel)
            {
                //server backchannels are for feeding back UI elements to the controller and are less sensitive
                //like in the racing example it animates the spedometer
                //so we cap this at 30 times per second
                if ((Time.realtimeSinceStartup - lastSendTime) > .033333333f)
                {
                    lastSendTime = Time.realtimeSinceStartup;
                    EasyWiFiController.createAndSendBackchannelMessages(packetNumber);

                    //increment the packet number
                    if (packetNumber < EasyWiFiConstants.ROLLOVER_PACKET_NUMBER)
                    {
                        packetNumber++;
                    }
                    else
                    {
                        packetNumber = 0;
                    }
                }
            }
        }
    }
    void sendServerHeartbeat()
    {
        EasyWiFiController.createAndSendHeartbeatMessages(heartbeatPacketNumber);

        //increment the packet number
        if (heartbeatPacketNumber < EasyWiFiConstants.ROLLOVER_PACKET_NUMBER)
        {
            heartbeatPacketNumber++;
        }
        else
        {
            heartbeatPacketNumber = 0;
        }
    }
 public void connectOrDisconnect()
 {
     if (!justStateChange && EasyWiFiController.clientState == EasyWiFiConstants.CURRENT_CLIENT_STATE.NotConnected)
     {
         //not connected currently so try to connect
         justStateChange = true;
         EasyWiFiController.checkForServer();
         Invoke("resetDisconnection", 2f);
     }
     if (!justStateChange && EasyWiFiController.clientState == EasyWiFiConstants.CURRENT_CLIENT_STATE.SendingControllerData)
     {
         //connected currently so disconnect
         justStateChange = true;
         EasyWiFiController.sendDisconnect(EasyWiFiController.createDisconnectMessage());
         Invoke("resetDisconnection", 2f);
     }
 }
    void checkHeartbeatForTimeout()
    {
        if (EasyWiFiController.clientState == EasyWiFiConstants.CURRENT_CLIENT_STATE.SendingControllerData)
        {
            if ((DateTime.UtcNow - EasyWiFiController.lastHeartbeatTime).TotalSeconds > Convert.ToDouble(heartbeatTimeout))
            {
                consecutiveAttempts++;
                //we have passed the heartbeat timeout disconnect and go back to discovery mode
                if (consecutiveAttempts > 1)
                {
                    //disconnect

                    if (logVerbose)
                    {
                        Debug.Log("Heartbeat timeout. Going Back to Discovery Mode");
                    }
                    EasyWiFiController.clientState = EasyWiFiConstants.CURRENT_CLIENT_STATE.NotConnected;
                    consecutiveAttempts            = 0;

                    //take this time to set all the client side controls ready to reconnect
                    BaseControllerType temp;
                    if (EasyWiFiController.controllerDataDictionary != null)
                    {
                        foreach (string key in EasyWiFiController.controllerDataDictionary.Keys)
                        {
                            temp = EasyWiFiController.controllerDataDictionary[key];
                            temp.justReconnected = true;
                        }
                    }

                    //go back to discovery mode and check for a new server
                    EasyWiFiController.checkForServer();
                }
            }
        }
    }
 void OnApplicationQuit()
 {
     EasyWiFiController.endUDPClientAndThread();
 }
 // Use this for initialization
 void Awake()
 {
     decimalKey  = EasyWiFiController.registerControl(EasyWiFiConstants.CONTROLLERTYPE_DECIMAL, controlName);
     decimalData = (DecimalBackchannelType)EasyWiFiController.controllerDataDictionary[decimalKey];
 }
示例#13
0
 // Use this for initialization
 void Awake()
 {
     touchpadKey   = EasyWiFiController.registerControl(EasyWiFiConstants.CONTROLLERTYPE_TOUCHPAD, controlName);
     touchpad      = (TouchpadControllerType)EasyWiFiController.controllerDataDictionary[touchpadKey];
     touchpadImage = gameObject.GetComponent <Image>();
 }
 // Use this for initialization
 void Awake()
 {
     pinchZoomKey   = EasyWiFiController.registerControl(EasyWiFiConstants.CONTROLLERTYPE_PINCHZOOMTOUCHPAD, controlName);
     pinchZoom      = (PinchZoomTouchpadControllerType)EasyWiFiController.controllerDataDictionary[pinchZoomKey];
     pinchZoomImage = gameObject.GetComponent <Image>();
 }
 // Use this for initialization
 void Awake()
 {
     doubleKey  = EasyWiFiController.registerControl(EasyWiFiConstants.CONTROLLERTYPE_DOUBLE, controlName);
     doubleData = (DoubleBackchannelType)EasyWiFiController.controllerDataDictionary[doubleKey];
 }
示例#16
0
 void Awake()
 {
     gyroKey = EasyWiFiController.registerControl(EasyWiFiConstants.CONTROLLERTYPE_GYRO, controlName);
     gyro    = (GyroControllerType)EasyWiFiController.controllerDataDictionary[gyroKey];
 }
 // Use this for initialization
 void Awake()
 {
     floatKey  = EasyWiFiController.registerControl(EasyWiFiConstants.CONTROLLERTYPE_FLOAT, controlName);
     floatData = (FloatBackchannelType)EasyWiFiController.controllerDataDictionary[floatKey];
 }
 void Awake()
 {
     backchannelKey    = EasyWiFiController.registerControl(EasyWiFiConstants.BACKCHANNELTYPE_DOUBLE, controlName);
     doubleBackchannel = (DoubleBackchannelType)EasyWiFiController.controllerDataDictionary[backchannelKey];
 }
 // Use this for initialization
 void Awake()
 {
     accelerometerKey = EasyWiFiController.registerControl(EasyWiFiConstants.CONTROLLERTYPE_ACCELEROMETER, controlName);
     accelerometer    = (AccelerometerControllerType)EasyWiFiController.controllerDataDictionary[accelerometerKey];
 }
 // Use this for initialization
 void Awake()
 {
     boolKey  = EasyWiFiController.registerControl(EasyWiFiConstants.CONTROLLERTYPE_BOOL, controlName);
     boolData = (BoolBackchannelType)EasyWiFiController.controllerDataDictionary[boolKey];
 }
示例#21
0
 // Use this for initialization
 void Awake()
 {
     stringKey  = EasyWiFiController.registerControl(EasyWiFiConstants.CONTROLLERTYPE_STRING, controlName);
     stringData = (StringBackchannelType)EasyWiFiController.controllerDataDictionary[stringKey];
 }
 // Use this for initialization
 void Awake()
 {
     intKey  = EasyWiFiController.registerControl(EasyWiFiConstants.CONTROLLERTYPE_INT, controlName);
     intData = (IntBackchannelType)EasyWiFiController.controllerDataDictionary[intKey];
 }
    void Start()
    {
        if (peerType == EasyWiFiConstants.PEER_TYPE.Client)
        {
            lastSendTime = Time.realtimeSinceStartup;

            //set the rate
            switch (clientMaxSendRate)
            {
            case EasyWiFiConstants.CONTROLLERDATA_MAX_SEND_RATE.CapAt30Hz:
                maxRate = .033333333f;
                break;

            case EasyWiFiConstants.CONTROLLERDATA_MAX_SEND_RATE.CapAt60Hz:
                maxRate = .016666666f;
                break;

            case EasyWiFiConstants.CONTROLLERDATA_MAX_SEND_RATE.CapAt90Hz:
                maxRate = .011111111f;
                break;

            case EasyWiFiConstants.CONTROLLERDATA_MAX_SEND_RATE.SendAsFastAsPossible:
                maxRate = 0f;
                break;

            case EasyWiFiConstants.CONTROLLERDATA_MAX_SEND_RATE.SendInfrequentlyOncePerSecond:
                maxRate = 1f;
                break;

            default:
                maxRate = 0f;
                break;
            }


            //There can be a timing issue between when the server has been discovered but we might not be ready yet
            //to transmit our inventory.  Becuase this script executes in start and registrations in awake all the local registrations have now take place
            EasyWiFiController.readyToTransmitInventory = true;

            if (!transmittedInventory && (EasyWiFiController.clientState != EasyWiFiConstants.CURRENT_CLIENT_STATE.Broadcasting && EasyWiFiController.clientState != EasyWiFiConstants.CURRENT_CLIENT_STATE.NotConnected))
            {
                //depending on the order in which client and server are started check our state and send inventory immediately
                EasyWiFiController.sendControllerInventory(EasyWiFiController.createInventoryMessage());
                EasyWiFiController.clientState = EasyWiFiConstants.CURRENT_CLIENT_STATE.SendingInventory;
            }

            if (heartbeatTimeout > 0f)
            {
                InvokeRepeating("checkHeartbeatForTimeout", heartbeatTimeout, heartbeatTimeout);
            }
        }
        else
        {
            if (serverSendBackchannel)
            {
                EasyWiFiController.readyToTransmitBackchannel = true;
            }
            if (serverSendHeartbeatRate > 0f)
            {
                InvokeRepeating("sendServerHeartbeat", serverSendHeartbeatRate, serverSendHeartbeatRate);
            }
            if (clientTimeout > 0f)
            {
                InvokeRepeating("checkForClientTimeout", clientTimeout, clientTimeout);
            }
        }
    }
示例#24
0
 // Use this for initialization
 void Awake()
 {
     joystickKey             = EasyWiFiController.registerControl(EasyWiFiConstants.CONTROLLERTYPE_JOYSTICK, controlName);
     joystick                = (JoystickControllerType)EasyWiFiController.controllerDataDictionary[joystickKey];
     joystickImageBackground = gameObject.GetComponent <Image>();
 }
 // Use this for initialization
 void Awake()
 {
     sliderKey             = EasyWiFiController.registerControl(EasyWiFiConstants.CONTROLLERTYPE_SLIDER, controlName);
     slider                = (SliderControllerType)EasyWiFiController.controllerDataDictionary[sliderKey];
     sliderImageBackground = gameObject.GetComponent <Image>();
 }
 void Awake()
 {
     backchannelKey  = EasyWiFiController.registerControl(EasyWiFiConstants.BACKCHANNELTYPE_BOOL, controlName);
     boolBackchannel = (BoolBackchannelType)EasyWiFiController.controllerDataDictionary[backchannelKey];
 }
 // Use this for initialization
 void Awake()
 {
     dPadKey   = EasyWiFiController.registerControl(EasyWiFiConstants.CONTROLLERTYPE_DPAD, controlName);
     dPad      = (DpadControllerType)EasyWiFiController.controllerDataDictionary[dPadKey];
     dPadImage = gameObject.GetComponent <Image>();
 }
 void Awake()
 {
     backchannelKey     = EasyWiFiController.registerControl(EasyWiFiConstants.BACKCHANNELTYPE_DECIMAL, controlName);
     decimalBackchannel = (DecimalBackchannelType)EasyWiFiController.controllerDataDictionary[backchannelKey];
 }
示例#29
0
 void Awake()
 {
     backchannelKey   = EasyWiFiController.registerControl(EasyWiFiConstants.BACKCHANNELTYPE_FLOAT, controlName);
     floatBackchannel = (FloatBackchannelType)EasyWiFiController.controllerDataDictionary[backchannelKey];
 }
 void Awake()
 {
     backchannelKey    = EasyWiFiController.registerControl(EasyWiFiConstants.BACKCHANNELTYPE_STRING, controlName);
     stringBackchannel = (StringBackchannelType)EasyWiFiController.controllerDataDictionary[backchannelKey];
 }