Exemple #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);//注册场景
            }
        }
    }
Exemple #2
0
 public AvatarActInfo(ITabReader reader, int row)
 {
     ID        = reader.GetI16(IID, row);
     ActMB     = reader.GetS(IActMB, row);
     ActID     = reader.GetI16(IActID, row);
     LeftRight = reader.GetF(ILeftRight, row);
     UpDown    = reader.GetF(IUpDown, row);
     Scale     = reader.GetF(IScale, row);
 }
Exemple #3
0
 internal static void FillFieldIndex(ITabReader reader)
 {
     IID        = reader.ColumnName2Index("ID");
     IActMB     = reader.ColumnName2Index("ActMB");
     IActID     = reader.ColumnName2Index("ActID");
     IScale     = reader.ColumnName2Index("Scale");
     IUpDown    = reader.ColumnName2Index("UpDown");
     ILeftRight = reader.ColumnName2Index("LeftRight");
 }
Exemple #4
0
 public AudioInfo(ITabReader reader, int row)
 {
     ID         = reader.GetI32(IID, row);
     Sound      = reader.GetS(ISound, row);
     _2Dor3D    = reader.GetI16(I2Dor3D, row);
     SoundStart = (float)reader.GetI16(ISoundStart, row) / 1000f;
     AnimMode   = (AudioAnimMode)reader.GetI16(IAnimMode, row);
     LiveTime   = (float)reader.GetI16(ILiveTime, row) / 1000f;
 }
Exemple #5
0
 internal static void FillFieldIndex(ITabReader reader)
 {
     IID         = reader.ColumnName2Index("ID");
     ISound      = reader.ColumnName2Index("Sound");
     I2Dor3D     = reader.ColumnName2Index("2Dor3D");
     ISoundStart = reader.ColumnName2Index("SoundStart");
     IAnimMode   = reader.ColumnName2Index("AnimMode");
     ILiveTime   = reader.ColumnName2Index("LiveTime");
 }
Exemple #6
0
    public SenceDefineInfo(ITabReader reader, int row)
    {
        ID = reader.GetI16(IID, row);
        string pack_str = reader.GetS(IdependPacks, row);

        pack_str = pack_str.Trim();
        if (string.IsNullOrEmpty(pack_str))
        {
            DependPacks = new string[0];
        }
        else
        {
            DependPacks = pack_str.Split(';');
        }
    }
Exemple #7
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);
            }
        }
    }
Exemple #8
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));
                }
            }
        }
    }
Exemple #9
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));
                }
            }
        }
    }
Exemple #10
0
 internal static void FillFieldIndex(ITabReader reader)
 {
     IdependPacks = reader.ColumnName2Index("dependPacks");
     IID          = reader.ColumnName2Index("ID");
 }