Exemplo n.º 1
0
    public void LoadBlockMap(bool isCreate)
    {
        string tagFilePath = GameManager.Instance.GetBlockMapPath(archiveDir);

        if (!isCreate && File.Exists(tagFilePath))
        {
            using (var streamReader = new StreamReader(tagFilePath))
            {
                string text = streamReader.ReadToEnd();
                try
                {
                    blockMapData = JsonMapper.ToObject <BlockMapData>(text);
                    BlockManager.Instance.UpdateBlockMap(blockMapData);
                }
                catch (Exception e)
                {
                    Debug.LogError(e);
                    blockMapData = BlockManager.Instance.CreateBlockMap();
                }
            }
        }
        else
        {
            blockMapData = BlockManager.Instance.CreateBlockMap();
        }
    }
Exemplo n.º 2
0
    /// <summary>
    /// 翻转键值对
    /// </summary>
    /// <param name="blockMapData"></param>
    /// <returns></returns>
    public Dictionary <string, string> GetBlockMapOverturn(BlockMapData blockMapData)
    {
        Dictionary <string, string> mapOverturn = new Dictionary <string, string>();

        foreach (var item in blockMapData.blockMap)
        {
            mapOverturn.Add(item.Value, item.Key);
        }

        return(mapOverturn);
    }
Exemplo n.º 3
0
    public BlockMapData CreateBlockMap()
    {
        BlockMapData blockMapData = new BlockMapData();

        blockMapData.blockMap = new Dictionary <string, string>();
        int i = 0;

        foreach (var item in blocks)
        {
            blockMapData.blockMap.Add(i.ToString(), item.Value.blockID);
            i++;
        }

        return(blockMapData);
    }
Exemplo n.º 4
0
    public void UpdateBlockMap(BlockMapData blockMapData)
    {
        if (blockMapData.blockMap == null)
        {
            blockMapData.blockMap = new Dictionary <string, string>();
        }
        int i = 0;

        foreach (var item in blocks)
        {
            if (blockMapData.blockMap.ContainsKey(i.ToString()))
            {
                i++;
                continue;
            }
            if (blockMapData.blockMap.ContainsValue(item.Value.blockID))
            {
                continue;
            }
            i++;
        }
    }