using System.Collections; using System.Collections.Generic; using TMPro; using Unity.VisualScripting; using UnityEngine; using UnityEngine.UI; public class UIChineseChessHint : SubUIBase { public Button TongYi; public Button JuJue; public Button QueRen; public Button QuXiao; string targetID; public TextMeshProUGUI tmp_msg; protected override void OnShow(object args = null) { base.OnShow(args); if (args != null) { var v = (HintData)args; if (v.hintType == 1) { foreach (var item in v.roomData.users) { if (item.userId!=GameManager.Instance.user.BaseInfo.number) { tmp_msg.text = $"{item.userId} 向您发起了求和"; targetID=item.userId; TongYi.gameObject.SetActive(true); JuJue.gameObject.SetActive(true); QueRen.gameObject.SetActive(false); QuXiao.gameObject.SetActive(false); } } } else if (v.hintType == 2) { foreach (var item in v.roomData.users) { if (item.userId != GameManager.Instance.user.BaseInfo.number) { tmp_msg.text = $"是否确认认输"; targetID = item.userId; TongYi.gameObject.SetActive(false); JuJue.gameObject.SetActive(false); QueRen.gameObject.SetActive(true); QuXiao.gameObject.SetActive(true); } } } else if (v.hintType == 3) { foreach (var item in v.roomData.users) { if (item.userId != GameManager.Instance.user.BaseInfo.number) { tmp_msg.text = $"{item.userId} 向您发起了悔棋请求"; targetID = item.userId; TongYi.gameObject.SetActive(true); JuJue.gameObject.SetActive(true); QueRen.gameObject.SetActive(false); QuXiao.gameObject.SetActive(false); } } } TongYi.onClick.RemoveAllListeners(); TongYi.onClick.AddListener(() => { //WebSocketSendList.GameOperationChineseChess(v.roomData.roomId, 2, GameManager.Instance.user.BaseInfo.number); if (v.hintType == 1) { //WebSocketSendList.EndGameChineseChess(v.roomData.roomId, targetID); WebSocketSendList.EndGameChineseChess(v.roomData.roomId, null); uIManager.Hide(UIPanel.ZGXQHint); } else if (v.hintType == 2) { WebSocketSendList.EndGameChineseChess(v.roomData.roomId, targetID); } else if (v.hintType == 3) { // 同意悔棋:回执对方(走 GameOperation 通道)+ 本地悔一步 WebSocketSendList.GameOperationChineseChess(v.roomData.roomId, 4, GameManager.Instance.user.BaseInfo.number); var mainPanel = UIManager.Instance.Get(UIPanel.MainGamePanelZGXQ); if (mainPanel != null) mainPanel.AgreeUndoChess(); uIManager.Hide(UIPanel.ZGXQHint); } }); QueRen.onClick.RemoveAllListeners(); QueRen.onClick.AddListener(() => { //WebSocketSendList.GameOperationChineseChess(v.roomData.roomId, 2, GameManager.Instance.user.BaseInfo.number); if (v.hintType == 1) { //WebSocketSendList.EndGameChineseChess(v.roomData.roomId, targetID); WebSocketSendList.EndGameChineseChess(v.roomData.roomId, null); uIManager.Hide(UIPanel.ZGXQHint); } else if (v.hintType == 2) { WebSocketSendList.EndGameChineseChess(v.roomData.roomId, targetID); } }); JuJue.onClick.RemoveAllListeners(); JuJue.onClick.AddListener(() => { //WebSocketSendList.EndGameChineseChess(v.roomData.roomId, targetID); if (v.hintType == 3) { // 拒绝悔棋:回执对方(走 GameOperation 通道) WebSocketSendList.GameOperationChineseChess(v.roomData.roomId, 5, GameManager.Instance.user.BaseInfo.number); } uIManager.Hide(UIPanel.ZGXQHint); }); QuXiao.onClick.RemoveAllListeners(); QuXiao.onClick.AddListener(() => { //WebSocketSendList.EndGameChineseChess(v.roomData.roomId, targetID); uIManager.Hide(UIPanel.ZGXQHint); }); } } // Start is called before the first frame update void Start() { } // Update is called once per frame void Update() { } }