void RegisterWordHit(ClickAreaCtrl cArea, WordGameObjectCtrl wrd) { if (wrd.isFake) { //Debug.Log("FAKE HIT"); ScoreCtrl.FakeClick(); UIEventManager.FakeWordHitEvent(); return; } hitFX = PoolManager.SpawnObject(successWordHitFX); HitWordFX hitWordFX = hitFX.GetComponent <HitWordFX>(); isPerfect = Mathf.Abs(currentAudioTime - wrd.hitTime) < Config.CLICK_PERFECT_TIME_OFFSET; if (isPerfect) { hitWordFX.perfect = true; } else { hitWordFX.perfect = false; } GameLogger.AddTap(wrd.hitTime, currentAudioTime, wrd.wordData.text); hitFX.transform.position = cArea.gameObject.transform.position; hitWordFX.runAnim(); ScoreCtrl.WordHit(wrd.orderIndex, currentAudioTime, wrd.hitTime, isPerfect); }
void RegisterHoldingWord(ClickAreaCtrl cAreaCtrl) { }
void CheckTouches() { if (Input.touchCount < 1) { return; } foreach (Touch touch in Input.touches) { if (touch.phase == TouchPhase.Began) { RaycastHit2D hitInfo = Physics2D.Raycast(cam.ScreenToWorldPoint(touch.position), Vector2.zero); if (hitInfo) { GameObject recipient = hitInfo.transform.gameObject; if (recipient.tag == "ClickArea") { clickAreaCtrl = recipient.GetComponent <ClickAreaCtrl>(); wgCollidingCtrl = clickAreaCtrl.GetCollidingWord(); // returns a word if it is not clicked already if (wgCollidingCtrl != null) { RegisterWordHit(clickAreaCtrl, wgCollidingCtrl); if (wgCollidingCtrl.wordData.duration > 0.0) { clickAreaCtrl.StartHolding(touch.fingerId, (float)wgCollidingCtrl.wordData.duration, currentAudioTime); } } else { // empty click. kill streak //RegisterWordMiss(clickAreaCtrl); RegisterEmptyClick(); } } } } if (touch.phase == TouchPhase.Ended || touch.phase == TouchPhase.Canceled) { foreach (ClickAreaCtrl caCtrl in clickAreas) { if (touch.fingerId == caCtrl.fingerIdDown) { //Debug.Log("STOP HOLDING " + caCtrl.gameObject.name + " fid =" +caCtrl.fingerIdDown+ " WITH FINGER ID "+ touch.fingerId); float timePressed = currentAudioTime - caCtrl.startHoldTime; //Debug.Log("HODING FOR : " + timePressed + " ["+caCtrl.durationToHold+"]"); caCtrl.fingerIdDown = 100; caCtrl.startHoldTime = 0; caCtrl.durationToHold = 0; caCtrl.StopParticles(); } } } if (touch.phase == TouchPhase.Moved || touch.phase == TouchPhase.Stationary) { foreach (ClickAreaCtrl caCtrl in clickAreas) { if (caCtrl.fingerIdDown != 100 && caCtrl.durationToHold != 0) { ScoreCtrl.AddHoldPoints(caCtrl.wordCtrl.hitTime, caCtrl.startHoldTime, caCtrl.durationToHold, currentAudioTime); } } } } }