Skip to content

Commit d63c89b

Browse files
committed
Improved economy interface
1 parent f3cf106 commit d63c89b

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

include/Langulus/Economy.hpp

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,20 @@
1414
namespace Langulus::A
1515
{
1616

17+
struct Resource;
18+
struct Converter;
19+
1720
///
1821
/// Abstract economy module
1922
///
2023
struct Economy : virtual Module {
2124
LANGULUS_BASES(Module);
2225
Economy() : Resolvable {this}, Module {nullptr} {}
26+
27+
using Text = Anyness::Text;
28+
29+
virtual auto GetResource (const Text&) const -> const Resource* = 0;
30+
virtual auto GetConverter(const Text&) const -> const Converter* = 0;
2331
};
2432

2533
///
@@ -60,7 +68,7 @@ namespace Langulus::A
6068
virtual Real GetConsumption() const noexcept = 0;
6169
virtual Real GetConsumptionLocal(const Place&, Real radius) const noexcept = 0;
6270

63-
auto At(const Place&) const noexcept -> const ResourceInstance*;
71+
virtual auto At(const Place&) const noexcept -> const ResourceInstance* = 0;
6472
};
6573

6674
///
@@ -94,7 +102,7 @@ namespace Langulus::A
94102
virtual Count GetInstanceCount() const noexcept = 0;
95103
virtual Count GetInstanceCountLocal(const Place&, Real radius) const noexcept = 0;
96104

97-
auto At(const Place&) const noexcept -> const ConverterInstance*;
105+
virtual auto At(const Place&) const noexcept -> const ConverterInstance* = 0;
98106
};
99107

100108
///

0 commit comments

Comments
 (0)