using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using UnityEngine.SceneManagement; public class PKGameView : MonoBehaviour { [SerializeField] Text[] scoreTexts; PKGameMode pKGameMode; int currentPlayerIndex = -1; string[] numCNs = {"", "第一局", "第二局", "第三局", "第四局", "第五局", "第六局"}; string[] numENs = {"", "1st leg", "2st leg", "3st leg", "4st leg", "5st leg", "6st leg"}; public static PKGameView ins; void Start() { ins = this; pKGameMode = (PKGameMode) GameMgr.ins.gameMode; RenderPlayerInfo(1, PKGameMode.playerRoleIDs[0]); RenderPlayerInfo(2, PKGameMode.playerRoleIDs[1]); } void RenderPlayerInfo(int posNum, int playerID) { (Sprite avatar, string nickName) = RoleMgr.GetRoleInfo(playerID); this.transform.Find("TotalScore/Avatar" + posNum + "/Sprite").GetComponent().sprite = avatar; this.transform.Find("TotalScore/Name" + posNum).GetComponent().text = nickName; } void Update() { scoreTexts[0].text = TextAutoLanguage.GetLanguage() == LanguageEnum.Chinese ? numCNs[pKGameMode.round] : numENs[pKGameMode.round]; scoreTexts[1].text = pKGameMode.currentScores[0].ToString(); scoreTexts[2].text = pKGameMode.currentScores[1].ToString(); scoreTexts[3].text = pKGameMode.totalScores[0] + " : " + pKGameMode.totalScores[1]; if (currentPlayerIndex != pKGameMode.currentPlayerIndex) { currentPlayerIndex = pKGameMode.currentPlayerIndex; (Sprite avatar, string nickName) = RoleMgr.GetRoleInfo(PKGameMode.playerRoleIDs[currentPlayerIndex]); this.transform.Find("CurrentPlayer/Avatar").GetComponent().sprite = avatar; this.transform.Find("CurrentPlayer/Name").GetComponent().text = nickName; } if (currentPlayerIndex == pKGameMode.currentPlayerIndex) { this.transform.Find("CurrentPlayer/Progress").GetComponent().fillAmount = pKGameMode.singleShootReadyTime / pKGameMode.singleShootReadyMaxTime; this.transform.Find("CurrentPlayer/Time").GetComponent().text = pKGameMode.GetTimeStr(); } } }