Struct game_features::SkillDefinition [−][src]
pub struct SkillDefinition<K, E, S, I> { pub key: S, pub name: String, pub friendly_name: String, pub description: String, pub cooldown: f64, pub passive: bool, pub conditions: Vec<StatCondition<K>>, pub item_conditions: Vec<(I, usize, UseMode)>, pub stat_effectors: Vec<E>, }
Expand description
The definition of an usable skill.
Fields
key: S
The id of this skill.
name: String
The name.
friendly_name: String
The computer friendly name.
description: String
The complete description of this skill.
cooldown: f64
The cooldown between usages of this skill.
passive: bool
Whether this skill is will activate automatically once all conditions are met or if it needs to be manually activated.
conditions: Vec<StatCondition<K>>
The stats conditions required to activate this skill.
item_conditions: Vec<(I, usize, UseMode)>
The item conditions required to activate this skill.
stat_effectors: Vec<E>
The caused stat effectors.
Implementations
impl<K, E, S, I> SkillDefinition<K, E, S, I>
[src]
impl<K, E, S, I> SkillDefinition<K, E, S, I>
[src]impl<K: Hash + Eq + Debug, E, S, I: Hash + Eq + Clone + PartialEq + Debug> SkillDefinition<K, E, S, I>
[src]
impl<K: Hash + Eq + Debug, E, S, I: Hash + Eq + Clone + PartialEq + Debug> SkillDefinition<K, E, S, I>
[src]Generics
K: Stat Key E: Effector Key S: Skill Key I: Item Key IT: Item Type CD: Item Custom Data
Trait Implementations
impl<K: Clone, E: Clone, S: Clone, I: Clone> Clone for SkillDefinition<K, E, S, I>
[src]
impl<K: Clone, E: Clone, S: Clone, I: Clone> Clone for SkillDefinition<K, E, S, I>
[src]fn clone(&self) -> SkillDefinition<K, E, S, I>
[src]
fn clone(&self) -> SkillDefinition<K, E, S, I>
[src]Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]Performs copy-assignment from source
. Read more
impl<'de, K, E, S, I> Deserialize<'de> for SkillDefinition<K, E, S, I> where
K: Deserialize<'de>,
E: Deserialize<'de>,
S: Deserialize<'de>,
I: Deserialize<'de>,
[src]
impl<'de, K, E, S, I> Deserialize<'de> for SkillDefinition<K, E, S, I> where
K: Deserialize<'de>,
E: Deserialize<'de>,
S: Deserialize<'de>,
I: Deserialize<'de>,
[src]fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations
impl<K, E, S, I> RefUnwindSafe for SkillDefinition<K, E, S, I> where
E: RefUnwindSafe,
I: RefUnwindSafe,
K: RefUnwindSafe,
S: RefUnwindSafe,
E: RefUnwindSafe,
I: RefUnwindSafe,
K: RefUnwindSafe,
S: RefUnwindSafe,
impl<K, E, S, I> Send for SkillDefinition<K, E, S, I> where
E: Send,
I: Send,
K: Send,
S: Send,
E: Send,
I: Send,
K: Send,
S: Send,
impl<K, E, S, I> Sync for SkillDefinition<K, E, S, I> where
E: Sync,
I: Sync,
K: Sync,
S: Sync,
E: Sync,
I: Sync,
K: Sync,
S: Sync,
impl<K, E, S, I> Unpin for SkillDefinition<K, E, S, I> where
E: Unpin,
I: Unpin,
K: Unpin,
S: Unpin,
E: Unpin,
I: Unpin,
K: Unpin,
S: Unpin,
impl<K, E, S, I> UnwindSafe for SkillDefinition<K, E, S, I> where
E: UnwindSafe,
I: UnwindSafe,
K: UnwindSafe,
S: UnwindSafe,
E: UnwindSafe,
I: UnwindSafe,
K: UnwindSafe,
S: UnwindSafe,
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
[src]type Owned = T
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn to_owned(&self) -> T
[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
[src]
pub fn clone_into(&self, target: &mut T)
[src]🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,