protected override void ParseData(SqliteDataReader reader) { if (reader == null || !reader.HasRows) { return; } BulletInfo kInfo; while (reader.Read()) { kInfo = new BulletInfo(); kInfo.ID = DBTextResource.ParseUI(GetReaderString(reader, "type_idx")); kInfo.BulletType = (BulletTypes)DBTextResource.ParseUI_s(GetReaderString(reader, "bullet_type"), 0); kInfo.FlySpeed = (float)DBTextResource.ParseI(GetReaderString(reader, "speed")) * 0.01f; kInfo.FlyMaxTime = (float)DBTextResource.ParseI(GetReaderString(reader, "max_time")) * 0.001f; kInfo.OffsetX = DBTextResource.ParseI(GetReaderString(reader, "offset_x")) * 0.01f; kInfo.OffsetY = DBTextResource.ParseI(GetReaderString(reader, "offset_y")) * 0.01f; string effect_file = GetReaderString(reader, "effect_file"); if (!string.IsNullOrEmpty(effect_file)) { kInfo.AttackEffect = effect_file + ".prefab"; } string sound_file = GetReaderString(reader, "sound_file").Trim(); if (!string.IsNullOrEmpty(sound_file)) { kInfo.AttackSound = sound_file + ".mp3"; } /*string under_attack_effect = GetReaderString(reader,"under_attack_effect"); * if (under_attack_effect != string.Empty) * under_attack_effect = under_attack_effect + ".prefab"; * string under_attack_sound = GetReaderString(reader,"under_attack_sound"); * if (under_attack_sound != string.Empty) * under_attack_sound = string.Format("{{0}.mp3", under_attack_sound); * * if (!string.IsNullOrEmpty(under_attack_effect) || !string.IsNullOrEmpty(under_attack_sound)) * { * kInfo.BeattackEffectData = new AnimationEffect.ResInitData(); * kInfo.BeattackEffectData.Prefab = under_attack_effect; * kInfo.BeattackEffectData.Audio = under_attack_sound; * kInfo.BeattackEffectData.EndTime = (float)DBTextResource.ParseF_s(GetReaderString(reader,"under_attack_lifetime"), 0) * 0.001f; * kInfo.BeattackEffectData.InWorld = true; * }*/ mBulletInfos.Add(kInfo.ID, kInfo); } }
protected override void ParseData(SqliteDataReader reader) { if (reader == null || !reader.HasRows) { return; } DamageEffectInfo effectInfo; while (reader.Read()) { effectInfo = new DamageEffectInfo(); effectInfo.ID = DBTextResource.ParseUI(GetReaderString(reader, "type_idx")); effectInfo.Target = (EffectTarget)DBTextResource.ParseUI(GetReaderString(reader, "target")); effectInfo.IsCombineValue = DBTextResource.ParseUI_s(GetReaderString(reader, "combine_value"), 0) == 1; mDamageEffectInfos.Add(effectInfo.ID, effectInfo); } }
/// <summary> /// 饰品当前激活套装的属性 /// </summary> /// <returns></returns> public static List <List <uint> > GetDecorateSuitAttrList() { var ret = new List <List <uint> >(); if (LuaScriptMgr.Instance != null) { object[] param = { }; System.Type[] return_type = { typeof(List <string>) }; object[] objs = LuaScriptMgr.Instance.CallLuaFunction_return(LuaScriptMgr.Instance.Lua.Global, "DecorateWearManager_GetAttrList", param, return_type); if (objs != null && objs.Length > 0) { if (objs[0] != null) { List <string> attrList = (List <string>)objs[0]; foreach (var strAttr in attrList) { string[] arrSplite = strAttr.Split('_'); if (arrSplite.Length >= 2) { uint attrId = DBTextResource.ParseUI(arrSplite[0]); uint value = DBTextResource.ParseUI(arrSplite[1]); if (attrId > 0 && value > 0) { var data = new List <uint>(); data.Add(attrId); data.Add(value); ret.Add(data); } } } } } } return(ret); }
/// <summary> /// 获取法宝装备强化属性 /// </summary> public static ActorAttribute GetStrengthAttr(uint strengthLv, GoodsMagicEquip equip) { ActorAttribute ret = new ActorAttribute(); uint lv = strengthLv; if (lv > equip.MaxStrengthLv) { lv = equip.MaxStrengthLv; } string key = string.Format("{0}_{1}", (uint)equip.PosId, lv); List <string> rec = DBManager.Instance.QuerySqliteField <string>(GlobalConfig.DBFile, "data_magic_goods_str", "csv_id", key, "str_attrs"); if (rec.Count == 0) { return(ret); } string raw = rec[0]; raw = raw.Replace(" ", ""); var matchs = Regex.Matches(raw, @"\{(\d+),(\d+)\}"); foreach (Match _match in matchs) { if (_match.Success) { uint attrId = (DBTextResource.ParseUI(_match.Groups[1].Value)); uint attrValue = DBTextResource.ParseUI(_match.Groups[2].Value); ret.Add(attrId, attrValue); } } return(ret); }
/// <summary> /// 设置怪物挂架的tips /// </summary> /// <param name="info"></param> public void SetMonsterTipsInfo(MiniMapPointInfo info) { mCurrentMonsterInfo = info; string key = string.Format("{0}_{1}", info.Tag, m_CurSceneId); // F副本.xlsx -- 刷怪点信息 var data_actor_tag = DBManager.Instance.QuerySqliteRow <string>(GlobalConfig.DBFile, "data_actor_tag", "csv_id", key); //服务端不建议改表格式 //List<Dictionary<string, string>> data_actor_tag = null; //string key = string.Empty; //SDKConfig sdk_config = SDKHelper.GetSDKConfig(); //if (sdk_config != null && SDKHelper.IsCopyBag() && AuditManager.Instance.Open) //{ // key = string.Format("{0}_{1}{2}", info.Tag, m_CurSceneId, sdk_config.SDKNamePrefix); // data_actor_tag = DBManager.Instance.QuerySqliteRow<string>(GlobalConfig.DBFile, "data_actor_tag", "csv_id", key); //} ////当对应的马甲包没配置对应的数据时,就直接用正式数据 //if (data_actor_tag == null || data_actor_tag.Count == 0) //{ // key = string.Format("{0}_{1}", info.Tag, m_CurSceneId);// 唯一id由{tag_id}_{map_id}组成 // data_actor_tag = DBManager.Instance.QuerySqliteRow<string>(GlobalConfig.DBFile, "data_actor_tag", "csv_id", key); //} string titlestr = string.Empty; string contentstr = string.Empty; if (info.PointType != MiniMapPointType.Boss) // 普通怪物 { if (data_actor_tag.Count > 0) { var table = data_actor_tag[0]; uint level = DBTextResource.ParseUI(table["min_level"]); string levelDesc = string.Empty; uint peakLevel = 0; bool isPeak = TransferHelper.IsPeak(level, out peakLevel); if (isPeak) { var fmt = DBConstText.GetText("UI_PLAYER_PEAK_LEVEL_FORMAT"); // 巅峰{0}级 levelDesc = string.Format(fmt, peakLevel); } else { var fmt = DBConstText.GetText("UI_PLAYER_LEVEL_FORMAT"); // {0}级 levelDesc = string.Format(fmt, peakLevel); } uint def = DBTextResource.ParseUI(table["min_def"]); string _def = string.Empty; if (LocalPlayerManager.Instance.Level < level) { levelDesc = string.Format(xc.TextHelper.GetConstText("CODE_TEXT_LOCALIZATION_108"), GameConst.COLOR_DARK_RED, levelDesc); } else { levelDesc = string.Format(xc.TextHelper.GetConstText("CODE_TEXT_LOCALIZATION_108"), GameConst.COLOR_DARK_GREEN, levelDesc); } var Def = LocalPlayerManager.Instance.LocalActorAttribute.Attribute[GameConst.AR_DEF].Value; if (Def < def) { _def = string.Format(xc.TextHelper.GetConstText("CODE_TEXT_LOCALIZATION_109"), GameConst.COLOR_DARK_RED, def); } else { _def = string.Format(xc.TextHelper.GetConstText("CODE_TEXT_LOCALIZATION_109"), GameConst.COLOR_DARK_GREEN, def); } titlestr = levelDesc + _def; StringBuilder award_desc = new StringBuilder(150); award_desc.AppendFormat(xc.TextHelper.GetTranslateText(table["tips1_format"]), table["tips1"]); award_desc.Append('\n'); award_desc.AppendFormat(xc.TextHelper.GetTranslateText(table["tips2_format"]), table["tips2"]); award_desc.Append('\n'); award_desc.AppendFormat(xc.TextHelper.GetTranslateText(table["tips3_format"]), table["tips3"]); contentstr = award_desc.ToString(); } else { titlestr = string.Format(xc.TextHelper.GetConstText("CODE_TEXT_LOCALIZATION_110")); contentstr = string.Format(xc.TextHelper.GetConstText("CODE_TEXT_LOCALIZATION_111"));; } } else { if (GlobalConst.IsBanshuVersion) { titlestr = string.Format(xc.TextHelper.GetConstText("CODE_TEXT_LOCALIZATION_112"), GameConst.COLOR_DARK_RED, info.BlackName, info.Level); } else { titlestr = string.Format("{0}{1} Lv{2}</color>", GameConst.COLOR_DARK_RED, info.BlackName, info.Level); } uint actorId = (uint)info.ActorId; bool isSouthLandBoss = ActorHelper.IsSouthLandBoss(actorId); // 南天圣地boss bool isElementAreaBoss = ActorHelper.IsElementAreaBoss(actorId); // 元素禁地boss if (isSouthLandBoss || isElementAreaBoss) { // 浊气值 uint evilValue = 0; if (isSouthLandBoss) { var evilItem = DBManager.Instance.GetDB <DBEvilValue>().GetData(actorId); if (null != evilItem) { evilValue = evilItem.Value; } } else { var evilItem = DBManager.Instance.GetDB <DBElementAreaEvilValue>().GetData(actorId); if (null != evilItem) { evilValue = evilItem.Value; } } string strEvilValue = DBConstText.GetText("SOUTH_LAND_EVIL_VALUE"); // 浊气值: titlestr = string.Format("{0}\n{1}{2}{3}</color>", titlestr, strEvilValue, GameConst.COLOR_DARK_YELLOW, evilValue); } if (data_actor_tag.Count > 0) { var table = data_actor_tag[0]; StringBuilder award_desc = new StringBuilder(150); award_desc.AppendFormat(xc.TextHelper.GetTranslateText(table["tips1_format"]), table["tips1"]); award_desc.Append('\n'); award_desc.AppendFormat(xc.TextHelper.GetTranslateText(table["tips2_format"]), table["tips2"]); award_desc.Append('\n'); award_desc.AppendFormat(xc.TextHelper.GetTranslateText(table["tips3_format"]), table["tips3"]); contentstr = award_desc.ToString(); } } Text title = UIHelper.FindChild(m_MonsterInfo, "TitleText").GetComponent <Text>(); Text content = UIHelper.FindChild(m_MonsterInfo, "Content").GetComponent <Text>(); title.text = titlestr; content.text = contentstr; GameObject monster_point; if (mMonsterListPointObjs.TryGetValue(mCurrentMonsterInfo.Id, out monster_point)) { m_MonsterInfo.transform.localPosition = GetTipsPos(monster_point); float y = mMapScroll.viewport.rect.height / 2 - monster_point.transform.localPosition.y; float x = mMapScroll.viewport.rect.width / 2 - monster_point.transform.localPosition.x; mMiniMapRawImage.rectTransform.anchoredPosition = new Vector2(x, y); } }
public SkillEffectInfo GetSkillEffectInfo(uint id) { SkillEffectInfo info; if (mSkillEffectMap.TryGetValue(id, out info)) { return(info); } string query_str = string.Format("SELECT * FROM {0} WHERE {0}.{1}=\"{2}\"", mTableName, "id", id.ToString()); var table_reader = DBManager.Instance.ExecuteSqliteQueryToReader(GlobalConfig.DBFile, mTableName, query_str); if (table_reader == null) { mSkillEffectMap[id] = null; return(null); } if (!table_reader.HasRows) { mSkillEffectMap[id] = null; table_reader.Close(); table_reader.Dispose(); return(null); } if (!table_reader.Read()) { mSkillEffectMap[id] = null; table_reader.Close(); table_reader.Dispose(); return(null); } info = new SkillEffectInfo(); info.id = DBTextResource.ParseUI(GetReaderString(table_reader, "id")); info.type = GetReaderString(table_reader, "type"); info.attr = GetReaderString(table_reader, "attr"); float.TryParse(GetReaderString(table_reader, "p1"), out info.p1); string p2_str = GetReaderString(table_reader, "p2"); float p = 0; bool can_parse = float.TryParse(p2_str, out p); if (can_parse == false) { //尝试用潜力格式读取 List <uint> p2_array = DBTextResource.ParseArrayUint(p2_str, ","); if (p2_array != null && p2_array.Count >= 2) { info.p2_potentialParam = new SkillEffectInfo.SkillEffectInfoPotentialParam(); info.p2_potentialParam.trigram_rune_id = p2_array[0]; info.p2_potentialParam.value = p2_array[1]; } } else { info.p2 = p; } mSkillEffectMap[info.id] = info; table_reader.Close(); table_reader.Dispose(); return(info); }
public DBBuffInfo GetBuffInfo(uint uiID) { DBBuffInfo info = null; if (mBuffInfos.TryGetValue(uiID, out info)) { return(info); } string query_str = string.Format("SELECT * FROM {0} WHERE {1}=\"{2}\"", mTableName, "id", uiID); var reader = DBManager.Instance.ExecuteSqliteQueryToReader(GlobalConfig.DBFile, mTableName, query_str); if (reader == null) { mBuffInfos[uiID] = null; return(null); } if (!reader.HasRows || !reader.Read()) { mBuffInfos[uiID] = null; reader.Close(); reader.Dispose(); return(null); } var buff_info = new Buff.BuffInfo(); buff_info.buff_id = DBTextResource.ParseUI(GetReaderString(reader, "id")); buff_info.is_show_tip = DBTextResource.ParseUI(GetReaderString(reader, "is_show_tip")) == 1; buff_info.max_add_num = DBTextResource.ParseUS(GetReaderString(reader, "max_layer")); buff_info.add_eff = DBTextResource.ParseArrayUint(GetReaderString(reader, "add_eff"), ","); buff_info.delay_time = DBTextResource.ParseUI_s(GetReaderString(reader, "delay_time"), 0) * 0.001f; buff_info.shape_shift = DBTextResource.ParseUI_s(GetReaderString(reader, "transform"), 0); buff_info.shift_state = DBTextResource.ParseBT_s(GetReaderString(reader, "shift_state"), 0); buff_info.life_time = 3.0f;//buff的时间由服务端发送下来 buff_info.name = GetReaderString(reader, "name"); buff_info.icon = GetReaderString(reader, "icon"); buff_info.effect_file = GetReaderString(reader, "effect_file"); buff_info.priority = DBTextResource.ParseUS_s(GetReaderString(reader, "priority"), 0); buff_info.force_show = DBTextResource.ParseUS_s(GetReaderString(reader, "force_show"), 0) == 1; buff_info.other_hide = DBTextResource.ParseUS_s(GetReaderString(reader, "other_hide"), 0) == 1; buff_info.bind_pos = (BindPos)DBTextResource.ParseUI(GetReaderString(reader, "bind_pos")); buff_info.follow_target = DBTextResource.ParseUI_s(GetReaderString(reader, "follow_target"), 1) == 1; buff_info.scale = DBTextResource.ParseF_s(GetReaderString(reader, "scale"), 1.0f); buff_info.auto_scale = DBTextResource.ParseUS_s(GetReaderString(reader, "auto_scale"), 0) == 1; buff_info.des = GetReaderString(reader, "des"); buff_info.hide_countDown = DBTextResource.ParseUS_s(GetReaderString(reader, "hide_countDown"), 0) == 1; var max_count = GetReaderString(reader, "max_count"); if (string.IsNullOrEmpty(max_count)) { buff_info.max_count = 5; } else { buff_info.max_count = DBTextResource.ParseI_s(max_count, 5); } string status = GetReaderString(reader, "status");// buff的特殊状态 BattleStatusType status_type = Buff.GetBattleState(status); if (status_type != BattleStatusType.BATTLE_STATUS_TYPE_INVALID) { buff_info.battle_effect_type = status_type; Bind(buff_info, BuffEffect.BattleStateChangeBegin, BuffEffect.BattleStateChangeEnd, null); } if (buff_info.shape_shift != 0) { Bind(buff_info, BuffEffect.ShapeShiftBegin, BuffEffect.ShapeShiftEnd, null); } // 设置周期更新时间 buff_info.period_time = Mathf.Infinity; buff_info.buff_flags |= (ushort)Buff.BuffFlags.AF_RECOVERY_AFTER_DIE; mBuffInfos.Add(buff_info.buff_id, buff_info); reader.Close(); reader.Dispose(); return(buff_info); }
private void OnCSLoginFinished(string url, string error, string reply, System.Object userData) { //GameDebug.LogError("OnCSLoginFinished url: " + url); if (String.IsNullOrEmpty(error) == false) { GameDebug.LogError("OnCSLoginFinished error: " + error); if (String.IsNullOrEmpty(error)) { error = xc.TextHelper.SDKLogingFail + "(" + error + ")"; } endLogin((int)SDK_STATU_CODE.LOGIN_FAIL, error); return; } GameDebug.Log("CS Login succeed, msg = " + reply); Hashtable hashtable = MiniJSON.JsonDecode(reply) as Hashtable; if (hashtable != null) { int errorCode = 0; Hashtable retArgs = hashtable["args"] as Hashtable; if (hashtable["result"] != null) { errorCode = DBTextResource.ParseI(hashtable["result"].ToString()); } if (errorCode != 1) { string msg = "CS login error"; if (retArgs["error_msg"] != null) { msg = retArgs["error_msg"] as string; } endLogin((int)SDK_STATU_CODE.LOGIN_FAIL, msg); return; } string passport = ""; if (retArgs["passport"] != null) { passport = "" + DBTextResource.ParseI(retArgs["passport"].ToString());//(hashtable["passport"] as int) + ""; //数据发送给 talking data //DBOSManager.getOSBridge().onTDLogin(passport); } string providerPassport = ""; if (retArgs["provider_passport"] != null) { providerPassport = retArgs["provider_passport"] as string; } string ticket = ""; if (retArgs["ticket"] != null) { ticket = retArgs["ticket"] as string; } string errorMsg = ""; if (retArgs["error_msg"] != null) { errorMsg = retArgs["error_msg"] as string; } GlobalConfig globalConfig = GlobalConfig.GetInstance(); if (retArgs["status"] != null) // 是否需要输入激活码 { globalConfig.LoginInfo.Status = retArgs["status"].ToString(); } if (retArgs["roll_server"] != null) // 滚服次数 { globalConfig.LoginInfo.RollServer = DBTextResource.ParseUI(retArgs["roll_server"].ToString()); } if (errorCode == 1 && passport != null && ticket != null) { GameDebug.Log("Get status success, sdkname:" + globalConfig.SDKName + ", passport:" + passport + ", ticket:" + ticket + ", errorMsg:" + errorMsg + ", errorCode:" + errorCode); globalConfig.LoginInfo.AccName = passport; globalConfig.LoginInfo.ProviderPassport = providerPassport; globalConfig.LoginInfo.Ticket = ticket; //添加初始化话绑定手机逻辑 int bindMobileState = -1; int bindMobileSwitch = 0; if (retArgs["bindMobileSwitch"] != null) { bindMobileSwitch = DBTextResource.ParseI(retArgs["bindMobileSwitch"].ToString()); if (bindMobileSwitch == 1) { bindMobileState = 0; int isBindMobile = 0; if (retArgs["isBindMobile"] != null) { isBindMobile = DBTextResource.ParseI(retArgs["isBindMobile"].ToString()); if (isBindMobile == 1) { bindMobileState = 1; } } } } GlobalConfig.Instance.BindMobileState = bindMobileState; OnSDKLoginSucceed(passport, ticket); // 首次登录_37wan渠道 var first37WanUjoy = PlayerPrefs.GetInt(BuriedPointConst.first37WanUjoy, 0); if (first37WanUjoy == 0) { PlayerPrefs.SetInt(BuriedPointConst.first37WanUjoy, 1); PlayerPrefs.Save(); BuriedPointHelper.ReportEsaAppsflyerEvnet("custom_loss", "finishlogin_new_37wan_ujoy_firsttime", 1); } } else { endLogin((int)SDK_STATU_CODE.LOGIN_FAIL, errorMsg); } } else { endLogin((int)SDK_STATU_CODE.LOGIN_FAIL, reply); } }
public BattleFxInfo GetBattleFxInfo(uint uiKey) { BattleFxInfo info; if (mBattleFxInfos.TryGetValue(uiKey, out info)) { return(info); } string query_str = string.Format("SELECT * FROM {0} WHERE {1}=\"{2}\"", mTableName, "id", uiKey); var reader = DBManager.Instance.ExecuteSqliteQueryToReader(GlobalConfig.DBFile, mTableName, query_str); if (reader == null) { mBattleFxInfos[uiKey] = null; return(null); } if (!reader.HasRows || !reader.Read()) { mBattleFxInfos[uiKey] = null; reader.Close(); reader.Dispose(); return(null); } info = new BattleFxInfo(); uint id = DBTextResource.ParseUI(GetReaderString(reader, "id")); info.HitDelayTime = DBTextResource.ParseUS(GetReaderString(reader, "hit_time")) * GlobalConst.MilliToSecond; info.IsFlying = DBTextResource.ParseUS(GetReaderString(reader, "is_flying")) == 1; info.FlyingAngle = DBTextResource.ParseF(GetReaderString(reader, "flying_angle")); info.FlyingXSpeed = DBTextResource.ParseF(GetReaderString(reader, "flying_xspeed")); info.FlyingXFric = DBTextResource.ParseF(GetReaderString(reader, "flying_xfric")); string under_attack_effect = GetReaderString(reader, "under_attack_effect"); string under_attack_sound = GetReaderString(reader, "under_attack_sound"); if (under_attack_sound != string.Empty) { under_attack_sound = string.Format("{{0}.mp3", under_attack_sound); } if (!string.IsNullOrEmpty(under_attack_effect) || !string.IsNullOrEmpty(under_attack_sound)) { info.BeattackEffectData = new AnimationEffect.ResInitData(); info.BeattackEffectData.BindNode = GetReaderString(reader, "bind_node"); //"Bip001Pelvis"; info.BeattackEffectData.Effect = under_attack_effect; info.BeattackEffectData.Audio = under_attack_sound; info.BeattackEffectData.EndTime = (float)DBTextResource.ParseF_s(GetReaderString(reader, "under_attack_effect_lifetime"), 0) * 0.001f; info.BeattackEffectData.FollowTarget = DBTextResource.ParseUS_s(GetReaderString(reader, "follow_target"), 1) == 1; info.BeattackEffectData.AutoScale = DBTextResource.ParseUS_s(GetReaderString(reader, "auto_scale"), 0) == 1; } mBattleFxInfos.Add(id, info); reader.Close(); reader.Dispose(); return(info); }
/// <summary> /// 获取指定副本中标记的普通刷怪点和特殊怪物点 /// </summary> /// <returns></returns> public static List <MiniMapPointInfo> GetInstanceAllNormalMonster(uint instance_id) { List <MiniMapPointInfo> map_point_infos = new List <MiniMapPointInfo>(); var nep_data = xc.Dungeon.LevelManager.Instance.LoadLevelFileTemporary(SceneHelp.GetFirstStageId(instance_id)); if (nep_data == null) { GameDebug.LogError("get nep_data failed,instance id: " + instance_id); return(map_point_infos); } Dictionary <int, Neptune.BaseGenericNode> all_node_data = nep_data.GetData <Neptune.Tag>().Data; // 获取关卡中所有标记为Tag的物体数据 var special_monster_info = DBManager.Instance.GetDB <DBSpecialMon>().GetDungeonData(instance_id); // 获取当前副本中特殊怪物的数据(世界boss,盗宝怪) foreach (var item in all_node_data) { Neptune.Tag tag = item.Value as Neptune.Tag; if (tag == null || tag.Type == null) { continue; } if (tag.Type.CompareTo("map_mon_pos") == 0)// Tag 为怪物标识点 { MiniMapPointInfo info = new MiniMapPointInfo(); info.Id = tag.Id; info.Tag = tag.Id; info.Position = tag.Position; info.MapId = instance_id; string key = string.Format("{0}_{1}", tag.Id, instance_id);// 唯一id由{tag_id}_{map_id}组成 var data_actor_tag = DBManager.Instance.QuerySqliteRow <string>(GlobalConfig.DBFile, "data_actor_tag", "csv_id", key); //服务端不建议改表格式 //List<Dictionary<string, string>> data_actor_tag = null; //string key = string.Empty; //SDKConfig sdk_config = SDKHelper.GetSDKConfig(); //if (sdk_config != null && SDKHelper.IsCopyBag() && AuditManager.Instance.Open) //{ // key = string.Format("{0}_{1}{2}", tag.Id, instance_id, sdk_config.SDKNamePrefix); // data_actor_tag = DBManager.Instance.QuerySqliteRow<string>(GlobalConfig.DBFile, "data_actor_tag", "csv_id", key); //} ////当对应的马甲包没配置对应的数据时,就直接用正式数据 //if (data_actor_tag == null || data_actor_tag.Count == 0) //{ // key = string.Format("{0}_{1}", tag.Id, instance_id);// 唯一id由{tag_id}_{map_id}组成 // data_actor_tag = DBManager.Instance.QuerySqliteRow<string>(GlobalConfig.DBFile, "data_actor_tag", "csv_id", key); //} if (data_actor_tag.Count > 0) { var table = data_actor_tag[0]; info.ActorId = DBTextResource.ParseUI(table["actor_id"]); info.ListNeedShow = DBTextResource.ParseUI(table["need_show"]) == 1 ? true : false; if (ActorHelper.IsEliteMonster(info.ActorId))// 判断怪物是否是精英怪 { info.PointType = MiniMapPointType.EliteMonster; } else { info.PointType = MiniMapPointType.Monster; } info.Name = ActorHelper.GetColorNameDiff(info.ActorId, 0); info.BlackName = ActorHelper.GetColorNameDiff(info.ActorId, 1); info.Level = ActorHelper.GetActorLevel(info.ActorId); map_point_infos.Add(info); } } else if (tag.Type.CompareTo("boss_pos") == 0 && special_monster_info != null) { //boss读表 string tagGroup = "boss_pos_" + tag.Id; DBSpecialMon.DBSpecialMonItem boss = special_monster_info.Find(delegate(DBSpecialMon.DBSpecialMonItem specialMon) { return(specialMon.TagGroup.CompareTo(tagGroup) == 0); }); if (boss != null) { MiniMapPointInfo info = new MiniMapPointInfo(); info.Id = (int)boss.Id; info.Tag = tag.Id; info.Position = tag.Position; info.MapId = instance_id; info.ActorId = boss.ActorId; info.Name = ActorHelper.GetColorNameDiff(info.ActorId, 0); info.BlackName = ActorHelper.GetColorNameDiff(info.ActorId, 1); info.Level = ActorHelper.GetActorLevel(info.ActorId); info.PointType = MiniMapPointType.Boss; map_point_infos.Add(info); } } } return(map_point_infos); }