这个问题适用于Unity3D的实用程序脚本,但问题只在于C#;
我提供的脚本字符串(onClickCallbackPath
)看起来像“ GameObjectName.ComponentTypeName.CallbackDelegateName ”。
查找GameObject和Component不是问题,但请看一下这段代码:
string[] ss = onClickCallbackPath.Split ("." [0]);
Transform onClickTarget = Tools.FindDeepChild (transform.root, ss [0]);
MonoBehaviour[] allComponentsOnTarget = onClickTarget.GetComponents<MonoBehaviour> ();
foreach (MonoBehaviour mb in allComponentsOnTarget)
{
if (mb.GetType ().Name == ss [1])
{
MethodInfo[] methods = mb.GetType ().GetMethods (BindingFlags.Public);
foreach (MethodInfo mi in methods)
{
if (mi.Name == ss [2])
{
// And here is how I imagine it to work, and look for something similar...
// but of course there is no GetInstance method in MethodInfo
Action a = (Action) mi.GetInstance(mb);
break;
}
}
break;
}
}
正如你所看到的,我需要在我发现的MonoBehaviour中找到Action
类型的对象(我确定它是具有正确签名的方法)。
我试着看看所有的MethodInfo属性都有类似我正在寻找的东西,也尝试在网上找到解决方案(也在这里SO)但没有成功。我打赌我找到解决方案的问题只是错误地命名问题。
但我希望你明白我的问题是什么。
任何帮助表示感谢。
答案 0 :(得分:5)
您正在寻找的是
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script>
$(document).ready
(
function ()
{
$(function(){
$("#header").load("Header.html");
});
}
)
</script>
<div id="header"></div>