public ResourceRequestInfo GetAllocInfo(int instID, string className) { int allocSeqID = -1; if (className == "GameObject") { if (!TrackedGameObjects.TryGetValue(instID, out allocSeqID)) { return(null); } } else if (SceneGraphExtractor.MemCategories.Contains(className)) { if (!TrackedMemObjects.TryGetValue(instID, out allocSeqID)) { return(null); } } ResourceRequestInfo requestInfo = null; if (!TrackedAllocInfo.TryGetValue(allocSeqID, out requestInfo)) { return(null); } return(requestInfo); }
private void ExtractObjectResources(UnityEngine.Object obj, int reqSeqID) { SceneGraphExtractor sge = new SceneGraphExtractor(obj); for (int i = 0; i < sge.GameObjectIDs.Count; i++) { if (!TrackedGameObjects.ContainsKey(sge.GameObjectIDs[i])) { TrackedGameObjects[sge.GameObjectIDs[i]] = reqSeqID; } } foreach (var p in sge.MemObjectIDs) { foreach (var item in p.Value) { if (!TrackedMemObjects.ContainsKey(item)) { TrackedMemObjects[item] = reqSeqID; } } } }
public ResourceRequestInfo GetAllocInfo(int instID) { if (!_enableTracking) { return(null); } int allocSeqID = -1; if (!TrackedGameObjects.TryGetValue(instID, out allocSeqID) && !TrackedMemObjects.TryGetValue(instID, out allocSeqID)) { return(null); } ResourceRequestInfo requestInfo = null; if (!TrackedAllocInfo.TryGetValue(allocSeqID, out requestInfo)) { return(null); } return(requestInfo); }