| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- 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);
- }
- }
|