Class PlayerBuffStorage
java.lang.Object
handling.world.PlayerBuffStorage
- All Implemented Interfaces:
Serializable
玩家換頻道或進出現金商城期間暫存 buff、冷卻與異常狀態的靜態倉儲。
以 ConcurrentHashMap 分別維護三張以角色 ID 為鍵的映射表,保存
PlayerBuffValueHolder(主動 buff)、MapleCoolDownValueHolder(技能冷卻)
與 MapleDiseaseValueHolder(debuff/異常)清單;每張表配備獨立
ReentrantLock 確保執行緒安全。addXxxToStorage 於角色離開頻道時呼叫存入,
getXxxFromStorage 於角色到達目標頻道時取出並同時從映射表移除,實現一次性消費語意。
與 CharacterTransfer 共同構成跨頻道無縫轉移機制的核心。
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic final voidaddBuffsToStorage(int chrid, List<PlayerBuffValueHolder> toStore) static final voidaddCooldownsToStorage(int chrid, List<MapleCoolDownValueHolder> toStore) static final voidaddDiseaseToStorage(int chrid, List<MapleDiseaseValueHolder> toStore) static final List<PlayerBuffValueHolder> getBuffsFromStorage(int chrid) static final List<MapleCoolDownValueHolder> getCooldownsFromStorage(int chrid) static final List<MapleDiseaseValueHolder> getDiseaseFromStorage(int chrid)
-
Constructor Details
-
PlayerBuffStorage
public PlayerBuffStorage()
-
-
Method Details
-
addBuffsToStorage
-
addCooldownsToStorage
-
addDiseaseToStorage
-
getBuffsFromStorage
-
getCooldownsFromStorage
-
getDiseaseFromStorage
-