# VFairyGUI **Repository Path**: PositiveMumu/VFairyGUI ## Basic Information - **Project Name**: VFairyGUI - **Description**: FairyGUI资源管理、界面管理框架。 - **Primary Language**: C# - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 10 - **Forks**: 2 - **Created**: 2019-12-03 - **Last Updated**: 2025-09-17 ## Categories & Tags **Categories**: desktop-ui **Tags**: None ## README # VFairyGUI [TOC] ## 一、介绍 VFairyGUI是针对于FairyGUI For Unity的拓展插件,其中已经集成最新的FairyGUI For Unity的SDK。同时进行了拓展,封装了一个FairyGUI资源管理与窗体显示管理的框架,方便使用。 ## 二、FairyGUI 1. FairyGUI的官网为: [http://www.fairygui.com](http://www.fairygui.com/) 2. 最新的FairyGUI-Editor更新至5.0.0版,新增许多功能。也正是推出了专业版(收费版)。专业版与社区版目前功能相同,差异功能后续会推出。想要支持一下FairyGUI作者(谷主)的可以订阅一下。 3. FairyGUIForUnitySDK版本对应列表: | VFairyGUI SDK版本 | FairyGUIForUnity SDK版本 | | ----------------- | ------------------------ | | V1.0.0 | V3.4.1 | ## 二、使用方法 ### 1.FairyGUI-Editor 1. 在进行UI创建时,一个显示窗体一个包。包名为窗体(主要显示的组件)名+Package。 2. 包中有且只有一个要显示的主组件,其他组件显示需要在主组件中添加(例如按钮组件)。 3. 将包发布到Unity中的Resources文件夹或其子文件夹下。 ### 2.UnityEditor 1. 点击导航栏Windows下的VFairyGUI - UpdateConfigFile选项生成配置文件。 2. 要对导入的FairyGUI窗体进行操作,需要新建类(类名需与包中主显示组件的名字相同),继承自FairyGUIBaseWindow并实现抽象方法。 ## 三、使用说明 1. 为了适配不同平台的资源加载路径,FairyGUI官方只推荐使用Resource和AssetBundle两种形式加载资源。 2. 拓展现在只支持通过Resource加载资源,因此在FairyGUIEditor向UnityEditor导入资源时最好导入在Resources的子文件夹中,推荐的方式是一个Package一个文件夹。 1. 例如我们在FairyGUIEditor中有两个Package。一个叫StartWindowPackage(主显示组件名称为StartWindow),另一个叫GameWindowPackage(主显示组件名称为GameWindow)。 2. 在导入UnityEditor时我们可以在Resources目录下新建一个FairyGUI的子文件夹(子文件夹名称随意),在FairyGUI文件夹下再新建StartWindowPackage文件夹和GameWindowPackage文件夹。 3. 将对应的Package资源导入对应的子文件下即可。 4. 以上为推荐做法,你将所有资源都导入Resources文件夹下都可以。只要保证资源在Resources文件夹下(包括子文件夹)即可。 3. FairyGUIBaseWindow本质上是一个FairyGUI中的Window类。所以在FairyGUIEditor中制作主显示组件时可按照制作窗体的方法来为他添加关闭按钮即拖动区域等。教程地址: http://www.fairygui.com/guide/editor/window.html 4. 继承自FairyGUIBaseWindow的类的名称必须与要操作的Package中的主组件相同。继承FairyGUIBaseWindow类并实现抽象方法。 1. 创建StartWindow类,并继承FairyGUIBaseWindow。那么这个类就是操作StartWindowPackage中StartWindow组件的类。 2. 创建GameWindow类,并继承FairyGUIBaseWindow。那么这个类就是操作GameWindowPackage中GameWindow组件的类。 5. 提供的抽象方法如下: 1. OnBeforeOpen(),在第一次打开窗体之前调用,主要用于获取要显示的主组件中的UI元件并对其进行初始化操作(全局适配UI、为按钮添加绑定事件等等)。 2. OnOpen(),第一次打开窗体时调用。 3. OnPause(),当窗体隐藏时调用。 4. OnResume(),当窗体除第一次显示外再次显示时调用。 5. OnBeforeClose(),当窗体关闭并销毁之前调用。 6. OnClose(),当窗体关闭并销毁时调用。 6. FairyGUIWindowManager(单例类)是管理窗体显示与隐藏的管理类: 1. 调用FairyGUIWindowManager.instance.OpenWindow(typeof(窗体类名))方法即可打开窗口。 2. 调用FairyGUIWindowManager.instance.HideWindow(typeof(窗体类名))方法即可隐藏窗口。 3. FairyGUIWindowManager.instance.DestroyAllWindow()方法可以关闭并销毁所有窗口。仅可在关闭程序之前调用,否则显示会出现错误。 ## 四、窗体类的生命周期 mark ## 五、版本更新内容 ### V1.0.0 *VFairyGUI第一个正式版本,包含功能如下:* 1. 自动生成配置文件。 2. 资源智能加载与卸载。 3. 窗体生命周期的管理。 4. 打开窗体。 5. 隐藏窗体。 6. 销毁所有窗体。