using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
namespace WildAttack
{
///
/// 游戏结束界面
///
public class GameOverPanelPK : MonoBehaviour
{
#region Members
public Image AvatarPlayer1;
public Image AvatarPlayer2;
[SerializeField] Button btn_restart;
[SerializeField] Button btn_back;
[SerializeField] Text text_restart;
[SerializeField] Text text_back;
[SerializeField] Text text_currScoreTitle;
[SerializeField] Text text_currScorePlayer1;
[SerializeField] Text text_currScorePlayer2;
[SerializeField] Text text_ResultPlayer1;
[SerializeField] Text text_ResultPlayer2;
#endregion
#region Lifecycle
// Start is called before the first frame update
void Start()
{
RegisterEvent();
}
void OnEnable()
{
SimulateMouseController.ins?.AddOpenLocker(this);
InfraredDemo._ins?.SetSinglePoint(true);
}
void OnDisable()
{
SimulateMouseController.ins?.RemoveOpenLocker(this);
InfraredDemo._ins?.SetSinglePoint(false, ScreenPointTypeEnum.FullScreen);
}
#endregion
#region ButtonClickEvent
///
/// 注册btn监听
///
private void RegisterEvent()
{
btn_restart.onClick.AddListener(OnBtnRestartClick);
btn_back.onClick.AddListener(OnBtnBackClick);
}
///
///点击 不玩了, 退出
///
private void OnBtnBackClick()
{
AudioMgr.ins.PlayBtn();
UnityEngine.SceneManagement.SceneManager.LoadScene("Home", UnityEngine.SceneManagement.LoadSceneMode.Single);
}
///
/// 重开按钮
///
private void OnBtnRestartClick()
{
AudioMgr.ins.PlayBtn();
// 重开设置
GameMananger.GetInstance().ResetMainCamera();
//GameMananger.GetInstance().ResetAim();
GameMananger.GetInstance().AddHp((int)GameModule.GetInstance().GetData("wallHp"));
GameMananger.GetInstance().SetScore(0);
// 重置enemys
for (int i = EnemyManager.GetInstance().enemyList.Count - 1; i >= 0; i--)
{
EnemyManager.GetInstance().enemyList[i].ResetEnemy();
}
//道具cd 关卡重置
EnemyPool.GetInstance().RecycleAll();
BalloonPool.GetInstance().RecycleAll();
FlotagePool.GetInstance().RecycleAll();
ProcessManager.GetInstance().RestartLevel();
UIManager.GetInstance().Restart();
}
#endregion
#region Functions
///
/// 双人模式结束游戏
///
///
public void ShowGameOverPanelByPK(bool isWin)
{
text_restart.text = StringModule.GetInstance().GetData("restart");
text_back.text = StringModule.GetInstance().GetData("back");
//分数部分
text_currScoreTitle.text = StringModule.GetInstance().GetData("score");
int player1Score = GameMananger.GetInstance().TotalScore;
int player2Score = GameMananger.GetInstance().TotalScore_2P;
text_currScorePlayer1.text = GameMananger.GetInstance().TotalScore.ToString();
text_currScorePlayer2.text = GameMananger.GetInstance().TotalScore_2P.ToString();
if (player1Score > player2Score)
{
//玩家1胜利
text_ResultPlayer1.text = StringModule.GetInstance().GetData("victory");
text_ResultPlayer2.text = StringModule.GetInstance().GetData("defeat");
}
else if (player1Score < player2Score)
{
//玩家2胜利
text_ResultPlayer2.text = StringModule.GetInstance().GetData("victory");
text_ResultPlayer1.text = StringModule.GetInstance().GetData("defeat");
}
else {
//平局
text_ResultPlayer1.text = StringModule.GetInstance().GetData("draw");
text_ResultPlayer2.text = StringModule.GetInstance().GetData("draw");
}
}
#endregion
}
}