S
Size: a a a
S
S
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, derive_more::From)]
pub enum Component {
Pos(Pos),
Strength(Strength),
Armor(Armor),
Meta(Meta),
BelongsTo(BelongsTo),
Agent(Agent),
Blocker(Blocker),
Abilities(Abilities),
PassiveAbilities(PassiveAbilities),
Effects(Effects),
Schedule(Schedule),
Summoner(Summoner),
}
fn add_component(parts: &mut Parts, id: Id, component: Component) {
match component {
Component::Pos(c) => parts.pos.insert(id, c),
Component::Strength(c) => parts.strength.insert(id, c),
Component::Armor(c) => parts.armor.insert(id, c),
Component::Meta(c) => parts.meta.insert(id, c),
Component::BelongsTo(c) => parts.belongs_to.insert(id, c),
Component::Agent(c) => parts.agent.insert(id, c),
Component::Blocker(c) => parts.blocker.insert(id, c),
Component::Abilities(c) => parts.abilities.insert(id, c),
Component::PassiveAbilities(c) => parts.passive_abilities.insert(id, c),
Component::Effects(c) => parts.effects.insert(id, c),
Component::Schedule(c) => parts.schedule.insert(id, c),
Component::Summoner(c) => parts.summoner.insert(id, c),
}
}
S
S
S
V
S
S
S
S
V
V
S
V
S
MS
MS
S