public IWebNode Load(string rawImagePath) { if (null == _rawImage) { return(EmptyWebNode.Instance); } _rawImage.enabled = false; if (string.IsNullOrEmpty(rawImagePath)) { return(EmptyWebNode.Instance); } if (null != _webItem && _webItem.argument.localPath == rawImagePath) { _OnLoadedWebItem(_webItem); } else { os.dispose(ref _webItem); WebArgument arg = new WebArgument { localPath = rawImagePath, flags = WebFlags.HighPriority | WebFlags.DontCache | WebFlags.UnloadAllLoadedObjects }; _webItem = WebManager.Instance.LoadWebItem(arg, _OnLoadedWebItem); } return(_webItem); }
private IWebNode _LoadUI <UIWindowT>(string resourcePath, Action <UIWindowBase> onLoaded) where UIWindowT : UIWindowBase, new() { var argument = new WebArgument { localPath = resourcePath, flags = WebFlags.UnloadAllLoadedObjects }; IWebNode ret = WebManager.Instance.LoadWebPrefab(argument, prefab => { using (prefab) { UIWindowBase window = null; Object scenceRoot = prefab.mainAsset.CloneEx(true); if (null != scenceRoot) { window = new UIWindowT(); window.Initialise(scenceRoot as GameObject); } if (null != onLoaded) { onLoaded(window); } } }); return(ret); }
private IWebNode LoadHead(string imagePath) { if (null == _headImagePerfab) { return(EmptyWebNode.Instance); } _headImagePerfab.enabled = false; if (string.IsNullOrEmpty(imagePath)) { return(EmptyWebNode.Instance); } WebArgument arg = WebManager.Instance.GetWebArgument(imagePath); if (null != _webItemHead && _webItemHead.argument.assetName.Equals(arg.assetName)) { Console.WriteLine("!!!!!!!!!!!!!!"); _OnLoadedWebItemHead(_webItemHead); } else { _webItemHead = null; arg.flags = WebFlags.HighPriority | WebFlags.DontCache | WebFlags.UnloadAllLoadedObjects; _webItemHead = WebManager.Instance.LoadWebItem(arg, _OnLoadedWebItemHead); } return(_webItemHead); }
//public IWebNode Load (string imagePath) //{ // if (null == _image) // { // return EmptyWebNode.Instance; // } // _image.enabled = false; // if (string.IsNullOrEmpty(imagePath)) // { // return EmptyWebNode.Instance; // } // if (null != _webItem && _webItem.argument.localPath == imagePath) // { // Console.WriteLine ("!!!!!!!!!!!!!!"); // _OnLoadedWebItem (_webItem); // } // else // { // os.dispose (ref _webItem); // WebArgument arg = new WebArgument{localPath = imagePath, flags = WebFlags.HighPriority | WebFlags.DontCache | WebFlags.UnloadAllLoadedObjects}; // _webItem = WebManager.Instance.LoadWebItem (arg, _OnLoadedWebItem); // } // return _webItem; //} public IWebNode Load(string imagePath) { if (null == _image) { return(EmptyWebNode.Instance); } _image.enabled = false; if (string.IsNullOrEmpty(imagePath)) { return(EmptyWebNode.Instance); } WebArgument arg = WebManager.Instance.GetWebArgument(imagePath); if (null != _webItem && _webItem.argument.assetName.Equals(arg.assetName)) { Console.WriteLine("!!!!!!!!!!!!!!"); _OnLoadedWebItem(_webItem); } else { os.dispose(ref _webItem); arg.flags = WebFlags.HighPriority | WebFlags.DontCache | WebFlags.UnloadAllLoadedObjects; _webItem = WebManager.Instance.LoadWebItem(arg, _OnLoadedWebItem); } return(_webItem); }
public List <IWebNode> Load(SceneDataTemplate template, Action <Scene> onSceneLoaded = null) { _sceneData = template; _onSceneLoaded = onSceneLoaded; List <IWebNode> webNodeList = new List <IWebNode>(); if (!string.IsNullOrEmpty(_sceneData.resourceName)) { var argument = new WebArgument { localPath = _sceneData.resourceName , flags = WebFlags.UnloadAllLoadedObjects }; var webScene = WebManager.Instance.LoadWebPrefab(argument, null); // here we must convert the list to an array, because the list will be returned to outside, // and may become a 700+ list. var waitingWebNodes = webNodeList.ToArray(); _loadingSceneRoutine = CoroutineManager.StartCoroutine(_CoOnSceneLoaded(webScene, waitingWebNodes)); webNodeList.Add(webScene); } return(webNodeList); }
private void _LoadMetadataTemplate <T>(string path) where T : Template, new() { TemplateTable table = new TemplateTable(); _mTemplateTables.Add(typeof(T).Name, table); var argument = new WebArgument() { localPath = path, flags = WebFlags.NewWWW }; WebManager.Instance.LoadWebItem(argument, item => { using (MemoryStream ms = new MemoryStream(item.bytes)) using (OctetsReader br = new OctetsReader(ms)) { var count = br.ReadInt32(); for (int i = 0; i < count; ++i) { var template = new T(); template.Load(br); table.Add(template.id, template); } } }); }
public static IWebNode CreatePool(string localPath, Action <PrefabPool> handler) { localPath = localPath ?? string.Empty; var argument = new WebArgument { localPath = localPath }; return(CreatePool(argument, handler)); }
public static IWebNode CreatePool(WebArgument argument, Action <PrefabPool> handler) { InnerPrefabPool innerPool; var key = argument.localPath; if (!_innerPools.TryGetValue(key, out innerPool)) { innerPool = new InnerPrefabPool(argument); _innerPools.Add(key, innerPool); } CoroutineManager.StartCoroutine(_CoLoadInnerPrefabPool(innerPool, handler)); var web = innerPool.GetWebPrefab(); return(web); }
private void _LoadMetadataConfig <T>(string path) where T : Config, new() { var argument = new WebArgument() { localPath = path, flags = WebFlags.NewWWW }; WebManager.Instance.LoadWebItem(argument, item => { using (MemoryStream ms = new MemoryStream(item.bytes)) using (OctetsReader br = new OctetsReader(ms)) { var config = new T(); config.Load(br); _mConfigs.Add(typeof(T).Name, config); } }); }
public InnerPrefabPool(WebArgument argument) { localPath = argument.localPath; _webPrefab = new WebPrefab(argument, _OnLoadWebPrefab); }