[Unity]存档功能

本文介绍了如何在Unity中实现存档功能,不依赖Unity API,采用接口设计实现存档、读取和删除操作。通过SaveMgr、SaveTask、ASave、ISaveTarget等组件协同工作,利用IBinarySavable和ITextSavable接口处理字节流和文本数据。存档数据存储在Application.persistentDataPath路径下,分为Text文件和二进制文件,注意数据写入顺序与读取顺序一致以避免数据错乱。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[Unity]Saving

脱离UnityAPI实现存档功能。

一.分析

基于接口设计,易于扩展

1. 类图

  • SaveMgr

    持有有一个任务队列。负责将ASave、ISaveTarget传给SaveTask构造实例化,发起任务。

    以下为NewTask方法,NewLoadTask、NewSaveTask等方法就是对此方法的封装。

    private static void NewTask (SaveTask.Type type, ASave save, ISaveTarget target) {
         
            var task = new SaveTask () {
         
                type = type,
                save = save,
                target = target,
            };
    
            switch (type) {
         
                case SaveTask.Type.Save:
                    task.exception = save.ToBytes (out task.data);
                    break;
                default:
                    task.data = null
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值