当前位置: 首页 > news >正文

Locker 是 Godot 的一个开源插件,它提供了一种快速且可扩展的方式来使用不同的策略保存和加载数据,并且具有开箱即用的 JSON 和加密功能。

一、软件介绍

文末提供下载

       Locker 插件是在 Godot 4.3 中创建的框架,旨在简化在 Godot 项目中保存、加载和管理数据的过程。该插件的主要目标之一是对用户自定义开放,允许使用不同的用户定义策略来访问数据。并且具有开箱即用的 JSON 和加密功能。

二、软件特征

  • 下面列出了此插件的主要功能。
  • 📪 数据收集和分发
  • 数据的收集和分发是该框架的主要特点。此功能是指此插件如何能够跟踪谁需要访问存储,并处理如何实现该访问。
  • 为了实现此功能,使用了两个重要概念: StorageManager icon StorageManagers 和 StorageManager icon StorageAccessors 。 StorageAccessors Nodes 能够处理对已保存数据的访问,同时 StorageManagers 负责管理需要访问该数据的数据 StorageAccessors 。
  • 为了能够作这些 StorageAccessors ,在激活插件时定义一个名为 GlobalStorageManager autoload 的 autoload 。这是一个单例,能够收集数据并将其发送给场景中的所有活动 StorageAccessors 用户。
  •  🗃 多个保存文件
  • 此插件提供的功能之一是可以使用多个保存文件来存储数据。这可以用于实现类似于某些游戏的系统,其中不同游戏玩法的数据存储在不同的保存文件中,通常称为文件 1、文件 2、文件 3 等。
  • 多保存文件系统还可以存储你想要的任何名称的文件。您甚至可以使用字符串化时间戳在不同时间存储不同的保存文件。
  • 🔪 分区中的分离
  • 除了允许分离多个保存文件中的数据外,Locker 插件还允许将保存文件内的数据分离到多个分区中。这可用于更好地组织数据,甚至在仅涉及几个分区的数据时使数据访问过程更快。
  • 例如,可以使用分区来分隔来自不同玩家的数据,以便在需要一个玩家的数据时,只需加载其分区。
  • ⏰ 异步作
  • 这个 Plugin 带来的另一个功能是将文件访问作作为异步函数处理。这允许游戏保持响应,即使有大量数据需要加载或保存。
  • 为了方便用户,在数据作初始化或完成时提供了方便的信号,以便可以在这些时间采取行动。
  • 为了便于与这些异步作进行交互,所涉及的方法被定义为协程,以便您可以仅在必要时使用 await 关键字等待其执行。
  •  📰 保存文件版本控制
  • Locker 插件还旨在促进将旧保存文件更新到新版本游戏的过程。
  • 这就是为什么 StorageAccessors 由 StorageAccessorVersions 组成 StorageManager icon 的原因。这些 StorageAccessorVersions 允许您定义不同的机制来处理跨不同版本的保存文件访问的数据,这可以促进在新游戏版本中更新保存数据方案的过程。
  • 🔑 可定制的访问策略
  • 这个插件的主要目标之一是对定制持开放态度。这就是实施这个 StorageManager icon AccessStrategy 概念的原因。
  • 这是一个 AccessStrategy 使用此 Plugin 抽象数据写入和读取方式的类。这种方法允许将来轻松实现 new AccessStrategies ,甚至由用户实现。
  • 对于此插件的默认用法,有两个内置 AccessStrategies 可用: 的 JSONAccessStrategy 和 EncryptedAccessStrategy .
  •  🔧 轻松配置
  • 有了所有这些功能,插件需要一个允许快速配置的地方。为此,使用了 Godot 内置的 ProjectSettings 。这意味着要快速设置此插件的首选配置,您只需转到 "addons/locker" path ProjectSettings 中的路径并调整所需的属性。

三、安装

      文末下载插件后,请务必在 Godot 设置中激活它,以便它可以自动将其自动加载添加到项目中并正常工作。

测试

       此项目具有单元测试(位于 test/unit 文件夹中)以验证其功能是否正确。这些测试是使用 @bitwes 的 GUT 插件编写的,该插件也可在 Godot 资产库中获得。

软件下载

夸克网盘分享

本文信息均来源于作者GitHub地址:https://github.com/locker-godot/locker

相关文章:

  • 【技海登峰】Kafka漫谈系列(六)Java客户端之消费者Consumer核心概念与客户端配置详解
  • 【单片机】ARM 处理器简介
  • Java EE 进阶:Spring IoCDI
  • 双击PPT文件界面灰色不可用,需要再次打开该PPT文件才能正常打开
  • 虚拟机vmware中ubuntu 磁盘扩容步骤
  • 六十天前端强化训练之第十三天之JavaScript 原型与继承详解
  • JSP+Servlet实现对数据库增删改查功能
  • 元脑服务器的创新应用:浪潮信息引领AI计算新时代
  • 数据结构(四)栈和队列
  • Flink实时特征工程
  • JavaWeb后端基础(7)AOP
  • ACE协议学习1
  • AJAX的作用
  • Redis Cluster 客户端定位分片全解析:哈希槽与动态路由机制
  • 【AVRCP】协议深入解析(1):从框架到数据单元
  • Git基础之基础概念
  • 基于大数据+机器学习等的淘宝电商用户行为预测分析平台(源码+论文+数据集)
  • 阿里云操作系统控制台——解决服务器磁盘I/O故障
  • 【02】Web网页基础
  • 深度学习DNN实战
  • 美国考虑让移民上真人秀竞逐公民权,制片人称非现实版《饥饿游戏》
  • 湖南慈利一村干部用AI生成通知并擅自发布,乡纪委立案
  • 陕西省市监局通报5批次不合格食品,涉添加剂超标、微生物污染等问题
  • 侵害孩子者,必严惩不贷!3名性侵害未成年人罪犯今日执行死刑
  • 独家 |《苏州河》上海上演,编剧海飞:上海的风能吹透我
  • 一周文化讲座|“我的生命不过是温柔的疯狂”