//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Monday, November 27, 2017
|
//--------------------------------------------------------
|
|
using System;
|
using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
using vnxbqy.UI;
|
|
namespace vnxbqy.UI
|
{
|
//其他玩家的简洁信息界面
|
public class RoleParticularsWin : Window, SecondWindowInterface
|
{
|
[SerializeField] Button m_AddFriend;
|
[SerializeField] Button m_ViewHorse;
|
[SerializeField] Button m_ViewPet;
|
[SerializeField] Button m_ViewRealmEquip;
|
[SerializeField] Button m_Flower;
|
[SerializeField] Text m_FairyName;
|
[SerializeField] Image m_RealmIcon;
|
[SerializeField] Text m_PlayerName;
|
[SerializeField] Text m_FightPower;
|
[SerializeField] RawImage m_RawPlayer;
|
[SerializeField] Text m_MateName;
|
|
public static int viewType = -1;
|
|
RoleParticularModel model { get { return ModelCenter.Instance.GetModel<RoleParticularModel>(); } }
|
FriendsModel friendsModel { get { return ModelCenter.Instance.GetModel<FriendsModel>(); } }
|
OtherPlayerEquipModel otherPlayerEquipModel { get { return ModelCenter.Instance.GetModel<OtherPlayerEquipModel>(); } }
|
|
|
#region Built-in
|
public Button close { get; set; }
|
|
protected override void BindController()
|
{
|
if (this is SecondWindowInterface)
|
{
|
var frame = this.GetComponentInChildren<SecondFrameLoader>();
|
frame.Create();
|
close = frame.GetComponentInChildren<Button>();
|
}
|
}
|
|
protected override void AddListeners()
|
{
|
m_AddFriend.onClick.AddListener(OnAddFriend);
|
close.onClick.AddListener(CloseClick);
|
m_ViewHorse.onClick.AddListener(ViewHorse);
|
m_ViewPet.onClick.AddListener(ViewPet);
|
m_ViewRealmEquip.AddListener(ViewRealmEquip);
|
m_Flower.AddListener(GiveFlower);
|
}
|
|
protected override void OnPreOpen()
|
{
|
OnShowRoleEquip();
|
WindowCenter.Instance.windowAfterCloseEvent += WindowAfterCloseEvent;
|
}
|
|
protected override void OnAfterOpen()
|
{
|
}
|
|
protected override void OnPreClose()
|
{
|
otherPlayerEquipModel.Clear();
|
WindowCenter.Instance.windowAfterCloseEvent -= WindowAfterCloseEvent;
|
UI3DModelExhibition.Instance.StopShow();
|
}
|
|
protected override void OnAfterClose()
|
{
|
if (!WindowJumpMgr.Instance.IsJumpState)
|
{
|
WindowCenter.Instance.Open<MainInterfaceWin>();
|
}
|
}
|
#endregion
|
|
private void WindowAfterCloseEvent(Window win)
|
{
|
if (win is ViewHorseDetailWin || win is ViewPetDetailWin
|
|| win is OtherPlayerEquipWin)
|
{
|
OnShowRoleEquip();
|
}
|
}
|
|
private void OnAddFriend()
|
{
|
if (friendsModel.GetFirendInfo((uint)model.viewPlayer, (byte)GroupType.Balcklist) != null)
|
{
|
SysNotifyMgr.Instance.ShowTip("Friend_RemoveBlacklist");
|
return;
|
}
|
friendsModel.OnClickAddFriend((uint)model.viewPlayer);
|
}
|
|
private void ViewPet()
|
{
|
RoleParticularModel.ViewPlayerData viewPlayerData = model.GetViewPlayerData(model.viewPlayer);
|
if (viewPlayerData != null && viewPlayerData.rolePlusData.pets.Count > 0)
|
{
|
WindowCenter.Instance.Open<ViewPetDetailWin>();
|
}
|
}
|
|
private void ViewHorse()
|
{
|
RoleParticularModel.ViewPlayerData viewPlayerData = model.GetViewPlayerData(model.viewPlayer);
|
if (viewPlayerData != null && viewPlayerData.rolePlusData.horses.Count > 0)
|
{
|
WindowCenter.Instance.Open<ViewHorseDetailWin>();
|
}
|
}
|
|
private void ViewRealmEquip()
|
{
|
var viewPlayerData = model.GetViewPlayerData(model.viewPlayer);
|
var wing = viewPlayerData.GetItemId(RoleEquipType.Wing);
|
|
otherPlayerEquipModel.ViewPlayerEquip(new OtherPlayerEquipModel.PlayerBriefInfo()
|
{
|
viewType = viewType,
|
id = model.viewPlayer,
|
realm = viewPlayerData.rolePropData.RealmLV,
|
job = viewPlayerData.rolePropData.Job,
|
vipLevel = viewPlayerData.rolePropData.VIPLV,
|
wing = wing,
|
reikiRootEffectId = (int)viewPlayerData.rolePropData.EquipShowSwitch / 1000 % 1000,
|
equipLevel = (int)viewPlayerData.rolePropData.EquipShowSwitch / 10 % 100,
|
});
|
}
|
|
|
void GiveFlower()
|
{
|
WindowCenter.Instance.Close<RoleParticularsWin>();
|
WindowCenter.Instance.Open("FlowerGiveWin", false, model.viewPlayer);
|
}
|
|
private void OnShowRoleEquip()
|
{
|
var viewPlayerData = model.GetViewPlayerData(model.viewPlayer);
|
m_AddFriend.SetActive(!viewPlayerData.IsCrossServerPlayer()
|
&& friendsModel.GetFirendInfo((uint)model.viewPlayer, (byte)GroupType.Friend) == null);
|
|
m_Flower.SetActive(viewType == 0 && friendsModel.GetFirendInfo((uint)model.viewPlayer, 4) == null);
|
|
if (viewPlayerData != null)
|
{
|
m_ViewHorse.SetActive(false);
|
m_ViewPet.SetActive(viewPlayerData.rolePlusData.pets.Count > 0);
|
|
if (viewPlayerData.rolePropData.FamilyID == 0)
|
{
|
m_FairyName.SetActive(false);
|
}
|
else
|
{
|
m_FairyName.SetActive(true);
|
m_FairyName.text = StringUtility.Contact(Language.Get("RoleParticularWin_1"),
|
viewPlayerData.rolePropData.FamilyName);
|
}
|
var realmLv = viewPlayerData.rolePropData.RealmLV;
|
m_RealmIcon.SetActive(realmLv > 0);
|
if (realmLv > 0)
|
{
|
RealmConfig realmConfig = RealmConfig.Get(realmLv);
|
if (realmConfig != null)
|
{
|
m_RealmIcon.SetSprite(realmConfig.Img);
|
}
|
}
|
m_PlayerName.text = StringUtility.Contact(viewPlayerData.rolePropData.Name, "Lv. ", viewPlayerData.rolePropData.LV);
|
m_FightPower.text = StringUtility.Contact(Language.Get("RoleParticularWin_2"), viewPlayerData.rolePropData.FightPower);
|
if (string.IsNullOrEmpty(viewPlayerData.rolePropData.CoupleName))
|
{
|
m_MateName.text = string.Empty;
|
}
|
else
|
{
|
m_MateName.text = Language.Get("CoupleNameFormat", UIHelper.ServerStringTrim(viewPlayerData.rolePropData.CoupleName));
|
}
|
|
int _suitLevel = (int)(viewPlayerData.rolePropData.EquipShowSwitch % 10);
|
int clothes = viewPlayerData.GetItemId(RoleEquipType.Clothes);
|
int weapon = viewPlayerData.GetItemId(RoleEquipType.Weapon);
|
int wing = viewPlayerData.GetItemId(RoleEquipType.Wing);
|
int weapon2 = viewPlayerData.GetItemId(RoleEquipType.Weapon2);
|
int fashionClothes = viewPlayerData.GetItemId(RoleEquipType.FashionClothes);
|
int fashionWeapon = viewPlayerData.GetItemId(RoleEquipType.FashionWeapon);
|
int fashionWeapon2 = viewPlayerData.GetItemId(RoleEquipType.FashionWeapon2);
|
var reikiRootEffectId = viewPlayerData.rolePropData.EquipShowSwitch / 1000 % 1000;
|
|
var data = new UI3DPlayerExhibitionData
|
{
|
job = viewPlayerData.rolePropData.Job,
|
fashionClothesId = fashionClothes,
|
fashionWeaponId = fashionWeapon,
|
fashionSecondaryId = fashionWeapon2,
|
clothesId = clothes,
|
suitLevel = _suitLevel,
|
weaponId = weapon,
|
wingsId = wing,
|
secondaryId = weapon2,
|
reikiRootEffectId = (int)reikiRootEffectId,
|
isDialogue = false,
|
equipLevel = (int)viewPlayerData.rolePropData.EquipShowSwitch / 10 % 100,
|
titleID = viewPlayerData.rolePropData.TitleID,
|
};
|
|
m_RawPlayer.SetActive(true);
|
UI3DModelExhibition.Instance.ShowPlayer(m_RawPlayer, data);
|
}
|
}
|
}
|
}
|
|
|
|
|