Beispiel #1
0
    public void ClickHint(bool isFree)
    {
        PictureLetter pic = select.Find(x => x.isShowing == false);

        if (pic != null)
        {
            List <int> notShowIndex = new List <int> ();
            if (!isFree)
            {
                CurrencyController.DebitBalance(Const.HINT_COST);
            }
            for (int i = 0; i < select.Count; i++)
            {
                if (select[i].isShowing == false)
                {
                    notShowIndex.Add(i);
                }
            }
            //随机出现hint的提示
            int index = Random.Range(0, notShowIndex.Count);
            select[notShowIndex[index]].Show(true);
            PictureLetter picletter = letterGroup.Find(x => x.letter.text == select[notShowIndex[index]].rightLetter);
            if (picletter != null)
            {
                answerDic[notShowIndex[index]] = picletter;
                picletter.Hide();
            }
            CheckGameComplete();
        }
    }
Beispiel #2
0
    public void SetAnswerCellText(string text, PictureLetter letter)
    {
        for (int i = 0; i < select.Count; i++)
        {
            if (select[i].isShowing == false)
            {
                select[i].Back(text);
                answerDic[i] = letter;
                letter.Hide();
                break;
            }
        }

        CheckGameComplete();
    }
Beispiel #3
0
    public void CheckGameComplete()
    {
        SaveProcess();
        PictureLetter pic = select.Find(x => x.isShowing == false);

        if (pic == null)
        {
            PictureLetter notRight = select.Find(x => x.rightLetter != x.letter.text);
            if (notRight == null)
            {
                hint.HintData();
                for (int j = 0; j < select.Count; j++)
                {
                    select[j].ShowColorChange(new Color(115f / 255f, 251f / 255f, 205f / 255f), false);
                }
                //处理数据
                GameState.pictureLevel++;
                PlayerDataManager.Instance.playerData.pictureLevelID = GameState.pictureLevel;
                TextManager.Instance.DeleteFile("PictureProgress.json");
                PlayerDataManager.Instance.playerData.isPictureFinish = true;
                PlayerDataManager.Instance.playerData.pictureCount++;
                PlayerDataManager.Instance.JudeReachAchieve(11, PlayerDataManager.Instance.playerData.pictureCount);

                Timer.Schedule(this, 2, () => {
                    DialogController.instance.ShowDialog(DialogType.DailyWin);
                });
            }
            else
            {
                for (int j = 0; j < select.Count; j++)
                {
                    select[j].ShowColorChange(Color.red);
                }
            }
        }
    }