tf2_enum/
lib.rs

1//! Provides enumerated types for models related to the Team Fortress 2 item schema.
2//! 
3//! For the most part, definitions here are relatively stable and don't have any new values added
4//! or changed. However, Valve can implement changes to the item schema at any time, which may
5//! affect some of the values defined here.
6//! 
7//! Definitions for things that are often updated like items, attributes, skins, and particles are
8//! not included.
9//! 
10//! ## Usage
11//! 
12//! ```
13//! use tf2_enum::{Quality, Spell, ItemLevel, KillstreakTier};
14//! use std::str::FromStr;
15//! 
16//! assert_eq!("Unusual".parse::<Quality>().unwrap(), Quality::Unusual);
17//! assert_eq!(Quality::Unusual as u32, 5);
18//! assert_eq!(Spell::HalloweenFire.to_string(), "Halloween Fire");
19//! 
20//! let level = ItemLevel::KillEaterRank.score_level(9000);
21//! let killstreak_tier = KillstreakTier::Professional;
22//! let full_name = format!("{level} {killstreak_tier} Pomson 6000");
23//! 
24//! assert_eq!(full_name, "Hale's Own Professional Killstreak Pomson 6000");
25//! ```
26pub mod error;
27
28mod quality;
29mod class;
30mod killstreak_tier;
31mod sheen;
32mod spell;
33mod grade;
34mod killstreaker;
35mod paint;
36mod strange_part;
37mod wear;
38mod traits;
39mod craft_class;
40mod item_slot;
41mod origin;
42mod craft_material_type;
43mod kill_eater_score_type;
44mod item_level;
45mod stock_weapon;
46mod capability;
47mod spell_set;
48mod strange_part_set;
49
50pub use traits::{Attribute, Attributes};
51pub use quality::Quality;
52pub use class::Class;
53pub use killstreak_tier::KillstreakTier;
54pub use sheen::Sheen;
55pub use spell::{Spell, FootprintsSpell, PaintSpell};
56pub use grade::Grade;
57pub use killstreaker::Killstreaker;
58pub use paint::Paint;
59pub use strange_part::StrangePart;
60pub use wear::Wear;
61pub use craft_class::CraftClass;
62pub use item_slot::ItemSlot;
63pub use origin::Origin;
64pub use craft_material_type::CraftMaterialType;
65pub use kill_eater_score_type::KillEaterScoreType;
66pub use item_level::{ItemLevel, Level};
67pub use stock_weapon::StockWeapon;
68pub use capability::Capability;
69pub use spell_set::{SpellSet, SpellSetIterator};
70pub use strange_part_set::{StrangePartSet, StrangePartSetIterator};
71
72pub use num_enum;
73pub use strum;
74pub use strum_macros;