pub struct SkillGroup {
    pub skill_group_kind: SkillGroupKind,
    pub available_exp: u32,
    pub earned_exp: u32,
    pub available_sp: u16,
    pub earned_sp: u16,
    pub ordered_skills: Vec<Skill>,
}Expand description
A group of skills that have been unlocked by a player. Each skill group has independent exp and skill points which are used to unlock skills in that skill group.
Fields§
§skill_group_kind: SkillGroupKind§available_exp: u32§earned_exp: u32§available_sp: u16§earned_sp: u16§ordered_skills: Vec<Skill>Implementations§
Source§impl SkillGroup
 
impl SkillGroup
Sourcepub fn spent_exp(&self) -> u32
 
pub fn spent_exp(&self) -> u32
Returns the amount of experience in a skill group that has been spent to acquire skill points Relies on the invariant that (earned_exp >= available_exp) to ensure function does not underflow
Sourcepub fn add_experience(&mut self, amount: u32) -> Option<u16>
 
pub fn add_experience(&mut self, amount: u32) -> Option<u16>
Also attempts to earn a skill point after adding experience. If a skill point was earned, returns how many skill points the skill group now has earned in total.
Trait Implementations§
Source§impl Clone for SkillGroup
 
impl Clone for SkillGroup
Source§fn clone(&self) -> SkillGroup
 
fn clone(&self) -> SkillGroup
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
 
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from 
source. Read moreSource§impl Debug for SkillGroup
 
impl Debug for SkillGroup
Source§impl<'de> Deserialize<'de> for SkillGroup
 
impl<'de> Deserialize<'de> for SkillGroup
Source§fn deserialize<__D>(
    __deserializer: __D,
) -> Result<SkillGroup, <__D as Deserializer<'de>>::Error>where
    __D: Deserializer<'de>,
 
fn deserialize<__D>(
    __deserializer: __D,
) -> Result<SkillGroup, <__D as Deserializer<'de>>::Error>where
    __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Hash for SkillGroup
 
impl Hash for SkillGroup
Source§impl PartialEq for SkillGroup
 
impl PartialEq for SkillGroup
Source§impl Serialize for SkillGroup
 
impl Serialize for SkillGroup
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 Eq for SkillGroup
impl StructuralPartialEq for SkillGroup
Auto Trait Implementations§
impl Freeze for SkillGroup
impl RefUnwindSafe for SkillGroup
impl Send for SkillGroup
impl Sync for SkillGroup
impl Unpin for SkillGroup
impl UnwindSafe for SkillGroup
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<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