先修复一下,错误的场景 删除不必要的钓场资产 修复into场景 update:更新meta文件,修复报错 update:修复资源 修复第一章节建造 修复建造第三章 update:删除多余内容 update:更新README.md update:还原图标 update:更新README update:更新配置
90 lines
2.5 KiB
C#
90 lines
2.5 KiB
C#
using GameCore;
|
|
using System.Threading.Tasks;
|
|
using TMPro;
|
|
using UnityEngine;
|
|
using UnityEngine.Rendering;
|
|
using UnityEngine.Rendering.Universal;
|
|
|
|
public class FishPhotoCaptrue : MonoBehaviour
|
|
{
|
|
[SerializeField]
|
|
private TMP_Text
|
|
txt_fishWeight,
|
|
txt_fishName;
|
|
[SerializeField]
|
|
private Camera cam;
|
|
|
|
[SerializeField]
|
|
private UniversalRenderPipelineAsset m_PipelineAsset;
|
|
private RenderPipelineAsset m_PreviousPipelineAsset;
|
|
private bool m_overrodeQualitySettings;
|
|
|
|
void OnEnable()
|
|
{
|
|
UpdatePipeline();
|
|
}
|
|
|
|
void OnDisable()
|
|
{
|
|
ResetPipeline();
|
|
}
|
|
|
|
private void UpdatePipeline()
|
|
{
|
|
if (m_PipelineAsset)
|
|
{
|
|
if (QualitySettings.renderPipeline != null && QualitySettings.renderPipeline != m_PipelineAsset)
|
|
{
|
|
m_PreviousPipelineAsset = QualitySettings.renderPipeline;
|
|
QualitySettings.renderPipeline = m_PipelineAsset;
|
|
m_overrodeQualitySettings = true;
|
|
}
|
|
else if (GraphicsSettings.renderPipelineAsset != m_PipelineAsset)
|
|
{
|
|
m_PreviousPipelineAsset = GraphicsSettings.renderPipelineAsset;
|
|
GraphicsSettings.renderPipelineAsset = m_PipelineAsset;
|
|
m_overrodeQualitySettings = false;
|
|
}
|
|
}
|
|
}
|
|
|
|
private void ResetPipeline()
|
|
{
|
|
if (m_PreviousPipelineAsset)
|
|
{
|
|
if (m_overrodeQualitySettings)
|
|
{
|
|
QualitySettings.renderPipeline = m_PreviousPipelineAsset;
|
|
}
|
|
else
|
|
{
|
|
GraphicsSettings.renderPipelineAsset = m_PreviousPipelineAsset;
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
public void Init(string fishName, float fishWeight)
|
|
{
|
|
txt_fishName.text = LocalizationMgr.GetFormatTextValue(fishName);
|
|
txt_fishWeight.text = LocalizationMgr.GetWeight(fishWeight);
|
|
}
|
|
|
|
public async Task RenderImage(RenderTexture rt)
|
|
{
|
|
Camera main = Camera.main;
|
|
cam.transform.position = main.transform.position;
|
|
cam.transform.rotation = main.transform.rotation;
|
|
cam.fieldOfView = main.fieldOfView;
|
|
|
|
await Awaiters.NextFrame;
|
|
await Awaiters.EndOfFrame;
|
|
var request = new UniversalRenderPipeline.SingleCameraRequest();
|
|
request.destination = rt;
|
|
RenderPipeline.SubmitRenderRequest(cam, request);
|
|
await Awaiters.EndOfFrame;
|
|
await Awaiters.NextFrame;
|
|
}
|
|
|
|
}
|