예제 #1
0
    private static void EnqueueEmptyBlock(Minimap.MinimapRequest minimapRequest)
    {
        string mapName = minimapRequest.mapName;

        MinimapData.MinimapBlockData blockData = new MinimapData.MinimapBlockData();
        blockData.mapName         = mapName;
        blockData.coords          = minimapRequest.coords;
        blockData.minimapByteData = null;
        MinimapData.MinimapDataQueue.Enqueue(blockData);
    }
예제 #2
0
    // Assemble the Minimap GameObjects //
    private void AssembleMinimap()
    {
        MinimapData.MinimapBlockData blockData = MinimapData.MinimapDataQueue.Dequeue();
        GameObject instance = Instantiate(MinimapPrefab, Vector3.zero, Quaternion.identity);

        instance.transform.SetParent(ScrollParent.transform, false);
        instance.GetComponent <RectTransform>().anchoredPosition = new Vector2((blockData.coords.x - MinimapData.Min.x) * 100, -(blockData.coords.y - MinimapData.Min.y) * 100);
        instance.name = "map" + blockData.coords.x + "_" + blockData.coords.y + ".blp";
        instance.tag  = "MinimapBlock";
        instance.GetComponent <MinimapBlock>().minimapCoords = blockData.coords;
        if (MinimapData.mapAvailability[(int)blockData.coords.x, (int)blockData.coords.y].Minimap)
        {
            Texture2D tex = new Texture2D(blockData.textureInfo.width, blockData.textureInfo.height, blockData.textureInfo.textureFormat, false);
            tex.LoadRawTextureData(blockData.minimapByteData);
            instance.GetComponent <RawImage>().texture = tex;
            instance.GetComponent <RawImage>().uvRect  = new Rect(0, 0, 1, -1);
            tex.Apply();
        }
    }
예제 #3
0
    // Request a minimap image from the parser //
    private static void RequestBlock(Minimap.MinimapRequest minimapRequest)
    {
        string mapName       = minimapRequest.mapName;
        string fileName      = "map" + minimapRequest.coords.x + "_" + minimapRequest.coords.y + ".blp";
        string path          = @"world\minimaps\" + mapName + @"\" + fileName;
        string extractedPath = Casc.GetFile(path);

        using (Stream stream = File.Open(extractedPath, FileMode.Open))
        {
            BLP     blp  = new BLP();
            byte[]  data = blp.GetUncompressed(stream, true);
            BLPinfo info = blp.Info();
            MinimapData.MinimapBlockData blockData = new MinimapData.MinimapBlockData();
            blockData.mapName         = mapName;
            blockData.coords          = minimapRequest.coords;
            blockData.textureInfo     = info;
            blockData.minimapByteData = data;

            MinimapData.MinimapDataQueue.Enqueue(blockData);
        }
    }