//
//  MeteorCastActionFactory.hpp
//  eagle0_engine
//
//  Created by Dan Crosby on 1/15/19.
//  Copyright © 2019 none. All rights reserved.
//

#ifndef EAGLE0_SHARDOK_LIBRARY_ACTION_FACTORIES_METEOR_CAST_ACTION_FACTORY_HPP
#define EAGLE0_SHARDOK_LIBRARY_ACTION_FACTORIES_METEOR_CAST_ACTION_FACTORY_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 MeteorCastActionFactory {
private:
    const SettingsGetter settings;

public:
    explicit MeteorCastActionFactory(const SettingsGetter &getter);

    [[nodiscard]] auto MakeMeteorCastAction(const vector<UnitId> &actors) const -> ActionSPtr;
};
}  // namespace shardok

#endif  // EAGLE0_SHARDOK_LIBRARY_ACTION_FACTORIES_METEOR_CAST_ACTION_FACTORY_HPP
