|
@@ -0,0 +1,79 @@
|
|
|
|
|
+using System;
|
|
|
|
|
+using System.Collections;
|
|
|
|
|
+using System.Collections.Generic;
|
|
|
|
|
+using UnityEngine;
|
|
|
|
|
+using UnityEngine.UI;
|
|
|
|
|
+
|
|
|
|
|
+public class PKMatchView : MonoBehaviour
|
|
|
|
|
+{
|
|
|
|
|
+ [NonSerialized] public Action loadGameAction;
|
|
|
|
|
+
|
|
|
|
|
+ void Awake()
|
|
|
|
|
+ {
|
|
|
|
|
+ InitBtnTabs();
|
|
|
|
|
+ InitBtnStartMatch();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ void Start()
|
|
|
|
|
+ {
|
|
|
|
|
+ HomeMgr.CacheView(this);
|
|
|
|
|
+
|
|
|
|
|
+ (Sprite avatar, string nickname) = RoleMgr.GetRoleInfo(0);
|
|
|
|
|
+ RenderPlayerInfo(1, avatar, nickname, true);
|
|
|
|
|
+ RenderPlayerInfo(2, null, "", false);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ void OnDestroy()
|
|
|
|
|
+ {
|
|
|
|
|
+ HomeMgr.RemoveCacheView(this);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ #region 左栏条目切换
|
|
|
|
|
+ [SerializeField] Sprite[] btnTabTextures;
|
|
|
|
|
+ Button[] btnTabs = {null, null};
|
|
|
|
|
+ void InitBtnTabs() {
|
|
|
|
|
+ btnTabs[0] = this.transform.Find("LineV/BtnTab0").GetComponent<Button>();
|
|
|
|
|
+ btnTabs[1] =this.transform.Find("LineV/BtnTab1").GetComponent<Button>();
|
|
|
|
|
+ for (int i = 0; i < btnTabs.Length; i++) {
|
|
|
|
|
+ Button btnTab = btnTabs[i];
|
|
|
|
|
+ btnTab.onClick.AddListener(() => {
|
|
|
|
|
+ AudioMgr.ins.PlayBtn();
|
|
|
|
|
+ if (!IsBtnTabSelected(btnTab)) {
|
|
|
|
|
+ SetBtnTabSelected(btnTab);
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ bool IsBtnTabSelected(Button btn) {
|
|
|
|
|
+ Image img = btn.GetComponent<Image>();
|
|
|
|
|
+ return img.sprite.name.Equals(btnTabTextures[1].name);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ void SetBtnTabSelected(Button btn) {
|
|
|
|
|
+ foreach (var item in btnTabs) {
|
|
|
|
|
+ Image img = item.GetComponent<Image>();
|
|
|
|
|
+ img.sprite = item == btn ? btnTabTextures[1] : btnTabTextures[0];
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ #endregion
|
|
|
|
|
+
|
|
|
|
|
+ void InitBtnStartMatch() {
|
|
|
|
|
+ this.transform.Find("BoxRight/BtnMatch").GetComponent<Button>().onClick.AddListener(() => {
|
|
|
|
|
+ AudioMgr.ins.PlayBtn();
|
|
|
|
|
+ loadGameAction?.Invoke();
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ void RenderPlayerInfo(int playerID, Sprite avatar, string nickname, bool active) {
|
|
|
|
|
+ this.transform.Find($"BoxRight/Player{playerID}/NameBox")
|
|
|
|
|
+ .GetComponentInChildren<Text>().text = active ? nickname : "等待加入";
|
|
|
|
|
+ Transform avatarT = this.transform.Find($"BoxRight/Player{playerID}/MatchHeadBG/Avatar");
|
|
|
|
|
+ avatarT.gameObject.SetActive(active);
|
|
|
|
|
+ avatarT.Find("Sprite").GetComponent<Image>().sprite = avatar;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public void Back() {
|
|
|
|
|
+ AudioMgr.ins.PlayBtn();
|
|
|
|
|
+ Destroy(this.gameObject);
|
|
|
|
|
+ }
|
|
|
|
|
+}
|