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);//注册场景 } } }
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); } } }
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)); } } } }
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)); } } } }