underworld_core/actions/
action.rs

1#[cfg(feature = "bevy_components")]
2use bevy_ecs::prelude::Component;
3#[cfg(feature = "serialization")]
4use serde::{Deserialize, Serialize};
5
6#[derive(Clone, Debug)]
7#[cfg_attr(feature = "bevy_components", derive(Component))]
8#[cfg_attr(
9    feature = "serialization",
10    derive(Deserialize, Serialize),
11    serde(rename_all = "snake_case")
12)]
13pub enum Action {
14    AttackNpc(super::AttackNpc),
15    CastSpellOnNpc(super::CastSpellOnNpc),
16    CastSpellOnPlayer(super::CastSpellOnPlayer),
17    ExitRoom(super::ExitRoom),
18    InspectFixture(super::InspectFixture),
19    InspectNpc(super::InspectNpc),
20    LookAtFixture(super::LookAtFixture),
21    LookAtNpc(super::LookAtNpc),
22    LootFixture(super::LootFixture),
23    LootNpc(super::LootNpc),
24    MovePlayerItem(super::MovePlayerItem),
25    OpenFixture(super::OpenFixture),
26    OpenFixtureHiddenCompartment(super::OpenFixtureHiddenCompartment),
27    PickUpItem(super::PickUpItem),
28    SellPlayerItem(super::SellPlayerItem),
29    UseItemOnPlayer(super::UseItemOnPlayer),
30    ThrowItemAtNpc(super::ThrowItemAtNpc),
31}