private void OnDestroy() { _fadeTweener?.Kill(); _scaleTweener?.Kill(); if (_generatedTexture != null) { TextureStaticFactory.ReturnTexture(_generatedTexture); } }
protected override void OnDestroy() { base.OnDestroy(); _fadeTweener?.Kill(); _scaleTweener?.Kill(); if (_generatedTexture != null) { TextureStaticFactory.ReturnTextureRGBA32(_generatedTexture); _generatedTexture = null; } }
private void GenerateRippleTexture() { var texSize = GetRippleSize(); _generatedTexture = TextureStaticFactory.CreateCircleTexture(_rippleColor, texSize, texSize, texSize / 2, texSize / 2, texSize / 2); _rippleSprite.sprite = Sprite.Create( _generatedTexture, new Rect(Vector2.zero, new Vector2(texSize, texSize)), Vector2.zero, UiCanvasHelper.Instance.PixelsPerUnit, 1, SpriteMeshType.FullRect); }
private void GenerateRippleTexture() { var texSize = GetRippleTextureSize(); _generatedTexture = TextureStaticFactory.CreateCircleTexture(_color, texSize, texSize, texSize / 2, texSize / 2, texSize / 2); _rippleSprite.sprite = Sprite.Create( _generatedTexture, new Rect(Vector2.zero, new Vector2(texSize, texSize)), Vector2.zero, 100, 1, SpriteMeshType.FullRect); }
private void ClearCache() { if (_generatedTexture != null) { TextureStaticFactory.ReturnTexture(_generatedTexture); } _rippleSprite.sprite = null; if (_mask == null) { return; } Destroy(_mask); _mask = null; }
private void ClearCache() { if (_generatedTexture != null) { TextureStaticFactory.ReturnTextureRGBA32(_generatedTexture); _generatedTexture = null; } GraphicExtend.SetAlpha(_rippleSprite, 0); _rippleSprite.sprite = null; if (_mask != null) { Destroy(_mask); _mask = null; } }
private void Test_CreateCircleTexture(int width, int height, int x, int y, int radius, Stopwatch sw) { sw.Restart(); var tex = TextureStaticFactory.CreateCircleTexture(Color.white, width, height, x, y, radius); for (int i = 0; i < _cycles; i++) { TextureStaticFactory.ReturnTexture(tex); var _generatedTexture = TextureStaticFactory.CreateCircleTexture(Color.white, width, height, x, y, radius); Sprite.Create( _generatedTexture, new Rect(Vector2.zero, new Vector2(width, height)), Vector2.zero, 100, 1, SpriteMeshType.FullRect); } print($"{nameof(Test_CreateCircleTexture)} - {sw.ElapsedMilliseconds}ms"); }