30 int credit(
int player,
const std::string&
type,
int amount)
override;
32 bool debit(
int player,
const std::string&
type,
int amount)
override;
34 int get(
int player,
const std::string&
type)
const override;
36 int getCap(
int player,
const std::string&
type)
const override;
38 int getWasted(
int player,
const std::string&
type)
const override;
40 int getIncome(
int player,
const std::string&
type)
const override;
42 int getExpense(
int player,
const std::string&
type)
const override;
46 static bool registerResourceType(
const std::string&
id,
const std::string&
category,
47 int stockMax,
const std::string& depletion);
49 static void clearTypes();
51 static int typeCount();
53 static bool hasType(
const std::string&
id);
55 static int getStockMax(
const std::string&
id);
57 std::string getTypeId(
int index);
61 static void clearEvents();
63 static int eventCount();
65 static std::string eventAction(
int index);
67 static int eventPlayer(
int index);
69 static std::string eventType(
int index);
71 static int eventAmount(
int index);
87 [[nodiscard]]
eve::Result<void> publishGameplay(
const std::string& instanceId,
const std::string& ownerId,
92 void clearGameplayControls();
94 [[nodiscard]]
int gameplayControlCount()
const;
96 [[nodiscard]] std::vector<std::string> gameplayInstances()
const;
100 std::unique_ptr<EconomyControl> gameplay_;
#define EVENGINE_API_FOUNDATION
每个链接组(link group)各自的导出宏。
Move-only, checked operation results for the common layer.
EVENGINE_API_FOUNDATION public API.
Move-only operation result carrying either a value or Status.
经济模块(eve.Economy):资源类型注册 + 玩家账本 + 事件 + 采集流水线。
经济账本的跨模块查询/操作接口(提供方:economy 模块)。