Esempio n. 1
0
    void IDataCacher.SaveData(string name, object data)
    {
        Debug.Log("缓存:" + name);
        string path = GetPath(name);

        FileInfo[] files = directoryInfo.GetFiles();
        if (files.Length >= cacheLimit)
        {
            string   id = visitFilter.GetLastOne();
            FileInfo fi = new FileInfo(GetPath(id));
            Debug.Log(string.Format("地图数据超过上限[{0}]移除[{1}]", cacheLimit, fi.Name));
            if (fi.Exists)
            {
                fi.Delete();
            }
        }

        visitFilter.Visit(name);
        string json = JsonMapper.ToJson(data);

        WriteData(path, json);

        WriteData(filterFile, visitFilter.Serialize());
    }