# 写在前面

在游戏存储中我们可以使用多种方法,json、二进制、xml、csv、excel、或者是文本、自定义格式等等。使用这些的时候我们基本都需要将文件整个读入内存中,那有没有一种办法可以不用将所有数据载入内存呢?

答案就是 ———— 使用数据库

数据库的种类很多,大都都服务于网络服务,在单机游戏中使用数据库的话,可以选择 sqllite。

# SqlLite

sqllite 是一种轻量的文件型数据库,整个数据库只有一个 .db文件 而且其使用范围非常广,支持的平台多,是我们在使用 Unity 开发单机游戏时的好选择。

# 快速食用

要使用 SqlLite,我们至少需要导入:

  • sqllte3.dll
  • Mono.Data.Sqllite.dll

在这里我们额外导入 Dapper 作为 Orm 方便我们对数据进行 curd:

  • Dapper.dll
  • Dapper.Contrib.dll
  • Mono.Data.Sqlite.dll

# 创建数据表

首先我们创建一个数据表的模型类 User 如下:

在类名上标注表的名称,这个名称需要和 db 文件中的数据表名称对应

using System;
using Dapper.Contrib.Extensions;
namespace Scenes.SqlLiteDB.Tables
{
    [Table("User")]
    [Serializable]
    public class User
    {
        [Key] public int id { get; set; }
        public string name;
        public string pass;
        public int age;
        public override string ToString()
        {
            return $"id:{id} name:{name} pass:{pass} age:{age}";
        }
    }
}
更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

Fasty 微信支付

微信支付

Fasty 支付宝

支付宝

Fasty 贝宝

贝宝