pub enum Skill {
    Sword(SwordSkill),
    Axe(AxeSkill),
    Hammer(HammerSkill),
    Bow(BowSkill),
    Staff(StaffSkill),
    Sceptre(SceptreSkill),
    Climb(ClimbSkill),
    Swim(SwimSkill),
    Pick(MiningSkill),
    UnlockGroup(SkillGroupKind),
}Expand description
Represents a skill that a player can unlock, that either grants them some kind of active ability, or a passive effect etc. Obviously because this is an enum it doesn’t describe what the skill actually -does-, this will be handled by dedicated ECS systems.
Variants§
Sword(SwordSkill)
Axe(AxeSkill)
Hammer(HammerSkill)
Bow(BowSkill)
Staff(StaffSkill)
Sceptre(SceptreSkill)
Climb(ClimbSkill)
Swim(SwimSkill)
Pick(MiningSkill)
UnlockGroup(SkillGroupKind)
Implementations§
Source§impl Skill
 
impl Skill
Sourcepub fn prerequisite_skills(&self) -> Option<&SkillPrerequisite>
 
pub fn prerequisite_skills(&self) -> Option<&SkillPrerequisite>
Is unable to detect cyclic dependencies, so ensure that there are no cycles if you modify the prerequisite map.
Sourcepub fn skill_cost(&self, level: u16) -> u16
 
pub fn skill_cost(&self, level: u16) -> u16
Returns the cost in skill points of unlocking a particular skill
Sourcepub fn max_level(&self) -> u16
 
pub fn max_level(&self) -> u16
Returns the maximum level a skill can reach, returns None if the skill doesn’t level
Sourcepub fn skill_group_kind(&self) -> Option<SkillGroupKind>
 
pub fn skill_group_kind(&self) -> Option<SkillGroupKind>
Returns the skill group type for a skill from the static skill group definitions.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Skill
 
impl<'de> Deserialize<'de> for Skill
Source§fn deserialize<__D>(
    __deserializer: __D,
) -> Result<Skill, <__D as Deserializer<'de>>::Error>where
    __D: Deserializer<'de>,
 
fn deserialize<__D>(
    __deserializer: __D,
) -> Result<Skill, <__D as Deserializer<'de>>::Error>where
    __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Ord for Skill
 
impl Ord for Skill
Source§impl PartialOrd for Skill
 
impl PartialOrd for Skill
Source§impl Serialize for Skill
 
impl Serialize for Skill
Source§fn serialize<__S>(
    &self,
    __serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
    __S: Serializer,
 
fn serialize<__S>(
    &self,
    __serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
    __S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl Copy for Skill
impl Eq for Skill
impl StructuralPartialEq for Skill
Auto Trait Implementations§
impl Freeze for Skill
impl RefUnwindSafe for Skill
impl Send for Skill
impl Sync for Skill
impl Unpin for Skill
impl UnwindSafe for Skill
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
    T: ?Sized,
 
impl<T> BorrowMut<T> for Twhere
    T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
 
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
    T: Clone,
 
impl<T> CloneToUninit for Twhere
    T: Clone,
§impl<Q, K> Comparable<K> for Q
 
impl<Q, K> Comparable<K> for Q
§impl<C, M> ConvertSaveload<M> for C
 
impl<C, M> ConvertSaveload<M> for C
§type Error = Infallible
 
type Error = Infallible
Error may occur during serialization or deserialization of component
§fn convert_into<F>(
    &self,
    _: F,
) -> Result<<C as ConvertSaveload<M>>::Data, <C as ConvertSaveload<M>>::Error>
 
fn convert_into<F>( &self, _: F, ) -> Result<<C as ConvertSaveload<M>>::Data, <C as ConvertSaveload<M>>::Error>
Convert this data type into serializable form (
Data) using
entity to marker mapping function§fn convert_from<F>(
    data: <C as ConvertSaveload<M>>::Data,
    _: F,
) -> Result<C, <C as ConvertSaveload<M>>::Error>
 
fn convert_from<F>( data: <C as ConvertSaveload<M>>::Data, _: F, ) -> Result<C, <C as ConvertSaveload<M>>::Error>
Convert this data from a deserializable form (
Data) using
entity to marker mapping function§impl<Q, K> Equivalent<K> for Q
 
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
 
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
 
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
 
fn equivalent(&self, key: &K) -> bool
Compare self to 
key and return true if they are equal.§impl<T> Instrument for T
 
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
 
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
 
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
 
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
 
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts 
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
 
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts 
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more