Class MapleTrade
java.lang.Object
server.MapleTrade
玩家之間一對一道具與楓幣交易的執行時狀態機。
每個 MapleTrade 實例代表交易雙方其中一方的視角,持有:
- 本方放入的
Item清單與楓幣金額; - 對方已確認後複製過來的
exchangeItems/exchangeMeso; - 交易槽位(
tradingslot)與鎖定狀態(locked)。
completeTrade 在雙方皆鎖定後執行原子性道具轉移,
並透過 InteractionPacket 送出確認封包;
cancelTrade 將道具退還原主並清除雙方交易狀態。
交易物件由 MapleCharacter.getTrade() 持有,
並由 PlayerInteractionHandler 封包處理器驅動。-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal voidfinal voidcancel(MapleClient c, MapleCharacter chr) final voidcancel(MapleClient c, MapleCharacter chr, int unsuccessful) static final voidcancelTrade(MapleTrade Localtrade, MapleClient c, MapleCharacter chr) final voidfinal voidstatic final voidfinal voidstatic final voidfinal MapleCharactergetChr()final intfinal MapleTradebooleaninTrade()static final voidinviteTrade(MapleCharacter c1, MapleCharacter c2) static booleanisAbonormalTradeStatus(MapleTrade local, MapleTrade partner) booleanbooleanfinal booleanisLocked()voidsetCanceling(boolean set) voidsetCompleting(boolean set) final booleansetItems(MapleClient c, Item item, byte targetSlot, int quantity) final voidsetMeso(int meso) final voidsetPartner(MapleTrade partner) static final voidstatic final voidvisitTrade(MapleCharacter c1, MapleCharacter c2)
-
Constructor Details
-
MapleTrade
-
-
Method Details
-
isAbonormalTradeStatus
-
isCompleting
public boolean isCompleting() -
setCompleting
public void setCompleting(boolean set) -
isCanceling
public boolean isCanceling() -
setCanceling
public void setCanceling(boolean set) -
completeTrade
-
cancelTrade
-
startTrade
-
inviteTrade
-
visitTrade
-
declineTrade
-
CompleteTrade
public final void CompleteTrade() -
cancel
-
cancel
-
isLocked
public final boolean isLocked() -
setMeso
public final void setMeso(int meso) -
addItem
-
chat
-
chatAuto
-
getPartner
-
setPartner
-
getChr
-
getNextTargetSlot
public final int getNextTargetSlot() -
inTrade
public boolean inTrade() -
setItems
-