예제 #1
0
    public SData_SenceDefine()
    {
        using (ITabReader reader = TabReaderManage.Single.CreateInstance())
        {
            MonoEX.Debug.Logout(MonoEX.LOG_TYPE.LT_INFO, "开始装载 SenceDefine");

            reader.Load("bsv", "SenceDefine");
            SenceDefineInfo.FillFieldIndex(reader);

            int rowCount = reader.GetRowCount();
            //TODODO
            rowCount = 1;
            for (int row = 0; row < rowCount; row++)
            {
                SenceDefineInfo currInfo = new SenceDefineInfo(reader, row);

                string[] depend = new string[currInfo.DependPacks.Length + 1];
                int      idx    = 0;
                Array.ForEach(currInfo.DependPacks, (i) => depend[idx++] = i);
                depend[idx] = SceneID2LevelName(currInfo.ID);

                SceneManage.Single.RegScene(SceneID2LevelName(currInfo.ID), depend);//注册场景
            }
        }
    }
예제 #2
0
    public SData_AvatarAct()
    {
        Single = this;

        MonoEX.Debug.Logout(MonoEX.LOG_TYPE.LT_INFO, "开始装载 AvatarAct");

        using (ITabReader reader = TabReaderManage.Single.CreateInstance())
        {
            reader.Load("bsv", "AvatarAct");
            AvatarActInfo.FillFieldIndex(reader);

            int rowCount = reader.GetRowCount();
            for (int row = 0; row < rowCount; row++)
            {
                AvatarActInfo sa = new AvatarActInfo(reader, row);
                Data.Add(sa.ID, sa);
            }
        }
    }
예제 #3
0
    public SData_Audio()
    {
        using (ITabReader reader = TabReaderManage.Single.CreateInstance())
        {
            MonoEX.Debug.Logout(MonoEX.LOG_TYPE.LT_INFO, "开始装载 Audio");
            reader.Load("bsv", "Audio");
            AudioInfo.FillFieldIndex(reader);

            int rowCount = reader.GetRowCount();
            for (int row = 0; row < rowCount; row++)
            {
                AudioInfo sa = new AudioInfo(reader, row);
                try
                {
                    Data.Add(sa.ID, sa);
                }
                catch (Exception)
                {
                    MonoEX.Debug.Logout(MonoEX.LOG_TYPE.LT_ERROR, string.Format("Audio重复的ID: {0}", sa.ID));
                }
            }
        }
    }
예제 #4
0
    void  InitSchemes()
    {
        using (ITabReader reader = TabReaderManage.Single.CreateInstance())
        {
            reader.Load("bsv", "DirectionGuideScheme");
            short IAngle   = reader.ColumnName2Index("Angle");
            short IEqual   = reader.ColumnName2Index("Equal");
            short IGreater = reader.ColumnName2Index("Greater");
            short ILess    = reader.ColumnName2Index("Less");
            short IType    = reader.ColumnName2Index("Type");

            int rowCount = reader.GetRowCount();
            for (int row = 0; row < rowCount; row++)
            {
                short angle   = reader.GetI16(IAngle, row);
                short type    = reader.GetI16(IType, row);
                var   equal   = reader.GetS(IEqual, row).Split(';');
                var   greater = reader.GetS(IGreater, row).Split(';');
                var   less    = reader.GetS(ILess, row).Split(';');

                DirectionGuideSchemeType dType;
                switch (type)
                {
                case 11:    //刀兵
                    dType = DirectionGuideSchemeType.Daobing;
                    break;

                case 12:    //枪兵
                    dType = DirectionGuideSchemeType.Qiangbing;
                    break;

                case 13:    //骑兵
                    dType = DirectionGuideSchemeType.Qibing;
                    break;

                case 14:    //弓兵
                    dType = DirectionGuideSchemeType.Gongbing;
                    break;

                case 22:    //猛将
                    dType = DirectionGuideSchemeType.MengJiang;
                    break;

                case 23:    //勇将
                    dType = DirectionGuideSchemeType.YongJiang;
                    break;

                default:    //弓将
                    dType = DirectionGuideSchemeType.GongJiang;
                    break;
                }

                if (Schemes[(int)dType] == null)
                {
                    Schemes[(int)dType] = new DirectionGuideScheme();
                }
                DirectionGuideScheme newScheme = Schemes[(int)dType];

                DirectionGuide n = new DirectionGuide();
                n.radian        = angle * Utils.AngleToPi;
                n.GuideGrids_eq = To(equal);
                n.GuideGrids_gt = To(greater);
                n.GuideGrids_ls = To(less);
                newScheme.Guides[angle / 30] = n;
            }
        }

        //检查导航方案的完整性
        for (int i = 0; i < Schemes.Length; i++)
        {
            var scheme = Schemes[i];
            if (scheme == null)
            {
                MonoEX.Debug.Logout(MonoEX.LOG_TYPE.LT_ERROR, string.Format("缺少导航方案 {0}", i));
            }

            for (int i2 = 0; i2 < scheme.Guides.Length; i2++)
            {
                if (scheme.Guides[i2] == null)
                {
                    MonoEX.Debug.Logout(MonoEX.LOG_TYPE.LT_ERROR, string.Format("缺少导航方向 {0}.{1}", i, i2 * 30));
                }
            }
        }
    }