コード例 #1
0
        public static string FindHandle(object obj)
        {
            ProxyGroup proxyGroup = FindProxyGroupForProxied(obj);

            if (proxyGroup == null)
            {
                Debug.LogError("ProxyGroup: FindHandle: can't find ProxyGroup for obj: " + obj + " type: " + obj.GetType());
                return(null);
            }

            return(proxyGroup.FindPartHandle(obj));
        }
コード例 #2
0
        ////////////////////////////////////////////////////////////////////////
        // Static Methods


        public static ProxyGroup FindProxyGroupForProxied(object proxied)
        {
            if (proxied == null)
            {
                Debug.LogError("ProxyGroup: GetProxyGroup: null proxied: " + proxied);
                return(null);
            }

            if (proxied is ProxyGroup)
            {
                return((ProxyGroup)proxied);
            }

            GameObject go = null;

            if (proxied is GameObject)
            {
                go = (GameObject)proxied;
            }
            else if (proxied is Component)
            {
                Component comp = (Component)proxied;
                go = comp.gameObject;
            }

            if (go == null)
            {
                Debug.LogError("ProxyGroup: GetProxyGroup: can't find GameObject for proxied: " + proxied + " type: " + proxied.GetType());
                return(null);
            }

            ProxyGroup proxyGroup = go.GetComponent <ProxyGroup>();

            if (proxyGroup != null)
            {
                return(proxyGroup);
            }

            proxyGroup = go.AddComponent <ProxyGroup>();
            proxyGroup.Initialize();

            return(proxyGroup);
        }
コード例 #3
0
        public static object FindProxied(string handle)
        {
            string[] parts = handle.Split(new char[] { '.' }, 2);

            if (parts.Length != 2)
            {
                Debug.LogError("ProxyGroup: FindProxied: invalid handle: " + handle);
                return(null);
            }

            string proxyGroupHandle = parts[0];

            ProxyGroup proxyGroup = FindProxyGroup(proxyGroupHandle);

            if (proxyGroup == null)
            {
                Debug.LogError("ProxyGroup: FindProxied: undefined proxyGroupHandle: " + proxyGroupHandle + " in handle: " + handle);
                return(null);
            }

            return(proxyGroup.FindPart(handle));
        }