using UnityEngine;
|
|
|
|
public static class Optimizer
|
|
{
|
|
public static void ChangeSceneObjState(bool isShow)
|
|
{
|
|
Transform temp_cont = LuaFramework.LuaHelper.GetPanelManager().GetParent("SceneObjContainer");
|
|
|
|
Animator[] temp_child = temp_cont.GetComponentsInChildren<Animator>();
|
|
for (int i = 0; i < temp_child.Length; i++)
|
|
{
|
|
temp_child[i].enabled = isShow;
|
|
}
|
|
|
|
SkinnedMeshRenderer[] temp_mesh_child = temp_cont.GetComponentsInChildren<SkinnedMeshRenderer>();
|
|
int layer = isShow ? LayerMask.NameToLayer("Default") : LayerMask.NameToLayer("Hide");
|
|
for (int i = 0; i < temp_mesh_child.Length; i++)
|
|
{
|
|
temp_mesh_child[i].gameObject.layer = layer;
|
|
}
|
|
}
|
|
|
|
public static void ChangeLayer(Transform trans, string targetLayer)
|
|
{
|
|
if (LayerMask.NameToLayer(targetLayer) == -1)
|
|
{
|
|
Debug.Log("Layer中不存在,请手动添加LayerName");
|
|
return;
|
|
}
|
|
trans.gameObject.layer = LayerMask.NameToLayer(targetLayer);
|
|
foreach (Transform child in trans)
|
|
{
|
|
ChangeLayer(child, targetLayer);
|
|
// Debug.Log(child.name + "子对象Layer更改成功!");
|
|
}
|
|
}
|
|
|
|
public static void CopyOnPC(string input)
|
|
{
|
|
TextEditor t = new TextEditor();
|
|
t.text = input;
|
|
t.OnFocus();
|
|
t.Copy();
|
|
}
|
|
|
|
public static MaterialPropertyBlock CreateMatPropertyBlock()
|
|
{
|
|
MaterialPropertyBlock block = new MaterialPropertyBlock();
|
|
return block;
|
|
}
|
|
|
|
public static MaterialPropertyBlock[] CreateMatPropertyBlocks(int len)
|
|
{
|
|
MaterialPropertyBlock[] blocks = new MaterialPropertyBlock[len];
|
|
for (int i = 0; i < len; i++)
|
|
{
|
|
blocks[i] = new MaterialPropertyBlock();
|
|
}
|
|
return blocks;
|
|
}
|
|
|
|
public static void SetShaderLodValue(int lod)
|
|
{
|
|
Shader.globalMaximumLOD = lod;
|
|
}
|
|
|
|
|
|
}
|