Ejemplo n.º 1
0
        private IEnumerator DialogueCoroutine(LocalizationDataId ID, bool showWalkieTalkie, bool showSubtitles)
        {
            while (IsPlayingAudio())
            {
                yield return(null);
            }
            isPlayingAudio = true;

            yield return(TimeEngine.Wait(0.2f));

            if (showSubtitles)
            {
                widget.DisplaySentence(ID, 2.2f, showWalkieTalkie);
            }

            if (showWalkieTalkie && showSubtitles) // give time for walkietalkie sound
            {
                yield return(TimeEngine.Wait(0.2f));
            }

            audioManager.PlayDialogue(ID, () => OnStopPlaying());

            while (IsPlayingAudio())
            {
                yield return(null);
            }

            if (showSubtitles)
            {
                widget.Clear();
            }

            yield return(TimeEngine.Wait(0.2f));
        }
        public static LocalizationData GetPhraseCategoryData(PhraseDataCategory cat)
        {
            LocalizationDataId loc = LocalizationDataId.UI_None;

            switch (cat)
            {
            case PhraseDataCategory.Question:
                loc = LocalizationDataId.UI_Phrases_Questions;
                break;

            case PhraseDataCategory.Reply:
                loc = LocalizationDataId.UI_Phrases_Replies;
                break;

            case PhraseDataCategory.Greetings:
                loc = LocalizationDataId.UI_Phrases_Greetings;
                break;

            case PhraseDataCategory.Year:
                loc = LocalizationDataId.UI_Phrases_Years;
                break;

            case PhraseDataCategory.Sentence:
                loc = LocalizationDataId.UI_Phrases_Sentences;
                break;

            case PhraseDataCategory.Expression:
                loc = LocalizationDataId.UI_Phrases_Expressions;
                break;
            }
            return(GetLocalizationData(loc));
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Mood selected. [1,5]
        /// </summary>
        /// <param name="_mood"></param>
        public void MoodSelected(int _mood)
        {
            if (selectedAlready)
            {
                return;
            }
            selectedAlready = true;

            LogManager.I.LogMood(_mood);
            AudioManager.I.PlaySound(Sfx.UIButtonClick);

            LocalizationDataId locID = LocalizationDataId.Mood_Answer_SoSo;

            switch (_mood)
            {
            case 1: locID = LocalizationDataId.Mood_Answer_VerySad; break;

            case 2: locID = LocalizationDataId.Mood_Answer_Sad; break;

            case 3: locID = LocalizationDataId.Mood_Answer_SoSo; break;

            case 4: locID = LocalizationDataId.Mood_Answer_Happy; break;

            case 5: locID = LocalizationDataId.Mood_Answer_VeryHappy; break;
            }
            KeeperManager.I.PlayDialogue(locID, _callback: exitScene);
        }
Ejemplo n.º 4
0
 public AssessmentAudioManager(IAudioManager audioManager,
                               ISubtitlesWidget widget,
                               LocalizationDataId gameDescription)
 {
     this.audioManager    = audioManager;
     this.widget          = widget;
     this.gameDescription = gameDescription;
 }
Ejemplo n.º 5
0
        void Complete()
        {
            if (outcomeStarted)
            {
                return;
            }

            outcomeStarted = true;

            int starsScore = game.StarsScore;

            if (starsScore > 3)
            {
                starsScore = 3;
            }

            game.Context.GetStarsWidget().Show(starsScore);

            LocalizationDataId locID = LocalizationDataId.Keeper_Result_0_Bones;

            switch (starsScore)
            {
            case 0:
                locID = LocalizationDataId.Keeper_Result_0_Bones;
                break;

            case 1:
                locID = new[]
                {
                    LocalizationDataId.Keeper_Result_1_Bones_1,
                    LocalizationDataId.Keeper_Result_1_Bones_2,
                    LocalizationDataId.Keeper_Result_1_Bones_3
                }.GetRandom();
                break;

            case 2:
                locID = new[]
                {
                    LocalizationDataId.Keeper_Result_2_Bones_1,
                    LocalizationDataId.Keeper_Result_2_Bones_2,
                    LocalizationDataId.Keeper_Result_2_Bones_3
                }.GetRandom();
                break;

            case 3:
                locID = new[]
                {
                    LocalizationDataId.Keeper_Result_3_Bones_1,
                    LocalizationDataId.Keeper_Result_3_Bones_2,
                    LocalizationDataId.Keeper_Result_3_Bones_3
                }.GetRandom();
                break;
            }

            game.Context.GetAudioManager().PlayDialogue(locID);

            game.Context.GetOverlayWidget().Initialize(false, false, false);
        }
Ejemplo n.º 6
0
        private IEnumerator PlayDialog_Coroutine(LocalizationDataId dialog)
        {
            while (MakeFriendsGame.Instance.SpokenWords < 2)
            {
                yield return(null);
            }

            AudioManager.PlayDialogue(dialog);
        }
Ejemplo n.º 7
0
        public void Show(LocalizationDataId locId)
        {
            gameObject.SetActive(true);
            stepTween?.Kill();
            GetComponent <RectTransform>().anchoredPosition.SetY(-1000);
            stepTween = GetComponent <RectTransform>().DOAnchorPosY(-230, 1f).SetEase(Ease.OutBack).SetDelay(2f).Play();

            nativeMessage.SetText(LocalizationManager.GetNative(locId));
            learningMessage.SetText(LocalizationManager.GetHelp(locId));
        }
Ejemplo n.º 8
0
        private void PlayRandomAssessmentDialog()
        {
            var data = new LocalizationDataId[3];

            data[0] = LocalizationDataId.Assessment_Start_1;
            data[1] = LocalizationDataId.Assessment_Start_2;
            data[2] = LocalizationDataId.Assessment_Start_3;
            var n = Random.Range(0, data.Length);

            KeeperManager.I.PlayDialogue(data[n], true, true);
        }
Ejemplo n.º 9
0
        public void ShowSentenceAndWord(Action callback, LocalizationDataId SentenceId, LL_WordData wordData)
        {
            ResetContents();

            currentCallback = callback;
            ButtonGO.gameObject.SetActive(callback != null);

            TitleGO.GetComponent <TextRender>().SetSentence(SentenceId);

            //AudioManager.I.PlayDialog(SentenceId);

            SetWord(wordData.DrawingCharForLivingLetter, wordData);

            Show(true);
        }
Ejemplo n.º 10
0
        public void ShowSentence(Action callback, LocalizationDataId SentenceId)
        {
            ResetContents();

            currentCallback = callback;
            ButtonGO.gameObject.SetActive(callback != null);

            LocalizationData row = LocalizationManager.GetLocalizationData(SentenceId);

            TitleGO.GetComponent <TextRender>().SetText(row.LearningText, LanguageUse.Learning);

            KeeperManager.I.PlayDialogue(SentenceId);

            Show(true);
        }
Ejemplo n.º 11
0
        public void ShowSentence(Action callback, LocalizationDataId SentenceId)
        {
            ResetContents();

            currentCallback = callback;
            ButtonGO.gameObject.SetActive(callback != null);

            LocalizationData row = LocalizationManager.GetLocalizationData(SentenceId);

            TitleGO.GetComponent <TextRender>().isArabic = true;
            TitleGO.GetComponent <TextRender>().text     = row.Arabic;

            AudioManager.I.PlayDialogue(SentenceId);

            Show(true);
        }
Ejemplo n.º 12
0
        public void ShowSentence(Action callback, LocalizationDataId sentenceId, Sprite image2show)
        {
            ResetContents();

            currentCallback = callback;
            ButtonGO.gameObject.SetActive(callback != null);

            if (image2show != null)
            {
                TutorialImageGO.GetComponent <Image>().sprite = image2show;
                TutorialImageGO.SetActive(true);
            }

            TitleGO.GetComponent <TextRender>().SetText(LocalizationManager.GetLearning(sentenceId), LanguageUse.Learning);
            KeeperManager.I.PlayDialogue(sentenceId);

            Show(true);
        }
Ejemplo n.º 13
0
        private void OnTriggerEnter(Collider other)
        {
            var isAtMaxJourneyPosition = AppManager.I.Player.IsAtMaxJourneyPosition();

            if (other.gameObject.CompareTag("Player") && isAtMaxJourneyPosition &&
                stageNumber > 1 &&
                AppManager.I.Player.MaxJourneyPosition.LearningBlock == 1 &&
                AppManager.I.Player.MaxJourneyPosition.PlaySession == 1 &&
                !dialoguePlayed)
            {
                var data = new LocalizationDataId[7];
                data[2] = LocalizationDataId.Map_Intro_Map2;
                data[3] = LocalizationDataId.Map_Intro_Map3;
                data[4] = LocalizationDataId.Map_Intro_Map4;
                data[5] = LocalizationDataId.Map_Intro_Map5;
                data[6] = LocalizationDataId.Map_Intro_Map6;
                KeeperManager.I.PlayDialog(data[stageNumber], true, true);
                dialoguePlayed = true;
            }
        }
Ejemplo n.º 14
0
        public void ShowSentence(Action callback, LocalizationDataId sentenceId, Sprite image2show)
        {
            ResetContents();

            currentCallback = callback;
            ButtonGO.gameObject.SetActive(callback != null);

            if (image2show != null)
            {
                TutorialImageGO.GetComponent <Image>().sprite = image2show;
                TutorialImageGO.SetActive(true);
            }

            TitleGO.GetComponent <TextRender>().isArabic = true;
            TitleGO.GetComponent <TextRender>().text     = LocalizationManager.GetTranslation(sentenceId);

            AudioManager.I.PlayDialogue(sentenceId);

            Show(true);
        }
Ejemplo n.º 15
0
        private bool CheckNewUnlockPhaseAt(FirstContactPhase phase, LocalizationDataId localizationDataId)
        {
            UnlockPhaseIfReachedJourneyPosition(phase);

            bool isPhaseToBeCompleted = IsPhaseToBeCompleted(phase);

            if (isPhaseToBeCompleted)
            {
                KeeperManager.I.PlayDialogue(localizationDataId, true, true, () =>
                {
                    _stageMapsManager.SetUIActivationByContactPhase(phase, true);
                    StartCoroutine(TutorialHintClickCO(_stageMapsManager.GetGameObjectByContactPhase(phase).transform, _stageMapsManager.UICamera));
                });
                return(true);
            }
            else if (IsPhaseUnlocked(phase))
            {
                _stageMapsManager.SetUIActivationByContactPhase(phase, true);
            }
            return(false);
        }
Ejemplo n.º 16
0
        /// <summary>
        /// Now dialougues are just ignored if there's already some audio playing.
        /// </summary>
        /// <param name="ID"> Statement to play/display</param>
        private IEnumerator DialogueCoroutine(LocalizationDataId ID, bool showWalkieTalkie, bool showSubtitles)
        {
            yield return(Wait.For(0.2f));

            var  audioTicket = ticket.LockHighPriority();
            bool playing     = false;

            if (ticket.IsHighPriorityTicketValid(audioTicket))
            {
                // Can Play Audio
                playing = true;

                if (showSubtitles)
                {
                    widget.DisplaySentence(ID, 2.2f, showWalkieTalkie);
                }

                if (showWalkieTalkie && showSubtitles)   // give time for walkietalkie sound
                {
                    yield return(Wait.For(0.2f));
                }

                audioManager.PlayDialogue(ID, () => { playing = false; });

                while (playing)
                {
                    yield return(null);
                }

                if (showSubtitles)
                {
                    widget.Clear();
                }

                yield return(Wait.For(0.2f));
            }

            ticket.UnlockHighPriorityTicket(audioTicket);
        }
Ejemplo n.º 17
0
        public void ShowSentenceWithMark(Action callback, LocalizationDataId sentenceId, bool result, Sprite image2show)
        {
            ResetContents();

            currentCallback = callback;
            ButtonGO.gameObject.SetActive(callback != null);

            MarkOK.SetActive(result);
            MarkKO.SetActive(!result);

            if (image2show != null)
            {
                TutorialImageGO.GetComponent <Image>().sprite = image2show;
                TutorialImageGO.SetActive(true);
            }

            TitleGO.GetComponent <TextRender>().SetSentence(sentenceId);

            AudioManager.I.PlayDialogue(sentenceId);

            Show(true);
        }
Ejemplo n.º 18
0
 public static LocalizationData GetLocalizationData(LocalizationDataId id)
 {
     return(AppManager.I.DB.GetLocalizationDataById(id.ToString()));
 }
Ejemplo n.º 19
0
 public static string GetHelp(LocalizationDataId id)
 {
     return(GetLocalizationData(id).HelpText);
 }
Ejemplo n.º 20
0
 public static string GetLearning(LocalizationDataId id)
 {
     return(GetLocalizationData(id).GetLearningText(CurrentPlayerGender));
 }
Ejemplo n.º 21
0
 public static string GetNative(LocalizationDataId id)
 {
     return(GetLocalizationData(id).GetNativeText());
 }
Ejemplo n.º 22
0
 public void SetTitleSentence(LocalizationDataId SentenceId)
 {
     TitleGO.GetComponent <TextRender>().SetSentence(SentenceId);
 }
Ejemplo n.º 23
0
 public void SetMessage(LocalizationDataId SentenceId)
 {
     MessageTextGO.GetComponent <TextRender>().SetSentence(SentenceId);
 }
Ejemplo n.º 24
0
 public void PlayDialogue(LocalizationDataId id, bool isKeeper = true, bool autoClose = true, Action _callback = null, KeeperMode keeperMode = KeeperMode.Default)
 {
     PlayDialogue(LocalizationManager.GetLocalizationData(id), isKeeper, autoClose, _callback, keeperMode);
 }
Ejemplo n.º 25
0
 public void PlayDialogue(LocalizationDataId id, KeeperMode keeperMode)
 {
     PlayDialogue(LocalizationManager.GetLocalizationData(id), true, true, null, keeperMode);
 }
Ejemplo n.º 26
0
 public IAudioSource PlayDialogue(LocalizationDataId id, System.Action callback, bool clearPreviousCallback = false)
 {
     return(PlayDialogue(LocalizationManager.GetLocalizationData(id), callback, clearPreviousCallback));
 }
Ejemplo n.º 27
0
        /// <summary>
        /// Activate view elements if SentenceId != "" and display sentence.
        /// </summary>
        public void DisplayDialogue(LocalizationDataId _sentenceId, float fillPeriod = 2, bool _isKeeper = false, Action _callback = null)
        {
            var data = LocalizationManager.GetLocalizationData(_sentenceId);

            DisplayDialogue(data, fillPeriod, _isKeeper, _callback);
        }
Ejemplo n.º 28
0
        public static LocalizationData GetWordCategoryData(WordDataCategory cat)
        {
            LocalizationDataId locId = (LocalizationDataId)Enum.Parse(typeof(LocalizationDataId), $"UI_WordCat_{cat}");

            return(GetLocalizationData(locId));
        }
Ejemplo n.º 29
0
        public static LocalizationData GetPhraseCategoryData(PhraseDataCategory cat)
        {
            LocalizationDataId locId = (LocalizationDataId)Enum.Parse(typeof(LocalizationDataId), $"UI_Phrases_{cat}");

            return(GetLocalizationData(locId));
        }
Ejemplo n.º 30
0
 public IAudioSource PlayDialogue(LocalizationDataId id)
 {
     return(PlayDialogue(LocalizationManager.GetLocalizationData(id)));
 }