Exemplo n.º 1
0
    // 强引导,完全可以只检测下一个教学的触发条件
    // @return -1表示无触发ID
    public static int DetectNextTeachTrigger()
    {
        int fin_teach_id = CustomPrefs.GetFinishedTeachID();

        int next_idx = -1;

        if (fin_teach_id < 0)
        {
            next_idx = 0;
        }
        else
        {
            next_idx = TeachMgr.Instance.GetNextTeachIdx(fin_teach_id);
        }

        List <int> teach_list = TeachCSV.Instance.teachIDList;

        if (next_idx >= 0 && next_idx < teach_list.Count)
        {
            int id = teach_list[next_idx];
            if (IsTrigger(id))
            {
                return(id);
            }
        }
        return(-1);
    }
Exemplo n.º 2
0
    // 检测所有未完成教学检测是否满足触发条件
    public static int DetectAllTeachTrigger()
    {
        int fin_teach_id = CustomPrefs.GetFinishedTeachID();

        if (fin_teach_id >= 0)
        {
            int idx = TeachMgr.Instance.GetNextTeachIdx(fin_teach_id);

            List <int> teach_list = TeachCSV.Instance.teachIDList;
            for (int i = idx; i < teach_list.Count; ++i)
            {
                int id = teach_list[i];
                if (IsTrigger(id))
                {
                    return(id);
                }
            }
        }
        return(-1);
    }
Exemplo n.º 3
0
    public void Init()
    {
        int fin_id = CustomPrefs.GetFinishedTeachID();

        if (finishedStates.Count == 0)
        {
            List <int> ls = TeachCSV.Instance.teachIDList;
            for (int i = 0; i < ls.Count; ++i)
            {
                int id = ls[i];

                if (id <= fin_id)
                {
                    finishedStates[id] = true;
                }
                else
                {
                    finishedStates[id] = false;
                }
            }
        }
    }