2021-05-13 08:56:24 +02:00
|
|
|
/*****************************************************************************
|
|
|
|
* Copyright (c) 2014-2021 OpenRCT2 developers
|
|
|
|
*
|
|
|
|
* For a complete list of all authors, please refer to contributors.md
|
|
|
|
* Interested in contributing? Visit https://github.com/OpenRCT2/OpenRCT2
|
|
|
|
*
|
|
|
|
* OpenRCT2 is licensed under the GNU General Public License version 3.
|
|
|
|
*****************************************************************************/
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
2021-08-25 16:33:06 +02:00
|
|
|
#include "EntityBase.h"
|
2021-05-13 08:56:24 +02:00
|
|
|
|
|
|
|
class DataSerialiser;
|
|
|
|
struct CoordsXYZ;
|
2021-11-27 14:29:33 +01:00
|
|
|
struct paint_session;
|
2021-05-13 08:56:24 +02:00
|
|
|
|
2021-11-21 23:46:21 +01:00
|
|
|
struct Balloon : EntityBase
|
2021-05-13 08:56:24 +02:00
|
|
|
{
|
|
|
|
static constexpr auto cEntityType = EntityType::Balloon;
|
2021-11-21 23:46:21 +01:00
|
|
|
uint16_t frame;
|
2021-05-13 08:56:24 +02:00
|
|
|
uint16_t popped;
|
|
|
|
uint8_t time_to_move;
|
|
|
|
uint8_t colour;
|
2021-05-12 09:01:08 +02:00
|
|
|
static void Create(const CoordsXYZ& balloonPos, int32_t colour, bool isPopped);
|
2021-05-13 08:56:24 +02:00
|
|
|
void Update();
|
|
|
|
void Pop();
|
|
|
|
void Press();
|
|
|
|
void Serialise(DataSerialiser& stream);
|
2021-11-27 14:29:33 +01:00
|
|
|
void Paint(paint_session* session, int32_t imageDirection) const;
|
2021-05-13 08:56:24 +02:00
|
|
|
};
|