155 lines
4.0 KiB
C#
155 lines
4.0 KiB
C#
using System.ComponentModel;
|
|
using Framework;
|
|
using Gameplay.Performance;
|
|
using MagicaCloth2;
|
|
using PhxhSDK;
|
|
using UnityEditor;
|
|
using UnityEngine;
|
|
using UnityEngine.Rendering;
|
|
using UnityEngine.Rendering.Universal;
|
|
|
|
public partial class SROptions
|
|
{
|
|
|
|
|
|
// 布料
|
|
[Category("性能")]
|
|
public bool EnableCloth
|
|
{
|
|
get { return _enableCloth; }
|
|
set
|
|
{
|
|
_enableCloth = value;
|
|
PerformanceManager.instance.data.enableCloth = _enableCloth;
|
|
// 找到场景中的所有灯光
|
|
var cloths = GameObject.FindObjectsOfType<MagicaCloth>();
|
|
foreach (var cloth in cloths)
|
|
{
|
|
cloth.enabled = _enableCloth;
|
|
}
|
|
}
|
|
}
|
|
private bool _enableCloth = true;
|
|
|
|
[Category("性能")]
|
|
public int TargetFrameRate
|
|
{
|
|
get { return _targetFrameRate; }
|
|
set
|
|
{
|
|
_targetFrameRate = value;
|
|
}
|
|
}
|
|
private int _targetFrameRate = 60;
|
|
[Category("性能")]
|
|
public void SetFps()
|
|
{
|
|
Application.targetFrameRate = _targetFrameRate;
|
|
}
|
|
|
|
[Category("性能")]
|
|
public int Resolution
|
|
{
|
|
get { return _resolution; }
|
|
set
|
|
{
|
|
_resolution = value;
|
|
}
|
|
}
|
|
private int _resolution = 0;
|
|
[Category("性能")]
|
|
public void SetResoulution()
|
|
{
|
|
PerformanceManager.SetResolution(_resolution);
|
|
}
|
|
|
|
[Category("性能")]
|
|
public bool EnableEffect
|
|
{
|
|
get { return _enableEffect; }
|
|
set { _enableEffect = value; }
|
|
}
|
|
private bool _enableEffect = true;
|
|
|
|
[Category("性能")]
|
|
public bool EnableLog
|
|
{
|
|
get { return DebugUtil.LogEnable; }
|
|
set { DebugUtil.LogEnable = value; }
|
|
}
|
|
|
|
[Category("性能")]
|
|
public bool EnableMainRender
|
|
{
|
|
get { return _enableMainRender; }
|
|
set
|
|
{
|
|
_enableMainRender = value;
|
|
CameraManager.Instance.MainCamera.enabled = _enableMainRender;
|
|
}
|
|
}
|
|
private bool _enableMainRender = true;
|
|
|
|
[Category("性能")]
|
|
public bool EnableUIRender
|
|
{
|
|
get { return _enableUIRender; }
|
|
set
|
|
{
|
|
_enableUIRender = value;
|
|
CameraManager.Instance.UICamera.enabled = _enableUIRender;
|
|
}
|
|
}
|
|
private bool _enableUIRender = true;
|
|
|
|
[Category("性能")]
|
|
public bool EnableAllSurfaceInScene
|
|
{
|
|
get => _enableAllSurfaceInScene;
|
|
set
|
|
{
|
|
if (_enableAllSurfaceInScene != value)
|
|
{
|
|
_enableAllSurfaceInScene = value;
|
|
if (NLDSceneManager.Instance != null)
|
|
{
|
|
NLDSceneManager.Instance.UseAllSurface = value;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
private bool _enableAllSurfaceInScene = false;
|
|
|
|
#if UNITY_EDITOR
|
|
[Category("性能"),DisplayName("渲图")]
|
|
public void RenderImg()
|
|
{
|
|
// 渲图
|
|
var renderTexture = new RenderTexture(1920, 1080, 24);
|
|
var additionalCameraData = CameraManager.Instance.UICamera.GetComponent<UniversalAdditionalCameraData>();
|
|
additionalCameraData.renderType = CameraRenderType.Base;
|
|
CameraManager.Instance.UICamera.targetTexture = renderTexture;
|
|
CameraManager.Instance.UICamera.Render();
|
|
additionalCameraData.renderType = CameraRenderType.Overlay;
|
|
CameraManager.Instance.UICamera.targetTexture = null;
|
|
|
|
|
|
RenderTexture.active = renderTexture;
|
|
|
|
|
|
// 保存到本地
|
|
var texture2D = new Texture2D(RenderTexture.active.width, RenderTexture.active.height, TextureFormat.RGB24, false);
|
|
texture2D.ReadPixels(new Rect(0, 0, RenderTexture.active.width, RenderTexture.active.height), 0, 0);
|
|
texture2D.Apply();
|
|
var bytes = texture2D.EncodeToPNG();
|
|
var path = Application.dataPath + "/" + "render.png";
|
|
System.IO.File.WriteAllBytes(path, bytes);
|
|
AssetDatabase.Refresh();
|
|
|
|
}
|
|
#endif
|
|
|
|
|
|
}
|