예제 #1
0
    private bool CheckHeroRune(ObjectCard hero)
    {
        if (hero == null)
        {
            return(false);
        }
        bool _result = false;

        CheakIdleRune();

        _result = m_HaveIdleRune | m_HaveIdleSpecialRune;

        if (_result)
        {
            _result = false;
            var heroData = hero.GetHeroData();

            if (!_result && m_HaveIdleRune)
            {
                for (int i = (int)EM_RUNE_POINT.EM_RUNE_POINT_COMMON1; i < (int)EM_RUNE_POINT.EM_RUNE_POINT_SPECIAL; i++)
                {
                    _result |= heroData.IsRuneNull((EM_RUNE_POINT)i);
                    if (_result)
                    {
                        break;
                    }
                }
            }


            _result |= heroData.IsRuneNull(EM_RUNE_POINT.EM_RUNE_POINT_SPECIAL);
        }

        return(_result);
    }
예제 #2
0
    public static int CompareByQuality(ObjectCard oc1, ObjectCard oc2)
    {
        //按品质排;
        if (oc1.GetHeroRow().getQuality() > oc2.GetHeroRow().getQuality())
        {
            return(1);
        }
        else if (oc1.GetHeroRow().getQuality() < oc2.GetHeroRow().getQuality())
        {
            return(-1);
        }

        //品质相同按等级排序;
        if (oc1.GetHeroRow().getQuality() == oc2.GetHeroRow().getQuality())
        {
            if (oc1.GetHeroData().Level > oc2.GetHeroData().Level)
            {
                return(1);
            }

            if (oc1.GetHeroData().Level < oc2.GetHeroData().Level)
            {
                return(-1);
            }

            //等级相同按id排序;
            if (oc1.GetHeroData().Level == oc2.GetHeroData().Level)
            {
                return(oc1.GetHeroData().TableID - oc2.GetHeroData().TableID);
            }
        }

        return(0);
    }
예제 #3
0
    public override void ShowHeroInfo(ObjectCard objectCard)
    {
        m_HeroData  = objectCard.GetHeroData();
        m_HeroDataT = objectCard.GetHeroRow();

        m_CurTData  = GameUtils.GetCurAdvancedData(m_HeroDataT.getBorn(), m_HeroDataT.getQosition(), m_HeroData.StarLevel, m_HeroData.CurStage);
        m_NextTData = GameUtils.GetHeroNextAdvancedData(objectCard);

        YesAdvancedEffect.gameObject.SetActive(false);

        if (m_HeroData.StarLevel == m_NextTData.getQuality() && m_HeroData.CurStage == m_NextTData.getHalosPn())
        {
            m_MaxLevelWindow.SetActive(true);
            m_NoMaxLevelWindow.SetActive(false);
        }
        else
        {
            m_MaxLevelWindow.SetActive(false);
            m_NoMaxLevelWindow.SetActive(true);

            InitShowStarAndStage();
            GreatAttributeItem();
            GreatArticleItem();
        }

        RefreshLevelNoEnoughtTip();
    }
예제 #4
0
    // 加载英雄列表
    void UpdateHeroCellItem(int index, RectTransform cell)
    {
        HeroCellItem item = cell.GetComponent <HeroCellItem> ();

        if (item == null)
        {
            item = cell.gameObject.AddComponent <HeroCellItem> ();
        }

        item.index = index;

        ObjectCard card = ObjectSelf.GetInstance().HeroContainerBag.GetHeroList() [index];

        item.UpdateHeroShow(card);
        item.SetClickItemIcon();

        if (m_CurCard.GetHeroData().GUID == card.GetHeroData().GUID)
        {
            // 显示选中状态
            item.SetSelectState(true);
        }
        else
        {
            item.SetSelectState(false);
        }
    }
예제 #5
0
        //实例化Hero对象
        private void CallBack_InitHeroObject()
        {
            for (int i = 0; i < GlobalMembers.MAX_TEAM_CELL_COUNT; ++i)
            {
                int nGroup = ObjectSelf.GetInstance().Teams.GetDefaultGroup();
                if (nGroup < 0 && nGroup >= GlobalMembers.MAX_MATRIX_COUNT)
                {
                    continue;
                }
                X_GUID pMemberGuiD = null;

                if (ObjectSelf.GetInstance().LimitFightMgr.m_bStartEnter)
                {
                    pMemberGuiD = ObjectSelf.GetInstance().LimitFightMgr.m_HeroInfo[i];
                    if (ObjectSelf.GetInstance().LimitFightMgr.m_HeroHp[i] == 0)
                    {
                        //初始英雄时,如果血量记录是0 代表本次是继续开启的试炼。并且上次的英雄已死亡。那么本次不再实例化英雄 [6/19/2015 Zmy]
                        pMemberGuiD.CleanUp();
                    }
                }
                else
                {
                    pMemberGuiD = ObjectSelf.GetInstance().Teams.m_Matrix[nGroup, i]; //暂时默认上场第一组阵型的英雄[3/25/2015 Zmy]
                }
                if (!pMemberGuiD.IsValid())
                {
                    continue;
                }
                ObjectCard pHero = ObjectSelf.GetInstance().HeroContainerBag.FindHero(pMemberGuiD);
                if (pHero == null)
                {
                    continue;
                }
                ArtresourceTemplate _Artresourcedata = (ArtresourceTemplate)DataTemplate.GetInstance().m_ArtresourceTable.getTableData(pHero.GetHeroData().GetHeroViewID());
                if (_Artresourcedata == null)
                {
                    continue;
                }

                GameObject pHeroObject = AssetLoader.Inst.GetAssetRes(_Artresourcedata.getArtresources());
                if (pHeroObject != null)
                {
                    GameObject obj1 = Instantiate(pHeroObject, FightEditorContrler.GetInstantiate().GetFormationCenterPos(i), FightEditorContrler.GetInstantiate().GetFormationCenterAngle(i)) as GameObject;
                    GameUtils.SetLayerRecursively(obj1, FightEditorContrler.GetInstantiate().GetShadowCullMaskLayer());
                    float _zoom = _Artresourcedata.getArtresources_zoom();
                    obj1.transform.localScale = new UnityEngine.Vector3(_zoom, _zoom, _zoom);
                    SceneObjectManager.GetInstance().SceneObjectAddHero(obj1, pHero.GetHeroRow().getId(), pHero);
                    FightEditorContrler.GetInstantiate().InitFormationPos(pHero, i);
                }
            }
            FightEditorContrler.GetInstantiate().HeroPathInitSpeed();

            GameEventDispatcher.Inst.dispatchEvent(GameEventID.SE_StoryCameraEnd);

            //初始化完成后,切换状态 [1/20/2015 Zmy]
            SetFightState(FightState.prepareData);

            //初始入场怒气
            InitFightPower();
        }
예제 #6
0
        public bool CalcPassivitySpellTarget(ref FIGHTOBJECT_LIST targetlist)
        {
            SkillTemplate pRow = m_pSpellInfo.GetSpellRow();

            switch (m_pSpellInfo.GetTargetType())
            {
            case (int)EM_TARGET_TYPE.EM_TARGET_FRIEND:
            {
                int nID = -1;
                if (ObjectSelf.GetInstance().Teams.IsHeroInTeam(m_pHolder.GetGuid(), ref nID))
                {
                    for (int i = 0; i < GlobalMembers.MAX_TEAM_CELL_COUNT; ++i)
                    {
                        X_GUID     _guid = ObjectSelf.GetInstance().Teams.m_Matrix[nID, i];
                        ObjectCard obj   = ObjectSelf.GetInstance().HeroContainerBag.FindHero(_guid);
                        if (obj != null)
                        {
                            targetlist.Add((ObjectCreature)obj);
                        }
                    }
                }
            }
            break;

            case (int)EM_TARGET_TYPE.EM_TARGET_SELF:
            {
                targetlist.Add((ObjectCreature)m_pHolder);
            }
            break;

            default:
                break;
            }
            return(true);
        }
예제 #7
0
    public void OnRefreshHero()
    {
        if (m_CurCard == null)
        {
            return;
        }

        int count = ObjectSelf.GetInstance().HeroContainerBag.GetHeroList().Count;

        for (int i = 0; i < count; ++i)
        {
            ObjectCard card = ObjectSelf.GetInstance().HeroContainerBag.GetHeroList() [i];
            if (card.GetGuid() == m_CurCard.GetGuid())
            {
                m_CurCard = card;
                break;
            }
        }

        // 更新英雄信息
        UpdateHeroInfo();

        // 更新资质信息
        UpdateQualification();

        // 更新下面属性面板
        UpdateHeroAttr();

        // 更新右边属性面板
        if (m_CurAttrPanel != null)
        {
            m_CurAttrPanel.ShowHeroInfo(m_CurCard);
        }
    }
예제 #8
0
    // 更新英雄显示信息
    public void UpdateHeroShow(ObjectCard heroCard)
    {
        m_HeroCard = heroCard;

        // 等级
        m_Level.text = /*"Lv." +*/ "<color=yellow>" + heroCard.GetHeroData().Level.ToString() + "</color>";

        // 星级
        int star = heroCard.GetHeroData().StarLevel;

        for (int i = 0; i < m_BrightStar.transform.childCount; ++i)
        {
            m_BrightStar.transform.GetChild(i).gameObject.SetActive(i < star);
        }

        // icon
        ArtresourceTemplate artresourcedata = ( ArtresourceTemplate )DataTemplate.GetInstance().m_ArtresourceTable.getTableData(heroCard.GetHeroData().GetHeroViewID());
        Sprite img = UIResourceMgr.LoadSprite(common.defaultPath
                                              + artresourcedata.getHeadiconresource());

        m_Icon.sprite = img;
        m_Icon.SetNativeSize();


        // icon bg TODO...
        m_IconBg.sprite = InterfaceControler.GetInst().ReturnHeroQuailty(heroCard.GetHeroData().QualityLev);
    }
예제 #9
0
 public Crime
     (CharacterCard characterC, LocationCard locationC, ObjectCard objectC)
 {
     this.characterCard = characterC;
     this.locationCard  = locationC;
     this.objectCard    = objectC;
 }
예제 #10
0
        public void Show3DModel(ObjectCard _card)
        {
            ModelCear();
            //通过表ID获取到英雄数据表
            HeroTemplate _HeroData = _card.GetHeroRow();
            //通过英雄数据表中的资源数据表ID得到资源表数据
            ArtresourceTemplate _Artresourcedata = new ArtresourceTemplate();

            _Artresourcedata = (ArtresourceTemplate)DataTemplate.GetInstance().m_ArtresourceTable.getTableData(_card.GetHeroRow().getArtresources());
            //通过资源表获取到角色默认美术资源(名称)     通过该名称获取到动态加载数据返回一个对象
            GameObject _AssetRes = AssetLoader.Inst.GetAssetRes(_Artresourcedata.getArtresources());

            //实例化该对象
            Card3Dmodel = Instantiate(_AssetRes, _Point.position, _Point.rotation) as GameObject;
            float _zoom = _Artresourcedata.getArtresources_zoom();

            Card3Dmodel.transform.localScale = new UnityEngine.Vector3(_zoom, _zoom, _zoom);
            Card3Dmodel.transform.parent     = _Point;
            //设置3D模型摩擦力
            Card3Dmodel.rigidbody.angularDrag = 1;
            Card3Dmodel.rigidbody.mass        = 1;
            //_obj.transform.localScale = new Vector3(1.3f,1.3f,1.3f);
            Animation anim = Card3Dmodel.GetComponent <Animation>();

            if (anim == null)
            {
                return;
            }
            Card3Dmodel.GetComponent <Animation>().Play("Nidle1");
            Card3Dmodel.GetComponent <Animation>().wrapMode = WrapMode.Loop;
        }
예제 #11
0
    /// <summary>
    /// 显示3D模型
    /// </summary>
    /// <param name="card"></param>
    private void Show3DModel(ObjectCard m_Card)
    {
        ClearModel();

        m_Point = GameObject.Find("pos").transform;

        ArtresourceTemplate m_Artresourcedata = (ArtresourceTemplate)DataTemplate.GetInstance().m_ArtresourceTable.getTableData(m_Card.GetHeroData().GetHeroViewID());
        GameObject          _AssetRes         = AssetLoader.Inst.GetAssetRes(m_Artresourcedata.getArtresources());

        if (_AssetRes != null)
        {
            if (_AssetRes.GetComponent <NavMeshAgent>() != null)
            {
                _AssetRes.GetComponent <NavMeshAgent>().enabled = false;
            }

            m_Card3Dmodel = Instantiate(_AssetRes, m_Point.position, m_Point.rotation) as GameObject;
            float _zoom = m_Artresourcedata.getArtresources_zoom();
            m_Card3Dmodel.transform.localScale = new UnityEngine.Vector3(_zoom, _zoom, _zoom);
            m_Card3Dmodel.transform.parent     = m_Point;

            ////设置3D模型摩擦力
            //m_Card3Dmodel.rigidbody.angularDrag = 2.8f;
            //m_Card3Dmodel.rigidbody.mass = 1.5f;

            Animation anim = m_Card3Dmodel.GetComponent <Animation>();
            if (anim == null)
            {
                return;
            }
            m_Card3Dmodel.GetComponent <Animation>().Play("Nidle1");
            m_Card3Dmodel.GetComponent <Animation>().wrapMode = WrapMode.Loop;
        }
    }
예제 #12
0
    /// <summary>
    /// 查看英雄按钮
    /// </summary>
    private void OnClickBtn()
    {
        ObjectCard _card = new ObjectCard();
        Hero       hero  = new Hero();

        hero.skill1 = m_Skill1;
        if (m_Skill2 > 0)
        {
            hero.skill2 = m_Skill2;
        }
        if (m_Skill3 > 0)
        {
            hero.skill3 = m_Skill3;
        }
        hero.heroid     = m_HeroId;
        hero.heroexp    = m_Exp;
        hero.herolevel  = m_HeroLevel;
        hero.heroviewid = m_HeroViewId;
        _card.GetHeroData().Init(hero);


        UI_HomeControler.Inst.AddUI(HeroInfoPop.UI_ResPath);
        HeroInfoPop.inst.ShowInfo(_card);
        HeroInfoPop.inst.Show3DModel(_card);
    }
예제 #13
0
        public void InitData(ObjectCard hero)
        {
            objhero  = hero;
            HeroData = objhero.GetHeroRow();

            DataParent.SetActive(true);
            m_NullStateOBJ.SetActive(false);

            HeroName.text = string.Format(GameUtils.GetHeroNameFontColor(hero.GetHeroData().QualityLev), GameUtils.getString(HeroData.getTitleID()));
            InterfaceControler.AddLevelNum(hero.GetHeroData().Level.ToString(), HeroLevel);
            int       star       = hero.GetHeroData().StarLevel;
            Transform BrightStar = DataParent.transform.FindChild("HeroStar/BrightStar");

            for (int i = 0; i < BrightStar.childCount; ++i)
            {
                BrightStar.transform.GetChild(i).GetComponent <Image>().enabled = (i < star);
            }
            //InterfaceControler.GetInst().AddSharLevel(DataParent.transform.FindChild("Star_Image"),HeroData);

            //如果是远程英雄
            if (ClickType == 1)
            {
                int    group = ObjectSelf.GetInstance().Teams.GetDefaultGroup();
                X_GUID guid  = ObjectSelf.GetInstance().Teams.m_Matrix[group, FormationNum - 1];
                UI_FormMgr.Inst.SetBackHeroGuids(guid.GUID_value);
            }
        }
예제 #14
0
    /**********阵型***********/

    /// <summary>
    /// 当默认队伍中无英雄时返回真
    /// </summary>
    /// <returns>当默认队伍中无英雄时返回真</returns>
    public bool CheckTeamNoMember()
    {
        bool _result    = true;
        Team _team      = m_ObjectSelf.Teams;
        int  _teamCount = _team.GetDefaultGroup();
        //遍历判空
        int _heroCount = m_ObjectSelf.Teams.m_Matrix.GetLength(1);

        for (int i = 0; i < _heroCount; ++i)
        {
            var        _guid = m_ObjectSelf.Teams.m_Matrix[_teamCount, i];
            ObjectCard temp  = null;
            if (_guid.IsValid())
            {
                temp = m_HeroContainer.FindHero(_guid);
            }

            if (temp != null)
            {
                _result = false;
                break;
            }
        }
        return(_result);
    }
예제 #15
0
    /// <summary>
    /// 初始化点击阵型 显示总战斗力
    /// </summary>
    private void InitClickHeroData()
    {
        m_BackHeroGuids.Clear();

        m_TotalPower = 0;

        int GroupCount = ObjectSelf.GetInstance().Teams.GetDefaultGroup();
        int HeroCount  = ObjectSelf.GetInstance().Teams.m_Matrix.GetLength(1);

        for (int i = 0; i < HeroCount; ++i)
        {
            ObjectCard temp = ObjectSelf.GetInstance().HeroContainerBag.FindHero(ObjectSelf.GetInstance().Teams.m_Matrix[GroupCount, i]);

            m_HeroClickList[i].SetEffectActive(temp != null);

            if (temp == null)
            {
                continue;
            }

            m_TotalPower        += temp.GetHeroData().FightVigor;
            m_TotalPowerTxt.text = m_TotalPower.ToString();

            m_HeroClickList[i].InitData(temp);
        }
    }
예제 #16
0
    void RuneBtnClickHandler(EM_RUNE_POINT runeIdx)
    {
        ObjectCard cardInfo = UI_HeroInfoManager._instance.GetCurCard();

        if (cardInfo == null)
        {
            LogManager.LogError("HeroInfoManager GetCurCard返回为null");
            return;
        }

        //没装备着符文;
        if (cardInfo.GetHeroData().IsRuneNull(runeIdx))
        {
            HRCMgr.ShowUI(runeIdx);
            RunOnBack();
            HideRuneDetailUI();
        }
        else
        {
            mRunePoint = runeIdx;
            ItemEquip itemE = cardInfo.GetHeroData().GetRuneItemInfo(runeIdx);
            ShowRuneDetailUI(itemE);
        }

        HideRunePropUI();
    }
예제 #17
0
 /// <summary>
 /// 判断该英雄是否有为获得的时装  [根据策划需求改变,现在没用,防止策划反水 Lyq]
 /// </summary>
 /// <param name="_card"></param>
 public void JudgeAdd(ObjectCard _card)
 {
     //List<int> playerHeroSkinList = ObjectSelf.GetInstance().GetHeroSkinList();
     //int num = 0;
     //int[] HeroSkinList = _card.GetHeroRow().getUseableArtresource();
     //for (int i = 0; i < HeroSkinList.Length; i++)
     //{
     //    if (playerHeroSkinList.Contains(HeroSkinList[i]))
     //    {
     //        num++;
     //    }
     //}
     //for (int i = 0; i < heroList.Count; i++)
     //{
     //    heroList[i].SetActiveSkinImg(false);
     //    if (heroList[i].tableId == _card.GetHeroData().TableID)
     //    {
     //        if (num < HeroSkinList.Length)
     //        {
     //            heroList[i].SetActiveSkinImg(true);
     //        }
     //        else
     //        {
     //            heroList[i].SetActiveSkinImg(false);
     //        }
     //    }
     //}
 }
예제 #18
0
        public void OnClickMySelf()
        {
            if (id == 2)
            {
                if (mTipsText == null)
                {
                    mTips.SetActive(false);
                    UI_StageInfo._instance.Tips.SetActive(false);
                }
                else
                {
                    mTips.SetActive(true);
                    UI_StageInfo._instance.Tips.SetActive(true);
                    UI_StageInfo._instance.TipsDes.text = GameUtils.getString(mTipsText);
                }
            }
            else
            {
                switch (typeNum)
                {
                //符文
                case 1:

                    ItemTemplate rune = (ItemTemplate)DataTemplate.GetInstance().m_ItemTable.getTableData(id);
                    UI_RuneInfo.SetShowRuneDate(rune);
                    UI_HomeControler.Inst.AddUI("UI_Rune/UI_RuneInfo_1_3");
                    break;

                //道具
                case 2:
                    ItemTemplate item = (ItemTemplate)DataTemplate.GetInstance().m_ItemTable.getTableData(id);
                    UI_Item.SetItemTemplate(item);
                    UI_HomeControler.Inst.AddUI("UI_Home/UI_Item_1_3");


                    break;

                //英雄
                case 3:
                    UI_HomeControler.Inst.AddUI("UI_Home/UI_HeroInfoPop_1_3");
                    ObjectCard   obj   = new ObjectCard();
                    Hero         hero  = new Hero();
                    HeroTemplate _hero = (HeroTemplate)DataTemplate.GetInstance().m_HeroTable.getTableData(id);
                    hero.skill1     = _hero.getSkill1ID();
                    hero.skill2     = _hero.getSkill2ID();
                    hero.skill3     = _hero.getSkill3ID();
                    hero.heroid     = id;
                    hero.herolevel  = 1;
                    hero.heroviewid = _hero.getArtresources();
                    obj.GetHeroData().Init(hero);
                    //Destroy(UI_SelectFightArea.Inst.Card3Dmodel);
                    HeroInfoPop.inst.Show3DModel(obj);
                    HeroInfoPop.inst.ShowInfo(obj);
                    break;

                default:
                    break;
                }
            }
        }
예제 #19
0
 public override void ShowHeroInfo(ObjectCard _objectCard)
 {
     m_objectCard = _objectCard;
     m_HeroData   = _objectCard.GetHeroData();
     m_HeroDataT  = _objectCard.GetHeroRow();
     PopMysticWindow(m_MysticId, _objectCard);
 }
예제 #20
0
    public override void ShowHeroInfo(ObjectCard objectCard)
    {
        m_UpEffect.SetActive(false);

        m_HeroData  = objectCard.GetHeroData();
        m_HeroDataT = objectCard.GetHeroRow();

        switch (ObjectSelf.GetInstance().CurBringType)
        {
        case Bring_Type.HUO:
            OnClickHuoButton();
            break;

        case Bring_Type.EARTH:
            OnClickEarthButton();
            break;

        case Bring_Type.WATER:
            OnClickWaterButton();
            break;

        case Bring_Type.WIND:
            OnClickWindButton();
            break;
        }
        SetCurElementName();
    }
예제 #21
0
    // 点击英雄图标 Icon
    public void OnClickItemIcon(ObjectCard card)
    {
        if (m_CurCard == card)
        {
            return;
        }
        m_CurCard = card;

        // 更新英雄列表
        m_HeroLayout.UpdateCell();

        Show3DModel(m_CurCard);

        // 更新英雄信息
        UpdateHeroInfo();

        // 更新资质信息
        UpdateQualification();

        // 更新下面属性面板
        UpdateHeroAttr();

        // 更新右边属性面板
        if (m_CurAttrPanel != null)
        {
            m_CurAttrPanel.ShowHeroInfo(m_CurCard);
        }
    }
예제 #22
0
    public void InitHeroData(ObjectCard card)
    {
        _card = card;
        HeroTemplate _HeroData = card.GetHeroRow();

        gameObject.SetActive(true);
        ChsTextTemplate chs = new ChsTextTemplate();

        chs           = (ChsTextTemplate)DataTemplate.GetInstance().m_ChsTextTable.getTableData(_HeroData.getTitleID());
        HeroName.text = chs.languageMap["Chinese"];
        string level = card.GetHeroData().Level.ToString();

        InterfaceControler.AddLevelNum(level, HeroLevel);
        HeroStar = _HeroData.getQuality();
        int maxStar = _HeroData.getMaxQuality();

        for (int i = 5; i < 10; ++i)//星级
        {
            selfTransform.FindChild("Star_Image").GetChild(i - 5).GetComponent <Image>().enabled = i < 5 + maxStar;
            selfTransform.FindChild("Star_Image").GetChild(i).GetComponent <Image>().enabled     = i < 5 + HeroStar;
            //if (i < 5 + HeroStar)
            //{
            //    Image temp = selfTransform.FindChild("Star_Image").GetChild(i).GetComponent<Image>();
            //    temp.enabled = true;
            //}
            //else
            //{
            //    Image temp = selfTransform.FindChild("Star_Image").GetChild(i).GetComponent<Image>();
            //    temp.enabled = false;
            //}
        }
    }
예제 #23
0
    //刷新英雄卡牌
    public void UpdateHeroCardData(ObjectCard heroObject)
    {
        objHero   = heroObject;
        _HeroItem = heroObject.GetHeroRow();

        SetBaseInfo(heroObject.GetHeroData().Level);
    }
예제 #24
0
 //刷新英雄卡牌
 public void UpdateHeroCardData(ObjectCard heroObject)
 {
     HeroObject       = heroObject;
     _Herodata        = heroObject.GetHeroRow();
     HeroType         = _Herodata.getClientSignType()[0];
     _Artresourcedata = (ArtresourceTemplate)DataTemplate.GetInstance().m_ArtresourceTable.getTableData(heroObject.GetHeroData().GetHeroViewID());
     SetBaseInfo(heroObject.GetHeroData().Level);
     InterfaceControler.GetInst().ShowHeroImg(_Herodata, AttackType_Img, JobType_Img, RaceType_Img);
     SetFormationNum();
     YetUpFrontImg.SetActive(false);
     DownFeontImg.SetActive(false);
     for (int i = 0; i < GlobalMembers.MAX_TEAM_CELL_COUNT; ++i)
     {
         int nGroup = ObjectSelf.GetInstance().Teams.GetDefaultGroup();
         if (nGroup < 0 && nGroup >= GlobalMembers.MAX_MATRIX_COUNT)
         {
             continue;
         }
         X_GUID pMemberGuiD = ObjectSelf.GetInstance().Teams.m_Matrix[nGroup, i];
         if (pMemberGuiD.GUID_value == HeroObject.GetGuid().GUID_value)
         {
             YetUpFrontImg.SetActive(true);
         }
     }
 }
예제 #25
0
    /// <summary>
    /// 英雄属性显示
    /// </summary>
    /// m_InfoValue_txt 气血的值
    /// m_InfoValue_txt_1 物理攻击的值
    /// m_InfoValue_txt_2 法术攻击的值
    /// m_InfoValue_txt_3 物理防御的值
    /// m_InfoValue_txt_4 法术防御的值
    private void ShowHeroLevelAndExp(ObjectCard card)
    {
        //m_HeroMake_btn.gameObject.SetActive(!(m_HeroData.getHeroDes() == "-1.0"));

        //等级显示
        if (card.GetHeroData().Level > m_HeroData.getMaxLevel())
        {
            m_Level_txt.text = m_HeroData.getMaxLevel().ToString();
        }
        else if (card.GetHeroData().Level <= 1)
        {
            m_Level_txt.text = "1";
        }
        else
        {
            m_Level_txt.text = card.GetHeroData().Level.ToString();
        }
        //经验条显示
        //m_ExpBar.value = CurCard.GetHeroData().GetExpPercentage();
        //基础属性
        m_InfoValue_txt.text   = card.GetMaxHP().ToString();
        m_InfoValue_txt_1.text = card.GetPhysicalAttack().ToString();
        m_InfoValue_txt_2.text = card.GetMagicAttack().ToString();
        m_InfoValue_txt_3.text = card.GetPhysicalDefence().ToString();
        m_InfoValue_txt_4.text = card.GetMagicDefence().ToString();
    }
예제 #26
0
    public void RefreshHero(Hero _hero)
    {
        X_GUID _guid = new X_GUID();

        _guid.GUID_value = _hero.key;
        ObjectCard obj = FindHero(_guid);

        if (obj != null)
        {
            obj.GetHeroData().Init(_hero, true);
            obj.UpdateAttributeValue();
        }
        else
        {
            ObjectCard pHero = new ObjectCard();
            pHero.GetHeroData().Init(_hero);
            pHero.UpdateItemEffectValue();
            pHero.UpdateTeamEffectValue();
            pHero.UpdateTrainEffectValue();

            AddIHero(pHero);

            newHeroList.Add(_guid);

            AssetLoader.Inst.DynamicLoadHeroCardRes(_hero.heroid);
        }
        GameEventDispatcher.Inst.dispatchEvent(GameEventID.Net_RefreshHero, _hero.key);
    }
예제 #27
0
    //是否满足条件
    static bool IsEnough(ObjectCard oc, ExplorequestTemplate et)
    {
        int needHeroType = et.getNeedHeroType();

        bool result = false;

        switch (needHeroType)
        {
        case 1:
            bool lvEnough      = oc.GetHeroData().Level >= et.getNeedHeroLevel();
            bool campEnough    = new List <int>(et.getNeedHeroCamp()).Contains(oc.GetHeroRow().getCamp());
            bool qualityEnough = oc.GetHeroRow().getQuality() >= et.getNeedHeroStar();

            result = lvEnough && campEnough && qualityEnough;
            break;

        case 2:
            bool inIds1 = new List <int>(et.getNeedHeroID1()).Contains(oc.GetHeroData().TableID);
            bool inIds2 = new List <int>(et.getNeedHeroID2()).Contains(oc.GetHeroData().TableID);
            bool inIds3 = new List <int>(et.getNeedHeroID3()).Contains(oc.GetHeroData().TableID);
            bool inIds4 = new List <int>(et.getNeedHeroID4()).Contains(oc.GetHeroData().TableID);
            bool inIds5 = new List <int>(et.getNeedHeroID5()).Contains(oc.GetHeroData().TableID);

            result = inIds1 || inIds2 || inIds3 || inIds4 || inIds5;
            break;

        default:
            break;
        }

        return(result);
    }
예제 #28
0
    public bool IsItemEquiped(ItemEquip itemEquip, ObjectCard objectCard = null)
    {
        if (itemEquip == null)
        {
            return(false);
        }

        ///指定的英雄,则去指定的英雄身上查找;
        if (objectCard != null)
        {
            return(objectCard.GetHeroData().IsItemEquiped(itemEquip));
        }

        ///没有指定英雄,在所有英雄身上查找;
        for (int i = 0, j = m_HeroList.Count; i < j; i++)
        {
            if (m_HeroList[i] == null)
            {
                continue;
            }

            if (m_HeroList[i].GetHeroData().IsItemEquiped(itemEquip))
            {
                return(true);
            }
        }

        return(false);
    }
 /// <summary>
 /// 设置英雄的数据
 /// </summary>
 /// <param name="artRes">资源表</param>
 /// <param name="card">当前卡牌</param>
 /// <param name="heroTabId">英雄表ID</param>
 /// <param name="attackType">攻击类型(远近)</param>
 public static void SetHeroData(ArtresourceTemplate artRes, ObjectCard card, int heroTabId, int attackType)
 {
     m_ArtResData  = artRes;
     m_Card        = card;
     m_HeroTableId = heroTabId;
     m_AttackType  = attackType;
 }
예제 #30
0
    private bool CheckAdvancedHero(ObjectCard hero)
    {
        if (hero == null)
        {
            return(false);
        }

        bool         _result;
        HeroTemplate _heroTemplate = hero.GetHeroRow();

        long _resourceCount = 0;

        if (m_ObjectSelf.TryGetResourceCountById(_heroTemplate.getStageUpCostType1(), ref _resourceCount))
        {
            _result = hero.GetHeroData().Level >= _heroTemplate.getMaxLevel() && _resourceCount > _heroTemplate.getStageUpCost1();
        }
        else
        {
            _result = false;
        }

        if (!_result && m_ObjectSelf.TryGetResourceCountById(_heroTemplate.getStageUpCostType2(), ref _resourceCount))
        {
            _result |= _resourceCount > _heroTemplate.getStageUpCost2();
        }

        return(_result);
    }