function unload(asset) {
	switch (asset.type) {
		case "binary":
			if (!(asset.name in binList)) {
				return false;
			}

			delete binList[asset.name];
			return true;

		case "image":
			if (!(asset.name in imgList)) {
				return false;
			}
			delete imgList[asset.name];
			return true;

		case "json":
			if (!(asset.name in jsonList)) {
				return false;
			}

			delete jsonList[asset.name];
			return true;

		case "js":
			// ??
			return true;

		case "fontface":
			if (
				typeof typeof globalThis.document !== "undefined" &&
				typeof globalThis.document.fonts !== "undefined"
			) {
				globalThis.document.fonts.delete(fontList[asset.name]);
				delete fontList[asset.name];
				return true;
			}
			return false;

		case "tmx":
		case "tsx":
			if (!(asset.name in tmxList)) {
				return false;
			}

			delete tmxList[asset.name];
			return true;

		case "audio":
			return audio.unload(asset.name);

		case "video":
			if (!(asset.name in videoList)) {
				return false;
			}

			delete videoList[asset.name];
			return true;

		default:
			throw new Error(
				"unload : unknown or invalid resource type : " + asset.type,
			);
	}
}
unload the specified asset to free memory
@memberof loader
@param {Asset} asset
@returns {boolean} true if unloaded
@example me.loader.unload({name: "avatar",  type:"image"});