You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
59 lines
1.6 KiB
59 lines
1.6 KiB
4 years ago
|
using AX.MessageSystem;
|
||
|
using System;
|
||
|
using System.Collections;
|
||
|
using System.Collections.Generic;
|
||
|
using UnityEngine;
|
||
|
using UnityEngine.UI;
|
||
|
|
||
|
public class QuadDispItemCtrl : MonoBehaviour {
|
||
|
public Text markNum;
|
||
|
public RawImage rawImg;
|
||
|
public RenderTexture texture;
|
||
|
public CloneGameObjInfo info;
|
||
|
private void Awake()
|
||
|
{
|
||
|
markNum = transform.Find("mark/Text").GetComponent<Text>();
|
||
|
rawImg = GetComponent<RawImage>();
|
||
|
texture = new RenderTexture(378, 250, 24);
|
||
|
rawImg.texture = texture;
|
||
|
}
|
||
|
private void OnEnable()
|
||
|
{
|
||
|
markNum.text = (transform.GetSiblingIndex() + 1).ToString();
|
||
|
}
|
||
|
public void Set(CloneGameObjInfo info)
|
||
|
{
|
||
|
this.info = info;
|
||
|
QuadCamsManager.Instance.InstantiateCamera(info, texture);
|
||
|
MessageDispatcher.AddListener("CancelQuadDisplay", DeleteDisplay);
|
||
|
}
|
||
|
void DeleteDisplay(IMessage obj)
|
||
|
{
|
||
|
var deleInfo = (CloneGameObjInfo)obj.Data;
|
||
|
if (deleInfo.gameObjID == info.gameObjID)
|
||
|
{
|
||
|
Destroy(gameObject);
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
if (gameObject.activeInHierarchy==true)
|
||
|
{
|
||
|
StartCoroutine(UpdateNum());
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
void OnDestroy()
|
||
|
{
|
||
|
MessageDispatcher.RemoveListener("CancelQuadDisplay", DeleteDisplay);
|
||
|
}
|
||
|
/// <summary>
|
||
|
/// 更新四分屏序号
|
||
|
/// </summary>
|
||
|
/// <returns></returns>
|
||
|
IEnumerator UpdateNum()
|
||
|
{
|
||
|
yield return new WaitForEndOfFrame();
|
||
|
markNum.text = (transform.GetSiblingIndex() + 1).ToString();
|
||
|
}
|
||
|
}
|