123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- using System;
- using System.Collections.Generic;
- using System.Threading.Tasks;
- using UnityEngine;
- using UnityEngine.UI;
- using static System.Net.Mime.MediaTypeNames;
- namespace ET.Client
- {
- [FriendOf(typeof(UIAvtiveComponent))]
- public static class UIAvtiveComponentSystem
- {
- [ObjectSystem]
- public class UIAvtiveComponentAwakeSystem : AwakeSystem<UIAvtiveComponent>
- {
- protected override void Awake(UIAvtiveComponent self, params object[] param)
- {
- ReferenceCollector rc = self.GetParent<UI>().GameObject.GetComponent<ReferenceCollector>();
- self.noWeijinObj = rc.Get<GameObject>("noWeijinObj");
- self.greenObj = rc.Get<GameObject>("greenObj");
- self.noFanObj = rc.Get<GameObject>("noFanObj");
- self.zhaoMuObj = rc.Get<GameObject>("zhaoMuObj");
- self.noDuObj = rc.Get<GameObject>("noDuObj");
- self.leftImage.Clear();
- for (int i = 1;i <= 5;i++)
- {
- int index = i;
- var btn = rc.Get<GameObject>("leftBtn" + i);
- btn.GetComponent<Button>().onClick.AddListener(async () =>
- {
- await SoundManager.Instance.PlaySound("clickbtnsound");
- self.OnLeftBtnBtn(index);
- });
- var img = btn.GetComponent<UnityEngine.UI.Image>();
- self.leftImage.Add(img);
- }
- self.closeTitleBtn = rc.Get<GameObject>("closeTitleBtn");
- self.closeTitleBtn.GetComponent<Button>().onClick.AddListener(() => { self.OnCloseBtn(); });
- self.closeBtn = rc.Get<GameObject>("closeBtn");
- self.closeBtn.GetComponent<Button>().onClick.AddListener(() => { self.OnCloseBtn(); });
- self.Init();
- }
- }
- private static void Init(this UIAvtiveComponent self)
- {
- self.OnLeftBtnBtn(1);
- }
- public static void OnLeftBtnBtn(this UIAvtiveComponent self,int index)
- {
- self.noWeijinObj.SetActive(false);
- self.greenObj.SetActive(false);
- self.noFanObj.SetActive(false);
- self.zhaoMuObj.SetActive(false);
- self.noDuObj.SetActive(false);
- self.SetBtnState(index);
- switch (index)
- {
- case 1:
- {
- self.noDuObj.SetActive(true);
- break;
- }
- case 2:
- {
- self.zhaoMuObj.SetActive(true);
- break;
- }
- case 3:
- {
- self.noFanObj.SetActive(true);
- break;
- }
- case 4:
- {
- self.greenObj.SetActive(true);
- break;
- }
- case 5:
- {
- self.noWeijinObj.SetActive(true);
- break;
- }
- }
- }
- private static async void SetBtnState(this UIAvtiveComponent self,int index)
- {
- await ResourcesComponentHelper.Instance.LoadSprite(self.ClientScene(), "commonatlas");
- Sprite spriteNoSel = ResourcesComponentHelper.Instance.GetSprite("commonatlas", "com_button_org");
- await ResourcesComponentHelper.Instance.LoadSprite(self.ClientScene(), "commonatlas");
- Sprite spriteSel = ResourcesComponentHelper.Instance.GetSprite("commonatlas", "com_button_green");
- for (int i = 0;i < self.leftImage.Count;i++)
- {
- if (i + 1 == index)
- {
- self.leftImage[i].sprite = spriteSel;
- }
- else
- {
- self.leftImage[i].sprite = spriteNoSel;
- }
- }
- }
- public static async void OnCloseBtn(this UIAvtiveComponent self)
- {
- await SoundManager.Instance.PlaySound("clickbtnsound");
- self.OnCloseAsync();
- }
- public static async void OnCloseAsync(this UIAvtiveComponent self)
- {
- await UIHelper.Remove(self.ClientScene(),UIType.UIAvtive);
- }
- }
- }
|