示例#1
0
        //从伙伴列表中托人
        public void OnModelDragStartByIcon(CombatPartnerCellController partnerCell)
        {
            var partnerData = partnerCell.ItemData;

            if (IsInTeam(partnerData.HeroId) || !FormationUtil.IsHave(partnerData))
            {
                return;
            }
            partnerCell.OnSelect(true);

            OtherPlayerPartnerData data = new OtherPlayerPartnerData();

            data.HeroID       = partnerData.HeroId;
            data.Name         = partnerData.HeroInfo.name;
            data.Attr         = partnerData.HeroInfo.char_type;
            data.Icon         = partnerData.HeroInfo.icon;
            data.QualityLevel = partnerData.HeroInfo.role_grade;
            data.Level        = partnerData.Level;
            data.Star         = partnerData.Star;
            data.UpGradeId    = partnerData.UpGradeId;
            data.awakenLevel  = partnerData.IsAwaken;
            CurDragItem.Fill(data);
            CurDragItem.mDMono.gameObject.SetActive(true);
            CurDragItem.mDMono.transform.position = new Vector3(UICamera.lastWorldPosition.x, UICamera.lastWorldPosition.y, DragZ);
        }
示例#2
0
        private OtherPlayerPartnerData GetPartnerData(int heroId)
        {
            int quality;
            int addLevel;
            var partnerData = LTPartnerDataManager.Instance.GetPartnerByHeroId(heroId);

            if (partnerData == null)
            {
                EB.Debug.LogError("Can't get partner by HeroId: " + heroId);
                return(null);
            }

            LTPartnerDataManager.GetPartnerQuality(partnerData.UpGradeId, out quality, out addLevel);

            var data = new OtherPlayerPartnerData();

            data.Name         = partnerData.HeroInfo.name;
            data.Attr         = partnerData.HeroInfo.char_type;
            data.Icon         = partnerData.HeroInfo.icon;
            data.QualityLevel = quality;
            data.Level        = partnerData.Level;
            data.Star         = partnerData.Star;
            data.UpGradeId    = partnerData.UpGradeId;
            data.awakenLevel  = partnerData.IsAwaken;
            return(data);
        }
示例#3
0
        private void SetItemData(bool isWin, Transform t, OtherPlayerPartnerData data)
        {
            var item = t.GetMonoILRComponent <FormationPartnerItem>();

            item.Fill(data);
            item.mDMono.gameObject.SetActive(true);

            ShowMaskOrPlaceholder(t, (data == null), isWin);
        }
示例#4
0
        private void CreateItem(bool isWin, Transform parent, OtherPlayerPartnerData data, int index = 0)
        {
            var item = GameObject.Instantiate(_itemObj, parent).GetMonoILRComponent <FormationPartnerItem>();

            item.Fill(data);
            item.mDMono.gameObject.SetActive(true);
            item.mDMono.transform.SetSiblingIndex(index);

            ShowMaskOrPlaceholder(item.mDMono.transform, (data == null), isWin);
        }
示例#5
0
        void InitTeamFormation()
        {
            for (int teamIndex = 0; teamIndex < NationUtil.TeamNames.Length; ++teamIndex)
            {
                List <TeamMemberData> teamMemDataList = LTFormationDataManager.Instance.GetTeamMemList(NationUtil.TeamNames[teamIndex]);

                int startIndexInAllPartner = teamIndex * 4;

                List <OtherPlayerPartnerData> fillPartnerDataList = new List <OtherPlayerPartnerData>();

                List <int> fillPosList = new List <int>();
                for (int teamMemIndex = 0; teamMemIndex < teamMemDataList.Count; ++teamMemIndex)
                {
                    var memberData = teamMemDataList[teamMemIndex];
                    if (memberData.Pos >= 4)
                    {
                        EB.Debug.LogError("memberData.Pos >= 4 for team:{0},Pos:{1}", NationUtil.TeamNames[teamIndex], memberData.Pos);
                        continue;
                    }
                    fillPosList.Add(memberData.Pos);
                    int HeroUpGradeId = 0;
                    OtherPlayerPartnerData partnerData = new OtherPlayerPartnerData();
                    partnerData.InfoId = memberData.InfoID;
                    partnerData.HeroID = memberData.HeroID;
                    DataLookupsCache.Instance.SearchIntByID(string.Format("heroStats.{0}.stat.awake.level", partnerData.HeroID), out HeroUpGradeId);
                    var charTpl = Hotfix_LT.Data.CharacterTemplateManager.Instance.GetHeroInfo(memberData.InfoID);
                    partnerData.Name         = charTpl.name;
                    partnerData.Attr         = charTpl.char_type;
                    partnerData.Icon         = charTpl.icon;
                    partnerData.QualityLevel = charTpl.role_grade;
                    partnerData.UpGradeId    = HeroUpGradeId;
                    Hashtable heroStatData = null;
                    if (!DataLookupsCache.Instance.SearchDataByID <Hashtable>("heroStats." + memberData.HeroID, out heroStatData))
                    {
                        EB.Debug.LogError("not hero data for heroid={0}", memberData.HeroID);
                        continue;
                    }
                    partnerData.Level       = EB.Dot.Integer("stat.level", heroStatData, 0);
                    partnerData.Star        = EB.Dot.Integer("star", heroStatData, 0);
                    partnerData.awakenLevel = EB.Dot.Integer("stat.awaken", heroStatData, 0);
                    fillPartnerDataList.Add(partnerData);

                    int fillIndex = startIndexInAllPartner + memberData.Pos;
                    FormationPartnerItems[fillIndex].Fill(partnerData);
                }

                for (int idx = 0; idx < 4; ++idx)
                {
                    if (!fillPosList.Contains(idx))
                    {
                        FormationPartnerItems[startIndexInAllPartner + idx].Fill(null);
                    }
                }
            }
        }
示例#6
0
        private OtherPlayerPartnerData[] GetPartnerDataArray(ArrayList arrayList)
        {
            var result = new OtherPlayerPartnerData[arrayList.Count];

            for (var i = 0; i < arrayList.Count; i++)
            {
                result[i] = GetPartnerData(arrayList[i]);
            }

            return(result);
        }
示例#7
0
        public virtual void Fill(OtherPlayerPartnerData data, bool canOpen = true)
        {
            if (data == null || data.Level == 0)
            {
                mDMono.gameObject.SetActive(false);
                return;
            }

            this.canOpen = canOpen;
            PartnerData  = data;
            LevelLabel.gameObject.CustomSetActive(data.Level > 0);
            LevelLabel.text = data.Level.ToString();
            LTUIUtil.SetLevelText(LevelBgSprite, LevelLabel, data.Level + data.AllRoundLevel);
            AttrBGSprite.spriteName = LTPartnerConfig.LEVEL_SPRITE_NAME_DIC[data.Attr];
            LTPartnerConfig.SetLevelSprite(AttrBGSprite, data.Attr, data.ArtifactLevel >= 0);
            HotfixCreateFX.ShowCharTypeFX(charFx, efClip, AttrBGSprite.transform, (PartnerGrade)data.QualityLevel, data.Attr);
            IconSprite.spriteName = data.Icon;

            // 新增
            if (BreakLabel != null && QualityBorderSpriteBg != null)
            {
                SetStarNum(data.Star, data.awakenLevel);
                int quality  = 0;
                int addLevel = 0;
                LTPartnerDataManager.GetPartnerQuality(data.UpGradeId, out quality, out addLevel);
                GameItemUtil.SetColorfulPartnerCellFrame(quality, QualityBorderSpriteBg);
                HotfixCreateFX.ShowUpgradeQualityFX(upgradeFx, QualityBorderSprite.transform, quality, upgradeefclip);
                QualityBorderSprite.spriteName = LTPartnerConfig.OUT_LINE_SPRITE_NAME_DIC[quality];

                if (addLevel > 0)
                {
                    BreakLabel.gameObject.SetActive(true);
                    BreakLabel.text = "+" + addLevel.ToString();
                }
                else
                {
                    BreakLabel.gameObject.SetActive(false);
                }
            }
            else
            {
                //    LevelAttrBGSprite.spriteName = UIBuddyShowItem.AttrToLevelBG(data.Attr);
                QualityBorderSprite.spriteName = LTPartnerConfig.OUT_LINE_SPRITE_NAME_DIC[data.QualityLevel];
                GameItemUtil.SetColorfulPartnerCellFrame(data.QualityLevel, QualityBorderSpriteBg);
                HotfixCreateFX.ShowUpgradeQualityFX(upgradeFx, QualityBorderSprite.transform, data.QualityLevel, upgradeefclip);
                SetStarNum(data.Star, data.awakenLevel);
            }
            if (data != null)
            {
                mDMono.gameObject.CustomSetActive(true);
            }
        }
示例#8
0
        public override void Fill(OtherPlayerPartnerData data, bool canOpen = false)
        {
            Collider collider = mDMono.gameObject.GetComponent <Collider>();

            if (data == null)
            {
                EmptyGO.CustomSetActive(true);
                Container.CustomSetActive(false);
                return;
            }
            else
            {
                EmptyGO.CustomSetActive(false);
                Container.CustomSetActive(true);
            }
            base.Fill(data);
        }
示例#9
0
 public override void SetMenuData(object param)
 {
     InitUI();
     data = param as OtherPlayerPartnerData;
     if (data == null)
     {
         EB.Debug.LogError("LTPartnerInfoController.SetMenuData data == null");
         return;
     }
     LTUIUtil.SetText(OtherPlayerName, data.otherPlayerName);
     LTUIUtil.SetText(CombatPower, ((int)data.GetOtherPower()).ToString());//需要再装备显示之前,因为这里边有装备属性数据的初始化
     SetHeroIcon(data.Name, data.UpGradeId, data.Icon, data.Attr, data.QualityLevel, data.Star, data.Level + data.AllRoundLevel, data.RoleProflie, data.RoleProflieSprite, data.awakenLevel);
     SetSkillInfo(data.commonSkill, data.commonSkillLevel, data.activeSkill, data.activeSkillLevel, data.passiveSkill, data.passiveSkilLevel, data.InfoId, data.awakenLevel);
     SetHeroEquipment(data.equipmentList);
     SetHeroAttr(data.FinalAttributes);
     SetEquipmentAttr(data.equipmentAdds);
 }
示例#10
0
        private OtherPlayerPartnerData GetPartnerData(object data)
        {
            if (data == null)
            {
                return(null);
            }

            var heroInfo    = Data.CharacterTemplateManager.Instance.GetHeroInfo(EB.Dot.Integer("charId", data, 0), EB.Dot.Integer("skin", data, 0));
            var partnerData = new OtherPlayerPartnerData();

            partnerData.Name         = heroInfo != null ? heroInfo.name : "";
            partnerData.Attr         = heroInfo != null ? heroInfo.char_type : Data.eRoleAttr.None;
            partnerData.Icon         = heroInfo != null ? heroInfo.icon : "";
            partnerData.QualityLevel = heroInfo != null ? heroInfo.role_grade : 0;
            partnerData.Level        = EB.Dot.Integer("level", data, 0);
            partnerData.Star         = EB.Dot.Integer("star", data, 0);
            partnerData.UpGradeId    = EB.Dot.Integer("upgradeId", data, 0);
            partnerData.awakenLevel  = EB.Dot.Integer("awakenLevel", data, 0);
            return(partnerData);
        }
示例#11
0
 public void Fill(OtherPlayerPartnerData partnerData)
 {
     PartnerItem.mDMono.gameObject.SetActive(true);
     PartnerItem.Fill(partnerData);
 }
示例#12
0
        private void SetData()
        {
            ArrayList data;

            DataLookupsCache.Instance.SearchDataByID("honorBattleResult", out data);

            if (data != null)
            {
                object dataLeft        = null;
                object dataRight       = null;
                int    playerWorldId   = 0;
                int    opponentWorldId = 0;

                for (var i = 0; i < data.Count; i++)
                {
                    var dt          = data[i];
                    var characterId = Data.CharacterTemplateManager.Instance.TemplateidToCharacterid(EB.Dot.Integer("teamInfo.leader", dt, 0).ToString());
                    var heroInfo    = Data.CharacterTemplateManager.Instance.GetHeroInfo(characterId, EB.Dot.Integer("teamInfo.skin", dt, 0));
                    var headFrame   = Data.EconemyTemplateManager.Instance.GetHeadFrame(EB.Dot.String("teamInfo.headFrame", dt, "")).iconId;
                    var worldId     = EB.Dot.Integer("teamInfo.worldId", dt, 0);
                    var name        = EB.Dot.String("teamInfo.name", dt, "");

                    // 0代表玩家自己的队伍
                    if (EB.Dot.Integer("teamIndex", dt, 0) == 0)
                    {
                        if (heroInfo != null)
                        {
                            _avatarLeft.spriteName = heroInfo.icon;
                        }

                        _frameLeft.gameObject.SetActive(!string.IsNullOrEmpty(headFrame));
                        _frameLeft.spriteName = headFrame;
                        _nameLeft.text        = string.Format("{0}【{1}{2}】", name, worldId, EB.Localizer.GetString("ID_LOGIN_SERVER_NAME"));
                        _pointsLeft.text      = string.Format("{0}: {1}", EB.Localizer.GetString("ID_ID_ACTIVITY_UR_SCORE"), EB.Dot.Integer("teamInfo.scorePre", dt, 0));
                        _pointsRight.text     = EB.Dot.Integer("teamInfo.scorePost", dt, 0).ToString();
                        dataLeft      = dt;
                        playerWorldId = worldId;
                    }
                    else
                    {
                        if (heroInfo != null)
                        {
                            _avatarRight.spriteName = heroInfo.icon;
                        }

                        _frameRight.gameObject.SetActive(!string.IsNullOrEmpty(headFrame));
                        _frameRight.spriteName = headFrame;
                        _nameRight.text        = name;
                        dataRight       = dt;
                        opponentWorldId = worldId;
                    }
                }

                _nameRight.text += string.Format("【{0}{1}】", (opponentWorldId < 1) ? playerWorldId : opponentWorldId, EB.Localizer.GetString("ID_LOGIN_SERVER_NAME"));

                var roundResult    = EB.Dot.Array("roundResult", dataLeft, null);
                var winNum         = 0;
                var roundInfoLeft  = EB.Dot.Array("roundInfo", dataLeft, null);
                var roundInfoRight = EB.Dot.Array("roundInfo", dataRight, null);

                if (roundResult == null)
                {
                    _isWon  = false;
                    _rounds = 0;
                }
                else
                {
                    for (var i = 0; i < roundResult.Count; i++)
                    {
                        OtherPlayerPartnerData[] arrleft  = (roundInfoLeft != null && i < roundInfoLeft.Count) ? GetPartnerDataArray(roundInfoLeft[i] as ArrayList) : null;
                        OtherPlayerPartnerData[] arrRight = (roundInfoRight != null && i < roundInfoRight.Count) ? GetPartnerDataArray(roundInfoRight[i] as ArrayList) : null;
                        var leftDatas  = new OtherPlayerPartnerData[_MAX_PARTNER_NUM];
                        var rightDatas = new OtherPlayerPartnerData[_MAX_PARTNER_NUM];

                        if (arrleft != null)
                        {
                            for (var j = 0; j < arrleft.Length; j++)
                            {
                                leftDatas[j] = arrleft[j];
                            }
                        }

                        if (arrRight != null)
                        {
                            for (var j = 0; j < arrRight.Length; j++)
                            {
                                rightDatas[j] = arrRight[j];
                            }
                        }

                        if (roundResult[i].ToInt32() == 1)
                        {
                            winNum += 1;
                            _infos[i].SetData(true, false, leftDatas, rightDatas);
                        }
                        else
                        {
                            _infos[i].SetData(false, true, leftDatas, rightDatas);
                        }
                    }

                    _score.text        = string.Format("{0}:{1}", winNum, roundResult.Count - winNum);
                    _isWon             = winNum > (roundResult.Count - winNum);
                    _rounds            = roundResult.Count;
                    _pointsRight.color = _isWon ? _winScoreColor : _loseScoreColor;
                }
            }
        }