1 /*****************************************************************************
2  * Copyright (c) 2014-2020 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 "../peep/Staff.h"
13 #include "GameAction.h"
14 
15 class StaffSetCostumeAction final : public GameActionBase<GameCommand::SetStaffCostume>
16 {
17 private:
18     uint16_t _spriteIndex{ SPRITE_INDEX_NULL };
19     EntertainerCostume _costume = EntertainerCostume::Count;
20 
21 public:
22     StaffSetCostumeAction() = default;
23     StaffSetCostumeAction(uint16_t spriteIndex, EntertainerCostume costume);
24 
25     uint16_t GetActionFlags() const override;
26 
27     void Serialise(DataSerialiser& stream) override;
28     GameActions::Result::Ptr Query() const override;
29     GameActions::Result::Ptr Execute() const override;
30 };
31