151 lines
4.3 KiB
C#
151 lines
4.3 KiB
C#
|
using System.Collections;
|
|||
|
using System.Collections.Generic;
|
|||
|
using UnityEngine;
|
|||
|
using UnityEngine.UI;
|
|||
|
using GCGame.Table;
|
|||
|
|
|||
|
public class BanQuetOperationPanel : MonoBehaviour {
|
|||
|
|
|||
|
public static BanQuetOperationPanel Instance;
|
|||
|
public GameObject _CouplePanel;
|
|||
|
public GameObject _GuestPanel;
|
|||
|
public GameObject _WeddingCarPanel;
|
|||
|
|
|||
|
public BanQuetRedPacketPanel _RedPacketPanel;
|
|||
|
public BanQuetCandyPanel _CandyPanel;
|
|||
|
public BanQuetInvatePanel _InvatePanel;
|
|||
|
public BanQuetBeKickedPanel _KickPanel;
|
|||
|
public BanQuetFireWorkPanel _FireWorkpanel;
|
|||
|
public GameObject _NextRefreshTimeObj;
|
|||
|
public Text _NextRefreshTime;
|
|||
|
|
|||
|
|
|||
|
private RetBanQuetSceneInfo _PacketInfo;
|
|||
|
|
|||
|
private void Awake()
|
|||
|
{
|
|||
|
Instance = this;
|
|||
|
}
|
|||
|
|
|||
|
private void OnDestroy()
|
|||
|
{
|
|||
|
Instance = null;
|
|||
|
}
|
|||
|
|
|||
|
private void OnEnable()
|
|||
|
{
|
|||
|
ShowNextBanquetFreshTime();
|
|||
|
}
|
|||
|
|
|||
|
void ShowNextBanquetFreshTime()
|
|||
|
{
|
|||
|
if(GlobalData.BanquetNextRefreshTime != -1
|
|||
|
&& GlobalData.BanquetNextRefreshTime > GlobalData.ServerAnsiTime)
|
|||
|
{
|
|||
|
RefreshSpecialCountTime(GlobalData.BanquetNextRefreshTime);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public void OnPacket(RetBanQuetSceneInfo packet)
|
|||
|
{
|
|||
|
_PacketInfo = packet;
|
|||
|
_CouplePanel.SetActive(packet.nIsCouple == 1);
|
|||
|
_GuestPanel.SetActive(packet.nIsCouple != 1);
|
|||
|
|
|||
|
if (BanQuetInvatePanel.Instance)
|
|||
|
BanQuetInvatePanel.Instance.RefeshBtnState(packet.worldInvateEndTime, packet.guildInvateEndTime, packet.friendInvateEndTime);
|
|||
|
}
|
|||
|
|
|||
|
public void OnCandyBtn()
|
|||
|
{
|
|||
|
_CandyPanel.gameObject.SetActive(true);
|
|||
|
}
|
|||
|
|
|||
|
public void OnRedPacketBtn()
|
|||
|
{
|
|||
|
_RedPacketPanel.gameObject.SetActive(true);
|
|||
|
|
|||
|
_RedPacketPanel.Init(_PacketInfo.groom, _PacketInfo.bride);
|
|||
|
}
|
|||
|
|
|||
|
public void OnInvateBtn()
|
|||
|
{
|
|||
|
_InvatePanel.gameObject.SetActive(true);
|
|||
|
_InvatePanel.Init(_PacketInfo.permissionList, _PacketInfo.worldInvateEndTime, _PacketInfo.guildInvateEndTime, _PacketInfo.friendInvateEndTime);
|
|||
|
}
|
|||
|
|
|||
|
public void ShowKickPanel(long endTime)
|
|||
|
{
|
|||
|
_RedPacketPanel.gameObject.SetActive(false);
|
|||
|
_CandyPanel.gameObject.SetActive(false);
|
|||
|
_InvatePanel.gameObject.SetActive(false);
|
|||
|
|
|||
|
_KickPanel.gameObject.SetActive(true);
|
|||
|
_KickPanel.InitRemainTime(endTime);
|
|||
|
}
|
|||
|
|
|||
|
public void OnFireWorkBtn()
|
|||
|
{
|
|||
|
_FireWorkpanel.gameObject.SetActive(true);
|
|||
|
}
|
|||
|
|
|||
|
#region 婚宴特效倒计时
|
|||
|
public void RefreshSpecialCountTime(int endTime)
|
|||
|
{
|
|||
|
var remainTime = endTime - GlobalData.ServerAnsiTime;
|
|||
|
if (remainTime > 0)
|
|||
|
{
|
|||
|
if (!_NextRefreshTimeObj.activeInHierarchy)
|
|||
|
_NextRefreshTimeObj.SetActive(true);
|
|||
|
StartCoroutine(CountTimeSync(endTime));
|
|||
|
_NextRefreshTime.text = (remainTime / 60).ToString().PadLeft(2, '0') + ":" + (remainTime % 60).ToString().PadLeft(2, '0');
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
_NextRefreshTime.text = "00:00";
|
|||
|
}
|
|||
|
_NextRefreshTimeObj.SetActive(endTime != -1); //在倒计时为0的时候不会因为时间为0而隐藏,不然会显得很奇怪
|
|||
|
}
|
|||
|
|
|||
|
IEnumerator CountTimeSync(int endTime)
|
|||
|
{
|
|||
|
while (true)
|
|||
|
{
|
|||
|
yield return new WaitForSeconds(1.0f);
|
|||
|
var remainTime = endTime - GlobalData.ServerAnsiTime;
|
|||
|
//Debug.LogError("RemainTime : " + remainTime);
|
|||
|
if (remainTime < 0)
|
|||
|
{
|
|||
|
_NextRefreshTime.text = "00:00";
|
|||
|
yield break;
|
|||
|
}
|
|||
|
_NextRefreshTime.text = (remainTime / 60).ToString().PadLeft(2, '0') + ":" + (remainTime % 60).ToString().PadLeft(2, '0');
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
|
|||
|
#region 婚车操作
|
|||
|
public void ShowWeddingCarOperationPanel()
|
|||
|
{
|
|||
|
_RedPacketPanel.gameObject.SetActive(false);
|
|||
|
_CandyPanel.gameObject.SetActive(false);
|
|||
|
_InvatePanel.gameObject.SetActive(false);
|
|||
|
_KickPanel.gameObject.SetActive(false);
|
|||
|
_FireWorkpanel.gameObject.SetActive(false);
|
|||
|
|
|||
|
_CouplePanel.SetActive(false);
|
|||
|
_GuestPanel.SetActive(false);
|
|||
|
_WeddingCarPanel.SetActive(true);
|
|||
|
}
|
|||
|
|
|||
|
public void OnWeddingCarExitBtn()
|
|||
|
{
|
|||
|
ReqExitWeddingCar req = new ReqExitWeddingCar();
|
|||
|
req._flag = 1;
|
|||
|
req.SendMsg();
|
|||
|
}
|
|||
|
|
|||
|
#endregion
|
|||
|
}
|