备份CatanBuilding瘦身独立工程
This commit is contained in:
89
Assets/Scripts/UI/Fishing/FishPhotoCaptrue.cs
Normal file
89
Assets/Scripts/UI/Fishing/FishPhotoCaptrue.cs
Normal file
@@ -0,0 +1,89 @@
|
||||
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;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user