Class MapleEvent
java.lang.Object
server.events.MapleEvent
- Direct Known Subclasses:
MapleCoconut, MapleFitness, MapleOxQuiz, MapleSnowball, MapleSurvival
頻道內小遊戲事件(Mini-game Event)的抽象基底類別。
本類別定義所有內建小遊戲事件共用的生命週期與輔助方法:
- 持有事件所屬頻道號、
MapleEventType(含地圖 ID 陣列)、執行中旗標與玩家計數。 startEvent()與finished(MapleCharacter)為抽象方法,由子類別(MapleCoconut、MapleSnowball、MapleOxQuiz、MapleFitness、MapleSurvival、MapleOla)各自實作。reset()/unreset()管理事件開始/結束的共用狀態切換。givePrize(MapleCharacter)靜態方法隨機分發楓幣、樂豆點數、楓葉點數、名聲或道具獎勵, 由RandomRewards與Randomizer決定結果, 並經MapleInventoryManipulator放入背包。scheduleEvent(MapleEventType, ChannelServer)在全頻廣播後將事件排入handling.channel.ChannelServer;mapLoad(MapleCharacter, int)靜態方法於玩家進入地圖時分派onMapLoad(MapleCharacter)回呼。
事件實例由 handling.channel.ChannelServer 以 MapleEventType 為鍵儲存與查詢;
排程計時由 server.Timer.autoEventTimer 執行。
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected intprotected booleanprotected intprotected MapleEventType -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidbroadcast(byte[] packet) abstract voidfinished(MapleCharacter chr) getMap(int i) getType()static voidgivePrize(MapleCharacter chr) voidbooleanstatic final voidmapLoad(MapleCharacter chr, int channel) voidonMapLoad(MapleCharacter chr) static final voidvoidreset()static final StringscheduleEvent(MapleEventType event, ChannelServer cserv) static final voidsetEvent(ChannelServer cserv, boolean auto) abstract voidvoidunreset()voidwarpBack(MapleCharacter chr)
-
Field Details
-
type
-
channel
protected int channel -
playerCount
protected int playerCount -
isRunning
protected boolean isRunning
-
-
Constructor Details
-
MapleEvent
-
-
Method Details
-
incrementPlayerCount
public void incrementPlayerCount() -
getType
-
isRunning
public boolean isRunning() -
getMap
-
getChannelServer
-
broadcast
public void broadcast(byte[] packet) -
givePrize
-
finished
-
startEvent
public abstract void startEvent() -
onMapLoad
-
warpBack
-
reset
public void reset() -
unreset
public void unreset() -
setEvent
-
mapLoad
-
onStartEvent
-
scheduleEvent
-