Class MTSCart

java.lang.Object
server.MTSCart
All Implemented Interfaces:
Serializable

public class MTSCart extends Object implements Serializable
單一角色在楓之谷交易所(MTS)的購物車與轉移背包狀態。

本類別封裝每位角色於 MTS 中的本地會話資料,包含:

  • transfer:MTS 轉移背包(由 ItemLoader.MTS_TRANSFER 從資料庫載入),存放已購買或下架待領取的道具。
  • cart(購物車):已加入觀察清單的上架商品 packageId 集合,存於 mts_cart 資料庫表。
  • notYetSold:玩家自己尚未售出的上架商品 packageId 清單(不持久,僅記憶體)。
  • owedNX:因購買完成而應回補給賣家的楓葉點數餘額。

MTSStorage 統一管理所有玩家的 MTSCart 實例; 瀏覽頁面邏輯(tab/type/page 切換、getCurrentViewPage() 分頁)由本類別維護, 實際商品資料仍從 MTSStorage 讀取。 實作 Serializable 以支援跨伺服器移轉。

See Also:
  • Constructor Details

  • Method Details

    • getInventory

      public List<Item> getInventory()
    • addToInventory

      public void addToInventory(Item item)
    • removeFromInventory

      public void removeFromInventory(Item item)
    • getCart

      public List<Integer> getCart()
    • addToCart

      public boolean addToCart(int car)
    • removeFromCart

      public void removeFromCart(int car)
    • getNotYetSold

      public List<Integer> getNotYetSold()
    • addToNotYetSold

      public void addToNotYetSold(int car)
    • removeFromNotYetSold

      public void removeFromNotYetSold(int car)
    • getSetOwedNX

      public final int getSetOwedNX()
    • increaseOwedNX

      public void increaseOwedNX(int newNX)
    • save

      public void save() throws SQLException
      Throws:
      SQLException
    • loadCart

      public void loadCart() throws SQLException
      Throws:
      SQLException
    • loadNotYetSold

      public void loadNotYetSold() throws SQLException
      Throws:
      SQLException
    • changeInfo

      public void changeInfo(int tab, int type, int page)
    • getTab

      public int getTab()
    • getType

      public int getType()
    • getPage

      public int getPage()
    • getCurrentViewPage

      public List<Integer> getCurrentViewPage()
    • getCurrentView

      public List<Integer> getCurrentView()
    • refreshCurrentView

      public void refreshCurrentView()
    • refreshCurrentView

      public void refreshCurrentView(int newTab, int newType)
    • changeCurrentView

      public void changeCurrentView(List<Integer> items)