Monopoly — Portage moderne 0.1.0
Portage moderne C/C++23 du Monopoly de 1999
Loading...
Searching...
No Matches
AITradeSendRuntime.cpp
Go to the documentation of this file.
2
3#include "Messaging.hpp"
4
6{
11 bool tradeAccept,
12 rules::PlayerNumber proposedPlayer,
13 TradeSendRuntimeState& runtime) noexcept
14 {
17 inputs.tradeAccept = tradeAccept;
18 inputs.sendTradeOffer = runtime.sendTradeOffer;
19 inputs.proposedPlayer = proposedPlayer;
20
22 if (!plan.sendable() ||
24 return false;
25
26 for (std::size_t index = 0; index < plan.count; ++index)
27 {
28 if (!messaging::sendAction(plan.actions[index]))
29 return false;
30 }
31
35 return true;
36 }
37
39 TradeSendRuntimeState& runtime,
40 actions::Type action,
41 bool success) noexcept
42 {
44 {
46 runtime.sendTradeOffer = false;
47 }
51 }
52}
decision::EconomicActionPlan plan
fonts::Runtime & runtime
unsigned state
unsigned index
bool sendProposedTrade(const rules::GameState &state, rules::PlayerNumber player, const TradeProposalList &proposals, bool tradeAccept, rules::PlayerNumber proposedPlayer, TradeSendRuntimeState &runtime) noexcept
ProposedTradeSendPlan buildProposedTradeSendPlan(const rules::GameState &state, rules::PlayerNumber player, const TradeProposalList &proposals, const ProposedTradeSendInputs &inputs) noexcept
void processTradeSendActionCompleted(TradeSendRuntimeState &runtime, actions::Type action, bool success) noexcept
std::array< TradeProposalRecord, rules::MaxPlayers > TradeProposalList
std::size_t currentQueueSize()
constexpr std::size_t MessageQueueCapacity
Definition Messaging.hpp:14
bool sendAction(const actions::Message &message)
std::uint8_t PlayerNumber
Definition RuleTypes.hpp:12