예제 #1
0
    private void BreakReceiving()
    {
        if (VisualizerWindow != null)
        {
            VisualizerWindow.Close();
            DestroyImmediate(VisualizerWindow);
            VisualizerWindow = null;
        }

        IsReceiving = false;
        Status      = null;
        Data.Clear();
    }
예제 #2
0
    private void CheckStatus()
    {
        foreach (ReceivingStatus status in Status)
        {
            if (status == ReceivingStatus.NoData || status == ReceivingStatus.OK)
            {
                continue;
            }
            return;
        }

        Debug.Log("Check success");

        VisualizerWindow = EditorWindow.GetWindow <TextureVisualizer>("Texture Visualizer");

        DirectoryInfo binaryDirectory = new DirectoryInfo(DirectoryPath);

        int x_min = int.MaxValue;
        int x_max = int.MinValue;

        int y_min = int.MaxValue;
        int y_max = int.MinValue;

        foreach (FileInfo fileToDecompress in binaryDirectory.GetFiles("*.bin"))
        {
            string[] name = fileToDecompress.Name.Split('_');

            if (int.TryParse(name[0], out int coord_x))
            {
                if (coord_x > x_max)
                {
                    x_max = coord_x;
                }
                if (coord_x < x_min)
                {
                    x_min = coord_x;
                }
            }

            if (int.TryParse(name[1], out int coord_y))
            {
                if (coord_y > y_max)
                {
                    y_max = coord_y;
                }
                if (coord_y < y_min)
                {
                    y_min = coord_y;
                }
            }
        }

        int x_delta = x_max - x_min;
        int y_delta = y_max - y_min;

        byte[, ][] data = new byte[x_delta + 1, y_delta + 1][];

        foreach (FileInfo fileToDecompress in binaryDirectory.GetFiles("*.bin"))
        {
            string[] name = fileToDecompress.Name.Split('_');

            if (int.TryParse(name[0], out int coord_x) && int.TryParse(name[1], out int coord_y))
            {
                int x = x_max - coord_x;
                int y = y_max - coord_y;

                data[x, y] = (File.ReadAllBytes(fileToDecompress.FullName));
            }
        }

        VisualizerWindow.Initialize(x_delta, y_delta, data);
        VisualizerWindow.Show();
    }