Class MapleFamily
java.lang.Object
handling.world.family.MapleFamily
- All Implemented Interfaces:
Serializable
家族(Family)系統的核心資料模型與持久化管理器。
一個家族由一位隊長(leaderid)與至少兩名成員組成,
成員以角色 ID 對應 MapleFamilyCharacter 存放於執行緒安全的 ConcurrentHashMap 中。
主要職責:
- 從資料庫
families及characters表載入家族結構,並修正孤立的 senior/junior 關係。 - 持久化:
writeToDB(boolean)更新公告或在解散時刪除家族記錄;setOfflineFamilyStatus以database.Db更新離線成員的家族欄位。 - 成員管理:
addFamilyMember、leaveFamily、splitFamily、mergeFamily處理成員加入/退出及家族分裂/合併,並透過handling.world.World.Family同步全局狀態。 - 廣播:
broadcast透過World.Broadcast.sendFamilyPacket送達在線成員, 封包由tools.packet.FamilyPacket及tools.packet.CWvsContext組裝。 - 聲望(Rep):
setRep對成員的currentrep/totalrep做等級加成計算後更新。
啟動時由 FamilyLoad 多執行緒並行建構;
家族 buff 由 MapleFamilyBuff 套用至成員。
- See Also:
-
Nested Class Summary
Nested Classes -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal intfinal MapleFamilyCharacteraddFamilyMemberInfo(MapleCharacter mc, int seniorid, int junior1, int junior2) final voidbroadcast(byte[] packet, int exceptionId, MapleFamily.FCOp bcop, List<Integer> cids) final voidfinal voidstatic intcreateFamily(int leaderId) final voidfinal intgetId()final intfinal Stringintfinal MapleFamilyCharactergetMFC(int cid) final StringbooleanisProper()final voidleaveFamily(int id) final voidleaveFamily(MapleFamilyCharacter mgc, boolean skipLeader) static final voidloadAll()static final voidfinal voidstatic voidmergeFamily(MapleFamily newfam, MapleFamily oldfam) voidvoidfinal voidstatic voidsetOfflineFamilyStatus(int familyid, int seniorid, int junior1, int junior2, int currentrep, int totalrep, int cid) final voidsetOnline(int cid, boolean online, int channel) final intbooleansplitFamily(int splitId, MapleFamilyCharacter def) final voidwriteToDB(boolean bDisband)
-
Field Details
-
serialVersionUID
public static final long serialVersionUID- See Also:
-
-
Constructor Details
-
MapleFamily
public MapleFamily(int fid)
-
-
Method Details
-
resetPedigree
public void resetPedigree() -
resetDescendants
public void resetDescendants() -
isProper
public boolean isProper() -
loadAll
public static final void loadAll() -
loadAll
-
writeToDB
public final void writeToDB(boolean bDisband) -
getId
public final int getId() -
getLeaderId
public final int getLeaderId() -
getNotice
-
getLeaderName
-
broadcast
-
broadcast
-
broadcast
public final void broadcast(byte[] packet, int exceptionId, MapleFamily.FCOp bcop, List<Integer> cids) -
setOnline
public final void setOnline(int cid, boolean online, int channel) -
setRep
-
addFamilyMemberInfo
public final MapleFamilyCharacter addFamilyMemberInfo(MapleCharacter mc, int seniorid, int junior1, int junior2) -
addFamilyMember
-
leaveFamily
public final void leaveFamily(int id) -
leaveFamily
-
setNotice
-
memberLevelJobUpdate
-
disbandFamily
public final void disbandFamily() -
getMFC
-
getMemberSize
public int getMemberSize() -
setOfflineFamilyStatus
public static void setOfflineFamilyStatus(int familyid, int seniorid, int junior1, int junior2, int currentrep, int totalrep, int cid) -
createFamily
public static int createFamily(int leaderId) -
mergeFamily
-
splitFamily
-