Example #1
0
    /// <summary>
    /// 等待一段时间后执行无参函数
    /// </summary>
    /// <param name="waitTime">等待的时间</param>
    /// <param name="w">需要执行的无参函数</param>
    /// <returns></returns>
    IEnumerator WaitAndToDoSth(float waitTime, JustDo w)
    {
        yield return(new WaitForSeconds(waitTime));

        w();
    }
Example #2
0
    /// <summary>
    /// 开始一个音节拼写单元
    /// </summary>
    /// <param name="times">回合数</param>
    void StartBoom(int times)
    {
        // 立即删除所有气泡
        JustDo DeleteAll = () =>
        {
            foreach (var item in boom)
            {
                if (item)
                {
                    DestroyImmediate(item);
                }
            }
            boom.Clear();
        };

        // 如果单词拼对了
        if (times >= pernouncationList.Count)
        {
            PlayerScore += 10;
            PlayerWin    = true;
            StopCoroutine(MonsterScoreUpV);
            Debug.Log("结束了!");
            turn++;
            StartCoroutine(WaitAndToDoSth(waitTime, DeleteAll));
            StartCoroutine(WaitAndToDoSth(waitTime + emptyWaitTime, StartTurn));

            return;
        }
        DeleteAll();

        //初始化错误列表
        GetWrongList(0);
        int numid = Random.Range(0, PosNum);

        for (int i = 0; i < PosNum; i++)
        {
            // 实例化气泡
            GameObject bom = Instantiate(boomPer, posData[i], qua, canvas.transform);
            Text       t   = bom.GetComponentInChildren <Text>();

            // 注册点击事件
            EventTrigger evt   = bom.GetComponent <EventTrigger>();
            var          trigs = new EventTrigger.Entry
            {
                eventID = EventTriggerType.PointerClick
            };
            trigs.callback.AddListener((data) => { OnClickBoom((PointerEventData)data, times); });
            evt.triggers.Add(trigs);

            // 显示气泡上的文字
            boom.Add(bom);
            if (i == numid)
            {
                t.text = pernouncationList[times];
            }
            else
            {
                t.text = wrongs[times][i];
            }
        }
    }