Ejemplo n.º 1
0
    /// <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());
    }
Ejemplo n.º 2
0
    /// <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);
    }
Ejemplo n.º 3
0
    /// <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();
    }
Ejemplo n.º 4
0
    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);
    }
Ejemplo n.º 5
0
    public TD_Skill Clone()
    {
        TD_Skill cItm = new TD_Skill();

        cItm.ID   = ID;
        cItm.type = type;

        return(cItm);
    }
Ejemplo n.º 6
0
    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);
    }
Ejemplo n.º 7
0
    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);
    }
Ejemplo n.º 8
0
    /// <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);
    }
Ejemplo n.º 9
0
    private void CreateTriggerFromConfig()
    {
        TD_Skill itm = SkillConfig.GetItem(SkillId);

        LoaderPrefab(itm.res);
    }