Beispiel #1
0
        public void SetLegionMembers(List <AllianceMember> members)
        {
            int d = members.Count - legionData.listMember.Count;

            if (d > 0)
            {
                for (int i = 0; i < d; i++)
                {
                    LegionMemberData md = new LegionMemberData();
                    legionData.listMember.Add(md);
                }
            }
            else if (d < 0)
            {
                for (int i = 0; i < -d; i++)
                {
                    legionData.listMember.RemoveAt(legionData.listMember.Count - 1);
                }
            }

            for (int i = 0; i < members.Count; i++)
            {
                SetMember(members[i], legionData.listMember[i]);
            }

            RankLegionMembers();

            if (LegionEvent.NotifyUpdateLegionData != null)
            {
                LegionEvent.NotifyUpdateLegionData(legionData);
            }
        }
Beispiel #2
0
        public void SetAllianceApplys(List <AllianceApply> applies)
        {
            int d = applies.Count - legionData.listRequestJoin.Count;

            if (d > 0)
            {
                for (int i = 0; i < d; i++)
                {
                    RequestJoinData rjd = new RequestJoinData();
                    legionData.listRequestJoin.Add(rjd);
                }
            }
            else if (d < 0)
            {
                for (int i = 0; i < -d; i++)
                {
                    legionData.listRequestJoin.RemoveAt(legionData.listRequestJoin.Count - 1);
                }
            }

            int index = 0;

            for (int i = 0; i < applies.Count; i++)
            {
                RequestJoinData rjd  = legionData.listRequestJoin[index];
                AllianceApply   data = applies[i];
                if (data == null) //如果为空就移除
                {
                    legionData.listRequestJoin.RemoveAt(legionData.listRequestJoin.Count - 1);
                    continue;
                }
                rjd.name      = data.Name;
                rjd.level     = data.Level;
                rjd.approveID = data.Uid;
                rjd.headIcon  = data.Portrait;
                rjd.headFrame = data.Frame;
                index++;
            }

            if (LegionEvent.NotifyUpdateLegionData != null)
            {
                LegionEvent.NotifyUpdateLegionData(legionData);
            }
        }
Beispiel #3
0
        /// <summary>
        /// 合并操作成员列表
        /// </summary>
        /// <param name="members"></param>
        public void MergeLegionMembers(List <AllianceMember> members)
        {
            if (members == null)
            {
                return;
            }


            for (int i = 0; i < members.Count; i++)
            {
                if (members[i] == null)
                {
                    continue;
                }

                bool isFind = false;
                for (int j = 0; j < legionData.listMember.Count; j++)
                {
                    if (legionData.listMember[j].uid == members[i].Uid)
                    {
                        SetMember(members[i], legionData.listMember[j]);
                        isFind = true;
                        break;
                    }
                }

                if (!isFind)
                {
                    LegionMemberData md = new LegionMemberData();
                    legionData.listMember.Add(md);
                    SetMember(members[i], md);
                }
            }

            RankLegionMembers();

            if (LegionEvent.NotifyUpdateLegionData != null)
            {
                LegionEvent.NotifyUpdateLegionData(legionData);
            }
        }
Beispiel #4
0
        public void SetAllianceDetail(AllianceDetail detail)
        {
            legionData.legionName       = detail.Name;
            legionData.ownerName        = detail.OwnerName;
            legionData.legionLevel      = detail.Level;
            legionData.logTxt           = detail.Notice;
            legionData.maxPeopleNum     = detail.MaxMemberCount;
            legionData.currentPeopleNum = detail.MemberCount;
            legionData.currentExp       = detail.CurrentExp;
            legionData.mailTimes        = detail.MailTimes;
            legionData.todayExp         = detail.TodayExp;
            AllianceLevelConfig[] levelConfigs = AlliancesManager.Instance.Config.Levels;

            if (levelConfigs != null)
            {
                for (int i = 0; i < levelConfigs.Length; i++)
                {
                    AllianceLevelConfig levelConfig = levelConfigs[i];
                    if (!isTechConfigInit)
                    {
                        SetLegionTechAddInfo(levelConfig.ATKAdd, levelConfig.Level, legionATKAddDic, ref _mATKAddLevel, ref _mATKAdd);
                        SetLegionTechAddInfo(levelConfig.DEFAdd, levelConfig.Level, legionDEFAddDic, ref _mDEFAddLevel, ref _mDEFAdd);
                        SetLegionTechAddInfo(levelConfig.MaxHPAdd, levelConfig.Level, legionMaxHPAddDic, ref _mMaxHPAddLevel, ref _mMaxHPAdd);
                    }
                    if (levelConfig.Level == legionData.legionLevel)
                    {
                        if (i != levelConfigs.Length - 1)
                        {
                            legionData.growupExp          = levelConfigs[i + 1].LevelUpExp;
                            legionData.growupMaxPeopleNum = levelConfigs[i + 1].MaxMemberCount;
                        }
                        else
                        {
                            legionData.growupExp          = levelConfig.LevelUpExp;
                            legionData.growupMaxPeopleNum = levelConfig.MaxMemberCount;
                        }
                        legionData.ATKAdd   = levelConfig.ATKAdd;
                        legionData.DEFAdd   = levelConfig.DEFAdd;
                        legionData.MaxHPAdd = levelConfig.MaxHPAdd;
                        //break;
                    }
                }
            }

            isTechConfigInit          = true;
            legionData.ownerUID       = detail.OwnerUid;
            legionData.notice         = detail.Notice;
            legionData.legionIconID   = detail.IconID;
            legionData.conditionLevel = detail.LimitLevel;
            legionData.isNeedApprove  = detail.IsReview;

            int legionIconIndex   = legionData.legionIconID % 100;
            int legionBgIconIndex = legionData.legionIconID / 100;

            if (dicLegionSpriteName.ContainsKey(legionIconIndex))
            {
                legionData.legionIconSptName = dicLegionSpriteName[legionIconIndex];
            }
            if (dicLegionBGSpriteName.ContainsKey(legionBgIconIndex))
            {
                legionData.legionIconBGSptName = dicLegionBGSpriteName[legionBgIconIndex];
            }

            if (LegionEvent.NotifyUpdateLegionData != null)
            {
                LegionEvent.NotifyUpdateLegionData(legionData);
            }
        }