Trait veloren_common::link::Link

source ·
pub trait Link: Sized + Send + Sync + 'static {
    type Error;
    type CreateData<'a>: SystemData<'a>;
    type PersistData<'a>: SystemData<'a>;
    type DeleteData<'a>: SystemData<'a>;

    // Required methods
    fn create(
        this: &LinkHandle<Self>,
        data: &mut Self::CreateData<'_>
    ) -> Result<(), Self::Error>;
    fn persist(
        this: &LinkHandle<Self>,
        data: &mut Self::PersistData<'_>
    ) -> bool;
    fn delete(this: &LinkHandle<Self>, data: &mut Self::DeleteData<'_>);
}

Required Associated Types§

source

type Error

source

type CreateData<'a>: SystemData<'a>

source

type PersistData<'a>: SystemData<'a>

source

type DeleteData<'a>: SystemData<'a>

Required Methods§

source

fn create( this: &LinkHandle<Self>, data: &mut Self::CreateData<'_> ) -> Result<(), Self::Error>

source

fn persist(this: &LinkHandle<Self>, data: &mut Self::PersistData<'_>) -> bool

source

fn delete(this: &LinkHandle<Self>, data: &mut Self::DeleteData<'_>)

Object Safety§

This trait is not object safe.

Implementors§

§

type CreateData<'a> = (Read<'a, IdMaps>, Storage<'a, Is<Mount>, FetchMut<'a, MaskedStorage<Is<Mount>>>>, Storage<'a, Is<Rider>, FetchMut<'a, MaskedStorage<Is<Rider>>>>, Storage<'a, Is<VolumeRider>, Fetch<'a, MaskedStorage<Is<VolumeRider>>>>, Storage<'a, Is<Follower>, Fetch<'a, MaskedStorage<Is<Follower>>>>)

§

type DeleteData<'a> = (Read<'a, IdMaps>, Storage<'a, Is<Mount>, FetchMut<'a, MaskedStorage<Is<Mount>>>>, Storage<'a, Is<Rider>, FetchMut<'a, MaskedStorage<Is<Rider>>>>, Storage<'a, Pos, FetchMut<'a, MaskedStorage<Pos>>>, Storage<'a, ForceUpdate, FetchMut<'a, MaskedStorage<ForceUpdate>>>, Read<'a, VolGrid2d<Chonk<Block, TerrainChunkSize, TerrainChunkMeta>>, PanicHandler>)

§

type Error = MountingError

§

type PersistData<'a> = (Read<'a, IdMaps>, Read<'a, EntitiesRes>, Storage<'a, Health, Fetch<'a, MaskedStorage<Health>>>, Storage<'a, Body, Fetch<'a, MaskedStorage<Body>>>, Storage<'a, Is<Mount>, Fetch<'a, MaskedStorage<Is<Mount>>>>, Storage<'a, Is<Rider>, Fetch<'a, MaskedStorage<Is<Rider>>>>, Storage<'a, CharacterState, Fetch<'a, MaskedStorage<CharacterState>>>)

§

type CreateData<'a> = (Write<'a, VolumeRiders>, Storage<'a, VolumeRiders, FetchMut<'a, MaskedStorage<VolumeRiders>>>, Storage<'a, Is<VolumeRider>, FetchMut<'a, MaskedStorage<Is<VolumeRider>>>>, Storage<'a, Is<Rider>, Fetch<'a, MaskedStorage<Is<Rider>>>>, Read<'a, VolGrid2d<Chonk<Block, TerrainChunkSize, TerrainChunkMeta>>, PanicHandler>, Read<'a, IdMaps>, Storage<'a, Collider, Fetch<'a, MaskedStorage<Collider>>>)

§

type DeleteData<'a> = (Write<'a, VolumeRiders>, Storage<'a, VolumeRiders, FetchMut<'a, MaskedStorage<VolumeRiders>>>, Storage<'a, Is<VolumeRider>, FetchMut<'a, MaskedStorage<Is<VolumeRider>>>>, Read<'a, IdMaps>)

§

type Error = MountingError

§

type PersistData<'a> = (Read<'a, EntitiesRes>, Storage<'a, Health, Fetch<'a, MaskedStorage<Health>>>, Read<'a, VolumeRiders>, Storage<'a, VolumeRiders, Fetch<'a, MaskedStorage<VolumeRiders>>>, Storage<'a, Is<VolumeRider>, Fetch<'a, MaskedStorage<Is<VolumeRider>>>>, Read<'a, VolGrid2d<Chonk<Block, TerrainChunkSize, TerrainChunkMeta>>, PanicHandler>, Read<'a, IdMaps>, Storage<'a, Collider, Fetch<'a, MaskedStorage<Collider>>>)

§

type CreateData<'a> = (Read<'a, IdMaps>, Storage<'a, Is<Leader>, FetchMut<'a, MaskedStorage<Is<Leader>>>>, Storage<'a, Is<Follower>, FetchMut<'a, MaskedStorage<Is<Follower>>>>, Storage<'a, Is<Rider>, Fetch<'a, MaskedStorage<Is<Rider>>>>, Storage<'a, Is<VolumeRider>, Fetch<'a, MaskedStorage<Is<VolumeRider>>>>)

§

type DeleteData<'a> = (Read<'a, IdMaps>, Storage<'a, Is<Leader>, FetchMut<'a, MaskedStorage<Is<Leader>>>>, Storage<'a, Is<Follower>, FetchMut<'a, MaskedStorage<Is<Follower>>>>)

§

type Error = TetherError

§

type PersistData<'a> = (Read<'a, IdMaps>, Read<'a, EntitiesRes>, Storage<'a, Health, Fetch<'a, MaskedStorage<Health>>>, Storage<'a, Is<Leader>, Fetch<'a, MaskedStorage<Is<Leader>>>>, Storage<'a, Is<Follower>, Fetch<'a, MaskedStorage<Is<Follower>>>>)