public void Init(FriendPanel parent, bool isSys, RoleRelation data) { m_parent = parent; m_issys = isSys; m_data = data; if (isSys) { m_lableName.text = "系统消息"; m_lableLevel.text = ""; m_headIcon.spriteName = "icon_system"; SetTipsState(DataManager.Manager <ChatDataManager>().PrivateChatManager.GetNewMsgTipsWithId(0)); m_btnGo.SetActive(false); } else { m_headIcon.spriteName = "icon_head"; m_lableLevel.text = "Lv." + data.level.ToString(); m_lableName.text = data.name; m_btnGo.SetActive(m_parent.CurrContent == FriendPanel.FriendPanelPageEnum.Page_添加); SetTipsState(DataManager.Manager <ChatDataManager>().PrivateChatManager.GetNewMsgTipsWithId(data.uid)); } if (m_choose != null) { m_choose.SetActive(m_parent.CurrContent != FriendPanel.FriendPanelPageEnum.Page_添加); } }
public void OnSelectFriend(RoleRelation role, bool force = false) { if (role != null && !role.isSys) { m_bIsRobot = role.isRobot; if (m_currSelectId == (int)role.uid && !force) { return; } if (m_Content != FriendPanelPageEnum.Page_添加) { m_label_labletips.text = string.Format("正在与{0}聊天", role.name); if (privateChatManager != null) { privateChatManager.SetCurrChatPlayer(role.uid, role.name); } m_trans_PanelInput.gameObject.SetActive(true); } } else { if (m_currSelectId == 0) { return; } //选择系统 m_label_labletips.text = ""; m_trans_PanelInput.gameObject.SetActive(false); if (privateChatManager != null) { privateChatManager.SetCurrChatPlayer(0, ""); } } //设置当前私聊 if (privateChatManager != null) { if (m_Content != FriendPanelPageEnum.Page_添加) { if (m_currSelectId != (int)role.uid) { privateChatManager.OnRefreshOutput = OnRefreshText; privateChatManager.InitCurrChatData(); privateChatManager.OnNewChat = OnAddText; } } else { privateChatManager.OnRefreshOutput = null; privateChatManager.OnNewChat = null; } } m_currSelectId = (role != null) ? (int)role.uid : 0; }
public override bool OnMsg(UIMsgID msgid, object param) { if (msgid == UIMsgID.eUpdateFriendMsgTips) { //TODO系统聊天的tips uint id = (uint)param; if (m_currRelationList == GameCmd.RelationType.Relation_Friend || m_currRelationList == GameCmd.RelationType.Relation_Contact) { // for (int i = 0; i < m_lstSingleFrendItem.Count; i++) // { // if (m_lstSingleFrendItem[i].PlayerId == id) // { // m_lstSingleFrendItem[i].SetTipsState(true); // } // } } } else if (msgid == UIMsgID.eChatWithPlayer) { RoleRelation data = (RoleRelation)param; ToggleContent(FriendPanelPageEnum.Page_最近); m_currRelationList = GameCmd.RelationType.Relation_Contact; RefreshLeftListUI(); OnSelectFriend(data); } return(base.OnMsg(msgid, param)); }
public override void Release(bool depthRelease = true) { base.Release(depthRelease); if (m_data != null) { m_data = null; } }
int FriendSort(RoleRelation left, RoleRelation right) { int leftNum = left.online ? 1:0; int rightNum = right.online ? 1:0; // - 在线优先 + 离线优先 return(rightNum - leftNum); }
void onClick_Btn_sendmessage_Btn(GameObject caster) { RoleRelation data = new RoleRelation() { uid = this.myTeamGridData.teamMemberInfo.id, name = this.myTeamGridData.teamMemberInfo.name }; DataManager.Manager <UIPanelManager>().ShowPanel(PanelID.FriendPanel); DataManager.Manager <UIPanelManager>().SendMsg(PanelID.FriendPanel, UIMsgID.eChatWithPlayer, data); HideSelf(); }
void onClick_Btn_sendmessage_Btn(GameObject caster) { RoleRelation data = new RoleRelation() { uid = m_teamMemberBtninfo.id, name = m_teamMemberBtninfo.name }; DataManager.Manager <UIPanelManager>().ShowPanel(PanelID.FriendPanel); DataManager.Manager <UIPanelManager>().SendMsg(PanelID.FriendPanel, UIMsgID.eChatWithPlayer, data); m_trans_TeamMemberBtnRoot.gameObject.SetActive(false); }
int SortRelationsByChatTime(RoleRelation a, RoleRelation b) { if (a.isSys) { return(-1); } if (a.lastChatTime > b.lastChatTime) { return(-1); } else if (a.lastChatTime < b.lastChatTime) { return(1); } return(0); }
public void SetInfo(RoleRelation data, string strSearch) { m_data = data; m_lableLv.text = "Lv." + data.level.ToString(); m_lableLv.depth = m_headIcon.depth + 1; m_headIcon.ChangeSprite(data.profession); string strname = data.name; int index = strname.IndexOf(strSearch); if (index != -1) { strname = strname.Insert(index + strSearch.Length, "[-]"); strname = strname.Insert(index, "[00ff00]"); //strname = strname.Substring(0, index) + "[00ff00]" + strname.Substring(index, strSearch.Length) + "[-]" + strname.Substring(index + strSearch.Length); } m_lableName.text = strname; }
public override void SetGridData(object data) { base.SetGridData(data); this.m_frdData = data as RoleRelation; m_spIcon.spriteName = "roleCard_huanshi"; m_lblName.text = this.m_frdData.name; m_lblJob.text = ConstDefine.GetProfessionNameByType((enumProfession)this.m_frdData.profession); m_lblLv.text = this.m_frdData.level.ToString() + "级"; List <RoleRelation> friendList = null; if (DataManager.Manager <RelationManager>().GetRelationListByType(GameCmd.RelationType.Relation_Friend, out friendList)) { if (friendList.Exists((RoleRelation rr) => { return(rr.uid == this.m_frdData.uid ? true : false); })) { if (this.m_frdData.help_tree) { m_btnZan.SetActive(true); } else { m_btnZan.SetActive(false); if (this.m_frdData.level >= 20) //暂时定20级 { m_goNoOpen.gameObject.SetActive(false); } else { m_goNoOpen.gameObject.SetActive(true);//未开启家园 } } m_btnAdd.SetActive(false); } else //搜索到的 { m_btnAdd.SetActive(true); m_goNoOpen.SetActive(false); m_btnZan.SetActive(false); } } }
public void OnTreeHelp(uint help_who, int tree) { HelpNum += 1; if (help_who == ClientGlobal.Instance().MainPlayer.GetID()) { HelpSelf = true; } if (help_who != ClientGlobal.Instance().MainPlayer.GetID())//给别人点赞 { List <RoleRelation> friendList = null; DataManager.Manager <RelationManager>().GetRelationListByType(RelationType.Relation_Friend, out friendList); if (friendList != null) { RoleRelation data = friendList.Find((RoleRelation rr) => { return(rr.uid == help_who); }); data.help_tree = false; } } Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.HOME_HELPSUCCESS, null); }
protected override void OnShow(object data) { base.OnShow(data); m_relationMgr.ValueUpdateEvent += OnValueUpdateEventArgs; InitOnShow(); Protocol.Instance.ReqFriendLevel(); if (data != null && data is RoleRelation)//陌生人聊天 { RoleRelation role = (RoleRelation)data; if (m_Content == FriendPanelPageEnum.Page_好友 && m_relationMgr.IsMyFriend(role.uid)) { DeActiveFrendItem(); List <UIFriendGrid> lstGrid = m_ctor_FriendScrollview.GetGrids <UIFriendGrid>(true); for (int i = 0; i < lstGrid.Count; i++) { if (lstGrid[i].Data.uid == role.uid) { OnSelectFriend(lstGrid[i].Data); break; } } } else if (m_Content == FriendPanelPageEnum.Page_最近 && m_relationMgr.IsInRelationList(GameCmd.RelationType.Relation_Contact, role.uid)) { DeActiveFrendItem(); List <UIFriendGrid> lstGrid = m_ctor_FriendScrollview.GetGrids <UIFriendGrid>(true); for (int i = 0; i < lstGrid.Count; i++) { if (lstGrid[i].Data.uid == role.uid) { OnSelectFriend(lstGrid[i].Data); break; } } } } UpdateApplyRedPoint(FriendPanelPageEnum.Page_邮箱); UpdateApplyRedPoint(FriendPanelPageEnum.Page_最近); }
/// <summary> /// 可一点赞的 /// </summary> public void OnHomeFriendStatusChange(stReqFriendTreeListHomeUserCmd_CS cmd) { List <RoleRelation> friendList = null; DataManager.Manager <RelationManager>().GetRelationListByType(RelationType.Relation_Friend, out friendList); if (friendList != null) { for (int i = 0; i < cmd.char_id.Count; i++) { RoleRelation fd = friendList.Find((RoleRelation rr) => { return(rr.uid == cmd.char_id[i]); }); if (fd != null) { fd.help_tree = true; } else { fd.help_tree = false; } } } }
public override void SetGridData(object data) { base.SetGridData(data); if (data is RoleRelation) { m_data = (RoleRelation)data; if (m_data.isSys) { m_lableName.text = "系统消息"; m_lableLevel.text = ""; m_headIcon.ChangeSprite(5); m_headIcon.MakePixelPerfect(); SetTipsState(DataManager.Manager <ChatDataManager>().PrivateChatManager.GetNewMsgTipsWithId(0)); m_btnGo.SetActive(false); } else { m_headIcon.ChangeSprite(m_data.profession); m_headIcon.MakePixelPerfect(); m_lableLevel.text = string.Format("Lv.{0}", m_data.level); m_lableName.text = m_data.name; m_btnGo.SetActive(m_parent.CurrContent == FriendPanel.FriendPanelPageEnum.Page_添加); SetTipsState(DataManager.Manager <ChatDataManager>().PrivateChatManager.GetNewMsgTipsWithId(m_data.uid)); } if (m_choose != null) { m_choose.SetActive(m_parent.CurrContent != FriendPanel.FriendPanelPageEnum.Page_添加); } RefreshLevel(); } }
/// <summary> /// 联系族长 /// </summary> private void ContactShaikh() { ClanDefine.LocalClanInfo localClanInfo = ClanData; if (null == localClanInfo) { TipsManager.Instance.ShowTips("无效氏族信息"); return; } GameCmd.stClanMemberInfo member = localClanInfo.GetMemberInfo(localClanInfo.Creator); if (null == member) { TipsManager.Instance.ShowTips("氏族族长信息错误"); return; } RoleRelation data = new RoleRelation() { uid = member.id, name = member.name }; DataManager.Manager <UIPanelManager>().ShowPanel(PanelID.FriendPanel); DataManager.Manager <UIPanelManager>().SendMsg(PanelID.FriendPanel, UIMsgID.eChatWithPlayer, data); }
/// <summary> /// 发送消息 /// </summary> /// <param name="caster"></param> void onClick_Btn_sendmessage_Btn(GameObject caster) { if (m_datainfo == null) { return; } if (!string.IsNullOrEmpty(m_datainfo.name)) { RoleRelation data = new RoleRelation() { uid = m_datainfo.uid, name = m_datainfo.name, isRobot = m_datainfo.isRobot }; DataManager.Manager <UIPanelManager>().ShowPanel(PanelID.FriendPanel); DataManager.Manager <UIPanelManager>().SendMsg(PanelID.FriendPanel, UIMsgID.eChatWithPlayer, data); } else { TipsManager.Instance.ShowTips("该玩家不在线!"); } this.HideSelf(); }
private ProjectViewModel ToProjectViewModelFromRoleRelation(RoleRelation roleRelation) { var role = _roleLogic.GetRole("Creator"); return new ProjectViewModel() { Project = roleRelation.Project, Creator = _roleRelationLogic.GetRoleRelationByRoleIdAndProjectId(role.RoleId,roleRelation.ProjectId).User, CurrentUserRole = roleRelation.Role }; }
/// <summary> /// 添加好友 /// </summary> /// <param name="type"></param> /// <param name="data"></param> /// <returns></returns> public bool AddRelationByType(RelationType type, tFriendBaseData data) { if (type == RelationType.Relation_Friend) { if (m_lstRecommend != null) { for (int i = 0; i < m_lstRecommend.Count; i++) { if (m_lstRecommend[i].uid == data.id) { m_lstRecommend.RemoveAt(i); break; } } } if (m_lstRecommendCache != null) { for (int i = 0; i < m_lstRecommendCache.Count; i++) { if (m_lstRecommendCache[i].uid == data.id) { m_lstRecommendCache.RemoveAt(i); if (m_lstRecommend != null && m_lstRecommend.Count > 0) { m_lstRecommendCache.Add(m_lstRecommend[0]); m_lstRecommend.RemoveAt(0); } ValueUpdateEventArgs arg = new ValueUpdateEventArgs("SEARCH", 0, m_lstRecommendCache); DispatchValueUpdateEvent(arg); break; } } } } List <RoleRelation> lst = null; if (m_dicRelation.TryGetValue(type, out lst)) { RoleRelation rec = new RoleRelation() { type = type, uid = data.id, online = data.online == 1, level = data.level, profession = data.profession, degree = data.degree, title = data.title, mapid = data.mapid, name = data.username, help_tree = data.help_tree, }; bool isOld = false; for (int i = 0; i < lst.Count; i++) { if (lst[i].uid == data.id) { lst[i] = rec; isOld = true; } } if (!isOld) { lst.Add(rec); } lst.Sort(SortRelationsByChatTime); ValueUpdateEventArgs arg = new ValueUpdateEventArgs(type.ToString(), 0, lst); DispatchValueUpdateEvent(arg); if (type == RelationType.Relation_FriendRequest) { newFriendReuquest = true; } return(true); } else { Log.Error(" m_dicRelation no contain type :{0}", type); } return(false); }