Files
UltimateFishing/Assets/Scripts/Assembly-CSharp/_appControlerTerrain.cs
2026-02-21 16:45:37 +08:00

180 lines
5.5 KiB
C#

using UnityEngine;
public class _appControlerTerrain : MonoBehaviour
{
public bool shadows;
public bool forward_path = true;
public bool terrain_self_shadow;
public bool terrain_smooth_shadows = true;
private bool panel_enabled;
public float light_dir = 285f;
public float preset_param_interp;
private RTP_LODmanager LODmanager;
private void Awake()
{
GetLODManager();
panel_enabled = true;
}
private void Update()
{
if (Input.GetKeyDown(KeyCode.P))
{
panel_enabled = !panel_enabled;
}
if (Input.GetKey(KeyCode.Period))
{
base.transform.localPosition = new Vector3(base.transform.localPosition.x, Mathf.Min(base.transform.localPosition.y + 0.5f, 50f), base.transform.localPosition.z);
}
if (Input.GetKey(KeyCode.Comma))
{
base.transform.localPosition = new Vector3(base.transform.localPosition.x, Mathf.Max(base.transform.localPosition.y - 0.5f, 0.9f), base.transform.localPosition.z);
}
}
private void GetLODManager()
{
GameObject gameObject = GameObject.Find("_RTP_LODmanager");
if (!(gameObject == null))
{
LODmanager = (RTP_LODmanager)gameObject.GetComponent(typeof(RTP_LODmanager));
}
}
private void OnGUI()
{
if (!LODmanager)
{
GetLODManager();
return;
}
GUILayout.Space(10f);
GUILayout.BeginVertical("box");
GUILayout.Label(string.Empty + FPSmeter.fps);
if (panel_enabled)
{
shadows = GUILayout.Toggle(shadows, "disable Unity's shadows");
Light component = GameObject.Find("Directional light").GetComponent<Light>();
component.shadows = ((!shadows) ? LightShadows.Soft : LightShadows.None);
forward_path = GUILayout.Toggle(forward_path, "forward rendering");
Camera component2 = GameObject.Find("Main Camera").GetComponent<Camera>();
component2.renderingPath = (forward_path ? RenderingPath.Forward : RenderingPath.DeferredShading);
if (forward_path)
{
RenderSettings.ambientLight = new Color32(25, 25, 25, 0);
}
else
{
RenderSettings.ambientLight = new Color32(93, 103, 122, 0);
}
TerrainShaderLod rTP_LODlevel = LODmanager.RTP_LODlevel;
TerrainShaderLod terrainShaderLod = rTP_LODlevel;
switch (rTP_LODlevel)
{
case TerrainShaderLod.POM:
if (GUILayout.Button("POM shading"))
{
terrainShaderLod = TerrainShaderLod.PM;
}
break;
case TerrainShaderLod.PM:
if (GUILayout.Button("PM shading"))
{
terrainShaderLod = TerrainShaderLod.SIMPLE;
}
break;
case TerrainShaderLod.SIMPLE:
if (GUILayout.Button("SIMPLE shading"))
{
terrainShaderLod = TerrainShaderLod.POM;
}
break;
}
switch (terrainShaderLod)
{
case TerrainShaderLod.POM:
if (terrainShaderLod != rTP_LODlevel)
{
Terrain terrain2 = GameObject.Find("Terrain").GetComponent(typeof(Terrain)) as Terrain;
ReliefTerrain reliefTerrain2 = terrain2.GetComponent(typeof(ReliefTerrain)) as ReliefTerrain;
reliefTerrain2.globalSettingsHolder.Refresh();
LODmanager.RTP_LODlevel = TerrainShaderLod.POM;
LODmanager.RefreshLODlevel();
}
break;
case TerrainShaderLod.PM:
if (terrainShaderLod != rTP_LODlevel)
{
Terrain terrain3 = GameObject.Find("Terrain").GetComponent(typeof(Terrain)) as Terrain;
ReliefTerrain reliefTerrain3 = terrain3.GetComponent(typeof(ReliefTerrain)) as ReliefTerrain;
reliefTerrain3.globalSettingsHolder.Refresh();
LODmanager.RTP_LODlevel = TerrainShaderLod.PM;
LODmanager.RefreshLODlevel();
}
break;
case TerrainShaderLod.SIMPLE:
if (terrainShaderLod != rTP_LODlevel)
{
Terrain terrain = GameObject.Find("Terrain").GetComponent(typeof(Terrain)) as Terrain;
ReliefTerrain reliefTerrain = terrain.GetComponent(typeof(ReliefTerrain)) as ReliefTerrain;
reliefTerrain.globalSettingsHolder.Refresh();
LODmanager.RTP_LODlevel = TerrainShaderLod.SIMPLE;
LODmanager.RefreshLODlevel();
}
break;
}
if (terrainShaderLod == TerrainShaderLod.POM)
{
terrain_self_shadow = LODmanager.RTP_SHADOWS;
bool flag = GUILayout.Toggle(terrain_self_shadow, "self shadowing");
if (flag != terrain_self_shadow)
{
LODmanager.RTP_SHADOWS = flag;
LODmanager.RefreshLODlevel();
}
terrain_self_shadow = flag;
if (terrain_self_shadow)
{
terrain_smooth_shadows = LODmanager.RTP_SOFT_SHADOWS;
bool flag2 = GUILayout.Toggle(terrain_smooth_shadows, "smooth shadows");
if (flag2 != terrain_smooth_shadows)
{
LODmanager.RTP_SOFT_SHADOWS = flag2;
LODmanager.RefreshLODlevel();
}
terrain_smooth_shadows = flag2;
}
}
if (LODmanager.RTP_SNOW_FIRST)
{
Terrain terrain4 = GameObject.Find("Terrain").GetComponent(typeof(Terrain)) as Terrain;
ReliefTerrain reliefTerrain4 = terrain4.GetComponent(typeof(ReliefTerrain)) as ReliefTerrain;
GUILayout.BeginHorizontal();
GUILayout.Label("Snow", GUILayout.MaxWidth(40f));
float num = GUILayout.HorizontalSlider(reliefTerrain4.globalSettingsHolder._snow_strength, 0f, 1f);
if (num != reliefTerrain4.globalSettingsHolder._snow_strength)
{
reliefTerrain4.globalSettingsHolder._snow_strength = num;
reliefTerrain4.globalSettingsHolder.Refresh();
}
GUILayout.EndHorizontal();
}
GUILayout.Label("Light", GUILayout.MaxWidth(40f));
light_dir = GUILayout.HorizontalSlider(light_dir, 0f, 360f);
component.transform.rotation = Quaternion.Euler(40f, light_dir, 0f);
GUILayout.Label(" F (hold) - freeze camera");
GUILayout.Label(" ,/. - change cam position");
}
GUILayout.Label(" P - toggle panel");
GUILayout.EndVertical();
}
}