Class MTSStorage

java.lang.Object
server.MTSStorage

public class MTSStorage extends Object
楓之谷交易所(MTS)的全域在記憶體儲存層,管理所有上架商品與玩家購物車的讀寫與定期同步。

本類別為全域單例(getInstance()),在 CashShopServer 啟動時由 load() 初始化。核心資料結構:

主要操作:addToBuyNow(MTSCart, Item, int, int, String, long) 上架商品、removeFromBuyNow(int, int, boolean) 購買/下架、 getCart(int) 取得或建立玩家購物車、saveBuyNow(boolean) 批次持久化(含清除到期商品並 退回轉移背包)、checkExpirations() 每小時觸發一次儲存。 封包組裝委由 tools.packet.MTSCSPacket;稅金計算使用 constants.ServerConstantsMTS_BASEMTS_TAX。 靜態內部類 MTSStorage.MTSItemInfo 保存單筆上架商品(道具、售價、賣家、到期時間)。

  • Constructor Details

    • MTSStorage

      public MTSStorage()
  • Method Details

    • getInstance

      public static final MTSStorage getInstance()
    • load

      public static final void load()
    • check

      public final boolean check(int packageid)
    • checkCart

      public final boolean checkCart(int packageid, int charID)
    • getSingleItem

      public final MTSStorage.MTSItemInfo getSingleItem(int packageid)
    • addToBuyNow

      public final void addToBuyNow(MTSCart cart, Item item, int price, int cid, String seller, long expiration)
    • removeFromBuyNow

      public final boolean removeFromBuyNow(int id, int cidBought, boolean check)
    • saveBuyNow

      public final void saveBuyNow(boolean isShutDown)
    • checkExpirations

      public final void checkExpirations()
    • getCart

      public final MTSCart getCart(int characterId)
    • getCurrentMTS

      public final byte[] getCurrentMTS(MTSCart cart)
    • getCurrentNotYetSold

      public final byte[] getCurrentNotYetSold(MTSCart cart)
    • getCurrentTransfer

      public final byte[] getCurrentTransfer(MTSCart cart, boolean changed)
    • getMultiItems

      public final List<MTSStorage.MTSItemInfo> getMultiItems(List<Integer> items, int pageNumber)
    • getBuyNow

      public final List<Integer> getBuyNow(int type)
    • getSearch

      public final List<Integer> getSearch(boolean item, String name, int type, int tab)