1 /** @file thing.h Thing definition. 2 * 3 * @authors Copyright (c) 2015-2017 Jaakko Keränen <jaakko.keranen@iki.fi> 4 * 5 * @par License 6 * GPL: http://www.gnu.org/licenses/gpl.html 7 * 8 * <small>This program is free software; you can redistribute it and/or modify 9 * it under the terms of the GNU General Public License as published by the 10 * Free Software Foundation; either version 2 of the License, or (at your 11 * option) any later version. This program is distributed in the hope that it 12 * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty 13 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General 14 * Public License for more details. You should have received a copy of the GNU 15 * General Public License along with this program; if not, see: 16 * http://www.gnu.org/licenses</small> 17 */ 18 19 #ifndef LIBDOOMSDAY_DEFS_THING_H 20 #define LIBDOOMSDAY_DEFS_THING_H 21 22 #include "definition.h" 23 24 namespace defn { 25 26 /** 27 * Thing definition. 28 */ 29 class LIBDOOMSDAY_PUBLIC Thing : public Definition 30 { 31 public: Thing()32 Thing() : Definition() {} Thing(Thing const & other)33 Thing(Thing const &other) : Definition(other) {} Thing(de::Record & d)34 Thing(de::Record &d) : Definition(d) {} Thing(de::Record const & d)35 Thing(de::Record const &d) : Definition(d) {} 36 37 void resetToDefaults(); 38 39 void setSound(int soundId, de::String const &sound); 40 de::String sound(int soundId) const; 41 42 int flags(de::dint index) const; 43 void setFlags(de::dint index, int flags); 44 }; 45 46 } // namespace defn 47 48 #endif // LIBDOOMSDAY_DEFS_THING_H 49