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)); }
//////////////////////////////////////////////////////////////////////// // 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); }
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)); }