1 /***************************************************************************** 2 * Copyright (c) 2014-2021 OpenRCT2 developers 3 * 4 * For a complete list of all authors, please refer to contributors.md 5 * Interested in contributing? Visit https://github.com/OpenRCT2/OpenRCT2 6 * 7 * OpenRCT2 is licensed under the GNU General Public License version 3. 8 *****************************************************************************/ 9 10 #pragma once 11 12 #include "EntityBase.h" 13 14 class DataSerialiser; 15 struct CoordsXYZ; 16 struct CoordsXYZD; 17 18 struct Litter : EntityBase 19 { 20 enum class Type : uint8_t 21 { 22 Vomit, 23 VomitAlt, 24 EmptyCan, 25 Rubbish, 26 BurgerBox, 27 EmptyCup, 28 EmptyBox, 29 EmptyBottle, 30 EmptyBowlRed, 31 EmptyDrinkCarton, 32 EmptyJuiceCup, 33 EmptyBowlBlue, 34 }; 35 36 static constexpr auto cEntityType = EntityType::Litter; 37 Type SubType; 38 uint32_t creationTick; 39 static void Create(const CoordsXYZD& litterPos, Type type); 40 static void RemoveAt(const CoordsXYZ& litterPos); 41 void Serialise(DataSerialiser& stream); 42 rct_string_id GetName() const; 43 uint32_t GetAge() const; 44 }; 45