pybevy 0.2.1

PyBevy: A Python Real-Time Engine Built on Bevy
use bevy::ecs::entity_disabling::Disabled;
use pybevy_core::{PyComponent, registry::global_registry};
use pybevy_macros::unit_bridge;
use pyo3::prelude::*;

unit_bridge!(Disabled, PyDisabled);

pub fn register_disabled_bridge() {
    global_registry::register_component_bridge(DisabledBridge);
}

#[pyclass(name = "Disabled", extends = PyComponent, frozen, eq)]
#[derive(Debug, Clone, PartialEq)]
pub struct PyDisabled;

impl From<Disabled> for PyDisabled {
    fn from(_: Disabled) -> Self {
        PyDisabled
    }
}

impl From<PyDisabled> for Disabled {
    fn from(_: PyDisabled) -> Self {
        Disabled
    }
}

impl TryFrom<&Disabled> for PyDisabled {
    type Error = PyErr;
    fn try_from(_: &Disabled) -> PyResult<Self> {
        Ok(PyDisabled)
    }
}

#[pymethods]
impl PyDisabled {
    #[new]
    pub fn new() -> (Self, PyComponent) {
        (PyDisabled, PyComponent)
    }

    fn __repr__(&self) -> &'static str {
        "Disabled"
    }
}