1 /* !!!! GENERATED FILE - DO NOT EDIT !!!! 2 * -------------------------------------- 3 * 4 * This file is part of liblcf. Copyright (c) 2021 liblcf authors. 5 * https://github.com/EasyRPG/liblcf - https://easyrpg.org 6 * 7 * liblcf is Free/Libre Open Source Software, released under the MIT License. 8 * For the full copyright and license information, please view the COPYING 9 * file that was distributed with this source code. 10 */ 11 12 #ifndef LCF_RPG_EQUIPMENT_H 13 #define LCF_RPG_EQUIPMENT_H 14 15 // Headers 16 #include <stdint.h> 17 #include "lcf/context.h" 18 #include <ostream> 19 #include <type_traits> 20 21 /** 22 * rpg::Equipment class. 23 */ 24 namespace lcf { 25 namespace rpg { 26 class Equipment { 27 public: 28 int16_t weapon_id = 0; 29 int16_t shield_id = 0; 30 int16_t armor_id = 0; 31 int16_t helmet_id = 0; 32 int16_t accessory_id = 0; 33 }; 34 35 inline bool operator==(const Equipment& l, const Equipment& r) { 36 return l.weapon_id == r.weapon_id 37 && l.shield_id == r.shield_id 38 && l.armor_id == r.armor_id 39 && l.helmet_id == r.helmet_id 40 && l.accessory_id == r.accessory_id; 41 } 42 43 inline bool operator!=(const Equipment& l, const Equipment& r) { 44 return !(l == r); 45 } 46 47 std::ostream& operator<<(std::ostream& os, const Equipment& obj); 48 49 template <typename F, typename ParentCtx = Context<void,void>> 50 void ForEachString(Equipment& obj, const F& f, const ParentCtx* parent_ctx = nullptr) { 51 (void)obj; 52 (void)f; 53 (void)parent_ctx; 54 } 55 56 } // namespace rpg 57 } // namespace lcf 58 59 #endif 60