| | |
| | | |
| | | 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 |
| | |
| | | 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; |
| | |
| | | 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; |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | break; |
| | | case PlayerDetails.DetailType.ViewEquip: |
| | | if (!IsCrossServerPlayer)
|
| | | {
|
| | | if (!IsCrossServerPlayer) |
| | | { |
| | | m_RoleParticularModel.ViewRoleEquip(PlayerDetails.PlayerID); |
| | | } |
| | | else
|
| | | {
|
| | | else |
| | | { |
| | | m_RoleParticularModel.ViewCrossServerPlayerEquip(PlayerDetails.PlayerID); |
| | | } |
| | | break; |
| | |
| | | if (_ok) |
| | | { |
| | | m_TeamModel.RequestExitTeam(); |
| | | m_TeamModel.RequestApplyForJoin(PlayerDetails.PlayerID); |
| | | if (PlayerDetails.openType == PlayerDetails.OpenType.Assist && |
| | | PlayerDetails.IsInTeam == 1) |
| | | { |
| | | //此处代表队伍ID |
| | | m_TeamModel.RequestApplyForJoinByTeam(PlayerDetails.PlayerID); |
| | | } |
| | | else |
| | | { |
| | | m_TeamModel.RequestApplyForJoin(PlayerDetails.PlayerID); |
| | | } |
| | | } |
| | | } |
| | | ); |
| | |
| | | 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; |
| | | } |
| | | } |
| | | |