CoreLib

CoreLib

绕过硬编码游戏逻辑的实用方法集合

其他

CoreLib

CoreLib 是一个面向《植物大战僵尸:重植版》的全能实用模组,它允许用户轻松为游戏创建自定义内容,同时绕过游戏中所有硬编码的限制逻辑。

简而言之,这是一种快速简便的方法,可以跳过所有枯燥的代码,直接开始创作。我尽可能保留了游戏的核心行为系统,以便你做出的修改与游戏开发时的效果保持一致。

CoreLib 还包含许多我自己绞尽脑汁才完成的实用工具,旨在为你节省抓狂的时间。

目前它具备以下功能:

  • 自定义植物创建(测试版)——你现在可以从零开始创建全新的植物!更多信息请阅读下方对应章节。
  • ClassExtension——能够轻松将自定义数据附加到基础游戏类上。
  • PersistentStorage——用于避免 Il2Cpp 垃圾回收的存储机制。
  • RegistryBridge——用于加载 AssetBundle 及其内部数据的工具集。
  • ReLocalizer——一个自定义本地化实现,用于本地化你的字符串。
  • UnityUtil——一组针对 Unity 系统的随机、杂项实用方法。

我每天都在努力改进库的代码,因此请期待持续更新。目前计划添加以下内容:

  • 无需 Spine v4 即可渲染植物的替代方式
  • 在图鉴中显示自定义植物
  • 为《植物大战僵尸》系列其余核心功能(如植物食物效果与融合)提供基础植物支持
  • 定义自定义僵尸的能力
  • 为植物定义解锁条件的能力

自定义植物创建

CoreLib 包含开发者轻松创建自定义植物所需的逻辑和补丁。我目前正在编写其实现的正式文档,但你可以在下方预览一个工作示例:

EnlightenMint.cs
注册自定义植物

非常重要: PvZ Replanted 使用 Spriter 2D v4.2 渲染植物。这意味着,截至目前,要创建自定义植物,你需要能够生成 Spriter 2D 的 .skeleton.atlas 文件。我正在为开发者寻找免费可用的替代方案。

将 CoreLib 作为依赖项包含

在你的模组中包含 CoreLib 非常简单。通过程序集引用管理器添加对它的引用后,只需在你声明模组定义的位置放置 [assembly: MelonAdditionalDependencies(new [] { "PvZReCoreLib" })] 即可!

GitHub 仓库