override public void joinGraph(IOCGraphWorker workerData) { GameObject display; AssetBundleRemoteGraphWorker graph; string DotName = workerData.name.Replace("/", "."); string NoDotName = workerData.name.Replace(".", "/"); if (repeatObjects.ContainsKey(DotName)) { display = repeatObjects[DotName]; } else { display = (GameObject)UnityEngine.Object.Instantiate(Resources.Load("UI/AssetLoad/" + SAAppConfig.Language + "_AssetBundleRemote")); repeatObjects.Add(DotName, display); } //笔记 Transform _SATransform = display.transform; GameObject _SAGameObject = display.gameObject; //shell GameObject shell = new GameObject(); shell.name = _SAGameObject.name + "[SHELL]"; shell.layer = display.layer; display.transform.SetParent(shell.transform); display = shell; if (null != SAManager.Instance.UIRootCamera && display.layer == SAManager.Instance.NGUILayer) { display.transform.SetParent(SAManager.Instance.UIRootCamera.transform, false); } graph = display.AddComponent <AssetBundleRemoteGraphWorker>(); graph.setOrigin(_SAGameObject, _SATransform); graph.setActiveDispose(workerData.isActiveDispose); graph.setDefaultStart(workerData.defaultStart); graph._init(DotName, NoDotName); graphWorkers.Add(graph); if (_start) { registerGraphicsWorker(graph); } }
virtual public void joinGraph(IOCGraphWorker workerData) { GameObject display; SAGraphWorker graph; string DotName = workerData.name.Replace("/", "."); string NoDotName = workerData.name.Replace(".", "/"); if (repeatObjects.ContainsKey(DotName)) { display = repeatObjects[DotName]; } else { string prefabName; int languageDot = DotName.LastIndexOf(".") + 1; if (workerData.isLocal)//强制本地 { prefabName = NoDotName.Substring(0, languageDot) + SAAppConfig.Language + "_" + NoDotName.Substring(languageDot); display = (GameObject)UnityEngine.Object.Instantiate(Resources.Load(prefabName)); } else { prefabName = DotName.Substring(0, languageDot) + SAAppConfig.Language + "_" + DotName.Substring(languageDot); display = (GameObject)UnityEngine.Object.Instantiate(SACache.getResWithName <GameObject>(prefabName, "prefab")); } //repeatObjects.Add(DotName, display);//关闭缓存 } //笔记 Transform _SATransform = display.transform; GameObject _SAGameObject = display; //shell GameObject shell = new GameObject(); shell.name = _SAGameObject.name + "[SHELL]"; shell.layer = display.layer; display.transform.SetParent(shell.transform); display = shell; if (null != SAManager.Instance.UIRootCamera && display.layer == SAManager.Instance.NGUILayer) { display.transform.SetParent(SAManager.Instance.UIRootCamera.transform, false); } Type graphType = Type.GetType(DotName); if (null == graphType) { string graphName = DotName.Substring(DotName.LastIndexOf(".") + 1); graphType = Type.GetType(SAACollection.GraphsStr + graphName + SAACollection.GraphSuffix); } if (null == graphType) { graph = display.AddComponent <SAGraphWorker>(); } else { graph = (SAGraphWorker)display.AddComponent(graphType); } graph.setOrigin(_SAGameObject, _SATransform); graph.setActiveDispose(workerData.isActiveDispose); graph.setDefaultStart(workerData.defaultStart); graph._init(DotName, NoDotName); graphWorkers.Add(graph); if (_start) { registerGraphicsWorker(graph); } }