| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- using UnityEngine.UI;
- public class PKMatchView : MonoBehaviour
- {
- [SerializeField] Sprite[] matchHeadBGList;
- void Awake()
- {
- InitBtnTabs();
- InitBtnStartMatch();
- InitMatchHeadBG();
- }
- void Start()
- {
- HomeMgr.CacheView(this);
- (Sprite avatar, string nickname) = RoleMgr.GetRoleInfo(LoginMgr.myUserInfo.avatarID);
- nickname = LoginMgr.myUserInfo.nickname;
- RenderPlayerInfo(1, avatar, nickname, true);
- SetBtnTabSelected(btnTabs[0]);
- 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];
- int btnTabIndex = i;
- btnTab.onClick.AddListener(() => {
- AudioMgr.ins.PlayBtn();
- ChangeMatchHeadBG(btnTabIndex);
- 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];
- }
- int index = Array.IndexOf(btnTabs, btnTabs);
- HandleBtnTabSelectedLogic(index);
- }
- void HandleBtnTabSelectedLogic(int btnIndex) {
-
- }
- #endregion
- void InitBtnStartMatch() {
- this.transform.Find("BoxRight/BtnMatch").GetComponent<Button>().onClick.AddListener(() => {
- AudioMgr.ins.PlayBtn();
- GameObject.Instantiate(GameObject.Find("WindowViews").transform.Find("PKMatchingView").gameObject).SetActive(true);
- });
- }
- 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;
- }
- void InitMatchHeadBG() {
- this.transform.Find("BoxRight/Player2/MatchHeadBG").GetComponent<Button>().onClick.AddListener(() => {
- Debug.Log("选择好友");
- });
- }
- void ChangeMatchHeadBG(int typeIndex) {
- Image img = this.transform.Find("BoxRight/Player2/MatchHeadBG").GetComponent<Image>();
- img.sprite = matchHeadBGList[typeIndex];
- img.GetComponent<Button>().enabled = typeIndex == 1;
- }
- public void Back() {
- AudioMgr.ins.PlayBtn();
- Destroy(this.gameObject);
- }
- }
|