Files
JJBB/Assets/Project/Script/GUI/Team/TeamFubenEnsure.cs

185 lines
4.7 KiB
C#
Raw Normal View History

2024-08-23 15:49:34 +08:00
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
using System.Collections.Generic;
using Games.GlobeDefine;
using GCGame;
using Module.Log;
using GCGame.Table;
using System;
using Games.Events;
public class TeamFubenEnsure : UIControllerBase<TeamFubenEnsure>
{
public void Start()
{
InitBtn();
}
public void OnEnable()
{
SetInstance(this);
InitTeam();
SdkControl.instance.ShakeDevice();
}
public void OnDisable()
{
SetInstance(null);
}
public void Update()
{
TimeModifyUpdate();
}
#region
public const int ENSURE_TIME = 15;
public UIContainerBase _TeamMenbers;
public UIImgText _TimeValue;
public Button _BtnCancel;
public Button _BtnOk;
public GameObject OKBtn;
public GameObject _FubenDescObj;
public Text _FubenDescText;
//public GameObject OKTip;
private float _ColddownTime = 0;
private void InitTeam()
{
foreach (var teamMember in GameManager.gameManager.PlayerDataPool.TeamInfo.teamMember)
{
teamMember.EnsureFuben = false;
}
_TeamMenbers.InitContentItem(GameManager.gameManager.PlayerDataPool.TeamInfo.teamMember);
_BtnCancel.interactable = true;
_BtnOk.interactable = true;
InitBtn();
//InvokeRepeating 在手机上切应用会导时间有差
//InvokeRepeating("TimeModify", 0, 1.0f);
_ColddownTime = Time.realtimeSinceStartup;
}
private void InitBtn()
{
//if (Singleton<ObjManager>.GetInstance().MainPlayer.IsTeamLeader())
//{
// OKBtn.gameObject.SetActive(false);
//}
//else
{
OKBtn.gameObject.SetActive(true);
}
}
private void TimeModifyUpdate()
{
var timeLost = Time.realtimeSinceStartup - _ColddownTime;
if(ENSURE_TIME> timeLost)
{
_TimeValue.text = ((int)(ENSURE_TIME - timeLost)).ToString();
}
else
{
_TimeValue.text = "0";
}
if (timeLost >= ENSURE_TIME)
{
PopWarningTips();
CloseWindow();
}
}
public void PopWarningTips() //文字判断要改成MarkIcon是否显示
{
TeamFubenEnsureItem[] itemList = _TeamMenbers.GetComponentsInChildren<TeamFubenEnsureItem>();
for(int index = 0; index < itemList.Length; index++)
{
if(!itemList[index]._MemberEnsureIcon.activeInHierarchy)
{
GUIData.AddNotifyData(StrDictionary.GetClientDictionaryString("#{44037}", itemList[index]._MenberName.text));
break;
}
}
}
public void TeamFubenNotify(GC_NOTIFY_MEMBER_CONFIRM_ENTER_COPY packet)
{
CloseWindow();
}
public void SetFubenNameTip(int _CopyScenId)
{
var fuben = TableManager.GetFubenByID(_CopyScenId, 0);
if(fuben == null)
{
_FubenDescObj.SetActive(false);
return;
}
_FubenDescObj.SetActive(true);
_FubenDescText.text = StrDictionary.GetClientDictionaryString("#{7173}", fuben.DescInfo);
}
public void TeamFubenNotify(GC_BROADCAST_CONFIRM_ENTER_COPY packet)
{
var member = GameManager.gameManager.PlayerDataPool.TeamInfo.GetTeamMemberByguiId((ulong)packet.Memberguid);
if (member == null)
return;
if (packet.Isaccept == 0)
{
if (member != null)
{
GUIData.AddNotifyData(StrDictionary.GetClientDictionaryString("#{5127}", member.MemberName));
}
CloseWindow();
return;
}
else
{
LogModule.DebugLog("GC_BROADCAST_CONFIRM_ENTER_COPY:" + packet.Isaccept);
member.EnsureFuben = true;
_TeamMenbers.RefreshItems();
if(GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.Guid == member.Guid)
{
if (OKBtn != null)
OKBtn.SetActive(false);
}
}
}
public void OnBtnOk()
{
CG_CONFIRM_ENTER_COPY packet = (CG_CONFIRM_ENTER_COPY)PacketDistributed.CreatePacket(MessageID.PACKET_CG_CONFIRM_ENTER_COPY);
packet.Isaccept = 1;
packet.SendPacket();
OKBtn.gameObject.SetActive(false);
// OKTip.gameObject.SetActive(true);
}
public void OnBtnCancel()
{
CG_CONFIRM_ENTER_COPY packet = (CG_CONFIRM_ENTER_COPY)PacketDistributed.CreatePacket(MessageID.PACKET_CG_CONFIRM_ENTER_COPY);
packet.Isaccept = 0;
packet.SendPacket();
CloseWindow();
}
public void CloseWindow()
{
CancelInvoke();
UIManager.CloseUI(UIInfo.TeamFubenEnsure);
}
#endregion
}