bool IsGoodLetter(LetterController letter, int letterIndex) { if (GameplayController.Instance.CurrentSegment.MonsterRequiredLetters.Length <= letterIndex) { return(false); } switch (GameplayController.Instance.CurrentLevel.monsterInputType) { case MonsterInputType.Letter: case MonsterInputType.LetterInWord: case MonsterInputType.SoundLetter: // if (letter.value == GameplayController.Instance.CurrentSegment.MonsterRequiredLetters[0]) { // correct letter if (letter.stone.value == GameplayController.Instance.CurrentSegment.MonsterRequiredLetters[0]) // correct letter { return(true); } else // bad letter { return(false); } case MonsterInputType.Word: case MonsterInputType.SoundWord: //return (letter.value == GameplayController.Instance.CurrentSegment.MonsterRequiredLetters [requiredLetterIndex]); return(letter.stone.value == GameplayController.Instance.CurrentSegment.MonsterRequiredLetters [letterIndex]); /* case MonsterInputType.SoundWord: * return (letter.stone.value == GameplayController.Instance.CurrentSegment.MonsterRequiredLetters [letterIndex]); */ } return(false); }
void roolBackLetter() { collectLetters = null; if (this.stone != null) { //text.text = ArabicSupport.ArabicFixer.Fix (this.stone.value, true, true); //text.text = RTL.Fix (this.stone.value); text.text = this.stone.FixValue; } if (State != LetterState.Idle) { if (stone.spawnIds.Length > 1) { transform.position = mLastPosition; } else { transform.position = mTargetPosition = mInitPosition; } } isDragable = false; SetVisible(true); mMagnetLetter = null; if (GameplayController.Instance.CurrentLevel.monsterInputType == MonsterInputType.Word || GameplayController.Instance.CurrentLevel.monsterInputType == MonsterInputType.SoundWord) { numSubLetters = 0; //transform.localScale = mTargetScale = mInitScale; mTargetScale = mInitScale; } }
public static LetterController Create(LetterController prefab, Vector3 position, Transform parent, char letter) { LetterController letterController = Instantiate(prefab, position, Quaternion.identity, parent); letterController.letter = letter; return(letterController); }
public void SpawnWords() { if (WordSet == null) { Debug.LogError("WordSet is null !!!"); return; } ClearTable(); // Find center _bounds = WordSet.GetBound(); Vector3 boundsCenter = _bounds.center; boundsCenter.x = Mathf.Round(boundsCenter.x); boundsCenter.y = Mathf.Round(boundsCenter.y); boundsCenter.z = 0; _bounds.center = boundsCenter; // Spawn new words foreach (SWord sWord in WordSet.Words) { SpawnWord(sWord); } // PostProcess WordManager.GetWordsFormChilds(); LetterController.ConnectAdjacentLetters(); }
// Удаление (убирание в пул) буквы public static void ReturnLetterInPool(LetterController letterController) { letterController.gameObject.SetActive(false); letterController.transform.SetParent(Instance.letterPoolPosition.transform); letterController.transform.position = Instance.letterPoolPosition.transform.position; letterControllersPool.Enqueue(letterController); }
public void Rotate() { WordManager .GetComponentsInChildren<Word>() .ToList() .ForEach(w => { Undo(w, "Rotate"); w.Direction = (w.Direction == WordDirection.Horizontal) ? WordDirection.Vertical : WordDirection.Horizontal; }); LetterController .AllLetters .ForEach(l => { Vector3 position = l.transform.position; position.x = l.transform.position.y; position.y = l.transform.position.x; Undo(l.transform, "Rotate"); l.transform.position = position; }); LetterController.ConnectAdjacentLetters(); }
public void NextLogo() { // shelfSpaceLogo.SetActive(true); LetterController controller = FindObjectOfType <LetterController>().GetComponent <LetterController>(); controller.dropLetters(); }
public void GrabLetter(LetterController letter) { if (moveLetterCoroutine != null) { StopCoroutine(moveLetterCoroutine); } moveLetterCoroutine = StartCoroutine(MoveLetter(letter)); }
// Создание пула объектов private void FillLettersPool() { for (int i = 0; i < letterPoolSize; i++) { var letter = Instantiate(letterPrefab, letterPoolPosition.transform.position, Quaternion.identity, letterPoolPosition.transform); LetterController letterController = letter.GetComponent <LetterController>(); letterController.gameObject.SetActive(false); letterControllersPool.Enqueue(letterController); } }
public void ClearTable() { // Delete all thing LetterController.DeleteAllLetters(); if (_locationDictionary == null) { _locationDictionary = new Dictionary <Vector2, Letter>(); } _locationDictionary.Clear(); WordManager.DeleteAllWords(); }
void EatGoodLetter(LetterController letter) { int scoreToadd = 0; if (GameplayController.Instance.CurrentLevel.monsterInputType == MonsterInputType.Word || GameplayController.Instance.CurrentLevel.monsterInputType == MonsterInputType.SoundWord) { requiredLetterIndex++; if (letter.numSubLetters > 0) { scoreToadd = GameplaySettings.LetterInWordComboScore; } else { scoreToadd = GameplaySettings.LetterScore; } } else { if (GameplayController.Instance.PreviousState == GameplayController.GameState.CollectLetters) { scoreToadd = GameplaySettings.LetterComboScore; } else { // changed by Tzahi if (letter.numSubLetters > 0) { scoreToadd = GameplaySettings.LetterInComboScore * (letter.numSubLetters + 1); } else { scoreToadd = GameplaySettings.LetterScore; } //GameplayController.Instance.CurrentLevelScoreToFlush = 100; } GameplayController.Instance.isSegmentComplete = true; } GameplayController.Instance.AddLevelScoreToFlush = scoreToadd; // GameplayController.Instance.IncreaseLevelScore(scoreToadd); // delete from Tzahi // GameplayController.Instance.CountdownCounter = 0; mCurrentLetterInMouth.Eaten(); }
public void SpawnWordsExtraZoom(bool extra) { if (WordSet == null) { Debug.LogError("WordSet is null !!!"); return; } ClearTable(); // Find center _bounds = WordSet.GetBound(); Vector3 boundsCenter = _bounds.center; boundsCenter.x = Mathf.Round(boundsCenter.x); boundsCenter.y = Mathf.Round(boundsCenter.y); boundsCenter.z = 0; _bounds.center = boundsCenter; // Spawn new words foreach (SWord sWord in WordSet.Words) { SpawnWord(sWord); } // PostProcess WordManager.GetWordsFormChilds(); LetterController.ConnectAdjacentLetters(); if (Application.isPlaying) { StartCoroutine(CameraController.FocusAllLettersExtra(extra)); if (SpawnPartByPart) { StartCoroutine(EnableParts()); } else { LetterController.AllLetters.ForEach(l => l.gameObject.SetActive(true)); } } else { LetterController.AllLetters.ForEach(l => l.gameObject.SetActive(true)); } }
IEnumerator MoveLetter(LetterController letter) { Vector3 startPos = letter.transform.position; Quaternion startRot = letter.transform.rotation; float time = 0f; while (time < moveLetterTime) { time += Time.deltaTime; letter.transform.position = Vector3.Lerp(startPos, provider.viewAttachPoint.position + provider.viewAttachPoint.up * (provider.BookOffset.y * provider.viewAttachPoint.localScale.y) + provider.viewAttachPoint.forward * (provider.BookOffset.z * provider.viewAttachPoint.localScale.z), time / moveLetterTime); letter.transform.rotation = Quaternion.Lerp(startRot, provider.viewAttachPoint.rotation, time / moveLetterTime); yield return(null); } moveLetterCoroutine = null; }
public void addCollectLetter(LetterController stone) { numSubLetters++; Vector3 newScale = transform.localScale * GameplaySettings.LetterComboScale[numSubLetters - 1]; if (newScale.x <= GameplaySettings.LetterComboMaxScale || newScale.y <= GameplaySettings.LetterComboMaxScale) { //transform.localScale = mTargetScale = newScale; mTargetScale = newScale; } collectLetters = stone; //text.text = ArabicSupport.ArabicFixer.Fix(collectLetters, true, true); //text.text = RTL.Fix(collectLetters); text.text = collectLetters.stone.FixValue; }
private void enableLetter(LevelSection section) { int letters = section.letterPlaceholders.Count; int r = (int)(Time.deltaTime * 100); LetterController selected = section.letterPlaceholders[r % letters]; if (selected == null) { return; } string nextLetter = letterManager.GetNextLetter(); if (nextLetter != null) { selected.SetLetter(nextLetter); } }
public void UpdateWord(List <char> letters) { foreach (Transform child in transform) { Destroy(child.gameObject); } letterControllers.Clear(); float x = Screen.width / 2.0f - (letters.Count * cardWidth + (letters.Count - 1) * CARD_GAP) / 2; float y = Screen.height * 3 / 4.0f; letters.ForEach(letter => { LetterController letterController = LetterController.Create(letterViewPrefab, new Vector3(x, y), transform, letter); x += cardWidth + CARD_GAP; letterControllers.Add(letterController); }); }
private bool TryPartition() { LetterController.ConnectAdjacentLetters(); // Clear partitions if (Paritions == null) Paritions = new List<List<Letter>>(); Paritions.Clear(); // Add first partition with all letters Paritions.Add( WordManager .GetComponentsInChildren<Word>() .SelectMany(w => w.Letters) .Distinct() .ToList()); while (Paritions.Max(p => p.Count) > MaxSize) { // Get random letter from biggest partition List<Letter> biggestPartition = Paritions.OrderByDescending(p => p.Count).First(); Letter letter = GetRandomMember(biggestPartition); // Get connected letters List<Letter> newPartition = new List<Letter>(); GetConnectedLetters(letter, newPartition, Random.Range(MinSize + 1, MaxSize + 1)); // Disconnect newPartition and add to list Disconnect(biggestPartition, newPartition); Paritions.Add(newPartition); // Separate Biggest partition in two -- if possible Separate(biggestPartition); if (Paritions.Min(p => p.Count) < MinSize) return false; } return true; }
public void EatBooster(BoosterController booster, LetterController dragedLetter) { // Debug.Log ("EatBooster " + booster.Model.Type); switch (booster.Model.Type) { case Booster.BoosterType.FireWrongLetter: GameplayController.Instance.DoFireBooster(booster, dragedLetter); break; case Booster.BoosterType.FreezeTime: GameplayController.Instance.DoFreezeBooster(); break; case Booster.BoosterType.LoseSegment: GameplayController.Instance.SegmentLose(); break; case Booster.BoosterType.MagnetLetter: GameplayController.Instance.DoMagnetBooster(booster, dragedLetter); break; case Booster.BoosterType.SlowMovment: GameplayController.Instance.SlowMovmentBooster(booster, dragedLetter); break; case Booster.BoosterType.ShowCallout: GameplayController.Instance.ShowCalloutBooster(booster, dragedLetter); break; case Booster.BoosterType.Shield: GameplayController.Instance.ShieldBooster(booster, dragedLetter); break; case Booster.BoosterType.BonusLetter: //booster.addScorebubble (600); GameplayController.Instance.DoBounsLetterBooster(booster); break; } booster.Eaten(); booster.PlaySound(); }
public void setET(LetterController lc) { EmbeddedTile = lc.gameObject; }
public IEnumerator FocusAllLettersExtra(bool extra) { yield return(FocusToBoundExtra(LetterController.GetLettersBound(), extra)); }
public void Activated(char text, LetterController letter) { AddLetter(text); activatedLetters[currentActivated++] = letter; }
private void Awake() { instance = this; }
private IEnumerator FeedGameLetter(float delay = 0) { if (State == TutorialController.TutorialState.Inactive) { yield return(true); } //yield return new WaitForSeconds (delay); //Jonathan startButton = GameObject.Find("monster"); //PointAt(startButton.transform.position + new Vector3 (0, -40, 0), startButton.transform.parent); // PointAt(new Vector2(0, -140), startButton.transform.parent); PointAt(GameplayController.Instance.getMonsterHandPosition(), startButton.transform.parent); // while (GameplayController.Instance.State != GameplayController.GameState.SegmentIdle) { yield return(null); } //tutorialHandImage.enabled = false; //tutorialHandImage.gameObject.SetActive(false); tutorialHandImage.gameObject.GetComponent <UIPopInOut>().PopOut(); State = TutorialController.TutorialState.InGame; // AudioController.Instance.PlaySound ( Resources.Load("Sounds/Voice/Instructions/feed the monster") as AudioClip ); var lettersOriginal = findCorrectLetters(); letters = new LetterController[lettersOriginal.Length]; Transform curContainer; GameObject tempContainer; yield return(new WaitForSeconds(0.75f)); if (lettersOriginal.Length == 0) { TutorialController.Instance.EndTutorial(); } initialLocation = new Vector3(lettersOriginal [0].transform.position.x, lettersOriginal [0].transform.position.y, lettersOriginal [0].transform.position.z); for (int l = 0; l < lettersOriginal.Length; l++) { curContainer = lettersOriginal [l].transform.parent; tempContainer = (GameObject)Instantiate(curContainer.gameObject, curContainer.position, curContainer.rotation, TutorialController.Instance.PanelTutorial.transform); foreach (Transform child in tempContainer.transform) { letters[l] = child.GetComponent <LetterController> (); child.transform.localScale = new Vector3(1, 1, 1); Image[] images = child.GetComponentsInChildren <Image> (); foreach (Image image in images) { image.enabled = true; } } // letters [l].isTutorial = true; letters [l].gameObject.GetComponent <CanvasGroup> ().alpha = 0.5f; letters [l].gameObject.GetComponent <CanvasGroup> ().blocksRaycasts = false; letters [l].gameObject.GetComponent <CanvasGroup> ().interactable = false; letters [l].ParticlesMergeAccept.SetActive(false); letters [l].ParticlesMergeReject.SetActive(false); letters [l].transform.position = lettersOriginal[l].mTargetPosition; letters [l].enabled = false; } Vector3 startPos, handDest; if (letters.Length != 0) { firstLetter = letters [0]; firstLetter.isTutorial = true; tutorialHandImage.transform.position = firstLetter.transform.position; tutorialHandImage.gameObject.SetActive(true); foreach (Transform child in tutorialHandImage.transform) { child.gameObject.SetActive(true); } for (int letterIndex = 0; letterIndex < letters.Length; letterIndex++) { LetterController letter = letters[letterIndex]; tutorialHandImage.enabled = true; startPos = tutorialHandImage.transform.position; handDest = letter.transform.position; // + new Vector3(0,50,0); for (float t = 0; t <= 1; t += GameplayController.Instance.IsPause ? 0 : Time.deltaTime / 1.5f) { tutorialHandImage.transform.position = Vector3.Lerp(startPos, handDest, t * 1.5f * MovingSpeedMultiplier); if (letter != firstLetter) { letters[letterIndex - 1].transform.position = tutorialHandImage.transform.position; } yield return(null); } if (letterIndex > 0) { letters [letterIndex - 1].gameObject.GetComponent <CanvasGroup> ().alpha = 0; Vector3 newScale = letter.transform.localScale * GameplaySettings.LetterComboScale [letterIndex - 1]; if (newScale.x <= GameplaySettings.LetterComboMaxScale || newScale.y <= GameplaySettings.LetterComboMaxScale) { letter.transform.localScale = newScale; } } tutorialHandImage.transform.position = handDest; startPos = tutorialHandImage.transform.position; yield return(new WaitForSeconds(0.0f)); } //Jonathan if (letters.Length > 1) { Vector3 newScale2 = letters [letters.Length - 2].transform.localScale * GameplaySettings.LetterComboScale [letters.Length]; if (newScale2.x <= GameplaySettings.LetterComboMaxScale || newScale2.y <= GameplaySettings.LetterComboMaxScale) { letters [letters.Length - 1].transform.localScale = newScale2; } } //End Jonathan(?) startPos = tutorialHandImage.transform.position; handDest = firstLetter.getMonsterMouth(); // + new Vector2(0,40); for (float t = 0; t <= 1; t += GameplayController.Instance.IsPause ? 0 : Time.deltaTime / 1.5f) { tutorialHandImage.transform.position = Vector3.Lerp(startPos, handDest, t * MovingSpeedMultiplier); letters[letters.Length - 1].transform.position = tutorialHandImage.transform.position; yield return(null); } tutorialHandImage.transform.position = handDest; yield return(new WaitForSeconds(0.05f)); while (GameplayController.Instance.IsPause) { yield return(null); } //Jonathan //firstLetter.OnEndDrag (null); foreach (Transform child in TutorialController.Instance.PanelTutorial.transform) { foreach (Transform grandchild in child) { if (grandchild.GetComponent <CanvasGroup> () != null) { if (!grandchild.GetComponent <CanvasGroup>().interactable) { Destroy(child.gameObject); } } } } yield return(FeedGameLetter(delay)); tutorialHandImage.transform.position = handDest; //GameplayController.Instance.CollectLettersToMonster (); } //tutorialHandImage.gameObject.SetActive (false); //EndTutorial (); }
void AddScore(LetterController letter) { score += 10 * multiplier; IncreaseCombo(); }
/// <summary> /// Start is called on the frame when a script is enabled just before /// any of the Update methods is called the first time. /// </summary> void Start() { _letterController = GetComponent <LetterController>(); }
void Update() { /* * * if (!_enablePan) * return; */ if (Input.touchCount > 1) { if (_letterDrag) { StartCoroutine(LetterController.LetterUnselected()); _letterDrag = false; return; } } bool startCondition = false, dragCondition = false, endCondition = false; Vector3 pos = Vector3.zero; if (Application.isMobilePlatform) { if (Input.touchCount == 1) { startCondition = Input.touches[0].phase == TouchPhase.Began || (!_letterDrag && !_cameraDrag); dragCondition = Input.touches[0].phase == TouchPhase.Moved; endCondition = Input.touches[0].phase == TouchPhase.Ended; pos = Input.touches[0].position; } else if (Input.touchCount == 2) { endCondition = true; pos = Input.touches[0].position; } } else { startCondition = Input.GetMouseButtonDown(0); dragCondition = Input.GetMouseButton(0); endCondition = Input.GetMouseButtonUp(0); pos = Input.mousePosition; } #region Start Drag letter or Pan if (startCondition) { _lastDragPos = _camera.ScreenToWorldPoint(pos); Collider2D collider = Physics2D.OverlapPoint(_camera.ScreenToWorldPoint(pos), LetterLayerMask); if (collider != null) { if (!_isPlaying) { return; } Letter letter = collider.GetComponent <Letter>(); if (letter != null /*&& !letter.IsLocked*/) { LetterController.LetterSelected(letter); _letterDrag = true; } } else if (_enablePan) { _cameraDrag = true; CameraController.StartPan(); } return; } #endregion #region Letter Draging or Pan if (dragCondition) { Vector3 dragpos = _camera.ScreenToWorldPoint(pos); if (_letterDrag) { LetterController.Move(dragpos - _lastDragPos); } if (_cameraDrag) { CameraController.Pan(); } _lastDragPos = dragpos; } #endregion #region Letter end drag if (endCondition) { if (_letterDrag) { StartCoroutine(LetterController.LetterUnselected()); _letterDrag = false; } if (_cameraDrag) { _cameraDrag = false; } } #endregion }
void Update() { if (GameplayController.Instance.IsPause || GameplayController.Instance.IsPausePopup || (State == LetterState.Inited && MainImage.enabled == false)) { return; } updateParticlesIdle(); Vector2 toPos; switch (State) { case LetterState.Showup: MainImage.color = Color.Lerp(MainImage.color, GameplayController.Instance.CurrentLevel.StoneLetterMainColorDefault, Time.deltaTime * 10); OutlineImage.color = Color.Lerp(OutlineImage.color, GameplayController.Instance.CurrentLevel.StoneLetterMainOutlineColorDefault, Time.deltaTime * 10); text.color = Color.Lerp(text.color, FontColorDefault /*GameplayController.Instance.CurrentLevel.StoneLetterFontColorDefault*/, Time.deltaTime * 10); text.GetComponent <Outline>().effectColor = Color.Lerp(text.GetComponent <Outline>().effectColor, FontOutlineColorDefault /*GameplayController.Instance.CurrentLevel.StoneLetterFontOutlineColorDefault*/, Time.deltaTime * 10); break; case LetterState.Disappear: //MainImage.color = Color.Lerp( MainImage.color , GameplayController.Instance.CurrentLevel.StoneLetterMainColorDefault * new Color (1, 1, 1, 0), Time.deltaTime*10 - .5f); //OutlineImage.color = Color.Lerp( OutlineImage.color , GameplayController.Instance.CurrentLevel.StoneLetterMainOutlineColorDefault* new Color (1, 1, 1, 0), Time.deltaTime*10 - .5f); //text.color = Color.Lerp( text.color , GameplayController.Instance.CurrentLevel.StoneLetterFontColorDefault* new Color (1, 1, 1, 0), Time.deltaTime*10 - .1f); //text.GetComponent<Outline>().effectColor = Color.Lerp( text.GetComponent<Outline>().effectColor , GameplayController.Instance.CurrentLevel.StoneLetterFontOutlineColorDefault* new Color (1, 1, 1, 0), Time.deltaTime*10 - .1f); break; case LetterState.GoingToMonster: toPos = getMonsterMouth(); transform.position = Vector3.MoveTowards(transform.position, toPos, Time.deltaTime * Speed * (Time.time - mTimeFromLaunch)); //transform.localPosition = Vector3.MoveTowards (transform.localPosition, -Vector3.up * 300, Time.deltaTime * Speed * 0.025f - (Time.time - mTimeFromLaunch)); if (Vector3.Distance(transform.position, toPos) < 5f) { EatingMonster.Eat(this); State = LetterState.Eaten; } break; case LetterState.Idle: if (mMagnetLetter != null) { this.mTargetPosition = mMagnetLetter.transform.position; transform.position = Vector3.MoveTowards(transform.position, this.mTargetPosition, 2000 * Time.deltaTime); if (Vector2.Distance(transform.position, mTargetPosition) < 20f) { if ( GameplayController.Instance.CurrentLevel.monsterInputType == MonsterInputType.Letter || GameplayController.Instance.CurrentLevel.monsterInputType == MonsterInputType.LetterName || GameplayController.Instance.CurrentLevel.monsterInputType == MonsterInputType.LetterInWord || GameplayController.Instance.CurrentLevel.monsterInputType == MonsterInputType.SoundLetter || GameplayController.Instance.CurrentLevel.monsterInputType == MonsterInputType.SoundLetterName ) { GameplayController.Instance.margeLetters(this, mMagnetLetter); } else { mMagnetLetter = null; Select(); SetVisible(false); } } } else { if (isMovment) { transform.position = Vector3.MoveTowards(transform.position, this.mTargetPosition, GameplayController.Instance.calcSpeed(mCurrentSpeed * Time.deltaTime)); //transform.localScale = Vector3.MoveTowards (transform.localScale, this.mTargetScale, mCurrentSpeed * Time.deltaTime); if (!isActive && Vector2.Distance(transform.position, mTargetPosition) < 5f) { isActive = true; } else if (stone.spawnIds.Length > 1 && Vector2.Distance(transform.position, mTargetPosition) < 5f) { mCurrentSpawnId++; if (mCurrentSpawnId > stone.spawnIds.Length - 1) { mCurrentSpawnId = 0; isMovment = false; if (stone.loop) { if (stone.delayRepet > 0) { Invoke("onMovementPopOut", stone.delayRepet); } else { onMovementPopOut(); } } } else { GameObject location = GameplayController.Instance.getLocationBySpawnId(stone.spawnIds[mCurrentSpawnId]); mInitPosition = location.transform.position; mTargetPosition = location.transform.position; } } } } break; case LetterState.Tutorial: toPos = getMonsterMouth(); transform.position = Vector3.MoveTowards(transform.position, toPos, Time.deltaTime * Speed * (Time.time - mTimeFromLaunch)); transform.localPosition = Vector3.MoveTowards(transform.localPosition, -Vector3.up * 300, Time.deltaTime * Speed * 0.025f - (Time.time - mTimeFromLaunch)); break; /*case LetterState.Warning: //shaking * if (!this.enabled) return; * * if (shaking || shake_frame != 0) { * * } * transform.position = Vector3.Lerp (transform.position, mTargetPosition, IdleShakeSpeed * Time.deltaTime); * break;*/ } if ((State == LetterState.Warning || shakeFrame != 0)) { if (shakeFrame == 0) { shakeStart = transform.position; shakeDest = State == LetterState.Warning ? new Vector3(shakeStart.x + (Random.value * 2 - 1) / 1, shakeStart.y + (Random.value * 2 - 1f) / 1, transform.position.z) : shakeStart; } shakeFrame++; float t = shakeFrame / 2; transform.position = Vector3.Lerp(shakeStart, shakeDest, t); //this.transform.Rotate(new Vector3(0, 0, shake_frame > 5 ? -1 : 1)); if (shakeFrame == 2) { shakeFrame = 0; } } updateScale(); }
public bool IsGoodNextLetter(LetterController letter, int indexToAdd) { return(IsGoodLetter(letter, requiredLetterIndex + indexToAdd)); }
public bool IsGoodLetter(LetterController letter) { return(IsGoodLetter(letter, requiredLetterIndex)); }
public void Eat(LetterController letter) { if (animController.GetInteger("EatState") != 1) { return; } GameplayController.Instance.SetState(GameplayController.GameState.EatingLetter); mCurrentLetterInMouth = letter; if (letter.GetType() == typeof(BoosterController)) { /* * // added by Tzahi * EatBadBooster (letter as BoosterController); * AudioController.Instance.PlaySound ( SoundWrongAnswer ); * SetMonsterState (MonsterState.Sad); * return; */ EatBooster(letter as BoosterController, null); } else if (IsGoodLetter(letter)) { EatGoodLetter(letter); if (mNeededLettersAnimation != null) { mNeededLettersAnimation.UnMarkFirstLetter(); } } else { EatBadLetter(); AudioController.Instance.PlaySound(SoundWrongAnswer); AudioController.Instance.PlaySound(SoundEat); SetMonsterState(MonsterState.Finished); return; // don't continue eating. We lose everything. } if (mSelectedLettersToCollectQueue.Count > 0) { GameplayController.Instance.SetState(GameplayController.GameState.CollectLetters); SetMonsterState(MonsterState.Eating); //PlayMouthAnimation (MouthOpenSprites); //PlayEyeAnimation (EyeOpenSprites); } else { AudioController.Instance.PlaySound(SoundCorrectAnswers[UnityEngine.Random.Range(0, SoundCorrectAnswers.Length)]); AudioController.Instance.PlaySound(SoundEat); SetMonsterState(MonsterState.EatGood); GameplayController.Instance.SetState(GameplayController.GameState.SegmentIdle); if (GameplayController.Instance.CheckIfSegmentWin(mCurrentLetterInMouth)) { AudioController.Instance.PlaySound(SoundCorrentLetterFinish, .35f); SetMonsterState(MonsterState.Finished); } else { AudioController.Instance.PlaySound(SoundCorrentLetter, .35f); } //PlayMouthAnimation (MouthIdleSprites); //PlayEyeAnimation (EyeIdleSprites); } }
public void magnetToLetter(LetterController magnetLetter) { mTargetPosition = magnetLetter.transform.position; mMagnetLetter = magnetLetter; }