underworld_core/actions/
action.rs1#[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}