FunGame.Core 1.0.0

dotnet add package FunGame.Core --version 1.0.0
                    
NuGet\Install-Package FunGame.Core -Version 1.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="FunGame.Core" Version="1.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="FunGame.Core" Version="1.0.0" />
                    
Directory.Packages.props
<PackageReference Include="FunGame.Core" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add FunGame.Core --version 1.0.0
                    
#r "nuget: FunGame.Core, 1.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#addin nuget:?package=FunGame.Core&version=1.0.0
                    
Install FunGame.Core as a Cake Addin
#tool nuget:?package=FunGame.Core&version=1.0.0
                    
Install FunGame.Core as a Cake Tool

项目简介

FunGame 是一套基于 C#.NET 设计的回合制游戏服务器端开发框架,旨在简化多人回合制在线游戏的开发流程。

配套解决方案:FunGameServer(基于 ASP.NET Core Web API 的跨平台高性能服务器控制台)

本仓库 FunGame.Core 项目是 FunGame 框架的核心模块,包含了框架的基础组件。 本项目不局限于服务器端开发,在支持 .NET 编程的客户端项目中也能使用。

安装

dotnet add package FunGame.Core
  • Release 页面中下载最新发布版本。

  • 克隆本仓库。

git clone https://github.com/project-redbud/FunGame-Core.git
  • 克隆本仓库的 latest 分支,此分支为开发版本的最新编译 DLL。
git clone -b latest https://github.com/project-redbud/FunGame-Core.git

使用

引用 FunGame.Core.dll 或者直接引用整个 FunGame.Core 项目到你的项目中。

我们维护了一份 API 文档,如有需要请随时查阅:FunGame 开发文档。 文档内容会随着本项目的更改而变化,但是我们不保证能够及时更新文档。

也欢迎查阅由 DeepWiki 提供的 AI 生成的文档:DeepWiki 文档,此 AI 工具从头到尾分析了整个项目的代码并组织为 Wiki 形式,方便开发者结合源代码来理解整个项目。

在使用本项目的过程中遇到任何问题,欢迎提交 issues,我们会积极解决你的问题。

许可证

本项目采用 GNU Lesser General Public License v3.0 许可证。 详细信息请参考 LICENSE 文件。

Copyright (C) 2023-present Project Redbud and contributors.
Copyright (C) 2022-2023 Milimoe.

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

使用本项目时,你需要在你的程序或文档中声明你使用了 FunGame.Core,并说明它使用 LGPL 许可证。

例如:

This project uses the FunGame-Core library, which is licensed under the GNU Lesser General Public License version 3.0. More information can be found at https://github.com/project-redbud/FunGame-Core.

二次开发和衍生项目

GNU Lesser General Public License (LGPL) v3.0 许可证允许你:

  • 自由使用: 在任何类型的项目中使用 FunGame.Core,包括商业项目和开源项目。
  • 自由修改: 根据自己的需求修改 FunGame.Core 的代码。
  • 自由分发: 分发 FunGame.Core 的副本或修改后的版本。

重要: 如果你修改或者重新分发了代码,你需要公开你对 FunGame.Core 的修改部分(开放源代码),并继续使用 LGPL 许可证。

Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net9.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.0 219 5/14/2025
1.0.0-rc.1-0509 55 5/9/2025
1.0.0-rc.1-0502 75 5/2/2025

We are excited to introduce the official version 1.0.0. Here are the key changes from the last release candidate:
- Fixed an issue of incorrect recording of non-damage assists. (1.0.0)
- Fixed an issue where applying a control effect to an enemy mistakenly resulted in an assist for the character when that enemy killed a teammate. (1.0.0)
- Removed the restriction of contributing 10% damage to get an assist. (1.0.0)
- Fixed an issue where the skill always defaults to selecting enemies when there is no suitable target, which could cause the character to mistakenly apply a buff state to the enemy. (1.0.0)
- Adjusted the basic reward and assist allocation rules for killing enemies. (1.0.0)
- Added monetary compensation based on the level and economic difference between the killer/assister and the victim. (1.0.0)
Update history of all release candidate versions:
- Initial release candidate 1 (1.0.0-rc.1-0428)
- Abstract ActionQueue as GamingQueue, and separate the original Mix / Team modes into two queue types: MixGamingQueue and TeamGamingQueue. (1.0.0-rc.1-0502)
- In the Effect class, added ParentEffect and ForceHideInStatusBar properties for more precise control of the status bar display. (1.0.0-rc.1-0509)
- Added helper methods IsTeammate and GetIsTeammateDictionary to GamingQueue and its interface IGamingQueue for determining if someone is a teammate. This facilitates the skill effects to determine whether the target is a teammate. (1.0.0-rc.1-0509)
- Added more properties (such as Name, RealCD) to the ISkill interface. Both NormalAttack and Skill inherit from ISkill, thus implementing these properties, although some properties are not meaningful for NormalAttack. (1.0.0-rc.1-0509)
- Added corresponding text for EffectTypes Lifesteal and GrievousWound. (1.0.0-rc.1-0509)
- Added EffectTypes: WeakDispelling and StrongDispelling, representing DurativeWeak and DurativeStrong of DispelType. (1.0.0-rc.1-0509)
- Added underlying processing support for continuous dispelling in the TimeLapse method. (1.0.0-rc.1-0509)
- Fixed an issue where the effect's shield hook provided incorrect parameters. (1.0.0-rc.1-0509)
- Fixed an issue where the result of pre-hooks for evade and critical hit checks always deferred to the result of the last effect. It should be that if any effect prevents the check, it is skipped. (1.0.0-rc.1-0509)
- Added comments for some code. (1.0.0-rc.1-0509)