123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- using UnityEngine.Networking;
- using UnityEngine.UI;
- public class SPJK_ObsItem : MonoBehaviour
- {
- public ObsData _data;
- public Text nameText;
- public Text typeText;
- public Text codeText;
- public Text updataTimeText;
- public RawImage fm;
-
- public static Dictionary<string, Texture> OBSTexLibrary = new Dictionary<string, Texture>();
-
- private void Start()
- {
- ActionInstance._Instance.obsFmUpdata += OnGetFmUpdate;
- }
- private void OnDestroy()
- {
- ActionInstance._Instance.obsFmUpdata -= OnGetFmUpdate;
- }
-
- private void OnEnable()
- {
- if (!havePic && _data != null) {
- // Debug.Log(_data.targetName);
- string hashName = ObsPlayerPanel.GetHashedName(_data.targetName);
- StartCoroutine(LoadFmTex(ServerAddress.Server_TextureSavePath + hashName + ".jpg"));
- }
- }
- private void OnGetFmUpdate(string name)
- {
- if (name.Equals(ObsPlayerPanel.GetHashedName(_data.targetName)))
- {
- StartCoroutine(LoadFmTex(ServerAddress.Server_TextureSavePath + name + ".jpg"));
- }
- }
- bool havePic = false;
- IEnumerator LoadFmTex(string url)
- {
- UnityWebRequest www = UnityWebRequestTexture.GetTexture(url);
- yield return www.SendWebRequest();
- string hashName = ObsPlayerPanel.GetHashedName(_data.targetName);
- if (www.isDone && www.result == UnityWebRequest.Result.Success)
- {
- fm.texture = ((DownloadHandlerTexture)www.downloadHandler).texture;
- havePic = true;
- if (!OBSTexLibrary.ContainsKey(ServerAddress.Server_TextureSavePath + hashName + ".jpg"))
- OBSTexLibrary.Add(ServerAddress.Server_TextureSavePath + hashName + ".jpg", fm.texture);
- }
- www.disposeDownloadHandlerOnDispose = true;
- www.Dispose();
- }
-
- public void SetData(ObsData data)
- {
- _data = data;
- nameText.text = _data.name;
- switch (_data.type)
- {
- case obsType.BuYuanObs:
- typeText.text = "分类:<color=#FFFFFF>补元</color>";
- break;
- case obsType.TaoKouObs:
- typeText.text = "分类:<color=#FFFFFF>套口</color>";
- break;
- }
- codeText.text = $"编码:<color=#FFFFFF>{_data.channelId}</color>";
-
- string hashName = ObsPlayerPanel.GetHashedName(_data.targetName);
- StartCoroutine(LoadFmTex( ServerAddress.Server_TextureSavePath + hashName + ".jpg"));
- }
- }
|