コード例 #1
0
    private void ParseTeachStep()
    {
        _teachStepDic = new Dictionary <int, TeachStepParser>();
        TableHandler handler = TableHandler.OpenFromResmap("TeachStep");

        for (int i = 0; i < handler.GetRecordsNum() - 1; i++)
        {
            int             key  = int.Parse(handler.GetValue(i, 0));
            TeachStepParser info = new TeachStepParser()
            {
                sn     = int.Parse(handler.GetValue(i, 0)),
                syncSn = int.Parse(handler.GetValue(i, 1)),
            };
        }
    }
コード例 #2
0
    //同步数据到服务器
    public void SycnServer(int structSn, int stepSn)
    {
        if (_finishDic.ContainsKey(structSn))
        {
            return;                                   //教程已经完成了,不需要同步到服务器
        }
        TeachStepParser stepParser = Data.Inst.TeachStep(stepSn);

        if (stepParser.syncSn == SYCN_FINISH)  //本地记录下已完成
        {
            _finishDic.Add(structSn, true);
        }
        else if (stepParser.syncSn == SYCN_NOT) //不需要同步给服务器
        {
            return;
        }
        //同步服务器
//        SendMsg(structSn, stepSn);
    }
コード例 #3
0
    /// <summary>
    /// 教程管理器初始化接口,游戏启动的第一步。从服务器获取到教程相关数据。
    /// 服务器需要记录的数据:哪些类别的教程已经完成、正在进行中的教程,处理到哪一步
    /// </summary>
    public void InitData()
    {
        //---------模拟服务器数据 开始-----------
        //服务器需要下发每个struct的sn,同时需要发送该Struct记录的StepSn
        List <ServerData> serList = new List <ServerData>()
        {
            new ServerData(10001, 1000102)
        };

        //---------模拟服务器数据 结束-----------

        //开始数据解析
        for (int i = 0; i < serList.Count; i++)
        {
            ServerData      serverData = serList[i];
            TeachStepParser stepParser = Data.Inst.TeachStep(serverData.stepSn);
            if (stepParser.syncSn == SYCN_FINISH) // 教程已经完成
            {
                _finishDic.Add(serverData.structSn, true);
            }
            else //有正在进行中的教程
            {
                if (isTeaching)
                {
                    Debug.LogError("<TeachMgr> 已经有进行中的教程,数据错误,请检查!");
                    return;
                }
                isTeaching    = true;
                _structParser = Data.Inst.TeachStruct(serverData.structSn);
                for (int j = 0; j < _structParser.steps.Length; j++)
                {
                    if (_structParser.steps[j] == serverData.stepSn)
                    {
                        _stepNum = j;
                        break;
                    }
                }
            }
        }
    }