192 lines
6.9 KiB
C#
192 lines
6.9 KiB
C#
using Thousandto.Code.Center;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
namespace Thousandto.Code.Logic
|
|
{
|
|
/// <summary>
|
|
/// 测试性能的设置
|
|
/// </summary>
|
|
public class TestPrefSetting : SettingProcessBase
|
|
{
|
|
protected override void OnRegisterSettingChangedHandler()
|
|
{
|
|
base.OnRegisterSettingChangedHandler();
|
|
AddSettingChangedHandler(GameSettingKeyCode.TPSimpleShader, OnTPSimpleShaderChanged);
|
|
AddSettingChangedHandler(GameSettingKeyCode.TPBlendShader, OnTPBlendShaderChanged);
|
|
AddSettingChangedHandler(GameSettingKeyCode.TPSimpleMesh, OnTPSimpleMeshChanged);
|
|
//往下继续加
|
|
AddSettingChangedHandler(GameSettingKeyCode.TPHUD, OnTPHUDChanged);//隐藏hud
|
|
AddSettingChangedHandler(GameSettingKeyCode.TPMain, OnTPMainChanged);//隐藏主界面
|
|
AddSettingChangedHandler(GameSettingKeyCode.TPAllUI, OnTPAllUIChanged);//隐藏所有UI
|
|
//替换为简单的纹理
|
|
AddSettingChangedHandler(GameSettingKeyCode.TPSimpleTexture, OnTPSimpleTextureChanged);
|
|
|
|
AddSettingChangedHandler(GameSettingKeyCode.TPScene, OnTPSceneChanged);
|
|
AddSettingChangedHandler(GameSettingKeyCode.TPAnimator, OnTPAnimatorChanged);
|
|
AddSettingChangedHandler(GameSettingKeyCode.TPSkillAll, OnTPSkillAllChanged);
|
|
|
|
}
|
|
|
|
|
|
protected override void OnEnterScene(GameScene scene)
|
|
{
|
|
OnTPSceneChanged(GameCenter.GameSetting.GetSetting(GameSettingKeyCode.TPScene));
|
|
base.OnEnterScene(scene);
|
|
}
|
|
|
|
//默认全部是设置
|
|
protected override void OnLoadDefault(bool isforce, bool save)
|
|
{
|
|
for (int i = (int)GameSettingKeyCode.TestPerfSettingBegin+1; i < (int)GameSettingKeyCode.TestPerfSettingEnd; i++)
|
|
{
|
|
if (Enum.IsDefined(typeof(GameSettingKeyCode), (GameSettingKeyCode)i))
|
|
{
|
|
GameSettingCore.SetUnSave((GameSettingKeyCode)i, 0, true);
|
|
}
|
|
}
|
|
if(save)
|
|
{
|
|
GameSettingCore.Save();
|
|
}
|
|
}
|
|
|
|
//替换简单shader
|
|
private void OnTPSimpleShaderChanged(int value)
|
|
{
|
|
//UnityEngine.Debug.Log("SimpleShader:"+value);
|
|
//在这里处理设置被改变的操作
|
|
if (value > 0)
|
|
{
|
|
GameCenter.SceneRestoreSystem.IsRePlaceSimpleShader = true;
|
|
}
|
|
}
|
|
|
|
//替换半透明shader
|
|
private void OnTPBlendShaderChanged(int value)
|
|
{
|
|
//UnityEngine.Debug.Log("BlendShader:" + value);
|
|
//在这里处理设置被改变的操作
|
|
if (value > 0)
|
|
{
|
|
GameCenter.SceneRestoreSystem.IsReplaceBlendShader = true;
|
|
}
|
|
}
|
|
|
|
//替换简单的mesh
|
|
private void OnTPSimpleMeshChanged(int value)
|
|
{
|
|
//UnityEngine.Debug.Log("SimpleMesh:" + value);
|
|
//在这里处理设置被改变的操作
|
|
if (value > 0)
|
|
{
|
|
GameCenter.SceneRestoreSystem.IsReplaceSimpleMesh = true;
|
|
}
|
|
}
|
|
|
|
private void OnTPHUDChanged(int value)
|
|
{
|
|
//UnityEngine.Debug.Log("OnTPHUDChanged:" + value);
|
|
var root = GameObject.Find("UIRoot");
|
|
if (root != null)
|
|
{
|
|
var main = root.transform.Find("UIHUDForm");
|
|
if (main != null)
|
|
{
|
|
main.gameObject.SetActive(value <= 0);
|
|
}
|
|
main = root.transform.Find("UIMainFormPC");
|
|
if (main != null)
|
|
{
|
|
main.gameObject.SetActive(value <= 0);
|
|
}
|
|
}
|
|
}
|
|
|
|
private void OnTPMainChanged(int value)
|
|
{
|
|
//UnityEngine.Debug.Log("OnTPMainChanged:" + value);
|
|
var root = GameObject.Find("UIRoot");
|
|
if (root != null)
|
|
{
|
|
var main = root.transform.Find("UIMainForm");
|
|
if(main != null)
|
|
{
|
|
main.gameObject.SetActive(value <= 0);
|
|
}
|
|
}
|
|
}
|
|
|
|
private void OnTPAllUIChanged(int value)
|
|
{
|
|
//UnityEngine.Debug.Log("OnTPAllUIChanged:" + value);
|
|
var root = GameObject.Find("UIRoot");
|
|
if(root != null)
|
|
{
|
|
root.SetActive(value <= 0);
|
|
}
|
|
}
|
|
|
|
private void OnTPSimpleTextureChanged(int value)
|
|
{
|
|
//UnityEngine.Debug.Log("OnTPSimpleTextureChanged:" + value);
|
|
if (value > 0)
|
|
{
|
|
UnityEngine.SceneManagement.Scene scene = UnityEngine.SceneManagement.SceneManager.GetActiveScene();
|
|
var curScene = GameObject.Find(scene.name);
|
|
List<string> results = new List<string>();
|
|
Renderer[] renderers = curScene.GetComponentsInChildren<Renderer>(true);
|
|
for (int i = 0; i < renderers.Length; i++)
|
|
{
|
|
var mats = renderers[i].materials;
|
|
for (int j = 0; j < mats.Length; j++)
|
|
{
|
|
mats[j].mainTexture = Texture2D.whiteTexture;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
private void OnTPSceneChanged(int value)
|
|
{
|
|
if (value > 0)
|
|
{
|
|
var root = GameCenter.GameSceneSystem.ActivedScene.GetUnitySceneRoot();
|
|
if (root != null)
|
|
{
|
|
for (int i = 0; i < root.childCount; i++)
|
|
{
|
|
var c = root.GetChild(i);
|
|
if (c.name != "[Cameras]")
|
|
{
|
|
c.gameObject.SetActive(false);
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
private void OnTPAnimatorChanged(int value)
|
|
{
|
|
if (value > 0)
|
|
{
|
|
Core.Asset.AnimationPlayer.DontPlayAnim = true;
|
|
}
|
|
}
|
|
|
|
private void OnTPSkillAllChanged(int value)
|
|
{
|
|
GameCenter.GameSetting.SetSetting(GameSettingKeyCode.TPVFXSkill, value);
|
|
GameCenter.GameSetting.SetSetting(GameSettingKeyCode.TPSFXSkill, value);
|
|
GameCenter.GameSetting.SetSetting(GameSettingKeyCode.TPSkillAnim, value);
|
|
GameCenter.GameSetting.SetSetting(GameSettingKeyCode.TPSkillBloom, value);
|
|
GameCenter.GameSetting.SetSetting(GameSettingKeyCode.TPSkillShake, value);
|
|
GameCenter.GameSetting.SetSetting(GameSettingKeyCode.TPSkillBlink, value);
|
|
GameCenter.GameSetting.SetSetting(GameSettingKeyCode.TPSkillDamageNumber, value);
|
|
GameCenter.GameSetting.SetSetting(GameSettingKeyCode.TPDropEffect, value);
|
|
}
|
|
}
|
|
}
|