市场需求 API 快速参考

Market Demand Quick Reference

快速访问

GlobalData.market_manager.function_name(params)

核心函数

📈 增加需求 (价格上涨)

# 增加买入压力
GlobalData.market_manager.add_buy_demand(commodity_id, quantity)

# 移除卖出压力
GlobalData.market_manager.remove_sell_demand(commodity_id, quantity)

📉 减少需求 (价格下跌)

# 增加卖出压力
GlobalData.market_manager.add_sell_demand(commodity_id, quantity)

# 移除买入压力
GlobalData.market_manager.remove_buy_demand(commodity_id, quantity)

🎯 直接控制

# 设置精确净需求 (正=买入, 负=卖出)
GlobalData.market_manager.set_net_demand(commodity_id, net_demand)

# 清除商品所有需求
GlobalData.market_manager.clear_market_demand(commodity_id)

# 获取当前需求信息
var demand = GlobalData.market_manager.get_market_demand(commodity_id)

快速示例

干旱事件

# 水稀缺 → 价格上涨
GlobalData.market_manager.add_buy_demand(5, 800.0)

# 农作物歉收 → 价格下跌
GlobalData.market_manager.add_sell_demand(3, 600.0)

节日事件

# 奢侈品需求
GlobalData.market_manager.add_buy_demand(10, 500.0)  # 丝绸
GlobalData.market_manager.add_buy_demand(11, 400.0)  # 酒

# 结束时清理
GlobalData.market_manager.clear_market_demand(10)
GlobalData.market_manager.clear_market_demand(11)

理解净需求

  • 正值 = 买入压力 → 价格 上涨 📈
  • 负值 = 卖出压力 → 价格 下跌 📉
  • = 中性 → 价格 稳定 ➡️

调试

# 显示所有当前市场需求
GlobalData.market_manager.debug_print_market_demand()

# 获取特定商品需求
var demand = GlobalData.market_manager.get_market_demand(5)
print("Net demand: ", demand.net_demand)

重要提示

  1. ⚠️ 需求每 tick 自然衰减 5% - 持续效果需定期更新
  2. ⚠️ 价格变化限制在 ±5% 以保持稳定
  3. ⚠️ 所有数量应为正数(方向由函数决定)
  4. ✅ 多个事件可影响同一商品 - 效果叠加
  5. ✅ 使用 clear_market_demand() 在事件结束时清理