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_PARAMETERS_H 13 #define LCF_RPG_PARAMETERS_H 14 15 // Headers 16 #include <stdint.h> 17 #include <vector> 18 #include "lcf/context.h" 19 #include <ostream> 20 #include <type_traits> 21 22 /** 23 * rpg::Parameters class. 24 */ 25 namespace lcf { 26 namespace rpg { 27 class Parameters { 28 public: 29 void Setup(int final_level); 30 std::vector<int16_t> maxhp; 31 std::vector<int16_t> maxsp; 32 std::vector<int16_t> attack; 33 std::vector<int16_t> defense; 34 std::vector<int16_t> spirit; 35 std::vector<int16_t> agility; 36 }; 37 38 inline bool operator==(const Parameters& l, const Parameters& r) { 39 return l.maxhp == r.maxhp 40 && l.maxsp == r.maxsp 41 && l.attack == r.attack 42 && l.defense == r.defense 43 && l.spirit == r.spirit 44 && l.agility == r.agility; 45 } 46 47 inline bool operator!=(const Parameters& l, const Parameters& r) { 48 return !(l == r); 49 } 50 51 std::ostream& operator<<(std::ostream& os, const Parameters& obj); 52 53 template <typename F, typename ParentCtx = Context<void,void>> 54 void ForEachString(Parameters& obj, const F& f, const ParentCtx* parent_ctx = nullptr) { 55 (void)obj; 56 (void)f; 57 (void)parent_ctx; 58 } 59 60 } // namespace rpg 61 } // namespace lcf 62 63 #endif 64