示例#1
0
        private ThumbnailState SubmitGeneratorTask(string path)
        {
            var state = new ThumbnailState()
            {
                icon = Icon.ExtractAssociatedIcon(path)
            };

            iconCache[path] = state;

            Task.Run(() =>
            {
                semaphore.Wait();
                using (MemoryStream ms = new MemoryStream(File.ReadAllBytes(path)))
                {
                    using (var img = Image.FromStream(ms))
                    {
                        var thumb  = (Bitmap)img.GetThumbnailImage(32, 32, () => false, IntPtr.Zero);
                        var icon   = Icon.FromHandle(thumb.GetHicon());
                        state.icon = icon;
                        IconThumbnailLoaded(this, new EventArgs());
                        semaphore.Release();
                        return(icon);
                    }
                }
            });
            return(state);
        }
示例#2
0
        private static void SetMainCanvasThumbnail(bool isVR, ThumbnailState thumbnailState)
        {
            string gameObjectLookup = isVR ? "MainCanvas/Panel" : "FreeHScene/Canvas/Panel";

            var parent = GameObject.Find(gameObjectLookup);

            Image[] children = parent.transform.GetComponentsInChildren <Image>(true);

            foreach (Image child in children)
            {
                if (child.gameObject.name == "MapThumbnail" && child.transform.parent.gameObject.name != "Dark")
                {
                    if (thumbnailState == ThumbnailState.Default)
                    {
                        child.overrideSprite  = defaultImage.ToSprite();
                        child.gameObject.name = child.gameObject.name + " " + GUID;
                    }
                }
                else if (child.gameObject.name == "MapThumbnail" + " " + GUID && child.transform.parent.gameObject.name != "Dark" && thumbnailState == ThumbnailState.Unset)
                {
                    child.overrideSprite = null;
                }
            }
        }