Newer
Older
use std::path::{Path, PathBuf};
use bevy::{
asset::Handle,
prelude::{Assets, Mesh, Plugin},
};
use bevy_svg::prelude::Svg;
pub const EXPAND_LESS_HANDLE: Handle<Svg> = Handle::weak_from_u128(4238701051302568451);
pub const EXPAND_MORE_HANDLE: Handle<Svg> = Handle::weak_from_u128(9116091369991258337);
pub struct IconsPlugin;
impl Plugin for IconsPlugin {
fn build(&self, app: &mut bevy::prelude::App) {
let expand_less_bytes = include_bytes!("expand_less.svg");
let expand_more_bytes = include_bytes!("expand_more.svg");
let mut expand_less =
Svg::from_bytes(expand_less_bytes, Path::new(""), None::<PathBuf>).unwrap();
let mut expand_more =
Svg::from_bytes(expand_more_bytes, Path::new(""), None::<PathBuf>).unwrap();
let mut meshes = app.world.get_resource_mut::<Assets<Mesh>>().unwrap();
expand_less.mesh = meshes.add(expand_less.tessellate());
expand_more.mesh = meshes.add(expand_more.tessellate());
let mut svgs = app.world.get_resource_mut::<Assets<Svg>>().unwrap();
svgs.insert(EXPAND_LESS_HANDLE, expand_less);
svgs.insert(EXPAND_MORE_HANDLE, expand_more);
}
}