From ffbc149f1b753e9b9ff9d46d092f651bab2fc7fa Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期六, 10 十月 2020 15:02:20 +0800
Subject: [PATCH] 8536 【前端】协助伤害增加菜单 组队 未处理对方无队伍申请入队显示问题
---
System/Tip/PlayerDetailWin.cs | 237 ++++++++++++++++++++++++++++++++++++++---------------------
1 files changed, 153 insertions(+), 84 deletions(-)
diff --git a/System/Tip/PlayerDetailWin.cs b/System/Tip/PlayerDetailWin.cs
index 98c6c32..7814252 100644
--- a/System/Tip/PlayerDetailWin.cs
+++ b/System/Tip/PlayerDetailWin.cs
@@ -46,14 +46,14 @@
private float ratio = 1.0f;
- public bool IsCrossServerPlayer {
- get {
- if (PlayerDetails.ServerGroupId == 0)
- {
- return false;
- }
- return PlayerDetails.ServerGroupId != PlayerDatas.Instance.baseData.ServerGroupId;
- }
+ public bool IsCrossServerPlayer {
+ get {
+ if (PlayerDetails.ServerGroupId == 0)
+ {
+ return false;
+ }
+ return PlayerDetails.ServerGroupId != PlayerDatas.Instance.baseData.ServerGroupId;
+ }
}
#region Built-in
@@ -96,10 +96,18 @@
public void ShowPlayerDetail()
{
m_ContainerDetail.localPosition = PlayerDetails.targetPos;
- m_PlayerTxt.text = UIHelper.ServerStringTrim(PlayerDetails.PlayerName);
- m_LevelSign.gameObject.SetActive(false);
+ m_PlayerTxt.text = UIHelper.ServerStringTrim(PlayerDetails.PlayerName);
+ m_LevelSign.gameObject.SetActive(false);
+ m_PlayerLevelTxt.gameObject.SetActive(PlayerDetails.LV!=0);
m_PlayerLevelTxt.text = Language.Get("PlayerDetail_Level", PlayerDetails.LV);
- CheckDetailType();
+ if (PlayerDetails.openType == PlayerDetails.OpenType.Assist)
+ {
+ CheckAssisType();
+ }
+ else
+ {
+ CheckDetailType();
+ }
OnPlayerDetailRefresh();
var _rt = m_ContainerDetail as RectTransform;
@@ -126,73 +134,87 @@
m_ContainerDetail.localPosition = pos;
}
+ private void CheckAssisType()
+ {
+ funcTypes.Clear();
+ funcTypes.Add(PlayerDetails.DetailType.Kill);
+ if (PlayerDetails.IsInTeam == 1)
+ {
+ funcTypes.Add(PlayerDetails.DetailType.ApplyTeam);
+ }
+ else
+ {
+ funcTypes.Add(PlayerDetails.DetailType.ApplyTeam);
+ funcTypes.Add(PlayerDetails.DetailType.InviteTeam);
+ }
+ }
public void CheckDetailType()
{
funcTypes.Clear();
funcTypes.Add(PlayerDetails.DetailType.ViewEquip);
- funcTypes.Add(PlayerDetails.DetailType.LookFight);
-
-
- if (!IsCrossServerPlayer && !CrossServerUtility.IsCrossServer())
- {
- funcTypes.Add(PlayerDetails.IsInTeam == 1 ?
- PlayerDetails.DetailType.ApplyTeam : PlayerDetails.DetailType.InviteTeam);
- bool _isFriend = m_FriendModel.GetFirendInfo((uint)PlayerDetails.PlayerID, 2) != null;
- bool _isBlack = m_FriendModel.GetFirendInfo((uint)PlayerDetails.PlayerID, 4) != null;
- funcTypes.Add(_isFriend ? PlayerDetails.DetailType.DeleteFriend : PlayerDetails.DetailType.AddFriend);
- funcTypes.Add(_isBlack ? PlayerDetails.DetailType.RemoveBlack : PlayerDetails.DetailType.AddBlack);
- if (!_isBlack)
- {
- funcTypes.Add(PlayerDetails.DetailType.PrivateChat);
- }
- }
-
- switch (PlayerDetails.openType)
- {
- case PlayerDetails.OpenType.Default:
- case PlayerDetails.OpenType.Friend:
- if (IsCrossServerPlayer || CrossServerUtility.IsCrossServer())
- {
- return;
- }
- break;
- case PlayerDetails.OpenType.Fairy:
- break;
- }
-
- switch (PlayerDetails.openType)
- {
- case PlayerDetails.OpenType.Default:
- if (PlayerDatas.Instance.fairyData.HasFairy)
- {
- if (PlayerDatas.Instance.fairyData.IsCanFunc(PlayerFairyData.LimitFunc.CanCall) &&
- PlayerDatas.Instance.fairyData.GetMember(PlayerDetails.PlayerID) == null)
- {
- funcTypes.Add(PlayerDetails.DetailType.InviteFairy);
- }
- }
- break;
- case PlayerDetails.OpenType.Fairy:
- PlayerFairyData.FairyMember _mine = PlayerDatas.Instance.fairyData.mine;
- PlayerFairyData.FairyMember _fairyMember =
- PlayerDatas.Instance.fairyData.GetMember(m_FairyModel.presentChangeMember);
- if (_fairyMember != null)
- {
- if (PlayerDatas.Instance.fairyData.IsCanFunc(PlayerFairyData.LimitFunc.CanJobTitle)
- && _mine.FamilyLV > _fairyMember.FamilyLV)
- {
- funcTypes.Add(PlayerDetails.DetailType.FairyLv);
- }
- if (PlayerDatas.Instance.fairyData.IsCanFunc(PlayerFairyData.LimitFunc.CanKick)
- && _mine.FamilyLV > _fairyMember.FamilyLV)
- {
- funcTypes.Add(PlayerDetails.DetailType.KickFairy);
- }
- }
- break;
- case PlayerDetails.OpenType.Friend:
- funcTypes.Remove(PlayerDetails.DetailType.PrivateChat);
- break;
+ funcTypes.Add(PlayerDetails.DetailType.LookFight);
+
+
+ if (!IsCrossServerPlayer && !CrossServerUtility.IsCrossServer())
+ {
+ funcTypes.Add(PlayerDetails.IsInTeam == 1 ?
+ PlayerDetails.DetailType.ApplyTeam : PlayerDetails.DetailType.InviteTeam);
+ bool _isFriend = m_FriendModel.GetFirendInfo((uint)PlayerDetails.PlayerID, 2) != null;
+ bool _isBlack = m_FriendModel.GetFirendInfo((uint)PlayerDetails.PlayerID, 4) != null;
+ funcTypes.Add(_isFriend ? PlayerDetails.DetailType.DeleteFriend : PlayerDetails.DetailType.AddFriend);
+ funcTypes.Add(_isBlack ? PlayerDetails.DetailType.RemoveBlack : PlayerDetails.DetailType.AddBlack);
+ if (!_isBlack)
+ {
+ funcTypes.Add(PlayerDetails.DetailType.PrivateChat);
+ }
+ }
+
+ switch (PlayerDetails.openType)
+ {
+ case PlayerDetails.OpenType.Default:
+ case PlayerDetails.OpenType.Friend:
+ if (IsCrossServerPlayer || CrossServerUtility.IsCrossServer())
+ {
+ return;
+ }
+ break;
+ case PlayerDetails.OpenType.Fairy:
+ break;
+ }
+
+ switch (PlayerDetails.openType)
+ {
+ case PlayerDetails.OpenType.Default:
+ if (PlayerDatas.Instance.fairyData.HasFairy)
+ {
+ if (PlayerDatas.Instance.fairyData.IsCanFunc(PlayerFairyData.LimitFunc.CanCall) &&
+ PlayerDatas.Instance.fairyData.GetMember(PlayerDetails.PlayerID) == null)
+ {
+ funcTypes.Add(PlayerDetails.DetailType.InviteFairy);
+ }
+ }
+ break;
+ case PlayerDetails.OpenType.Fairy:
+ PlayerFairyData.FairyMember _mine = PlayerDatas.Instance.fairyData.mine;
+ PlayerFairyData.FairyMember _fairyMember =
+ PlayerDatas.Instance.fairyData.GetMember(m_FairyModel.presentChangeMember);
+ if (_fairyMember != null)
+ {
+ if (PlayerDatas.Instance.fairyData.IsCanFunc(PlayerFairyData.LimitFunc.CanJobTitle)
+ && _mine.FamilyLV > _fairyMember.FamilyLV)
+ {
+ funcTypes.Add(PlayerDetails.DetailType.FairyLv);
+ }
+ if (PlayerDatas.Instance.fairyData.IsCanFunc(PlayerFairyData.LimitFunc.CanKick)
+ && _mine.FamilyLV > _fairyMember.FamilyLV)
+ {
+ funcTypes.Add(PlayerDetails.DetailType.KickFairy);
+ }
+ }
+ break;
+ case PlayerDetails.OpenType.Friend:
+ funcTypes.Remove(PlayerDetails.DetailType.PrivateChat);
+ break;
}
}
@@ -228,12 +250,12 @@
}
break;
case PlayerDetails.DetailType.ViewEquip:
- if (!IsCrossServerPlayer)
- {
+ if (!IsCrossServerPlayer)
+ {
m_RoleParticularModel.ViewRoleEquip(PlayerDetails.PlayerID);
}
- else
- {
+ else
+ {
m_RoleParticularModel.ViewCrossServerPlayerEquip(PlayerDetails.PlayerID);
}
break;
@@ -270,7 +292,16 @@
if (_ok)
{
m_TeamModel.RequestExitTeam();
- m_TeamModel.RequestApplyForJoin(PlayerDetails.PlayerID);
+ if (PlayerDetails.openType == PlayerDetails.OpenType.Assist &&
+ PlayerDetails.IsInTeam == 1)
+ {
+ //姝ゅ浠h〃闃熶紞ID
+ m_TeamModel.RequestApplyForJoinByTeam(PlayerDetails.PlayerID);
+ }
+ else
+ {
+ m_TeamModel.RequestApplyForJoin(PlayerDetails.PlayerID);
+ }
}
}
);
@@ -287,18 +318,56 @@
m_FriendModel.OnClickRemoveBlack((uint)PlayerDetails.PlayerID);
break;
case PlayerDetails.DetailType.LookFight:
- if (!IsCrossServerPlayer)
- {
+ if (!IsCrossServerPlayer)
+ {
m_RoleParticularModel.ViewRoleFightPower(PlayerDetails.PlayerID);
}
- else
- {
- m_RoleParticularModel.ViewCrossPlayerFightPower(PlayerDetails.PlayerID);
+ else
+ {
+ m_RoleParticularModel.ViewCrossPlayerFightPower(PlayerDetails.PlayerID);
}
break;
case PlayerDetails.DetailType.InviteFairy:
m_FairyModel.SendInviteFairy(PlayerDetails.PlayerID, PlayerDetails.PlayerName);
break;
+ case PlayerDetails.DetailType.Kill:
+ uint tagetID = 0;
+ //闃熶紞涓殑鏀诲嚮鐩爣
+ if (PlayerDetails.IsInTeam == 1)
+ {
+ List<GActor> _list = GAMgr.Instance.GetTypeList(E_ActorClassType.Player);
+ if (_list == null || _list.Count == 0)
+ {
+ break;
+ }
+ foreach(var actor in _list)
+ {
+ var tagetPlayer = actor as GA_Player;
+ if (tagetPlayer.ActorInfo.teamID == PlayerDetails.PlayerID)
+ {
+ tagetID = tagetPlayer.ActorInfo.sid;
+ break;
+ }
+ }
+ if (tagetID == 0)
+ {
+ break;
+ }
+ }
+ else
+ {
+ tagetID = (uint)PlayerDetails.PlayerID;
+ }
+
+ var _hero = PlayerDatas.Instance.hero;
+ var taget = GAMgr.Instance.GetBySID(tagetID);
+ if (taget != null)
+ {
+ _hero.SelectTarget = _hero.LockTarget = taget;
+ GA_Hero.CallLockTargetChanged(_hero.LockTarget.ServerInstID);
+
+ }
+ break;
}
}
--
Gitblit v1.8.0