/// <summary>检测卡牌当前等级技能是否有使用目标</summary> /// <param name="cfg"></param> /// <param name="lv"></param> /// <returns></returns> public static bool CheckCardSkillHaveTarget(TD_Card cfg, int lv) { if (null == cfg) { return(false); } if (lv <= 0) { lv = 1; } string skillStr = cfg.skill_list; string[] skills = skillStr.Split(';'); string curstr = skills[lv - 1]; if (curstr.IsNullOrEmpty()) { return(false); } string[] skillInfo = curstr.Split(':'); string useSkill = skillInfo[0]; TD_Skill data = SkillConfig.GetItem(useSkill.ToInt()); return(data.effect_target.IsNullOrEmpty()); }
/// <summary> /// 选择奥义 /// </summary> /// <param name="go"></param> void ChooseArcane(GameObject go) { panel.arcaneAni.gameObject.SetActive(true); go.GetComponent <Animation>().Play("aoyi_scale"); panel.arcaneAni.Play("UIEffect101_load"); cardInfoList.arcaneId = UtilTools.IntParse(go.name); TD_Skill skillInfo = SkillConfig.GetItem(cardInfoList.arcaneId); if (skillInfo == null) { Debug.LogError("缺少配置"); return; } panel.arcaneName.text = skillInfo.name; panel.arcaneDes.text = skillInfo.des; panel.arcanePoint.text = skillInfo.point.ToString(); if (HeroTeamMediator.heroTeamMediator.dropInfo != null) { HeroTeamMediator.heroTeamMediator.dropInfo.arcaneId = cardInfoList.arcaneId; } if (firstInArcaneUI) { return; } firstInArcaneUI = false; ArcaneMsg msg = new ArcaneMsg { teamUUid = cardInfoList.teamId, teamHeroUUid = cardInfoList.heroId, arcaneId = cardInfoList.arcaneId, }; NSocket.GetInstance().SendData(Request.ChangeArcane, msg); }
/// <summary> /// 界面显示调用 /// </summary> protected override void OnShow(INotification notification) { UIGridItem info = notification.Body as UIGridItem; int pos = (info.oData as HeroInfo).pos; switch (pos) { case 1: panel.transform.localPosition = new Vector3(-215, 117, 0); break; case 2: panel.transform.localPosition = new Vector3(129, 117, 0); break; case 3: panel.transform.localPosition = new Vector3(471, 117, 0); break; case 4: panel.transform.localPosition = new Vector3(160, 117, 0); break; } TD_Skill skillInfo = SkillConfig.GetItem((info.oData as HeroInfo).arcaneId); if (skillInfo == null) { Debug.LogError("缺少配置"); return; } panel.arcaneName.text = skillInfo.name; panel.arcaneDes.text = skillInfo.des; panel.arcanePoint.text = skillInfo.point.ToString(); }
public override void onloaded(AssetBundles.NormalRes data) { byte[] asset = (data as AssetBundles.BytesRes).m_bytes; if (asset == null) { return; } m_data = new List <TD_Skill>(); TbXmlNode docNode = TbXml.Load(asset).docNode; if (docNode == null) { return; } List <TbXmlNode> xmlNodeList = docNode.GetNodes("Object/Property"); int xmlNodeListLength = xmlNodeList.Count; if (xmlNodeListLength < 1) { return; } TD_Skill item; for (int i = 0; i < xmlNodeListLength; ++i) { TbXmlNode node = xmlNodeList[i] as TbXmlNode; item = new TD_Skill(); item.id = node.GetIntValue("skill_id"); item.res = node.GetStringValue("res"); item.des = node.GetStringValue("skill_dis"); item.name = node.GetStringValue("name"); item.point = node.GetIntValue("skill_exp"); item.animation = node.GetStringValue("animation"); item.hero_out = node.GetStringValue("hero_out"); item.hero_back = node.GetStringValue("hero_back"); item.a_trigger = node.GetStringValue("a_trigger"); item.a_value = node.GetStringValue("a_value"); item.effect_target = node.GetStringValue("effect_target"); m_data.Add(item); } asset = null; if (null != m_callBack) { m_callBack(); m_callBack = null; } base.onloaded(data); }
public TD_Skill Clone() { TD_Skill cItm = new TD_Skill(); cItm.ID = ID; cItm.type = type; return(cItm); }
public void OnLoad_TweenRes() { mAtkCfg = HeroConfig.GetItem(1001); TD_Skill skillItem = SkillConfig.GetItem(10011001); if (Define.VSTest) { skillItem.hero_out = "test_outtween"; skillItem.hero_back = "test_outtween"; } ResourceManager.Instance.LoadPrefab(skillItem.hero_out.ToLower(), (abname, obj) => { TweenOutAtk.IsMirror = IsMirror; mAtkOutTransform = obj.transform; TweenOutAtk.Target = obj.transform; TweenOutAtk.InitParams(skillItem.animation); TweenOutAtk.AdaptMapObjectPosition(TweenOutOrgObjectAtk.position); TweenOutAtk_ResLoaded = true; }, OnLoader_Error); if (!TweenOut_IsSng) { mAtkedCfg = HeroConfig.GetItem(1001); ResourceManager.Instance.LoadPrefab(mAtkedCfg.hero_atked.ToLower(), (abname, obj) => { TweenOutAtked.FaceX = -1; TweenOutAtked.IsMirror = IsMirror; mAtkedOutTransform = obj.transform; TweenOutAtked.Target = obj.transform; TweenOutAtked.InitParams(skillItem.animation); TweenOutAtked.AdaptMapObjectPosition(TweenOutOrgObjectAtked.position); TweenOutAtked_ResLoaded = true; mAtkedBackTransform = obj.transform; }, OnLoader_Error); } if (!skillItem.animation.IsNullOrEmpty()) { ResourceManager.Instance.LoadPrefab(skillItem.animation.ToLower(), OnLoader_FightCompleteTest, OnLoader_Error); } ResourceManager.Instance.LoadPrefab(skillItem.hero_back.ToLower(), (abname, obj) => { obj.SetActive(false); obj.name = "atk_tweenOut"; mAtkBackTransform = obj.transform; }, OnLoader_Error); }
public override void onloaded(AssetBundles.NormalRes data) { byte[] asset = (data as AssetBundles.BytesRes).m_bytes; if (asset == null) { return; } m_data = new Dictionary <int, TD_Skill>(); TbXmlNode docNode = TbXml.Load(asset).docNode; if (docNode == null) { return; } List <TbXmlNode> xmlNodeList = docNode.GetNodes("Object/Property"); int xmlNodeListLength = xmlNodeList.Count; if (xmlNodeListLength < 1) { return; } TD_Skill item; for (int i = 0; i < xmlNodeListLength; ++i) { TbXmlNode node = xmlNodeList[i] as TbXmlNode; item = new TD_Skill(); item.ID = node.GetIntValue("ID"); item.name = node.GetStringValue("name"); item.type = (Skill_Type)node.GetIntValue("type"); item.icon = node.GetStringValue("icon"); item.des = node.GetStringValue("des"); m_data[item.ID] = item; } asset = null; if (null != m_callBack) { m_callBack(); m_callBack = null; } base.onloaded(data); }
/// <summary>获取项</summary> /// <returns></returns> public static TD_Skill GetItem(int id) { TD_Skill itm = null; int cnt = m_data.Count; for (int i = 0; i < cnt; i++) { if (m_data[i].id.CompareTo(id) == 0) { return(m_data[i]); } } return(itm); }
private void CreateTriggerFromConfig() { TD_Skill itm = SkillConfig.GetItem(SkillId); LoaderPrefab(itm.res); }