123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 |
- using LitJson;
- using Newtonsoft.Json.Linq;
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- public class LangChaoMailManager : MonoSingleton<LangChaoMailManager>
- {
- public Transform Mail_ImageList;
- public Transform showImagePoint;
- public GameObject mail_imageItem;
- public List<LangChaoMailItem> listMailItem;
- public MailUIItem mailUIItem;
- public Transform mailContent;
- public Dictionary<LangChaoMailItem, GameObject> dicMailUIItems;
- public Dictionary<LangChaoMailItem, GameObject> dicMialImageItems;
- private void Start()
- {
- listMailItem = new List<LangChaoMailItem>();
- dicMialImageItems = new Dictionary<LangChaoMailItem, GameObject>();
- dicMailUIItems = new Dictionary<LangChaoMailItem, GameObject>();
- }
-
-
-
-
-
-
- public void ReceiverMail(JObject data)
- {
-
-
- LangChaoMailItem mailItem = new LangChaoMailItem();
- mailItem.imageData = data["image_data"].ToString();
- mailItem.timestamp = long.Parse(data["timestamp"].ToString());
- mailItem.room = data["room"].ToString();
- mailItem.rack = data["rack"].ToString();
- mailItem.u_addr = data["u_addr"].ToString();
-
- if (string.IsNullOrEmpty( data["alarms"].ToString()) || string.IsNullOrEmpty(data["alarms"][0].ToString()))
- {
- mailItem.title = null;
- mailItem.level = -1;
- }
- else
- {
- mailItem.title = data["alarms"][0]["title"].ToString();
- mailItem.level = int.Parse(data["alarms"][0]["level"].ToString());
- }
- listMailItem.Add(mailItem);
- GameObject objItem = GameObject.Instantiate(mailUIItem.gameObject, mailContent);
- objItem.SetActive(true);
- objItem.GetComponent<MailUIItem>().SettingData(mailItem);
- dicMailUIItems.Add(mailItem, objItem);
- MailUIContent.Instance.UpdatePage();
- MailUIContent.Instance.ShowUnread(1);
- MailUIContent.Instance.MailShow.SetActive(true);
- MailUIContent.Instance.MailNull.SetActive(false);
-
- }
-
-
-
-
- public void RemoveMail(LangChaoMailItem mailItem)
- {
- dicMailUIItems[mailItem].SetActive(false);
- listMailItem.Remove(mailItem);
- if (listMailItem.Count < 1)
- {
- MailUIContent.Instance.MailShow.SetActive(false);
- MailUIContent.Instance.MailNull.SetActive(true);
- }
- }
- public void ShowImage(LangChaoMailItem item, Texture ImgSprite)
- {
- if (dicMialImageItems.ContainsKey(item))
- {
- dicMialImageItems[item].transform.position = showImagePoint.position;
- dicMialImageItems[item].transform.eulerAngles = showImagePoint.eulerAngles;
- dicMialImageItems[item].gameObject.SetActive(true);
-
- }
- else
- {
- GameObject obj = GameObject.Instantiate(mail_imageItem);
- obj.GetComponent<Mail_ImageItem>().SetImageData(ImgSprite);
- obj.transform.position = showImagePoint.position;
- obj.transform.eulerAngles = showImagePoint.eulerAngles;
- obj.transform.SetParent(showImagePoint);
- dicMialImageItems.Add(item, obj);
- }
-
- }
- }
- public class LangChaoMailItem
- {
- public string imageData { get; set; }
- public long timestamp { get; set; }
- public string title { get; set; }
- public int level { get; set; }
- public string room { get; set; }
- public string rack { get; set; }
- public string u_addr { get; set; }
- public bool isShow = false;
- }
|