185 lines
4.7 KiB
C#
185 lines
4.7 KiB
C#
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
|
|
}
|