|
3 months ago | |
---|---|---|
Example | 3 months ago | |
Font | 7 months ago | |
addons/EGFramework | 3 months ago | |
.gitattributes | 1 year ago | |
.gitignore | 1 year ago | |
EGFramework.csproj | 4 months ago | |
EGFramework.sln | 1 year ago | |
EGFramework.svg | 3 months ago | |
EGFramework.svg.import | 3 months ago | |
LICENSE | 1 year ago | |
ReadMe.md | 3 months ago | |
icon.svg | 1 year ago | |
icon.svg.import | 6 months ago | |
project.godot | 3 months ago |
ReadMe.md
EGFramework 使用手册
引言
EGFramework
全称Everyone's Godot framework,基于Godot
开源引擎,使用C#编写,目前仅兼容Godot4.3 - .NET
,部分兼容Godot3.5 - .NET
,是完全开源的组件式,功能分布的框架,使用时可以自己根据需求安装对应的Module
来实现对应的功能,同样也可以裁剪对应的Module
来删减对应的功能。
Module
是EGFramework
的核心组成部分,也是EGFramework
中重要的扩展依据。目前该框架可能还有很多欠缺与不足,最终目的是做一个方便可靠好用的通讯&存储&资源生成&界面生成框架、用户无需过多学习、开箱即用。
关于Godot引擎(摘自Godot Engine (4.x) 简体中文文档)
Godot 引擎是一款功能丰富的跨平台游戏引擎,可以通过统一的界面创建 2D 和 3D 游戏。它提供了一套全面的通用工具,因此用户可以专注于制作游戏,而无需重新发明轮子。游戏可以一键导出到多个平台,包括主流的桌面平台(Linux、macOS、Windows)、移动平台(Android、iOS)、基于 Web 的平台以及主机平台。
Godot 在 宽松的 MIT 许可证 下完全自由且开源,没有附加条件、没有抽成、什么都没有。用户的游戏乃至引擎的每一行代码,都归用户自己所有。Godot 的开发完全独立且由社区驱动,允许用户为满足需求重塑引擎。它受到不以盈利为目标的 Godot 基金会支持。
一、准备工作
1.下载开发环境
本章节所有环境均在开源IDE VSCode
,Godot4.3 - .NET
的环境下进行,请确保已经下载好VSCode
,Godot4.3 - .NET
,本项目Godot版本可能并非最新,但作者会尽可能的升级至最新版的Godot,在此之间请按照如下方式进行框架的集成工作,如果您有购买Rider或者其他编码工具可以根据自己的喜好来替代VSCode。
2.VSCode 插件安装
打开VSCode, 按下Ctrl+Shift+X
,在搜索栏里面搜索C# Tools for Godot
,安装该插件,因为该插件可能依赖于C#
插件,同时需要安装C#
插件。
同上,搜索并安装NuGet Package Manager GUI
插件,用于Nuget包的安装与管理。
3.Nuget包的安装
打开VSCode,将如下部分替换或增加至您名称为*.csproj后缀的工程文件下。
<ItemGroup>
<PackageReference Include="System.IO.Ports" Version="8.0.0" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
<PackageReference Include="Microsoft.Data.Sqlite" Version="8.0.1" />
<PackageReference Include="System.Text.Encoding.CodePages" Version="8.0.0" />
<PackageReference Include="WebDav.Client" Version="2.8.0" />
<PackageReference Include="MQTTnet" Version="4.3.3.952" />
<PackageReference Include="Makaretu.Dns.Multicast" Version="0.27.0" />
<PackageReference Include="Microsoft.Extensions.Configuration.Ini" Version="8.0.0" />
<PackageReference Include="LiteDB" Version="5.0.21" />
<PackageReference Include="BACnet" Version="2.0.4" />
<PackageReference Include="MySql.Data" Version="9.1.0" />
<PackageReference Include="Dapper" Version="2.1.35" />
<PackageReference Include="SSH.NET" Version="2024.2.0" />
<PackageReference Include="StackExchange.Redis" Version="2.8.31" />
<PackageReference Include="FluentFTP" Version="52.1.0" />
</ItemGroup>
首次编译确保计算机可以联网,并可以连接该网站NuGet Gallery | Home
注意:这些Nuget包仅为目前框架版本所用,后续可能会有新的Nuget包导入,会在此处列出。
4.删除不需要的Module(可选)
如果您只想使用部分功能,或者不想安装对应的Nuget包依赖,可以直接删除对应的Module脚本文件。
无需担心,除了部分Module存在相关依赖,大部分Module是支持直接删除的。
二、框架简介
由于该框架使用了较多的Nuget包实现相关的功能,所以安装较为繁琐,同时因为用到较多的扩展方法,提示词可能比较冗余。您可以通过删除对应的Module来定制化自己的框架,也可以新增自己的Module来扩展自己的框架。
如果使用的Nuget包牵扯有侵犯您的许可,请联系作者Mail:1031139173@qq.com,作者尽可能第一时间删除对应的Module功能。
第三方许可文件均存放在目录addons\EGFramework\License_Third_Part下面
2.1 使用框架
添加using,并继承接口IEGFramework,即可使用该框架了。
using Godot;
using static Godot.GD;
using System.Collections.Generic;
using EGFramework;
public partial class EGTest : Node,IEGFramework{
}
更多可参考Example。
2.2 发送与监听消息
2.3 使用本地存储
三、EGFramework-API
目前已有的EGFramework功能组件。标记是目前已编写完成,未标记是未编写完成或未测试。
- ProtocolTools&ProtocolExtension
- SaveTools
- OtherTools
- Extension
- NodeExtension(仅Godot下可用)
- GenerateTools
- UITools
3.1 消息篇(EGMessage-ProtocolTools)
通讯支持
- TCPClient
- TCPServer
- UDP(Listen&Send)
- SerialPort
- Ssh
- WebSocketClient
- Bacnet
- MQTT
- HttpClient
- HttpServer
异步处理支持
- FileStream
- Process
3.2 存储篇(EGMessage-ProtocolTools)
键值对象存储支持
- Json
- Redis
- Byte
数据存储支持
- Csv
- LiteDB
- MySQL(Dapper)
- Sqlite(Dapper)
- Dapper
文件存储支持
- FTP
- LocalFile
- Sftp
- WebDav