public IEnumerator CheckIfGameStarted(SwitchResult GameStartedSwitch) { while (GameStartedSwitch.Data != "On") { yield return(StartCoroutine(MainConnectionScript.CheckDomoticzSwitch(gameStartedSwitchidx, GameStartedSwitch))); } StartHiderHidingFase(); }
public Parser(int numSwitches) { _switches = new SwitchResult[numSwitches]; for (int i = 0; i < numSwitches; i++) { _switches[i] = new SwitchResult(); } }
public IEnumerator CheckGameBegan(string gameRole) { SwitchResult GameStartedSwitch = new SwitchResult(); yield return(StartCoroutine(MainConnectionScript.CheckDomoticzSwitch(gameStartedSwitchidx, GameStartedSwitch))); if (GameStartedSwitch.Data == "On") { SceneManager.LoadSceneAsync(gameRole); } yield return(StartCoroutine(CheckGameBegan(gameRole))); }
public IEnumerator CheckIfTriggeredDomoticz() { SwitchResult DistanceSensorSwitch = new SwitchResult(); yield return(StartCoroutine(mainConnectionScript.CheckDomoticzSwitch(distanceSensorTriggeredidx, DistanceSensorSwitch))); // Needs to be dynamic! //yield return new WaitForSeconds(1.0f); if (DistanceSensorSwitch.Data == "On") { Debug.Log("Lmao!"); TriggerSensor(); } }
public void Hash(string stringToHash, ref uint hashOne, ref uint hashTwo) { stringToHash += '\0'; _strToHash = stringToHash; int len = _strToHash.Length - 1; _hashPartTwo = (uint)(hashOne + len + 0xdeadbeef); _hashPartThree = (uint)(hashOne + len + 0xdeadbeef); _hashPartOne = (hashTwo + _hashPartTwo); if (len > 12) { FirstBlockUseDwords(ref len); } SwitchResult switchResult = SwitchUseDwords(len); if (switchResult == SwitchResult.Final) { hashOne = _hashPartOne; hashTwo = _hashPartTwo; return; } if (switchResult == SwitchResult.Continue) { _hashPartThree += _strToHash[_strReadPos]; } // Bitmath uint v52 = (_hashPartTwo ^ _hashPartOne) - ((_hashPartTwo << 14) ^ (_hashPartTwo >> 18)); uint v53 = (_hashPartThree ^ v52) - ((v52 << 11) ^ (v52 >> 21)); uint v54 = (v53 ^ _hashPartTwo) - ((((_hashPartThree ^ v52) - ((v52 << 11) ^ (v52 >> 21))) >> 7) ^ (((_hashPartThree ^ v52) - ((v52 << 11) ^ (v52 >> 21))) << 25)); uint v55 = (v54 ^ v52) - ((v54 << 16) ^ (v54 >> 16)); uint v56 = (v53 ^ v55) - (16 * v55 ^ (v55 >> 28)); _hashPartTwo = (v56 ^ v54) - ((v56 << 14) ^ (v56 >> 18)); _hashPartOne = (_hashPartTwo ^ v55) - ((_hashPartTwo >> 8) ^ (_hashPartTwo << 24)); hashOne = _hashPartOne; hashTwo = _hashPartTwo; }
// If game knows hider is hidden, stop checking public IEnumerator CheckIfTriggeredDomoticz() { if (MainGamestateManager.hiderIsHidden == false) { SwitchResult DistanceSensorSwitch = new SwitchResult(); yield return(StartCoroutine(MainConnectionScript.CheckDomoticzSwitch(distanceSensorTriggeredidx, DistanceSensorSwitch))); // Needs to be dynamic! if (DistanceSensorSwitch.Data == "On") { TriggerSensor(); MainGamestateManager.hiderIsHidden = true; } } }
public IEnumerator StartSeekerSeekingFase() { // enable movement GameObject SeekerPlayerGameObject = GameObject.Find("Seeker"); SeekerPlayerGameObject.GetComponent <PlayerMovementScript>().CanMove = true; SwitchResult HiderIsCaughtSwitch = new SwitchResult(); HiderIsCaughtSwitch.Data = "Off"; // GameObject which is a collection of UI elements for the hiding timer. Is a child of a general collection of UI elements. GameObject RoundTimer = CanvasPlayerUI.transform.Find("RoundTimer").gameObject; RoundTimer.SetActive(true); // Is the script component of the UI that handles changing of HideTimer UI text. CountdownUIScript RoundTimerCountdown = RoundTimer.GetComponent <CountdownUIScript>(); for (int i = secondsToFind; i > 0; i--) { // Changes text in UI. RoundTimerCountdown.ChangeCountdownNumber("You have ", i, "seconds to catch the hider!"); yield return(new WaitForSecondsRealtime(1.0f)); StartCoroutine(MainConnectionScript.CheckDomoticzSwitch(hiderIsCaughtSwitchidx, HiderIsCaughtSwitch)); if (HiderIsCaughtSwitch.Data == "On") { hiderIsFound = true; } // Ends timer is player hides so player doesnt have to wait for the timer to run out if (hiderIsFound) { i = 0; } } if (hiderIsFound) { StartCoroutine(MainConnectionScript.ChangeDomoticzSwitchStatus(hiderIsCaughtSwitchidx, true)); SeekerWon("HiderWasCaught"); } else { SeekerLost("TimeRanOut"); } StopSeekerSeekingFase(); }
public IEnumerator CheckDomoticzSwitch(int idx, SwitchResult SensorSwitch) { string switchCommandString = connectionString + string.Format("type=devices&rid={0}", idx); using (UnityWebRequest checkSwitchRequest = UnityWebRequest.Get(switchCommandString)) { yield return(checkSwitchRequest.SendWebRequest()); if (checkSwitchRequest.error != null) { Debug.Log(checkSwitchRequest.error); // No result given. Need error check in caller } else { Switch HidableObjectSwitch = JsonUtility.FromJson <Switch>(checkSwitchRequest.downloadHandler.text); Debug.Log(HidableObjectSwitch.result[0].Data); // Transfer status to switch SensorSwitch.Data = HidableObjectSwitch.result[0].Data; } } }
public void WaitForGameToStart(string hiderOrSeeker) { SwitchResult GameStartedSwitch = new SwitchResult(); if (hiderOrSeeker == "HiderPlayerScene") { MainTurnMapScript.canTurn = false; CanvasPlayerUI.transform.Find("WaitingForStartHider").gameObject.SetActive(true); StartCoroutine(CheckIfGameStarted(GameStartedSwitch)); } if (hiderOrSeeker == "SeekerPlayerScene") { // disable locking cursor to mid of screen Cursor.lockState = CursorLockMode.Confined; // Disable movement GameObject SeekerPlayerGameObject = GameObject.Find("Seeker"); SeekerPlayerGameObject.GetComponent <PlayerMovementScript>().CanMove = false; // Activate UI with a button. If button pressed: excecute SeekerInitiatedStartGame(); CanvasPlayerUI.transform.Find("WaitingForStartSeeker").gameObject.SetActive(true); } }