//公会刷新成员信息 public void onGuilRefreshMemeber(Dictionary <string, object> data) { GuildMemberInfo info = ChangeMemberData(data); for (int i = 0; i < GuildMainMediator.mMyGuild.memberList.Count; i++) { GuildMemberInfo item = GuildMainMediator.mMyGuild.memberList[i]; if (item.id == info.id) { GuildMainMediator.mMyGuild.memberList.Remove(item); GuildMainMediator.mMyGuild.memberList.Add(info); } } if (GUIManager.HasView("guildofficepanel")) { GuildOfficeMediator.guildOfficeMediator.SetMemberGridData(); } if (GUIManager.HasView("guilddonationpanel")) { GuildDonationMediator.guilddonationMediator.SetDayDonateData(); GuildDonationMediator.guilddonationMediator.SetDonationInfo(); } if (GUIManager.HasView("guildinteractpanel")) { if (GuildInteractMediator.guildinteractMediator.mInfo.id != info.id) { return; } GuildInteractMediator.guildinteractMediator.mInfo = info; GuildInteractMediator.guildinteractMediator.SetPowerGridDate(); } }
//周贡献 private int CompareWeekDonate(GuildMemberInfo info1, GuildMemberInfo info2) { if (info1.weekDonate > info2.weekDonate) { return(-1); } else if (info1.weekDonate < info2.weekDonate) { return(1); } else if (info1.onlineState < info2.onlineState) { return(-1); } else if (info1.onlineState > info2.onlineState) { return(1); } else if (info1.power > info2.power) { return(-1); } else if (info1.power < info2.power) { return(1); } else { return(0); } }
public void SendMemberList(Player client, int startIndex) { if (startIndex < 0 || startIndex >= _members.Count) { return; } GuildMemberPacket msg; if (GuildMemberPacket.Create(out msg)) { var count = 0; for (var i = startIndex; i < Amount && count < 12; i++) { var member = _members[i]; var info = new GuildMemberInfo { Name = member.Name, Rank = member.Rank, Donation = member.TotalDonation }; msg.AddInfo(info); count++; } client.Send(msg); } }
//捐钱成功 public void onGuildDonateSucc(object val, Dictionary <string, object> data) { GuildMainMediator.mMyGuild.guildFunds = GameConvert.IntConvert(val); GuildMemberInfo info = ChangeMemberData(data); for (int i = 0; i < GuildMainMediator.mMyGuild.memberList.Count; i++) { GuildMemberInfo item = GuildMainMediator.mMyGuild.memberList[i]; if (item.id == info.id) { GuildMainMediator.mMyGuild.memberList.Remove(item); GuildMainMediator.mMyGuild.memberList.Add(info); } } if (GUIManager.HasView("guildmainpanel")) { GuildMainMediator.guildmainMediator.SetGuildFunds(); } if (GUIManager.HasView("guilddonationpanel")) { GuildDonationMediator.guilddonationMediator.SetDayDonateData(); GuildDonationMediator.guilddonationMediator.SetDonationInfo(); } }
/// <inheritdoc/> public bool DeleteGuildMember(GuildMemberInfo guildMember) { try { var repository = this.repositoryManager.GetRepository <GuildMemberInfo>(); if (repository.Delete(guildMember)) { if (this.guildDictionary.TryGetValue(guildMember.GuildId, out GuildContainer guild)) { guild.Members.Remove(guildMember.Name); guild.Guild.Members.Remove(guildMember); } return(true); } return(false); } catch (Exception ex) { Log.Error(ex); } return(false); }
//能否弹劾 领袖 private bool GetIsImpeach() { bool isPower = GuildMainMediator.guildmainMediator.IsPowerEnough("13"); if (!isPower) { return(false); } int needTime = GuildBaseConfig.GetGuildBase(1).impeachTime; for (int i = 0; i < GuildMainMediator.mMyGuild.memberList.Count; i++) { GuildMemberInfo info = GuildMainMediator.mMyGuild.memberList[i]; if (info.power == 5 && info.onlineState > 1) { TimeSpan timeSpan = (DateTime.UtcNow - new DateTime(1970, 1, 1)); int cstName = (int)timeSpan.TotalSeconds; int leftTime = cstName - info.onlineState; if (leftTime >= needTime * 24 * 60 * 60) { return(true); } } } return(false); }
public static void Handle(Entities.GameClient client, DataPacket packet) { if (client.Guild == null) { return; } using (var info = new GuildMemberListPacket(packet)) { Data.GuildMember[] members = client.Guild.SelectFromIndex(info.StartIndex); using (var sinfo = new GuildMemberListPacket(members.Length)) { foreach (Data.GuildMember member in members) { sinfo.AddInfo(GuildMemberInfo.Create(member)); } int offset = 16; foreach (GuildMemberInfo minfo in sinfo.MemberList) { minfo.Append(sinfo, offset, out offset); } client.Send(sinfo); } } }
public void AddInfo(GuildMemberInfo info) { if ((MemberList.Count + 1) > Amount) return; MemberList.Add(info); }
//公会开除 public void onKictOutSucc(object val) { int roleId = GameConvert.IntConvert(val); for (int i = 0; i < GuildMainMediator.mMyGuild.memberList.Count; i++) { GuildMemberInfo info = GuildMainMediator.mMyGuild.memberList[i]; if (info.id == roleId) { GuildMainMediator.mMyGuild.memberList.Remove(info); } } if (GUIManager.HasView("guildofficepanel")) { GuildOfficeMediator.guildOfficeMediator.SetMemberGridData(); } if (GUIManager.HasView("guilddonationpanel")) { GuildDonationMediator.guilddonationMediator.SetDayDonateData(); GuildDonationMediator.guilddonationMediator.SetDonationInfo(); } if (GUIManager.HasView("guildinteractpanel")) { GuildInteractMediator.guildinteractMediator.SetPowerGridDate(); } }
public void AddInfo(GuildMemberInfo info) { if ((MemberList.Count + 1) > Amount) { return; } MemberList.Add(info); }
protected override void OnShow(INotification notification) { if (guildinteractMediator == null) { guildinteractMediator = Facade.RetrieveMediator("GuildInteractMediator") as GuildInteractMediator; } mInfo = notification.Body as GuildMemberInfo; Init(); }
private void OnInteractClick(GameObject go) { UIGridItem item = go.transform.parent.GetComponent <UIGridItem>(); GuildMemberInfo info = item.oData as GuildMemberInfo; if (info.id == PlayerMediator.playerInfo.roleId) { return; } Facade.SendNotification(NotificationID.GuildInteract_Show, info); }
//获取公会副会长及简介 public void onGuildViceIntroduce(List <object> list, object val) { string introduce = GameConvert.StringConvert(val); List <GuildMemberInfo> listMember = new List <GuildMemberInfo>(); GuildMemberInfo info = null; for (int i = 0; i < list.Count; i++) { Dictionary <string, object> data = list[i] as Dictionary <string, object>; info = ChangeMemberData(data); listMember.Add(info); } GuildInfoMediator.guildinfoMediator.SetGuildInfo(introduce, listMember); }
private void UpdateDonationGridItem(UIGridItem item) { if (item == null || item.mScripts == null || item.oData == null) { return; } GuildMemberInfo info = item.oData as GuildMemberInfo; item.onClick = OnClickItem; UILabel name = item.mScripts[0] as UILabel; UILabel money = item.mScripts[1] as UILabel; name.text = info.playerName; money.text = info.dayDonate.ToString(); }
//获取职位数量 private int GetGuildPowerNum(int power) { int num = 0; for (int i = 0; i < GuildMainMediator.mMyGuild.memberList.Count; i++) { GuildMemberInfo info = GuildMainMediator.mMyGuild.memberList[i]; if (info.power == power) { num++; } } return(num); }
//成员数据转换 private GuildMemberInfo ChangeMemberData(Dictionary <string, object> data) { GuildMemberInfo info = new GuildMemberInfo(); info.id = GameConvert.IntConvert(data["dbid"]); info.playerName = GameConvert.StringConvert(data["playerName"]); info.power = GameConvert.IntConvert(data["power"]); info.level = GameConvert.IntConvert(data["level"]); info.offical = GameConvert.IntConvert(data["offical"]); info.dayDonate = GameConvert.IntConvert(data["dayDonate"]); info.weekDonate = GameConvert.IntConvert(data["weekDonate"]); info.sumDonate = GameConvert.IntConvert(data["sumDonate"]); info.onlineState = GameConvert.IntConvert(data["onlineState"]); return(info); }
private void OnClick(GameObject go) { if (go == panel.off_btn.gameObject) { Facade.SendNotification(NotificationID.GuildInfo_Hide); } else { if (mTransMemInfoDict.ContainsKey(go.transform)) { GuildMemberInfo info = mTransMemInfoDict[go.transform]; UtilTools.RoleShowInfo(info.id); } Facade.SendNotification(NotificationID.GuildInfo_Hide); } }
public void SetGroupMemberInfo(HeroesGuildMemberInfo groupMemberInfo, HeroesDataContext context) { this.HeroesGuildMemberInfo = groupMemberInfo; string text = groupMemberInfo.CharacterName.RemoveServerHeader(); GetCharacterInfoByName getCharacterInfoByName = context.GetCharacterInfoByName(text).FirstOrDefault <GetCharacterInfoByName>(); int level = (getCharacterInfoByName == null) ? 0 : getCharacterInfoByName.Level; long cid = (getCharacterInfoByName == null) ? -1L : getCharacterInfoByName.ID; long guildCharacterPoint = context.GetGuildCharacterPoint(cid); DateTime?dateTime = null; context.GetLatestConnectedDateByName(text, ref dateTime); DateTime lastLoginTime = (dateTime == null || dateTime == null) ? DateTime.UtcNow : dateTime.Value; this.Key = new GuildMemberKey(cid, (int)groupMemberInfo.CharacterSN, groupMemberInfo.NexonSN, text); this.GuildMemberInfo = new GuildMemberInfo(text, level, groupMemberInfo.emGroupUserType.ToGuildMemberRank(), guildCharacterPoint, lastLoginTime, this.Parent.OnlineMembers.ContainsKey(text)); }
//离线时间 private int CompareOutLineTime(GuildMemberInfo info1, GuildMemberInfo info2) { if (info1.onlineState == 1 || info2.onlineState == 1) { if (info1.onlineState < info2.onlineState) { return(1); } else if (info1.onlineState > info2.onlineState) { return(-1); } else if (info1.power > info2.power) { return(-1); } else if (info1.power < info2.power) { return(1); } } else { if (info1.onlineState > info2.onlineState) { return(1); } else if (info1.onlineState < info2.onlineState) { return(-1); } else if (info1.power > info2.power) { return(-1); } else if (info1.power < info2.power) { return(1); } } return(0); }
public override void SetInfo(object data) { _info = (GuildMemberInfo)data; _txtName.text = _info.Name; _txtLevel.text = _info.Level.ToString(); _txtPosition.text = GuildManager.Instance.GetPositionText(_info.Position); _txtFightScore.text = _info.FightScore.ToString(); _txtActiveScore.text = _info.ActiveScore.ToString(); _txtTime.text = GuildManager.Instance.GetLoginTimeString(_info.LoginTime.GetTime()); if (_info.LoginTime.GetTime() > 0) { _txtTime.color = _offlineColor; } else { _txtTime.color = _onlineColor; } }
/// <inheritdoc/> public bool UpdateGuildMember(GuildMemberInfo guildMember) { try { if (this.guildDictionary.TryGetValue(guildMember.GuildId, out GuildContainer guild)) { using (this.repositoryManager.UseContext(guild.DatabaseContext)) { var guildMemberInfo = guild.Members[guildMember.Name]; guildMemberInfo.Status = guildMember.Status; // its just the status which can be changed return(guild.DatabaseContext.SaveChanges()); } } } catch (Exception ex) { Log.Error(ex); } return(false); }
//刷新成员列表 private void UpdateMemberGrid(UIGridItem item) { if (item == null || item.mScripts == null || item.oData == null) { return; } GuildMemberInfo memberinfo = item.oData as GuildMemberInfo; UITexture portrait_texture = item.mScripts[0] as UITexture; UILabel post_label = item.mScripts[1] as UILabel; UILabel name_label = item.mScripts[2] as UILabel; UILabel G_post_label = item.mScripts[3] as UILabel; UILabel level_label = item.mScripts[4] as UILabel; UILabel weekgongxian_label = item.mScripts[5] as UILabel; UILabel allgongxian_label = item.mScripts[6] as UILabel; UISprite interaction_btn = item.mScripts[7] as UISprite; UILabel state_label = item.mScripts[8] as UILabel; name_label.text = memberinfo.playerName; post_label.text = TextManager.GetUIString("UIGuildPower" + memberinfo.power); G_post_label.text = TextManager.GetUIString("UIOffical" + memberinfo.offical); level_label.text = memberinfo.level.ToString(); weekgongxian_label.text = memberinfo.weekDonate.ToString(); allgongxian_label.text = memberinfo.sumDonate.ToString(); interaction_btn.transform.GetComponent <UIButton>().isEnabled = PlayerMediator.playerInfo.roleId != memberinfo.id; if (memberinfo.onlineState > 1) { TimeSpan timeSpan = (DateTime.UtcNow - new DateTime(1970, 1, 1)); int cstName = (int)timeSpan.TotalSeconds; state_label.color = Color.white; state_label.text = string.Format(TextManager.GetUIString("UIFriend2"), UtilTools.GetMaxTimeFomat(cstName - memberinfo.onlineState)); } else { state_label.color = Color.green; state_label.text = TextManager.GetUIString("UIFriend1"); } UIEventListener.Get(interaction_btn.transform.gameObject).onClick = OnInteractClick; }
//日贡献 private int CompareDayDonate(GuildMemberInfo info1, GuildMemberInfo info2) { if (info1.dayDonate > info2.dayDonate) { return(-1); } else if (info1.dayDonate < info2.dayDonate) { return(1); } else if (info1.onlineState < info2.onlineState) { return(-1); } else if (info1.onlineState > info2.onlineState) { return(1); } else { return(0); } }
//公会成员列表信息 public void onGuildMemberList(List <object> list) { MyGuildInfo guild = GuildMainMediator.mMyGuild; guild.memberList.Clear(); GuildMemberInfo info = null; for (int i = 0; i < list.Count; i++) { Dictionary <string, object> data = list[i] as Dictionary <string, object>; info = ChangeMemberData(data); guild.memberList.Add(info); } if (GUIManager.HasView("guildofficepanel")) { GuildOfficeMediator.guildOfficeMediator.SetMemberGridData(); } if (GUIManager.HasView("guilddonationpanel")) { GuildDonationMediator.guilddonationMediator.SetDayDonateData(); } }
private void OnClickItem(UIGridItem item) { GuildMemberInfo info = item.oData as GuildMemberInfo; UtilTools.RoleShowInfo(info.id); }
/// <inheritdoc/> public Guild CreateGuild(string name, string masterName, Guid masterId, byte[] logo, out ushort shortGuildId, out GuildMemberInfo masterGuildMemberInfo) { shortGuildId = NonGuild; var context = this.repositoryManager.CreateNewContext(); using (this.repositoryManager.UseContext(context)) { var guild = this.repositoryManager.CreateNew <Guild>(); guild.Name = name; guild.Master = masterName; guild.MasterId = masterId; guild.Logo = logo; masterGuildMemberInfo = this.repositoryManager.CreateNew <GuildMemberInfo>(); masterGuildMemberInfo.GuildId = guild.Id; masterGuildMemberInfo.CharacterId = masterId; masterGuildMemberInfo.Name = masterName; masterGuildMemberInfo.Status = GuildPosition.GuildMaster; guild.Members.Add(masterGuildMemberInfo); if (context.SaveChanges()) { var container = this.CreateGuildContainer(guild, context); shortGuildId = container.ShortId; return(guild); } } return(null); }