// Returns a retained MonoObject. Caller must release. static IntPtr GetMonoObjectImpl(object obj) { var handle = AllocGCHandle(obj); var mobj = new MonoObject(); mobj.GCHandle = handle; mobj.ReferenceCount = 1; mobj.StructValue = WriteStructure(obj); IntPtr rv = MarshalStructure(mobj); log_coreclr($"GetMonoObjectImpl ({obj.GetType ()}) => 0x{rv.ToString ("x")} => GCHandle=0x{handle.ToString ("x")}"); #if TRACK_MONOOBJECTS // Only capture the stack trace if requested explicitly, it has a very significant perf hit (monotouch-test is 3x slower). if (!track_monoobject_with_stacktraces.HasValue) { track_monoobject_with_stacktraces = !string.IsNullOrEmpty(Environment.GetEnvironmentVariable("MONOOBJECT_TRACKING_WITH_STACKTRACES")); } xamarin_bridge_log_monoobject(rv, track_monoobject_with_stacktraces.Value ? Environment.StackTrace : null); #endif return(rv); }
protected override void WorkCurScene(Object findObject) { List <GameObject> gos = SceneActiveRootGameObjects(); foreach (GameObject go in gos) { results.AddRange(MonoObject.DoOneGameObject(findObject, go)); } SetTip(string.Format("查找结果如下({0}):", results.Count), MessageType.Info); }
public void SendRequest() { MonoObject monoGameObjectScript = NetWorkManager.Instance.MonoGameObjectScript; if (_serverUrl != null) { _url = _serverUrl; } else { _url = NetWorkManager.Serverurl; } monoGameObjectScript.Coroutine(Request()); }
public void RequestHandler() { MonoObject monoGameObjectScript = NetWorkManager.Instance.MonoGameObjectScript; string url; if (_serverUrl != null) { url = _serverUrl; } else { url = NetWorkManager.Serverurl; } monoGameObjectScript.Coroutine(Request(url, _cmd, _data, _succCallback, _errCallback, _cache, _version, _ignoreResponse)); }
// public static void Initialize() // { // if (_instance == null) // Instantiate(ResourceManager.Load<GameObject>(PATH)); // } void Awake() { _instance = this; //DontDestroyOnLoad(gameObject); //切换场景是不销毁该obj }
void Awake() { _instance = this; MonoGameObjectScript = transform.gameObject.AddComponent <MonoObject>(); InitHead(); }