Class AbstractPlayerStore

java.lang.Object
server.maps.MapleMapObject
server.shops.AbstractPlayerStore
All Implemented Interfaces:
IMaplePlayerShop
Direct Known Subclasses:
HiredMerchant, MapleMiniGame, MaplePlayerShop

public abstract class AbstractPlayerStore extends MapleMapObject implements IMaplePlayerShop
玩家自設商店(個人商店、精靈商人、五目棋/翻牌)的抽象基底類別。

繼承自 MapleMapObject,並實作 IMaplePlayerShop; 提供所有商店類型共用的核心狀態與行為:

  • WeakReference 陣列管理最多 N 個訪客槽(避免強參照洩漏)。
  • AtomicInteger 安全維護累積楓幣(meso)。
  • MaplePlayerShopItem 清單儲存上架道具;BoughtItem 記錄成交記錄。
  • saveItems() 將精靈商人剩餘道具持久化至 hiredmerch 資料庫表, 透過 ItemLoader.HIRED_MERCHANT 序列化。
  • broadcastToVisitors 系列方法將封包廣播至所有在場訪客(可排除特定槽位)。
具體子類別有 MaplePlayerShopHiredMerchantMapleMiniGame, 由 PlayerInteractionHandler 依 opcode 分派建立與操作。