using AX.MessageSystem;
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class QuadCamsManager : MonoBehaviour {
private static QuadCamsManager instance;
public static QuadCamsManager Instance
{
get
{
return instance;
}
}
void Awake()
{
instance = this;
}
public GameObject quadCamPre;
// Use this for initialization
void Start () {
quadCamPre = Resources.Load("4GTransfer/QuadCam") as GameObject;
//MessageDispatcher.AddListener("QuadrupleMode", DeleteAllCams); 测试:暂时不需要删除所有四分屏
//MessageDispatcher.AddListener("QuadrupleMode", DisableAllCams);
}
///
/// 生成新的四分相机
///
///
public void InstantiateCamera(CloneGameObjInfo info,RenderTexture texture)
{
GameObject cam = Instantiate(quadCamPre, transform);
cam.name = "QuadCam-" + cam.transform.GetSiblingIndex().ToString();
cam.GetComponent().targetTexture = texture;
cam.GetComponent().SetTarget(info);
}
///
/// 关闭四分屏模式,删除所有相机
///
///
void DeleteAllCams(IMessage obj)
{
var isQuad = (bool)obj.Data;
if (isQuad == false) //如果关闭四分屏模式,删除所有相机
{
for(int i = 0; i < transform.childCount; i++)
{
Destroy(transform.GetChild(i).gameObject);
}
}
}
}