コード例 #1
0
        // 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);
        }
コード例 #2
0
    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);
    }
コード例 #3
0
        public void SendRequest()
        {
            MonoObject monoGameObjectScript = NetWorkManager.Instance.MonoGameObjectScript;

            if (_serverUrl != null)
            {
                _url = _serverUrl;
            }
            else
            {
                _url = NetWorkManager.Serverurl;
            }
            monoGameObjectScript.Coroutine(Request());
        }
コード例 #4
0
ファイル: HttpMessage.cs プロジェクト: linxscc/LoveGame
        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));
        }
コード例 #5
0
//    public static void Initialize()
//    {
//        if (_instance == null)
//            Instantiate(ResourceManager.Load<GameObject>(PATH));
//    }

    void Awake()
    {
        _instance = this;
        //DontDestroyOnLoad(gameObject); //切换场景是不销毁该obj
    }
コード例 #6
0
ファイル: NetWorkManager.cs プロジェクト: linxscc/LoveGame
 void Awake()
 {
     _instance            = this;
     MonoGameObjectScript = transform.gameObject.AddComponent <MonoObject>();
     InitHead();
 }