This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
libecho:classes:apparel [2022/05/19 19:01] – lee | libecho:classes:apparel [2023/08/09 18:42] (current) – removed lee | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== LibEcho.Apparel ====== | ||
- | |||
- | Apparel in LibEcho is defined as anything that a Person can wear. This includes clothing, jewelry, and perhaps even naughty toys in some cases. | ||
- | |||
- | The Apparel system also provides the Wardrobe and WornApparel classes, which is a special subclasses of GeneralInventory that only deal with Apparel. | ||
- | |||
- | In general, you may use a Wardrobe interchangeably with a GeneralInventory with the InventoryUI macro. | ||
- | |||
- | FIXME: Document how WornApparel and Wardrobe interact as far as items technically remaining in the Wardrobe while they are worn by a Person. | ||
- | |||
- | ===== Clothing Slots ===== | ||
- | |||
- | An article of Apparel may occupy one or more ClothingSlots. This prevents a character from wearing a dozen coats at the same time, for example. A shirt would occupy ClothingSlot.TORSO and a pair of pants would occupy ClothingSlot.LEGS. A dress would occupy both ClothingSlot.TORSO and ClothingSlot.LEGS. | ||
- | |||
- | When a Person wears a particular article of Apparel, any currently worn articles that occupy the same ClothingSlots are removed. | ||
- | |||
- | Certain ClothingSlots can cover other ClothingSlots, | ||
- | |||
- | In general, you probably needn' | ||
- | |||
- | ==== LibEcho.Apparel.ClothingSlot ==== | ||
- | |||
- | ClothingSlot is an enumeration that describes what " | ||
- | |||
- | === ClothingSlot.UNDERPANTS === | ||
- | Boxers, briefs, panties, etc. | ||
- | * Covers: Nothing. | ||
- | * Covered By: LEGS, TORSO (if long), OVER (if long). | ||
- | |||
- | === ClothingSlot.UNDERSHIRT === | ||
- | Bras and such; T-shirts should use TORSO. | ||
- | * Covers: Nothing. | ||
- | * Covered By: TORSO (if not low - FIXME), OVER (if not low - FIXME). | ||
- | * (Under which is - FIXME): TORSO (if low), OVER (if low). | ||
- | |||
- | === ClothingSlot.UNDERLEGS === | ||
- | Socks and hosiery. | ||
- | * Covers: Nothing. | ||
- | * Covered By: LEGS+FEET (if LEGS are long and FEET are tall), OVER+FEET (if OVER is long and FEET are tall). | ||
- | |||
- | === ClothingSlot.TORSO === | ||
- | Shirts and tops. | ||
- | * Covers: UNDERSHIRT, UNDERPANTS (if long), NECK (if tall). | ||
- | * Covered By: OVER. | ||
- | |||
- | === ClothingSlot.LEGS === | ||
- | Pants, skirts, and bottoms; Socks and hosiery should use UNDERLEGS | ||
- | * Covers: UNDERPANTS, UNDERLEGS (if long and FEET slot contains something tall). | ||
- | * Covered By: OVER (if long). | ||
- | |||
- | === ClothingSlot.FEET === | ||
- | Shoes. Socks and hosiery should use UNDERLEGS. | ||
- | * Covers: UNDERLEGS (if tall and LEGS slot contains something long). | ||
- | * Covered By: OVER (if long). | ||
- | |||
- | === ClothingSlot.OVER === | ||
- | Coats and shawls. | ||
- | * Covers: TORSO, UNDERSHIRT, LEGS (if long), UNDERPANTS (if long), UNDERLEGS (if long and FEET slot contains something tall), NECK (if tall). | ||
- | * Covered By: Nothing. | ||
- | |||
- | === ClothingSlot.GLOVES === | ||
- | Gloves. | ||
- | * Covers: FINGER, WRIST (if long). | ||
- | * Covered By: Nothing. | ||
- | |||
- | === ClothingSlot.HEAD === | ||
- | Hats and helmets. | ||
- | * Covers: Ears (if long). | ||
- | * Covered By: Nothing. | ||
- | |||
- | === ClothingSlot.EARS === | ||
- | Earrings. Something like earmuffs probably should use HEAD. | ||
- | * Covers: Nothing. | ||
- | * Covered By: HEAD (if long). | ||
- | |||
- | === ClothingSlot.NECK === | ||
- | Necklaces and ties. | ||
- | * Covers: Nothing. | ||
- | * Covered By: TORSO (if tall), OVER (if tall). | ||
- | |||
- | === ClothingSlot.WRIST === | ||
- | Bracelets, watches. | ||
- | * Covers: Nothing. | ||
- | * Covered By: GLOVES (if long). | ||
- | |||
- | === ClothingSlot.FINGER === | ||
- | Rings. | ||
- | * Covers: Nothing. | ||
- | * Covered By: GLOVES. | ||
- | |||
- | === ClothingSlot.??? | ||
- | * FIXME Other piercing slots? | ||
- | * FIXME Should there be slots for sex toys? | ||
- | |||
- | ===== Apparel Types ===== | ||
- | |||
- | A couple of generic Apparel types are provided. GenericApparel provides a bare-bones Apparel implementation from which which all other Apparel types are derived. | ||
- | |||
- | Articles of Apparel may also be given various properties. | ||
- | |||
- | The " | ||
- | |||
- | The " | ||
- | |||
- | The " | ||
- | |||
- | The " | ||
- | |||
- | Several specific Apparel types are provided, which ought to cover most use-cases, simplifying the structure of the defaults files. | ||
- | |||
- | ==== Generic Apparel ==== | ||
- | |||
- | Unless you are actually extending the library, you probably don't need to use any of these GenericApparel classes. If you are just using the library in your game, you're probably better off using the specific Apparel classes. | ||
- | | ||
- | * This is the generic {@link LibEcho.Apparel|Apparel} type from which all other {@link LibEcho.Apparel|Apparel} is derived. {@link LibEcho.Persistence.PersistentObject|PersistentObjects} that specify this type in their defaults must also explicitly provide a slots section. | ||
- | |||
- | === LibEcho.Apparel.GenericApparel === | ||
- | |||
- | === LibEcho.Apparel.GenericMenswear === | ||
- | |||
- | === LibEcho.Apparel.GenericWomenswear === | ||
- | |||
- | ==== Specific Apparel Types ==== | ||
- | |||
- | === LibEcho.Apparel.Unisex.NNN === | ||
- | |||
- | === LibEcho.Apparel.Menswear.NNN === | ||
- | |||
- | === LibEcho.Apparel.Womenswear.NNN === | ||
- | |||
- | === LibEcho.Apparel.Jewelry.NNN === | ||
- | |||
- | ===== Wardrobes ===== | ||
- | |||
- | ==== LibEcho.Apparel.Wardrobe ==== | ||
- | |||
- | ===== Worn Apparel ===== | ||
- | |||
- | ==== LibEcho.Apparel.WornApparel ==== | ||
- | |||
- | ===== The Apparel UI ===== | ||
- | |||
- | ==== LibEcho.Apparel.ApparelUI ==== | ||