码迷,mamicode.com
首页 > 编程语言 > 详细

Unity3D 查找Update函数体为空的类

时间:2016-05-26 11:31:33      阅读:283      评论:0      收藏:0      [点我收藏+]

标签:

如果是大项目,有很多Update空跑还是多少有些效率损耗,那我们就把他们都找出来。

先引用Mono.Cecil

 

//代码

using UnityEngine;
using UnityEditor;
using System.Collections;
using System.IO;
using System.Collections.Generic;
using System.Text;

//处理UILabel
public class EmptyUpdateCleaner
{

	[MenuItem("Tools/Log Empty Update")]
	public static void Test()
	{
		string log = "";
		var module = Mono.Cecil.ModuleDefinition.ReadModule(Application.dataPath+ "/../Temp/UnityVS_bin/Debug/Assembly-CSharp.dll");
		foreach (var type in module.Types)
		{
			if (null==type.BaseType)
			{
				continue;
			}

			if (!type.BaseType.Name.Contains("MonoBehaviour"))
			{
				continue;
			}

			foreach (var method in type.Methods)
			{
				if (method.Name.Equals("Update"))
				{
					if (method.Body.Instructions.Count <= 2)
					{
						log += type.Name + "."+method.Name + "\n";						
					}
				}
				else if (method.Name.Equals("LateUpdate"))
				{
					if (method.Body.Instructions.Count <= 2)
					{
						log += type.Name + "." + method.Name + "\n";
					}
				}
				else if (method.Name.Equals("FixedUpdate"))
				{
					if (method.Body.Instructions.Count <= 2)
					{
						log += type.Name + "." + method.Name + "\n";
					}
				}
			}
		}
		Debug.Log(log);
	}

	
	
}

  

Unity3D 查找Update函数体为空的类

标签:

原文地址:http://www.cnblogs.com/mrblue/p/5530370.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!