use bevy_ecs::prelude::*;
use bitflags::*;
bitflags! {
#[derive(Clone, Copy, PartialEq, Eq, Debug, Hash)]
pub struct VisualFlagBits: u32 {
const VISIBLE = 1 << 0;
}
}
#[derive(Component, Clone, Copy, PartialEq, Eq, Debug, Hash)]
#[repr(transparent)]
pub struct VisualFlags(pub VisualFlagBits);
impl VisualFlags {
#[inline]
pub fn is_visible(&self) -> bool {
self.0.contains(VisualFlagBits::VISIBLE)
}
#[inline]
pub fn set_is_visible(&mut self, value: bool) {
self.0.set(VisualFlagBits::VISIBLE, value);
}
}
impl Default for VisualFlags {
#[inline]
fn default() -> Self {
Self(VisualFlagBits::VISIBLE)
}
}