Example #1
0
    public void ShowPattern(DesignServer.Pattern pattern, PatternExchange exchange)
    {
        try
        {
            PatternExchange = exchange;
            Pattern         = pattern;
            if (CurrentTexture != null)
            {
                CurrentTexture.Dispose();
                CurrentTexture = null;
            }

            ACNHFileFormat format = new ACNHFileFormat(pattern.Bytes);
            DesignPattern  patt   = null;
            if (format.IsPro)
            {
                patt = new ProDesignPattern();
                patt.CopyFrom(format);
            }
            else
            {
                patt = new SimpleDesignPattern();
                patt.CopyFrom(format);
            }

            CurrentTexture = patt.GetBitmap();
            CurrentTexture.Apply();
            CurrentTexture.Texture.filterMode = FilterMode.Point;
            CurrentTexture.Texture.wrapMode   = TextureWrapMode.Clamp;
            this.Image.texture = CurrentTexture.Texture;
        }
        catch (System.Exception e)
        {
        }
    }
Example #2
0
        public void OnShow()
        {
            var mapId  = WorldFrame.Instance.MapManager.MapId;
            var mapRow = Storage.DbcStorage.Map.GetRowById(mapId);

            if (mapRow == null)
            {
                WorldFrame.Instance.State = AppState.MapSelect;
                return;
            }

            var loadScreenPath = "Interface\\Glues\\loading.blp";
            var loadEntry      = mapRow.GetInt32(Storage.MapFormatGuess.FieldMapLoadingScreen);

            if (loadEntry != 0)
            {
                var loadRow = Storage.DbcStorage.LoadingScreen.GetRowById(loadEntry);
                if (loadRow != null)
                {
                    var path = loadRow.GetString(Storage.MapFormatGuess.FieldLoadingScreenPath);
                    mWidescreen = false;

                    if (string.IsNullOrEmpty(path) == false)
                    {
                        if (Storage.MapFormatGuess.FieldLoadingScreenHasWidescreen >= 0 && loadRow.GetInt32(Storage.MapFormatGuess.FieldLoadingScreenHasWidescreen) == 1)
                        {
                            var widePath = path.ToUpperInvariant().Replace(".BLP", "WIDE.BLP");
                            if (IO.FileManager.Instance.Provider.Exists(widePath))
                            {
                                path        = widePath;
                                mWidescreen = true;
                            }
                        }

                        loadScreenPath = path;
                    }
                }
            }

            if (mLoadingImage != null)
            {
                mLoadingImage.Dispose();
            }
            mLoadingImage = new TextureBitmap();
            mLoadingImage.LoadComplete += ImageLoaded;
            mLoadingImage.LoadFromFile(loadScreenPath);

            if (mLoadingBarBackground == null)
            {
                mLoadingBarBackground = new TextureBitmap();
                mLoadingBarBackground.LoadFromFile(@"Interface\Glues\LoadingBar\Loading-BarBorder.blp");
                mLoadingBarFill = new TextureBitmap();
                mLoadingBarFill.LoadFromFile(@"Interface\Glues\LoadingBar\Loading-BarFill.blp");
            }
        }
    public void Hide()
    {
        Opened   = false;
        FullOpen = true;
        ContinuePop.PopOut();
        BackPop.PopOut();
        ImportPop.PopOut();
        Cancel        = null;
        ConfirmImport = null;
        Confirm       = null;

        if (CurrentPreview != null)
        {
            CurrentPreview.Dispose();
            CurrentPreview = null;
        }
        if (CurrentUpscaledPreview != null)
        {
            CurrentUpscaledPreview.Dispose();
            CurrentUpscaledPreview = null;
        }
    }
Example #4
0
 public void Dispose()
 {
     if (!Disposed)
     {
         Disposed = true;
         ReparseLock.Set();
         Bitmap.Dispose();
         PreviewBitmap.Dispose();
         UpscaledPreviewBitmap.Dispose();
         if (SubPatterns != null)
         {
             for (var i = 0; i < SubPatterns.Count; i++)
             {
                 SubPatterns[i].Dispose();
             }
         }
     }
 }
 public virtual void Dispose()
 {
     GameObject.DestroyImmediate(Sprite);
     Texture.Dispose();
 }
    public byte[] Render(DesignPattern pattern, TextureBitmap qrCode1, TextureBitmap qrCode2 = null, TextureBitmap qrCode3 = null, TextureBitmap qrCode4 = null)
    {
        var patternBitmap = pattern.GetBitmap();

        var scaledImage = new TextureBitmap(pattern.Width * 4, pattern.Height * 4);

        int[] src    = patternBitmap.ConvertToInt();
        int[] target = new int[scaledImage.Width * scaledImage.Height];
        Scaler.ScaleImage(4, src, target, patternBitmap.Width, patternBitmap.Height, new xBRZNet.ScalerCfg(), 0, int.MaxValue);
        scaledImage.FromInt(target);
        scaledImage.Apply();

        var scaledTexture = scaledImage.Texture;
        var preview       = Previews.AllPreviews[pattern.Type];

        preview.SetTexture(scaledTexture);
        preview.ResetPosition();
        Text.text = pattern.Name;
        if (qrCode2 != null)
        {
            OneQR.SetActive(false);
            FourQR.SetActive(true);

            preview.Camera.Render();
            var img1 = RenderImage(preview.Camera.targetTexture);
            TopLeftPreviewImage.texture = img1;
            var qr1 = qrCode1.Texture;
            qr1.filterMode             = FilterMode.Point;
            TopLeftQRCodeImage.texture = qr1;

            preview.Move(90f, 0f);
            preview.Camera.Render();

            var img2 = RenderImage(preview.Camera.targetTexture);
            TopRightPreviewImage.texture = img2;
            var qr2 = qrCode2.Texture;
            qr2.filterMode = FilterMode.Point;
            TopRightQRCodeImage.texture = qr2;

            preview.Move(90f, 0f);
            preview.Camera.Render();

            var img3 = RenderImage(preview.Camera.targetTexture);
            BottomLeftPreviewImage.texture = img3;
            var qr3 = qrCode3.Texture;
            qr3.filterMode = FilterMode.Point;
            BottomLeftQRCodeImage.texture = qr3;

            preview.Move(90f, 0f);
            preview.Camera.Render();

            var img4 = RenderImage(preview.Camera.targetTexture);
            BottomRightPreviewImage.texture = img4;
            var qr4 = qrCode4.Texture;
            qr4.filterMode = FilterMode.Point;
            BottomRightQRCodeImage.texture = qr4;

            Camera.Render();

            GameObject.Destroy(img1);
            GameObject.Destroy(qr1);
            GameObject.Destroy(img2);
            GameObject.Destroy(qr2);
            GameObject.Destroy(img3);
            GameObject.Destroy(qr3);
            GameObject.Destroy(img4);
            GameObject.Destroy(qr4);
        }
        else
        {
            OneQR.SetActive(true);
            FourQR.SetActive(false);

            preview.ResetPosition();
            preview.Camera.Render();
            var img1 = RenderImage(preview.Camera.targetTexture);
            BigLeftImage.texture = img1;
            var qr1 = qrCode1.Texture;
            qr1.filterMode      = FilterMode.Point;
            QRCodeImage.texture = qr1;

            Camera.Render();
            GameObject.DestroyImmediate(img1);
            GameObject.DestroyImmediate(qr1);
        }
        GameObject.DestroyImmediate(scaledTexture);
        scaledImage.Dispose();
        patternBitmap.Dispose();
        var result = RenderImage(Camera.targetTexture);

        return(result.EncodeToPNG());
    }
Example #7
0
 public void Dispose()
 {
     Original.Dispose();
 }