using System.Collections.Generic;
|
using System.Linq;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
namespace vnxbqy.UI
|
{
|
//福地PK
|
public class BlessedLandPKWin : Window
|
{
|
[SerializeField] ButtonEx btnClose;
|
[SerializeField] ButtonEx btnPK1;
|
[SerializeField] ButtonEx btnPK2;
|
[SerializeField] ButtonEx btnHelp;
|
[SerializeField] ButtonEx btnAllyHelp;
|
[SerializeField] ButtonEx btnFriendHelp;
|
|
[SerializeField] RawImage imgRawRobPlayer;
|
[SerializeField] TextEx txtLvAndName;
|
[SerializeField] TextEx txtfightPower;
|
|
[SerializeField] TextEx txtAllyHelp;
|
[SerializeField] TextEx txtFriendHelp;
|
[SerializeField] ImageEx imgAllyHelp;
|
[SerializeField] ImageEx imgFriendHelp;
|
[SerializeField] ImageEx imgHelp;
|
[SerializeField] ClickScreenOtherSpace clickDetector;
|
[SerializeField] ScrollerController scroller;
|
private bool m_buttonShow = false;
|
public bool buttonShow { get { return m_buttonShow; } set { if (value == m_buttonShow) return; m_buttonShow = value; } }
|
BlessedLandModel blessedLandModel { get { return ModelCenter.Instance.GetModel<BlessedLandModel>(); } }
|
FriendsModel friendsModel { get { return ModelCenter.Instance.GetModel<FriendsModel>(); } }
|
RoleParticularModel roleParticularModel { get { return ModelCenter.Instance.GetModel<RoleParticularModel>(); } }
|
|
protected override void BindController()
|
{
|
|
}
|
|
protected override void AddListeners()
|
{
|
btnClose.SetListener(() =>
|
{
|
WindowCenter.Instance.Close<BlessedLandPKWin>();
|
});
|
|
btnPK1.SetListener(() =>
|
{
|
|
var mineItems = blessedLandModel.newAreaDataDict[blessedLandModel.myPlayerId].MineItems[blessedLandModel.detailsIndex];
|
blessedLandModel.SendCB410Pack(1, 1, 1, mineItems.RobPlayerID, new uint[2] { blessedLandModel.myPlayerId, blessedLandModel.detailsIndex });
|
//TurnFightModel.Instance.StartTurnFight((int)mapID, funcLineID, 1, (int)playerID, valueList);
|
//blessedLandModel.SendCB410Pack(1, 1, mineItems.RobPlayerID, new uint[2] { blessedLandModel.myPlayerId, blessedLandModel.detailsIndex }, viewPlayerData.rolePropData.ModelMark);
|
});
|
|
btnPK2.SetListener(() =>
|
{
|
blessedLandModel.SendCB410Pack(1, 0, 1, blessedLandModel.robPlayerId, new uint[2] { blessedLandModel.helpPlayerId, blessedLandModel.helpItemIndex });
|
//blessedLandModel.SendCB410Pack(1, 0, blessedLandModel.robPlayerId, new uint[2] { blessedLandModel.helpPlayerId, blessedLandModel.helpItemIndex }, viewPlayerData.rolePropData.ModelMark);
|
});
|
|
btnHelp.SetListener(() =>
|
{
|
buttonShow = !buttonShow;
|
imgHelp.SetActive(buttonShow);
|
});
|
|
clickDetector.RemoveAllListeners();
|
clickDetector.AddListener(() =>
|
{
|
imgHelp.SetActive(false);
|
});
|
|
btnAllyHelp.SetListener(() =>
|
{
|
//在冷却时间中
|
if (blessedLandModel.GetCoolDownEndTime(1) > 0)
|
return;
|
//没有加入仙盟
|
if (PlayerDatas.Instance.baseData.FamilyId == 0)
|
{
|
SysNotifyMgr.Instance.ShowTip("BlessedLand10");
|
return;
|
}
|
blessedLandModel.SetTime(1);
|
blessedLandModel.SaveAllTime();
|
var mineItems = blessedLandModel.newAreaDataDict[blessedLandModel.myPlayerId].MineItems[blessedLandModel.detailsIndex];
|
string robName = mineItems.RobPlayerName.Replace("\0", "");
|
ChatCtrl.Inst.SendChatInfo(ChatInfoType.Fairy, Language.Get("BlessedLand028", robName, mineItems.RobPlayerID, blessedLandModel.myPlayerId, blessedLandModel.detailsIndex), null, false, false);
|
});
|
|
btnFriendHelp.SetListener(() =>
|
{
|
//在冷却时间中
|
if (blessedLandModel.GetCoolDownEndTime(2) > 0)
|
return;
|
blessedLandModel.SetTime(2);
|
blessedLandModel.SaveAllTime();
|
var mineItems = blessedLandModel.newAreaDataDict[blessedLandModel.myPlayerId].MineItems[blessedLandModel.detailsIndex];
|
string robName = mineItems.RobPlayerName.Replace("\0", "");
|
friendsModel.SendChatInfoByGroup(GroupType.Friend, Language.Get("BlessedLand028", robName, mineItems.RobPlayerID, blessedLandModel.myPlayerId, blessedLandModel.detailsIndex), true, false, false);
|
});
|
}
|
|
protected override void OnPreOpen()
|
{
|
GlobalTimeEvent.Instance.secondEvent += OnSecondEvent;
|
blessedLandModel.UpdateTurnFightStateInfo += OnUpdateTurnFightStateInfo;
|
DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += OnBeforePlayerDataInitialize;
|
scroller.OnRefreshCell += OnRefreshCell;
|
btnPK1.SetActive(blessedLandModel.helpType == 0);
|
btnPK2.SetActive(blessedLandModel.helpType != 0);
|
btnHelp.SetActive(blessedLandModel.helpType == 0);
|
|
RoleParticularModel.ViewPlayerData viewPlayerData = roleParticularModel.GetViewPlayerData((int)blessedLandModel.robPlayerId);
|
//防viewPlayerData为空
|
if (viewPlayerData == null)
|
return;
|
var data = new UI3DPlayerExhibitionData
|
{
|
job = viewPlayerData.rolePropData.Job,
|
fashionClothesId = viewPlayerData.GetItemId(RoleEquipType.FashionClothes),
|
fashionWeaponId = viewPlayerData.GetItemId(RoleEquipType.FashionWeapon),
|
fashionSecondaryId = viewPlayerData.GetItemId(RoleEquipType.FashionWeapon2),
|
clothesId = viewPlayerData.GetItemId(RoleEquipType.Clothes),
|
suitLevel = (int)(viewPlayerData.rolePropData.EquipShowSwitch % 10),
|
weaponId = viewPlayerData.GetItemId(RoleEquipType.Weapon),
|
wingsId = viewPlayerData.GetItemId(RoleEquipType.Wing),
|
secondaryId = viewPlayerData.GetItemId(RoleEquipType.Weapon2),
|
reikiRootEffectId = (int)viewPlayerData.rolePropData.EquipShowSwitch / 1000 % 1000,
|
isDialogue = false,
|
equipLevel = (int)viewPlayerData.rolePropData.EquipShowSwitch / 10 % 100,
|
titleID = viewPlayerData.rolePropData.TitleID,
|
};
|
imgRawRobPlayer.SetActive(true);
|
UI3DModelExhibition.Instance.ShowPlayer(imgRawRobPlayer, data);
|
txtLvAndName.text = viewPlayerData.rolePropData.RealmLV > 0 ? Language.Get("BlessedLand043", RealmConfig.Get(viewPlayerData.rolePropData.RealmLV).Name, viewPlayerData.rolePropData.Name) : viewPlayerData.rolePropData.Name;
|
txtfightPower.text = viewPlayerData.rolePropData.FightPower.ToString();
|
ChangeCdTime();
|
}
|
|
|
|
protected override void OnAfterOpen()
|
{
|
scroller.Refresh();
|
var dict = PlayerPropertyConfig.GetShowDict();
|
var typeShowList = dict.Keys.ToList();
|
List<int> lineList1 = new List<int>();
|
List<int> lineList2 = new List<int>();
|
int index = 0;
|
for (int i = 0; i < typeShowList.Count; i++)
|
{
|
int type = typeShowList[i];
|
if (type == 1 || type == 5)
|
{
|
for (int j = 0; j < dict[type].Count; j++)
|
{
|
if (j % 2 == 0)
|
{
|
lineList1.Add(dict[type][j]);
|
}
|
else
|
{
|
lineList2.Add(dict[type][j]);
|
}
|
}
|
}
|
}
|
int count1 = lineList1.Count;
|
int count2 = lineList2.Count;
|
int count = count1 <= count2 ? count1 : count2;
|
for (int k = 0; k < count; k++)
|
{
|
CellInfo cellInfo = new CellInfo();
|
cellInfo.infoInt1 = lineList1[k];
|
cellInfo.infoInt2 = lineList2[k];
|
index += 1;
|
scroller.AddCell(ScrollerDataType.Header, index, cellInfo);
|
}
|
scroller.Restart();
|
}
|
|
private void OnRefreshCell(ScrollerDataType type, CellView cell)
|
{
|
var _cell = cell as BlessedLandPKCell;
|
_cell.Display(_cell.index, cell);
|
}
|
|
protected override void OnAfterClose()
|
{
|
|
}
|
|
protected override void OnPreClose()
|
{
|
GlobalTimeEvent.Instance.secondEvent -= OnSecondEvent;
|
blessedLandModel.UpdateTurnFightStateInfo -= OnUpdateTurnFightStateInfo;
|
DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent -= OnBeforePlayerDataInitialize;
|
scroller.OnRefreshCell -= OnRefreshCell;
|
WindowJumpMgr.Instance.WindowJumpToEx("BlessedLandWin");
|
WindowJumpMgr.Instance.ClearJumpData();
|
}
|
|
void OnUpdateTurnFightStateInfo()
|
{
|
if (WindowCenter.Instance.IsOpen<BlessedLandFightWin>())
|
return;
|
WindowCenter.Instance.Open<BlessedLandFightWin>();
|
//WindowJumpMgr.Instance.WindowJumpToEx("BlessedLandFightWin");
|
}
|
|
private void OnBeforePlayerDataInitialize()
|
{
|
if (WindowCenter.Instance.IsOpen<BlessedLandPKWin>())
|
{
|
WindowJumpMgr.Instance.ClearJumpData();
|
WindowCenter.Instance.CloseAll();
|
}
|
}
|
|
private void OnSecondEvent()
|
{
|
if (blessedLandModel.showPlayerId == blessedLandModel.myPlayerId)
|
{
|
ChangeCdTime();
|
}
|
}
|
|
void ChangeCdTime()
|
{
|
imgAllyHelp.sprite = blessedLandModel.GetCoolDownEndTime(1) > 0 ? UILoader.LoadSprite("BlessedLand08") : UILoader.LoadSprite("SecondBtn1");
|
txtAllyHelp.text = blessedLandModel.GetCoolDownEndTime(1) > 0 ? Language.Get("BlessedLand024", blessedLandModel.GetCoolDownEndTime(1)) : Language.Get("BlessedLand026");
|
imgFriendHelp.sprite = blessedLandModel.GetCoolDownEndTime(2) > 0 ? UILoader.LoadSprite("BlessedLand08") : UILoader.LoadSprite("SecondBtn1");
|
txtFriendHelp.text = blessedLandModel.GetCoolDownEndTime(2) > 0 ? Language.Get("BlessedLand025", blessedLandModel.GetCoolDownEndTime(2)) : Language.Get("BlessedLand027");
|
}
|
|
|
|
}
|
}
|
|