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) { } }
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; } }
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()); }
public void Dispose() { Original.Dispose(); }