예제 #1
0
    public void SetData(ILivingLetterData data)
    {
        string text = data.TextForLivingLetter;

        var splitText = text.Split(' ');

        for (int i = 0; i < splitText.Length - 1; ++i)
        {
            splitText[i] = splitText[i] + " ";
        }

        currentBarWords = SetData(splitText, null, true);
        currentBarSong  = null;

        //SetActiveBar(bars[0]);
    }
        protected override void OnInitialize(IGameContext context)
        {
            InitialState  = new ReadingGameInitialState(this);
            QuestionState = new ReadingGameQuestionState(this);
            ReadState     = new ReadingGameReadState(this);
            AnswerState   = new ReadingGameAnswerState(this);

            if (ReadingGameConfiguration.Instance.Variation == ReadingGameVariation.AlphabetSong)
            {
                ISongParser parser = new AkrSongParser();

                using (MemoryStream stream = new MemoryStream(Encoding.UTF8.GetBytes(alphabetSongSrt.text)))
                {
                    alphabetSong = new KaraokeSong(parser.Parse(stream));
                }
            }

            radialWidget.Hide();
        }
예제 #3
0
    public void SetData(KaraokeSong data)
    {
        var karaokeLines = data.lines;

        string[] words      = new string[karaokeLines.Count];
        bool[]   lineBreaks = new bool[karaokeLines.Count];

        for (int i = 0; i < karaokeLines.Count; ++i)
        {
            words[i]      = ArabicAlphabetHelper.PrepareArabicStringForDisplay(karaokeLines[i].text, true);
            lineBreaks[i] = karaokeLines[i].starsWithLineBreak;
        }

        currentBarWords = SetData(words, lineBreaks, false);
        currentBarSong  = data;

        for (int i = 0; i < bars.Count; ++i)
        {
            bars[i].currentTarget = 0;
        }
    }