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