25 lines
561 B
C++
25 lines
561 B
C++
#pragma once
|
|
|
|
#include "StarItem.hpp"
|
|
|
|
namespace Star {
|
|
|
|
STAR_CLASS(AugmentItem);
|
|
|
|
class AugmentItem : public Item {
|
|
public:
|
|
AugmentItem(Json const& config, String const& directory, Json const& parameters = JsonObject());
|
|
AugmentItem(AugmentItem const& rhs);
|
|
|
|
ItemPtr clone() const override;
|
|
|
|
StringList augmentScripts() const;
|
|
|
|
// Makes no change to the given item if the augment can't be applied.
|
|
// Consumes itself and returns true if the augment is applied.
|
|
// Has no effect if augmentation fails.
|
|
ItemPtr applyTo(ItemPtr const item);
|
|
};
|
|
|
|
}
|