NGUI.EventDelegate.Set()方法.點選Inspector直接開啟方法體
阿新 • • 發佈:2018-11-17
找到NGUI的EventDelegateEditor指令碼.搜尋"Notify"這個字串
大概104行吧.
//上接點選減號,remove方法 GUILayout.Space(-50); if (GUILayout.Button("o", GUILayout.Width(15), GUILayout.Height(15))) { var tField = typeof(EventDelegate).GetField("mCachedCallback", BindingFlags.Instance | BindingFlags.NonPublic); if (tField != null) { var tCall = tField.GetValue(del) as EventDelegate.Callback; if (tCall != null && tCall.Target != null && tCall.Method != null) { var tScriptName = tCall.Target.GetType().Name; var tMethodName = tCall.Method.Name; var tScriptPath = AssetDatabase.FindAssets("t:Script " + tScriptName, new string[] { "Assets" }); var tObj = AssetDatabase.LoadMainAssetAtPath(AssetDatabase.GUIDToAssetPath(tScriptPath[0])) as TextAsset; var tLineIndex = 1; var t = tObj.text.Split("\r\n".ToCharArray()); for (int i = 0; i < t.Length; i++) { if (t[i].Contains(tMethodName + "()")) { tLineIndex = i; break; } } if (tLineIndex > 1) AssetDatabase.OpenAsset(tObj, tLineIndex / 2 + 1); } } }