//
// Created by Dan Crosby on 3/8/21.
//

#ifndef EAGLE0_UNDEADCHANGEACTIONFACTORY_HPP
#define EAGLE0_UNDEADCHANGEACTIONFACTORY_HPP

#include "src/main/cpp/net/eagle0/shardok/library/GameStateW.hpp"
#include "src/main/cpp/net/eagle0/shardok/library/ShardokAction.hpp"
#include "src/main/cpp/net/eagle0/shardok/library/settings/GameSettings.hpp"

namespace shardok {

class UndeadChangeActionFactory {
private:
    const SettingsGetter settings;

public:
    explicit UndeadChangeActionFactory(const SettingsGetter &getter) : settings(getter){};

    [[nodiscard]] auto MakeUndeadChangeAction(const GameStateW &gameState) const -> ActionSPtr;
};
}  // namespace shardok

#endif  // EAGLE0_UNDEADCHANGEACTIONFACTORY_HPP
