Trait DcsObject

Source
pub trait DcsObject<'lua>: Sized + Deref<Target = Table<'lua>> {
    type Class: Debug + Clone;

    // Required methods
    fn change_instance(self, id: &DcsOid<Self::Class>) -> Result<Self>;
    fn change_instance_dyn<T>(self, id: &DcsOid<T>) -> Result<Self>;
    fn get_instance(lua: MizLua<'lua>, id: &DcsOid<Self::Class>) -> Result<Self>;
    fn get_instance_dyn<T>(lua: MizLua<'lua>, id: &DcsOid<T>) -> Result<Self>;

    // Provided method
    fn object_id(&self) -> Result<DcsOid<Self::Class>> { ... }
}

Required Associated Types§

Required Methods§

Source

fn change_instance(self, id: &DcsOid<Self::Class>) -> Result<Self>

Source

fn change_instance_dyn<T>(self, id: &DcsOid<T>) -> Result<Self>

Source

fn get_instance(lua: MizLua<'lua>, id: &DcsOid<Self::Class>) -> Result<Self>

Source

fn get_instance_dyn<T>(lua: MizLua<'lua>, id: &DcsOid<T>) -> Result<Self>

Provided Methods§

Source

fn object_id(&self) -> Result<DcsOid<Self::Class>>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<'lua> DcsObject<'lua> for Airbase<'lua>

Source§

impl<'lua> DcsObject<'lua> for Group<'lua>

Source§

impl<'lua> DcsObject<'lua> for Spot<'lua>

Source§

impl<'lua> DcsObject<'lua> for StaticObject<'lua>

Source§

impl<'lua> DcsObject<'lua> for Unit<'lua>

Source§

impl<'lua> DcsObject<'lua> for Weapon<'lua>

Source§

impl<'lua> DcsObject<'lua> for Object<'lua>