private void Shuffle() { gameState.PlayerDeck.Shuffle(new System.Random()); animQueue.EnqueueAction(ShuffleStarts()); foreach (CardGameobject card in gameState.PlayerDeck) { animQueue.EnqueueAction(ShuffleAnimation(card)); } animQueue.EnqueueWait(1f); }
// Update is called once per frame void Update() { if (finished) { return; } secondSinceLastTip += Time.deltaTime; rotationSinceLastTip += Input.gyro.rotationRateUnbiased.y; if (check()) { if (tips.Count > 0) { lastTip = currentTip; currentTip = tips.Pop(); Debug.Log("Acceleration: current tip " + currentTip); rotationSinceLastTip = 0.0f; secondSinceLastTip = 0.0f; if (lastTip == currentTip) { queue.EnqueueAction(TypeText("Sorry, I need you to " + tipString [(int)currentTip] + " again")); } else { queue.EnqueueAction(TypeText("Sorry, I need you to " + tipString [(int)currentTip])); } queue.EnqueueWait(sentencePause); } else { queue.EnqueueAction(TypeText("you got it! Watch " + spot.GetName())); queue.EnqueueWait(sentencePause); queue.EnqueueAction(playVideo()); finished = true; } } else { if (secondSinceLastTip > 20.0f) { queue.EnqueueAction(TypeText("I'm still waiting for looking " + tipAgainString [(int)currentTip])); queue.EnqueueWait(sentencePause); secondSinceLastTip = 0.0f; Debug.Log("Acceleration: rotation " + rotationSinceLastTip); } } // textComp.text = "x: " + Input.acceleration.x + "\ny: " + Input.acceleration.y + "\nz: " + Input.acceleration.z; // rotationSinceLastTip += Input.gyro.rotationRateUnbiased.y; // textComp.text = "" + rotationSinceLastTip; }
private void LoadPictures(int startingPictureIndex, int numImages) { Debug.Log(string.Format("------- Texture2DTest: Loading {0} pictures beginning at index {1}. There are {2} pictures in the gallery!", numImages, startingPictureIndex, m_pictureFilePaths.Count)); Resources.UnloadUnusedAssets(); int currPictureIndex = startingPictureIndex; for (int imageIndex = 0; imageIndex < numImages; imageIndex++, currPictureIndex++) { if (currPictureIndex < m_pictureFilePaths.Count) { string filePath = m_pictureFilePaths[currPictureIndex]; m_coroutineQueue.EnqueueAction(LoadImageInternalPluginCpp(filePath, imageIndex)); m_coroutineQueue.EnqueueWait(2.0f); } else { m_imageDisplays[imageIndex].GetComponent <SelectImage>().Hide(); } } Resources.UnloadUnusedAssets(); }
internal void AddCard(CardGameobject card) { gameState.PlayerDiscard.Add(card); card.Interactable(false); animQueue.EnqueueAction(MoveCardToDiscardAnimation(card)); animQueue.EnqueueWait(0.1f); }
// Use this for initialization void Start() { Input.gyro.enabled = true; finished = false; spot = GlobalConstants.locations [GlobalConstants.SPOT_NAME]; textComp = GetComponent <Text>(); // use "this" monobehaviour as the coroutine owner queue = new CoroutineQueue(this); queue.StartLoop(); System.Random rnd = new System.Random(System.DateTime.Now.Millisecond); tipTimes = rnd.Next(1, 4); // 1 2 3 tips = new Stack <Orientation> (); for (int i = 0; i < tipTimes; ++i) { tips.Push((Orientation)rnd.Next(0, 4)); } lastTip = Orientation.None; currentTip = tips.Pop(); rotationSinceLastTip = 0.0f; secondSinceLastTip = 0.0f; Debug.Log("Acceleration: current tip " + currentTip); queue.EnqueueAction(TypeText(tipString [(int)currentTip])); queue.EnqueueWait(sentencePause); }
// Update is called once per frame void Update() { if (mState == LocationState.Enabled) { mLatitude = Input.location.lastData.latitude; mLongitude = Input.location.lastData.longitude; float tempDistance = Haversine(); if (tempDistance * KM_2_FOOT <= 100.0f) { queue.EnqueueAction(TypeText("congratulations! you made it!!!")); queue.EnqueueWait(sentencePause); queue.EnqueueAction(ChangeScene("GeoCamera")); // this need to change scene Input.location.Stop(); mState = LocationState.Stopped; } else if (tempDistance < mDistance * 0.5f) { mDistance = tempDistance; queue.EnqueueAction(TypeText("you are getting closer now")); queue.EnqueueWait(sentencePause); } } }
// [update location, check distance] // #1 >= 20 miles // you are too far... [change text] // get ready for a journey [change text] // see you in [city] [change text] // [return to MainUI] // #2 < 20 miles // see you in [location] // #3 < 5 miles // put on your running shoes or hop on your bike [change text, update location] // [update location, check distance in a loop, when half than initialized distance] // you are getting closer now // [update location, check distance in a loop, when < 100 feet] // congratulations! you made it!!! [change scene, open camera] // #4 < 100 feet // Be ready to see [spot]!!! IEnumerator Start() { textComp = GetComponent <Text>(); // use "this" monobehaviour as the coroutine owner queue = new CoroutineQueue(this); queue.StartLoop(); mState = LocationState.Disabled; mLatitude = 0.0f; mLongitude = 0.0f; mDistance = 0.0f; spot = GlobalConstants.locations [GlobalConstants.SPOT_NAME]; if (Input.location.isEnabledByUser) { // Start service before querying location Input.location.Start(); // Wait until service initializes int maxWait = 20; while (Input.location.status == LocationServiceStatus.Initializing && maxWait > 0) { yield return(new WaitForSeconds(1)); maxWait--; } // Service didn't initialize in 20 seconds if (maxWait < 1) { mState = LocationState.TimedOut; } else if (Input.location.status == LocationServiceStatus.Failed) { mState = LocationState.Failed; } else { mState = LocationState.Enabled; mLatitude = Input.location.lastData.latitude; mLongitude = Input.location.lastData.longitude; // mHorizontalAccuracy = Input.location.lastData.horizontalAccuracy; // mTimestamp = Input.location.lastData.timestamp; mDistance = Haversine(); } } if (mState == LocationState.Enabled) { float mileTemp = mDistance * KM_2_MILE; float footTemp = mDistance * KM_2_FOOT; if (mileTemp > 20.0f) { queue.EnqueueAction(TypeText("you are too far...")); queue.EnqueueWait(sentencePause); queue.EnqueueAction(TypeText("get ready for a journey")); queue.EnqueueWait(sentencePause); queue.EnqueueAction(TypeText("see you in " + spot.GetCity())); Input.location.Stop(); mState = LocationState.Stopped; } else if (mileTemp > 5.0f) { queue.EnqueueAction(TypeText("see you in " + spot.GetMuseum())); queue.EnqueueWait(sentencePause); } else if (footTemp > 100.0f) { queue.EnqueueAction(TypeText("put on your running shoes or hop on your bike")); queue.EnqueueWait(sentencePause); } else { queue.EnqueueAction(TypeText("Be ready to see " + spot.GetName())); queue.EnqueueWait(sentencePause); queue.EnqueueAction(ChangeScene("GeoCamera")); // this need to change scene Input.location.Stop(); mState = LocationState.Stopped; } } else if (mState == LocationState.Disabled) { queue.EnqueueAction(TypeText("Location service not enabled")); } else if (mState == LocationState.Failed) { queue.EnqueueAction(TypeText("Unable to determine device location")); } else if (mState == LocationState.TimedOut) { queue.EnqueueAction(TypeText("Sorry! Timed out")); } }
private void SocketIoOnPlayerRolledDice(Player player, int[] dice) { _queue.EnqueueAction(diceContainer.RollTheDice(dice)); _queue.EnqueueWait(1f); }
internal void AddCard(CardGameobject card) { gameState.PlayerHand.Add(card); animQueue.EnqueueAction(MoveCardToHandAnimation(card)); animQueue.EnqueueWait(0.3f); }