using System;
using UnityEngine;
namespace GCSeries.zView
{
public abstract class GVirtualCamera : MonoBehaviour
{
///
/// Set up the VirtualCamera.
///
///
///
/// Performs any setup related operations specific to the mode the
/// VirtualCamera is associated with. This method will be called once
/// per ModeSetupPhase when the specified connection has transitioned
/// to the ConnectionState.ModeSetup state.
///
///
///
/// A reference to the zView API Monobehaviour script.
///
///
/// The connection to perform the VirtualCamera's setup phase for.
///
///
/// The mode setup phase for the specified connection.
///
public abstract void SetUp(GView zView, IntPtr connection, GView.ModeSetupPhase phase);
///
/// Tear down the VirtualCamera.
///
///
///
/// Performs any cleanup related operations specific to the mode the
/// VirtualCamera is associated with.
///
public abstract void TearDown();
///
/// Render a single frame.
///
///
///
/// A reference to the zView API Monobehaviour script.
///
///
/// The connection to perform the VirtualCamera's render for.
///
///
/// The received frame from the specified connection.
///
public abstract void Render(GView zView, IntPtr connection, IntPtr receivedFrame);
///
/// Get the native texture pointer associated with the VirtualCamera's
/// offscreen render texture.
///
///
///
/// The native texture pointer associated with the VirtualCamera's offscreen
/// render texture.
///
public abstract IntPtr[] GetNativeTexturePtr(out int count);
///
/// Get VirtualCamera's offscreen render texture.
///
/// VirtualCamera's render texture.
public abstract RenderTexture[] GetRenderTexture(out int count);
}
}