SHA256
36 lines
988 B
C#
36 lines
988 B
C#
using System.Collections;
|
|
using System.Reflection;
|
|
using HarmonyLib;
|
|
using UnityEngine;
|
|
|
|
namespace ADOFAIRenderer.Core
|
|
{
|
|
[DefaultExecutionOrder(int.MaxValue)]
|
|
internal class PostRenderHook : MonoBehaviour
|
|
{
|
|
private FieldInfo? _camQuadMeshField;
|
|
|
|
private void Awake()
|
|
{
|
|
_camQuadMeshField = AccessTools.Field(typeof(scrCamera), "camQuadMesh");
|
|
}
|
|
|
|
private void LateUpdate()
|
|
{
|
|
if (RenderManager.Instance)
|
|
RenderManager.Instance.OnLastUpdate();
|
|
|
|
StartCoroutine(PostFrameCoroutine());
|
|
}
|
|
|
|
private IEnumerator PostFrameCoroutine()
|
|
{
|
|
yield return new WaitForEndOfFrame();
|
|
|
|
var val = (MeshRenderer)_camQuadMeshField!.GetValue(scrCamera.instance);
|
|
if (RenderManager.Instance)
|
|
RenderManager.Instance.OnPostFrame(val.sharedMaterial.mainTexture as RenderTexture);
|
|
}
|
|
}
|
|
}
|