UnitySimpleFileBrowser 项目教程

UnitySimpleFileBrowser 项目教程

UnitySimpleFileBrowserA uGUI based runtime file browser for Unity 3D (draggable and resizable)项目地址:https://gitcode.com/gh_mirrors/un/UnitySimpleFileBrowser

1. 项目的目录结构及介绍

UnitySimpleFileBrowser/
├── Assets/
│   ├── SimpleFileBrowser/
│   │   ├── Editor/
│   │   ├── Prefabs/
│   │   ├── Scripts/
│   │   ├── Textures/
│   │   ├── SimpleFileBrowser.asmdef
│   │   └── SimpleFileBrowser.asmdef.meta
│   └── SimpleFileBrowser.meta
├── Packages/
├── ProjectSettings/
└── README.md

目录结构介绍

  • Assets/: Unity 项目的主要资源目录。
    • SimpleFileBrowser/: 包含 SimpleFileBrowser 插件的所有文件。
      • Editor/: 包含编辑器脚本,用于在 Unity 编辑器中扩展功能。
      • Prefabs/: 包含预制件,用于快速创建文件浏览器实例。
      • Scripts/: 包含所有 C# 脚本,用于实现文件浏览器的功能。
      • Textures/: 包含文件浏览器使用的纹理资源。
      • SimpleFileBrowser.asmdef: 定义了 SimpleFileBrowser 的程序集。
      • SimpleFileBrowser.asmdef.meta: 程序集定义文件的元数据。
    • SimpleFileBrowser.meta: 项目的元数据文件。
  • Packages/: 包含 Unity 项目的包管理文件。
  • ProjectSettings/: 包含 Unity 项目的设置文件。
  • README.md: 项目的说明文档。

2. 项目的启动文件介绍

SimpleFileBrowser/Scripts/ 目录下,主要的启动文件是 FileBrowser.cs。这个文件包含了文件浏览器的主要逻辑和功能实现。

FileBrowser.cs 文件介绍

  • FileBrowser.cs: 这是文件浏览器的主要脚本文件,包含了文件浏览器的核心功能,如文件和目录的显示、选择、保存等操作。

3. 项目的配置文件介绍

SimpleFileBrowser/ 目录下,主要的配置文件是 SimpleFileBrowser.asmdef

SimpleFileBrowser.asmdef 文件介绍

  • SimpleFileBrowser.asmdef: 这个文件定义了 SimpleFileBrowser 的程序集,用于管理项目的脚本和依赖关系。通过这个文件,可以确保项目中的脚本在正确的程序集上下文中编译和运行。

以上是 UnitySimpleFileBrowser 项目的目录结构、启动文件和配置文件的介绍。希望这些信息能帮助你更好地理解和使用这个开源项目。

UnitySimpleFileBrowserA uGUI based runtime file browser for Unity 3D (draggable and resizable)项目地址:https://gitcode.com/gh_mirrors/un/UnitySimpleFileBrowser

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

SimpleBrowser是专门为自动化任务而设计的一个灵活而直观的浏览器引擎,内置.Net 4 framework。示例代码:class Program {     static void Main(string[] args)     {         var browser = new Browser();         try         {             // log the browser request/response data to files so we can interrogate them in case of an issue with our scraping             browser.RequestLogged  = OnBrowserRequestLogged;             browser.MessageLogged  = new Action<Browser, string>(OnBrowserMessageLogged);             // we'll fake the user agent for websites that alter their content for unrecognised browsers             browser.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.10 (KHTML, like Gecko) Chrome/8.0.552.224 Safari/534.10";             // browse to GitHub             browser.Navigate("http://github.com/");             if(LastRequestFailed(browser)) return; // always check the last request in case the page failed to load             // click the login link and click it             browser.Log("First we need to log in, so browse to the login page, fill in the login details and submit the form.");             var loginLink = browser.Find("a", FindBy.Text, "Login");             if(!loginLink.Exists)                 browser.Log("Can't find the login link! Perhaps the site is down for maintenance?");             else             {                 loginLink.Click();                 if(LastRequestFailed(browser)) return;                 // fill in the form and click the login button - the fields are easy to locate because they have ID attributes                 browser.Find("login_field").Value = "youremail@domain.com";                 browser.Find("password").Value = "yourpassword";                 browser.Find(ElementType.Button, "name", "commit").Click();                 if(LastRequestFailed(browser)) return;                 // see if the login succeeded - ContainsText() is very forgiving, so don't worry about whitespace, casing, html tags separating the text, etc.                 if(browser.ContainsText("Incorrect login or password"))                 {                     browser.Log("Login failed!", LogMessageType.Error);                 }                 else                 {                     // After logging in, we should check that the page contains elements that we recognise                     if(!browser.ContainsText("Your Repositories"))                         browser.Log("There wasn't the usual login failure message, but the text we normally expect isn't present on the page");                     else                     {                         browser.Log("Your News Feed:");                         // we can use simple jquery selectors, though advanced selectors are yet to be implemented                         foreach(var item in browser.Select("div.news .title"))                             browser.Log("* "   item.Value);                     }                 }             }         }         catch(Exception ex)         {             browser.Log(ex.Message, LogMessageType.Error);             browser.Log(ex.StackTrace, LogMessageType.StackTrace);         }         finally         {             var path = WriteFile("log-"   DateTime.UtcNow.Ticks   ".html", browser.RenderHtmlLogFile("SimpleBrowser Sample - Request Log"));             Process.Start(path);         }     }     static bool LastRequestFailed(Browser browser)     {         if(browser.LastWebException != null)         {             browser.Log("There was an error loading the page: "   browser.LastWebException.Message);             return true;         }         return false;     }     static void OnBrowserMessageLogged(Browser browser, string log)     {         Console.WriteLine(log);     }     static void OnBrowserRequestLogged(Browser req, HttpRequestLog log)     {         Console.WriteLine(" -> "   log.Method   " request to "   log.Url);         Console.WriteLine(" <- Response status code: "   log.ResponseCode);     }     static string WriteFile(string filename, string text)     {         var dir = new DirectoryInfo(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Logs"));         if(!dir.Exists) dir.Create();         var path = Path.Combine(dir.FullName, filename);         File.WriteAllText(path, text);         return path;     } }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

傅爽业Veleda

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值