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); } }
public void SetData(LegionData legionData, long choiceUid) { if (choiceUid == 0) { return; } uid = choiceUid; mData = null; for (int i = 0; i < legionData.listMember.Count; i++) { if (legionData.listMember[i].uid == uid) { mData = legionData.listMember[i]; break; } } if (mData == null) { return; } nameLab.text = mData.memberName; levelLab.text = mData.level.ToString(); headIcon.spriteName = string.Format("{0}{1}", mData.portrait, (mData.skin > 0) ? "_" + mData.skin : string.Empty);// "Partner_Head_Sidatuila"; // 暂时默认 headFrame.spriteName = EconemyTemplateManager.Instance.GetHeadFrame(mData.headFrame).iconId; contentLab.text = EB.Localizer.GetString("ID_uifont_in_LTLegionMainMenu_Label_41"); }
/// <summary> /// 初始化 /// </summary> /// <param name="data">公会成员数据</param> /// <param name="index">数据序号</param> public void Init(LegionMemberData data) { mMemberData = data; HeadIconSp.spriteName = Hotfix_LT.Data.CharacterTemplateManager.Instance.GetHeroInfo(data.templateId, data.skin).icon; FrameIconSp.spriteName = Hotfix_LT.Data.EconemyTemplateManager.Instance.GetHeadFrame(data.headFrame).iconId; LevelLab.text = mMemberData.level.ToString(); NameLab.text = mMemberData.memberName; }
public void SetData(LegionData legionData, long choiceUid, List <OtherPlayerPartnerData> partnerList = null) { if (legionData == null || legionData.userMemberData == null) { return; } this.legionData = legionData; if (legionData.userMemberData.dutyType == eAllianceMemberRole.Owner) { bg.height = bgFullHeight; hideButtonObj.SetActive(true); UpdateAnchors(); } else if (legionData.userMemberData.dutyType == eAllianceMemberRole.ExtraOwner) { bg.height = bgFullHeight; hideButtonObj.SetActive(true); UpdateAnchors(); } else { bg.height = bgSmallHeight; hideButtonObj.SetActive(false); UpdateAnchors(); } if (choiceUid == 0) { if (isthisInit) { SetBtnView(); } return; } formationInfo.Init(choiceUid, partnerList); _choiceUid = choiceUid; mData = null; for (int i = 0; i < legionData.listMember.Count; i++) { if (legionData.listMember[i].uid == _choiceUid) { mData = legionData.listMember[i]; break; } } if (mData == null) { return; } ShowPersonage(); }
//处理排序 private void RankLegionMembers() { if (legionData == null || legionData.listMember == null) { return; } //冒泡排序 for (int i = 0; i < legionData.listMember.Count; i++) { for (int j = i + 1; j < legionData.listMember.Count; j++) { bool isChange = false; if (legionData.listMember[i].offlineTime != 0 && legionData.listMember[j].offlineTime == 0) //在线一定和不在线的交换 { isChange = true; } else if (legionData.listMember[i].offlineTime == 0 && legionData.listMember[j].offlineTime != 0) { } else if (((int)legionData.listMember[i].dutyType) < ((int)legionData.listMember[j].dutyType)) //职位 { isChange = true; } else if (((int)legionData.listMember[i].dutyType) != ((int)legionData.listMember[j].dutyType)) { } else if (legionData.listMember[i].level < legionData.listMember[j].level)//等级 { isChange = true; } else if (legionData.listMember[i].level != legionData.listMember[j].level) { } else if (legionData.listMember[i].totaldonate < legionData.listMember[j].totaldonate) //贡献 { isChange = true; } if (!isChange) { continue; //如果没有需要交换 就下一个 } LegionMemberData buff = legionData.listMember[i]; legionData.listMember[i] = legionData.listMember[j]; legionData.listMember[j] = buff; } } }
/// <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); } }
private void SetMember(AllianceMember member, LegionMemberData memberData) { memberData.uid = member.Uid; memberData.memberName = member.Name; memberData.level = member.Level; memberData.portrait = member.Portrait; memberData.templateId = member.templateId; memberData.skin = member.Skin; memberData.headFrame = member.HeadFrame; memberData.todaydonate = member.TodayDonateDegree; memberData.totaldonate = member.DonateDegree; memberData.dutyType = member.Role; memberData.offlineTime = member.OfflineTime; memberData.dutyTypeStr = GetMemberPosName(memberData.dutyType); System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)); // 当地时区 DateTime dt = startTime.AddSeconds(member.OfflineTime); if (member.OfflineTime != 0) { TimeSpan behind = DateTime.Now - dt; memberData.offlineHour = (int)(behind.TotalHours); } else { memberData.offlineHour = 0; } memberData.todayDonateTimes = member.TodayDonated.Times; if (member.Uid == LoginManager.Instance.LocalUserId.Value) //如果是用户自己 { memberData.todayLuxuryDonateTimes = member.TodayDonated.LuxuryTimes; memberData.todayHcDonateTimes = member.TodayDonated.HcTimes; memberData.todayGoldDonateTimes = member.TodayDonated.GoldTimes; legionData.userMemberData = memberData; } }
/// <summary> /// 点击解除按钮 /// </summary> public void OnClickRelieve() { if (mCurGiveMember != null) { if (!IsInLegion(mCurGiveMember.uid)) { Init(); return; } MessageTemplateManager.ShowMessage(eMessageUIType.MessageDialogue_4, string.Format(EB.Localizer.GetString("ID_LEGION_MEDAL_RELIEVE_CONFIRM"), mCurGiveMember.memberName), delegate(int result) { if (result == 0) { LegionLogic.GetInstance().UnlinkMedalPair(mCurGiveMember.uid, delegate { mCurGiveMember = null; DataLookupsCache.Instance.CacheData("alliance.account.medal.send", null); Init(); }); } }); } }
/// <summary> /// 初始化数据 /// </summary> private void InitData() { mCurMedalState = EMedalState.mBuy; int num = 0; DataLookupsCache.Instance.SearchDataByID("alliance.account.medal.num", out num); IDictionary medalMember; DataLookupsCache.Instance.SearchDataByID("alliance.account.medal.send", out medalMember); if (medalMember == null) { if (num > 0) { mCurMedalState = EMedalState.mGive; } return; } long uid = 0; int timer = 0; mEndTime = 0; foreach (DictionaryEntry item in medalMember) { timer = EB.Dot.Integer("expiry", item.Value, 0); if (long.Parse(item.Key.ToString()) == 0 || EB.Time.Now >= timer) { continue; } uid = long.Parse(item.Key.ToString()); mEndTime = timer; } if (uid == 0 || EB.Time.Now >= mEndTime) { if (num > 0) { mCurMedalState = EMedalState.mGive; } return; } mCurGiveMember = null; for (int i = 0; i < mLegionMemberDataList.Count; i++) { if (mLegionMemberDataList[i].uid == uid) { mCurGiveMember = mLegionMemberDataList[i]; break; } } if (mCurGiveMember == null) { if (num > 0) { mCurMedalState = EMedalState.mGive; } return; } mCurMedalState = EMedalState.mCountDown; }