Class MapleStatEffect.CancelEffectAction

java.lang.Object
server.MapleStatEffect.CancelEffectAction
All Implemented Interfaces:
Runnable
Enclosing class:
MapleStatEffect

public static class MapleStatEffect.CancelEffectAction extends Object implements Runnable
排程任務:於增益持續時間結束時取消對應效果。

透過 WeakReference 持有目標角色,避免延後的計時任務阻止角色被回收; run() 觸發時若目標仍存在且非分身(clone),便呼叫 cancelEffect 解除此效果。

  • Constructor Details

    • CancelEffectAction

      public CancelEffectAction(MapleCharacter target, MapleStatEffect effect, long startTime, Map<MapleBuffStat, Integer> statup)
      建構取消效果的排程任務。

      目標角色以 WeakReference 弱參考保存。

      Parameters:
      target - 套用此效果的目標角色
      effect - 屆時要取消的效果
      startTime - 此效果套用的起始時間(毫秒),用於比對是否為同一次套用
      statup - 此效果套用時的增益狀態對應
  • Method Details

    • run

      public void run()
      執行取消:若弱參考的目標角色仍存在且非分身,則解除此效果。

      有副作用——會對目標角色呼叫 cancelEffect(移除增益並發送對應封包); 目標已被回收(弱參考為 null)或為分身時不做任何事。

      Specified by:
      run in interface Runnable