From 0f226739d1ebc50aa212d02a3cdedbe566e21c8c Mon Sep 17 00:00:00 2001 From: Collin Smith Date: Sat, 9 Sep 2023 00:20:01 -0700 Subject: [PATCH] Additional functions in AssetUtils for disposing gdx assets quietly --- .../java/com/riiablo/asset/AssetUtils.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/core/src/main/java/com/riiablo/asset/AssetUtils.java b/core/src/main/java/com/riiablo/asset/AssetUtils.java index 5a8b69a7..701cad1a 100644 --- a/core/src/main/java/com/riiablo/asset/AssetUtils.java +++ b/core/src/main/java/com/riiablo/asset/AssetUtils.java @@ -1,6 +1,7 @@ package com.riiablo.asset; import com.badlogic.gdx.utils.Disposable; +import com.badlogic.gdx.utils.GdxRuntimeException; public final class AssetUtils { private AssetUtils() { } @@ -8,4 +9,22 @@ public final class AssetUtils { public static void dispose(Object o) { if (o instanceof Disposable) ((Disposable) o).dispose(); } + + public static void disposeQuietly(Object[] o) { + disposeQuietly(o, 0, o.length); + } + + public static void disposeQuietly(Object[] o, int off, int len) { + for (; off < len; off++) { + disposeQuietly(o[off]); + o[off] = null; + } + } + + public static void disposeQuietly(Object o) { + try { + dispose(o); + } catch (GdxRuntimeException ignored) { + } + } }