UMUX Reference_10 - HonestSquare/UMUX GitHub Wiki
- ๋ณธ ๋ฌธ์๋ API ๋ ๋ฒจ 10(4.0 Dodoma)๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์์ฑ๋ UMUX ๋ ํผ๋ฐ์ค์ ๋๋ค.
-
Ctrl
+F
๋๋F3
์ ํตํด ๊ฐ๋ณ ์ด๋์ด ๊ฐ๋ฅํฉ๋๋ค.
- ๋ณ์ ๋ฐ ํจ์ ์์น๋ ์ด๋ฆ์ ์ ๋์ฌ๋ฅผ ์ฐ์ ํ๋ ๋ก๋ง์(A-Z) ์๋๋ก ์ ๋ ฌํ์์ต๋๋ค.
์ ๋์ฌ ๋ชฉ๋ก
- on
- init
- is(has), get(find)
- set
- add
- update, check
- clear, delete, reset
- show
- ์๊ธฐ ๋ชฉ๋ก์์ ์ผ์นํ๋ ์ ๋์ฌ๊ฐ ์๋ ๊ฒฝ์ฐ, show ์ ๋์ฌ๋ณด๋ค๋ ์๋์ ์์นํด ๋์์ต๋๋ค.
- ๋ค๋ง ์ผ๋ถ๋ ํธ์์์ ์ด์ ๋ก ์์ธ ์ ๋ ฌํ ๊ณณ๋ ์์ด, ์์ค ์ฝ๋์ ๋ชจ๋ ๊ฐ์ฒด๊ฐ ์์น๋ฅผ ์ด ๊ท์น์ ๋ฐ๋ผ ์ ๋ ฌ๋ ๊ฑด ์๋๋๋ค.
- ์ด๊ธฐ ์ค์
- ๊ฒฝ๊ธฐ์ฅ ์ด๊ธฐํ
- class GameManager
- class Administration
- class BlacklistSystem
- class Notification
- class ChatManager
- class ChatSystem
- class Commands
- class PlayerManager
- class PlayerSystem
- class ScoreManager
- class StatusSystem
- class TouchedPlayer
- class TimeManager
- class TimerSystem
- class GameSystem
- ๋ช ๋ น์ด
- ์ด๋ฒคํธ
- ๊ธฐํ
ROOMNAME: String
- ์๋ฒ ์ด๋ฆ์ ์ ์ฅํฉ๋๋ค
DESCRIPTION: String
- ์๋ฒ ์ค๋ช ์ ์ ์ฅํฉ๋๋ค
MAXLIMIT: Int
- ์ต๋ ์ธ์์ ์ ์ฅํฉ๋๋ค
HOSTNAME: String
- ํธ์คํธ ์ด๋ฆ์ ๊ฒฐ์ ํฉ๋๋ค
PUBLIC: Bool
- ์๋ฒ ๊ณต๊ฐ ์ฌ๋ถ๋ฅผ ๊ฒฐ์ ํฉ๋๋ค
TOKEN: String
- ๋ง๋ฃ๋์ง ์์ ๊ฐ์ ์ง์ ํ๋ฉด ์๋ฒ ์ด๊ธฐํ ์งํ recaptcha ์ธ์ฆ์ ๊ฑด๋๋๋๋ค
-
token
์ ์ฌ๊ธฐ์ ๋ฐ๊ธ ๋ฐ์ ์ ์์ต๋๋ค
NOPLAYER: Int
- ํธ์คํธ ๊ณต๊ฐ ์ฌ๋ถ๋ฅผ ๊ฒฐ์ ํฉ๋๋ค
REGION_CODE: String
- ์ง์ญ ์ฝ๋๋ฅผ ๊ฒฐ์ ํฉ๋๋ค
LAT: Float
- ์์คํ ์ ์๋๋ฅผ ๊ฒฐ์ ํฉ๋๋ค
LON: Float
- ์์คํ ์ ๊ฒฝ๋๋ฅผ ๊ฒฐ์ ํฉ๋๋ค
PASSWORD: String
- ์์คํ ๋น๋ฐ๋ฒํธ๋ฅผ ์ ์ฅํฉ๋๋ค
MAXPLAYERS: Int
- ์ต๋ ์ธ์์ ๊ฒฐ์ ํฉ๋๋ค
INITSERVER(str: String)
- ์๋ฒ๋ฅผ ์ด๊ธฐํ ํฉ๋๋ค
ROOM: RoomObject
- ์๋ฒ๋ฅผ ์ด๊ธฐํ ํ ๋ค
RoomObject
๋ฅผ ์์์ ์ ์ฅํฉ๋๋ค - ์๋ฒ ์ด๊ธฐํ๋ฅผ ์ํด
HBInit(INITSERVER(PASSWORD))
๋ฅผ ํธ์ถํฉ๋๋ค
initStadiums(links: Array<String>)
- ๊ฒฝ๊ธฐ์ฅ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ด๊ธฐํ ํฉ๋๋ค
- ์ธ๋ถ ๋งํฌ ์ ๊ทผ์ด ํ์ํ๋ฉด
requestStadium()
๋ฅผ ํธ์ถํฉ๋๋ค
requestStadium(ln: String)
- ๊ฒฝ๊ธฐ์ฅ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ถ๊ฐํฉ๋๋ค
-
initStadiums()
์์ ๊ฒฝ๊ธฐ์ฅ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ด๊ธฐํ๋ฅผ ์ํด ์ด ๋ฉ์๋๋ฅผ ํธ์ถํฉ๋๋ค
- ๊ฒ์์ ์ ๋ฐ์ ์ผ๋ก ์ ์ดํฉ๋๋ค
constructor(afkLimitTime: Int, rptLimitTime: Int, timeLimit: Int)
-
_afkLimitTime: Int
: ์ฅ๊ธฐ ๋ฌด์๋ต ํ๋ ์ด์ด ํ์ ์ต์ ์๊ฐ์ ์ด ๋จ์๋ก ์ ์ฅํฉ๋๋ค -
_repeatedLimitTim: Int
: ๋ฐ๋ณต ์ฑํ ํ์ ์ต๋ ์๊ฐ์ ๋ฐ๋ฆฌ์ด ๋จ์๋ก ์ ์ฅํฉ๋๋ค -
_countMatch: Int
: ๋์ ๊ฒฝ๊ธฐ ํ์๋ฅผ ์ ์ฅํฉ๋๋ค -
_gameLink: String
: ์๋ฒ ๋งํฌ๋ฅผ ์ ์ฅํฉ๋๋ค -
_gameEventStats: Int
: ๊ฒฝ๊ธฐ ์งํ ์ํ๋ฅผ ์ ์ฅํฉ๋๋ค -
_isRecording: Bool
: ๋ นํ ์ฌ๋ถ๋ฅผ ์ ์ฅํฉ๋๋ค -
_firstTimeNotifie: Float
: ์ต์ด ๋๋ฌ ์๊ฐ์ ์ ์ฅํฉ๋๋ค -
_lastTimeNotified: Float
: ์ต๊ทผ ๋๋ฌ ์๊ฐ์ ์ ์ฅํฉ๋๋ค -
_timeLimit: Int
: ๋๋ฌ ๊ธฐ์ค ์๊ฐ์ ์ด ๋จ์๋ก ์ ์ฅํฉ๋๋ค -
_timeLimitReached: Bool
: ์๊ฐ ๋๋ฌ ์ฌ๋ถ๋ฅผ ์ ์ฅํฉ๋๋ค
onGamePause(player: PlayerObject)
- ๊ฒฝ๊ธฐ๊ฐ ์ค์ง๋๋ฉด ํธ์ถํฉ๋๋ค
-
_gameEventStats
์ ๊ฐ์c_GAME_STATS.PAUSE
์ผ๋ก ๊ฐฑ์ ํฉ๋๋ค - ํ๋ ์ด์ด์ ๋์์ผ๋ก ํธ์ถ๋ ๊ฒฝ์ฐ, ํ๋ ์๊ฐ์ ๊ฐฑ์ ํ๊ธฐ ์ํด
PlayerManager
ํด๋์ค์updateTime()
๋ฅผ ํธ์ถํฉ๋๋ค -
goal
ํ์ด๋จธ๋ฅผ ์ง์ฐ๊ธฐ ์ํดTimeManager
ํด๋์ค์clearTimerByName()
๋ฅผ ํธ์ถํฉ๋๋ค - GUI ๊ฐฑ์ ์ ์ํด
GameSystem
ํด๋์ค์updateWebGUI()
๋ฅผ ํธ์ถํฉ๋๋ค
onGameStart(player: PlayerObject)
- ๊ฒฝ๊ธฐ๊ฐ ์์๋๋ฉด ํธ์ถํฉ๋๋ค
- ๊ฒฝ๊ธฐ ์ ์ด ์ค๋น๋ฅผ ์ํด
handleGameStart()
๋ฅผ ํธ์ถํฉ๋๋ค - ์ฝ์์ฐฝ์ ๋์ ๊ฒฝ๊ธฐ ํ์๋ฅผ ๋ฉ์์ง๋ก ๋์๋๋ค
onGameStop(player: PlayerObject)
- ๊ฒฝ๊ธฐ๊ฐ ์ข ๋ฃ๋๋ฉด ํธ์ถํฉ๋๋ค
-
_gameEventStats
์ ๊ฐ์c_GAME_STATS.STOP
์ผ๋ก ๊ฐฑ์ ํฉ๋๋ค - ์ ๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ง์ฐ๊ธฐ ์ํด
ScoreManager
ํด๋์ค์clearTouchedList()
๋ฅผ ํธ์ถํฉ๋๋ค -
goal
ํ์ด๋จธ๋ฅผ ์ง์ฐ๊ธฐ ์ํดTimeManager
ํด๋์ค์clearTimerByName()
๋ฅผ ํธ์ถํฉ๋๋ค - ํ๋ ์ด์ด์ ๋์์ผ๋ก ํธ์ถ๋ ๊ฒฝ์ฐ, ํ๋ ์๊ฐ์ ๊ฐฑ์ ํ๊ธฐ ์ํด
PlayerManager
ํด๋์ค์updateTime()
๋ฅผ ํธ์ถํฉ๋๋ค - GUI ๊ฐฑ์ ์ ์ํด
GameSystem
ํด๋์ค์updateWebGUI()
๋ฅผ ํธ์ถํฉ๋๋ค
onGameTick(void)
- ๊ฒฝ๊ธฐ๊ฐ ์งํ๋๋ ๋์ ํธ์ถํฉ๋๋ค
-
ํ์ฌ ์๊ฐ โฅ_firstTimeNotified + 100
์ ๋ง์กฑํ๋ฉด_firstTimeNotified
์ ๊ฐ์ ํ์ฌ ์๊ฐ์ผ๋ก ๊ฐฑ์ ํฉ๋๋ค - ๊ฒฝ๊ธฐ ์ ์ด๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํด
handleGameTick()
๋ฅผ ํธ์ถํฉ๋๋ค
onGameUnpause(player: PlayerObject)
- ๊ฒฝ๊ธฐ๊ฐ ์ฌ๊ฐ๋๋ฉด ํธ์ถํฉ๋๋ค
-
_gameEventStats
์ ๊ฐ์c_GAME_STATS.TICK
์ผ๋ก ๊ฐฑ์ ํฉ๋๋ค - ํ๋ ์ด์ด์ ๋์์ผ๋ก ํธ์ถ๋ ๊ฒฝ์ฐ, ํ๋ ์๊ฐ์ ๊ฐฑ์ ํ๊ธฐ ์ํด
PlayerManager
ํด๋์ค์updateTime()
๋ฅผ ํธ์ถํฉ๋๋ค - GUI ๊ฐฑ์ ์ ์ํด
GameSystem
ํด๋์ค์updateWebGUI()
๋ฅผ ํธ์ถํฉ๋๋ค
onKickRateLimitSet(min: Int, rate: Int, burst: Int, player: PlayerObject)
- ํฅ ์ ํ์ด ์ค์ ๋๋ฉด ํธ์ถํฉ๋๋ค
-
min
๊ฐ์ ๋ ํฅ ๊ฐ์ ์ต์ ๋ก์งํ๋ ์์ ๋๋ค. -
rate
๊ฐ์burst
์ ๋ฐ๋ฅธ ์ถ๊ฐ ํฅ์ ์ฐ๋ ๊ฐ์ ๋๋ค. -
burst
๊ฐ์ ์ถ๊ฐ ํฅ์ ์ ์ฝํ ์ ์๋ ๊ฐ์ ๋๋ค.
onPlayerBallKick(player: PlayerObject)
- ํ๋ ์ด์ด๊ฐ ๊ณต์ ์ฐจ๋ฉด ํธ์ถํฉ๋๋ค
- ์ ๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ถ๊ฐ๋ฅผ ์ํด
ScoreManager
ํด๋์ค์addTouchedList()
๋ฅผ ํธ์ถํฉ๋๋ค
onPlayerJoin(player: PlayerObject)
- ์ ๊ท ํ๋ ์ด์ด๊ฐ ์ ์ํ๋ฉด ํธ์ถํฉ๋๋ค
- ํ๋ ์ด์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ด๊ธฐํ๋ฅผ ์ํด
PlayerManager
ํด๋์ค์initPlayerList()
๋ฅผ ํธ์ถํฉ๋๋ค - GUI์ ๋ช
๋จ์ ์ถ๊ฐํ๊ธฐ ์ํด
GameSystem
ํด๋์ค์addListIndex()
๋ฅผ ํธ์ถํฉ๋๋ค
let hasVisitRecord = PM.updateAccount(player.id); // ๊ณ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐฑ์
- ๊ณ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐฑ์ ์ ์ํด
PlayerManager
ํด๋์ค์updateAccount()
๋ฅผ ํธ์ถํฉ๋๋ค - ๋ธ๋๋ฆฌ์คํธ ์ฌ๋ถ๋ฅผ ํ์ ํ๊ธฐ ์ํด
Administration
ํด๋์ค์isBlacklist()
๋ฅผ ํธ์ถํฉ๋๋ค - ์ค๋ณต ๋ฐ ๋ค์ค ์ ์ ๊ฐ์ง๋ฅผ ์ํด
Administration
ํด๋์ค์hasMatchedConnection()
๋ฅผ ํธ์ถํฉ๋๋ค - ์ ์์๊ฐ 2์ธ ๋ฏธ๋ง์ด๋ฉด ๋ ๋ํ์ผ๋ก ํฌ์ ํฉ๋๋ค
- ๊ถํ ๊ฐฑ์ ์ ์ํด
Administration
ํด๋์ค์updateAdmins()
๋ฅผ ํธ์ถํฉ๋๋ค - ๋ นํ ์ค์ด๋ฉด ํ๋ ์ด์ด์๊ฒ ๋ณ๋์ ๋ฉ์์ง๋ฅผ ์ ์กํฉ๋๋ค
- ๋ชจ๋ ๊ตฌ๋ฌธ์ด ์จ์ ํ๊ฒ ์งํ๋์์ผ๋ฉด
hasVisitRecord
๊ฐ์ ๋ฐํํฉ๋๋ค
onPlayerLeave(player: PlayerSystem)
- ์ ์์๊ฐ ํด์ฅํ๋ฉด ํธ์ถํฉ๋๋ค
- ํ๋ ์ด์ด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ง์ฐ๊ธฐ ์ํด
PlayerSystem
ํด๋์ค์clearPlayer()
๋ฅผ ํธ์ถํฉ๋๋ค - ์ ์์๊ฐ ์์ผ๋ฉด ๊ถํ ๊ฐฑ์ ์ ์ํด
Administration
ํด๋์ค์updateAdmins()
๋ฅผ ํธ์ถํฉ๋๋ค - ์ ์์๊ฐ ์์ผ๋ฉด ๋น๋ฐ๋ฒํธ ๊ฐฑ์ ์ ์ํด
Administration
ํด๋์ค์updatePassword()
๋ฅผ ํธ์ถํฉ๋๋ค - ์ฝ์์ฐฝ์ ์ ์ ์ธ์์ ๋ฉ์์ง๋ก ๋์๋๋ค
onPositionsReset(void)
- ๊ณจ ํ์ ์งํ ํฌ์ง์ ์ด ์ด๊ธฐํ๋๋ฉด ํธ์ถํฉ๋๋ค
onRoomLink(address: String)
- ์์คํ ์์ ๋งํฌ๊ฐ ์์ฑ๋๋ฉด ํธ์ถํฉ๋๋ค
- ์๋ฒ ์ด๊ธฐํ๊ฐ ํ์ํ ๊ฒฝ์ฐ
GameSystem
ํด๋์ค์initServer()
๋ฐinitWebGUI()
๋ฅผ ํธ์ถํ๊ณ ๊ตฌ๋ฌธ์ ์ข ๋ฃํฉ๋๋ค - ์๋ฒ ์์ ์ ์ํด
GameSystem
ํด๋์ค์enableRecaptcha()
๋ฅผ ํธ์ถํฉ๋๋ค
onStadiumChange(newMap: String, byPlayer: PlayerObject)
- ๊ฒฝ๊ธฐ์ฅ์ด ๊ต์ฒด๋๋ฉด ํธ์ถํฉ๋๋ค
- ํ๋ ์ด์ด์ ๋์์ผ๋ก ํธ์ถ๋ ๊ฒฝ์ฐ, ํ๋ ์๊ฐ์ ๊ฐฑ์ ํ๊ธฐ ์ํด
PlayerManager
ํด๋์ค์updateTime()
๋ฅผ ํธ์ถํฉ๋๋ค - ๊ฒฝ๊ธฐ์ฅ ๋ธ๋๋ฆฌ์คํธ์ ํฌํจ๋ ๊ฒฝ์ฐ, 0๋ฒ์งธ ๊ฒฝ๊ธฐ์ฅ์ผ๋ก ๊ต์ฒดํ๊ณ
Administration
ํด๋์ค์addBlacklistByPlayer()
๋ฅผ ํธ์ถํฉ๋๋ค
onTeamGoal(team: TeamID)
- ๊ณจ์ด ํ์ ๋๋ฉด ํธ์ถํฉ๋๋ค
- ์ ๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ตฌํ๊ธฐ ์ํด
ScoreManager
ํด๋์ค์lastTouchedPlayer
๋ฅผ ๋ถ๋ฌ์ต๋๋ค - ์ด์์คํธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ตฌํ๊ธฐ ์ํด
ScoreManager
ํด๋์ค์findAssist()
๋ฅผ ํธ์ถํฉ๋๋ค - ํ๋ ์ด์ด์ ์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ตฌํ๊ธฐ ์ํด
ScoreManager
ํด๋์ค์findRankListByPlayer()
๋ฅผ ํธ์ถํฉ๋๋ค - ๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐฑ์ ์ ์ํด
ScoreManager
ํด๋์ค์updateGoals()
๋ฅผ ํธ์ถํฉ๋๋ค - GUI ๊ฐฑ์ ์ ์ํด
GameSystem
ํด๋์ค์updateWebGUI()
๋ฅผ ํธ์ถํฉ๋๋ค - ์งง์ ์๊ฐ ๋์ ๋์ ์๋ฅผ ๋ฑ๋ฒํธ๋ก ๊ฐ์กฐํ๋
goal
ํ์ด๋จธ๋ฅผ ์์ฑํ๊ธฐ ์ํดTimeManager
ํด๋์ค์addTimer()
๋ฅผ ํธ์ถํฉ๋๋ค
onTeamVictory(scores: ScoresObject)
- ๊ฒฝ๊ธฐ ์นํจ๊ฐ ๊ฒฐ์ ๋๋ฉด ํธ์ถํฉ๋๋ค
- ์น๋ฆฌํ ํ์ ๊ตฌํ๊ธฐ ์ํด
ScoreManager
ํด๋์ค์findWinner()
๋ฐfindTeamName()
๋ฅผ ํธ์ถํฉ๋๋ค - ์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ฐฑ์ ํ๊ธฐ ์ํด
ScoreManager
ํด๋์ค์findRankListByPlayer()
๋ฅผ ํธ์ถํฉ๋๋ค
handleGameStart(void)
- ๊ฒฝ๊ธฐ ์ ์ด๋ฅผ ์ค๋นํฉ๋๋ค
-
_gameEventStats
์ ๊ฐ์c_GAME_STATS.START
์ผ๋ก ๊ฐฑ์ ํฉ๋๋ค -
_countMatch
์ ๊ฐ์ 1 ์ฆ๊ฐํฉ๋๋ค -
_firstTimeNotified
์ ๊ฐ์ ํ์ฌ ์๊ฐ์ผ๋ก ๊ฐฑ์ ํฉ๋๋ค -
_lastTimeNotified
์ ๊ฐ์ ํ์ฌ ์๊ฐ์ผ๋ก ๊ฐฑ์ ํฉ๋๋ค -
_timeLimitReached
์ ๊ฐ์false
์ผ๋ก ์ด๊ธฐํ ํฉ๋๋ค - ์ ๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ชจ๋ ์ง์ฐ๊ธฐ ์ํด
ScoreManager
ํด๋์ค์clearTouchedList()
๋ฅผ ํธ์ถํฉ๋๋ค - ํ๋ ์ด์ด์ ํ๋ ์๊ฐ์ ๊ฐฑ์ ํ๊ธฐ ์ํด
PlayerManager
ํด๋์ค์updateTime()
๋ฅผ ํธ์ถํฉ๋๋ค
handleGameTick(currentTime: Float)
- ๊ฒฝ๊ธฐ ์ ์ด๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค
- ์ ๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐฑ์ ์ ์ํด
ScoreManager
ํด๋์ค์updateTouchedList()
๋ฅผ ํธ์ถํฉ๋๋ค -
_timeLimit ๏ผ 1
์ ๋ง์กฑํ๋ฉดfalse
์ ๊ฐ์ผ๋ก ๋ฐํํฉ๋๋ค - ์ต๊ทผ ๊ธฐ๋ก ์๊ฐ์์ ๋๋ฌ ๊ธฐ์ค ์๊ฐ ์ดํ๋ก ๊ฒฝ๊ณผ๋ ๊ฒฝ์ฐ,
_lastTimeNotified
์ ๊ฐ์ ํ์ฌ ์๊ฐ์ผ๋ก ๊ฐฑ์ ํ๊ณtrue
์ ๊ฐ์ผ๋ก ๋ฐํํฉ๋๋ค - 0์ด์์ ๋๋ฌ ๊ธฐ์ค ์๊ฐ ์ดํ๋ก ๊ฒฝ๊ณผ๋๋ฉด
_timeLimitReached
์ ๊ฐ์true
๋ก ๊ฐฑ์ ํ๊ณtrue
์ ๊ฐ์ผ๋ก ๋ฐํํฉ๋๋ค - ๋ชจ๋ ๊ตฌ๋ฌธ์ด ์จ์ ํ๊ฒ ์งํ๋์์ผ๋ฉด
false
์ ๊ฐ์ผ๋ก ๋ฐํํฉ๋๋ค
- 10~10800 ์ฌ์ด์ ๊ฐ์ด๋ฉด
_afkLimitTime
๋ฅผ ๋ฐํํฉ๋๋ค
-
_gameLink
๋ฅผ ๋ฐํํฉ๋๋ค
-
_gameEventStats
๋ฅผ ๋ฐํํฉ๋๋ค
-
_isRecording
๋ฅผ ๋ฐํํฉ๋๋ค
-
_repeatedLimitTime
๋ฅผ ๋ฐํํฉ๋๋ค
-
_countMatch
๋ฅผ ๋ฐํํฉ๋๋ค
set afkTime(v: Int)
- ์ฅ๊ธฐ ๋ฌด์๋ต ํ์ ์ต์ ์๊ฐ์ ์ง์ ํฉ๋๋ค
-
v
์ ๊ฐ์ 10~10800 ๋ฒ์ ์์ด๋ฉฐ_afkLimitTime
์ ๊ฐ๊ณผ ๋ฌ๋ผ์ผ ํฉ๋๋ค - ์ฅ๊ธฐ ๋ฌด์๋ต ํ๋ ์ด์ด๋ฅผ ๋ณ๊ฒฝ๋ ์๊ฐ์ผ๋ก ํ์ ํ๊ธฐ ์ํด ๋ชจ๋ ํ๋ ์ด์ด์ ํ๋ ์๊ฐ์ ๊ฐฑ์ ํด์ผ ํ๋ฏ๋ก,
PlayerManager
ํด๋์ค์updateTime()
๋ฅผ ํธ์ถํฉ๋๋ค -
_afkLimitTime
์ ๊ฐ์ ์์ ํฉ๋๋ค
set gameLink(v: String)
- ์๋ฒ ๋งํฌ๋ฅผ ์ง์ ํฉ๋๋ค
- ์๋ฒ๋ฅผ ์ด๊ธฐํ ํ ๋ ํ ๋ฒ๋ง ์คํ๋ฉ๋๋ค
-
_gameLink
์ ๊ฐ์ ์์ ํฉ๋๋ค
set gameStats(v: Int)
- ๊ฒฝ๊ธฐ ์งํ ์ํ๋ฅผ ๊ฐฑ์ ํฉ๋๋ค
-
_gameEventStats
์ ๊ฐ์ ์์ ํฉ๋๋ค
set recStats(v: Bool)
- ๋ นํ ์ํ๋ฅผ ๊ฐฑ์ ํฉ๋๋ค
-
_isRecording
์ ๊ฐ์ ์์ ํฉ๋๋ค
findStadiumNameList(target: Int)
- ๊ฒฝ๊ธฐ์ฅ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ด๋ฆ์ ๋ฐํํฉ๋๋ค
-
target
์ ๊ฐ์ด ์ ํจํ ๊ฒฝ์ฐ ํน์ ์ธ๋ฑ์ค๋ฅผ ๊ฐ์ง ๊ฒฝ๊ธฐ์ฅ์ ์ด๋ฆ์ ๋ฐํํฉ๋๋ค
findTeamName(value: teamID)
- ํ ID๋ฅผ ๋ฌธ์์ด๋ก ๋ฐํํฉ๋๋ค
checkPublicId(msg: String, player: Int, hasAllRange: Bool)
-
#ID
๋ฅผ ํ๋ณํ์ฌ ์ง๋ชฉํ ๋์์ ID๋ฅผ ๋ฌธ์์ด์์ ์ ์ํ์ผ๋ก ๋ฐํํฉ๋๋ค -
hasAllRange
๊ฐtrue
์ ๊ฐ์ ๊ฐ์ง๋ฉด ๋ฏธ์ ์์์ ID๋ ํฌํจํฉ๋๋ค
loadMap(target: Int, player: Int)
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ด์์ ๊ฒฝ๊ธฐ์ฅ์ ๊ต์ฒดํฉ๋๋ค
- ์์คํ ์ด ๊ธ์งํ ๊ฒฝ์ฐ, ๊ฒฝ๊ธฐ์ฅ์ ๊ต์ฒดํ์ง ์๊ณ ๊ตฌ๋ฌธ์ ์ข ๋ฃํฉ๋๋ค
reorderPlayers(playerIdList: Array<Int>, moveToTop: Bool)
- ํ๋ ์ด์ด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ง์ ์๋ฒ์ ๋ฐ๋ผ ์ฌ์ ๋ ฌํฉ๋๋ค
- ์ ๋ ฌํ ๋ช ๋จ์ ์ง์ ํ์ง ์์ ๊ฒฝ์ฐ, ๋ชจ๋ ํ๋ ์ด์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ๋ ฌํฉ๋๋ค
-
moveToTop
์ ๊ฐ์ดtrue
์ธ ๊ฒฝ์ฐ, ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌํฉ๋๋ค - GUI ๊ฐฑ์ ์ ์ํด
GameSystem
ํด๋์ค์updateWebGUI()
๋ฅผ ํธ์ถํฉ๋๋ค
runCommand(src: Array<String>, type: Array<String>, player: PlayerObject)
- ๋ช ๋ น์ด๋ก๋ถํฐ ๊ธฐ๋ฅ์ ์ฐ๊ฒฐํฉ๋๋ค
- ์
๋ ฅ์๊ฐ ์ ์ํด ์์ง ์๋ ๊ฒฝ์ฐ
false
์ ๊ฐ์ผ๋ก ๋ฐํํฉ๋๋ค
let fn = Function('"use strict";return (' + src + ')')(); // ์คํ ๊ตฌ๋ฌธ
-
fn()
์ ํตํด ๊ธฐ๋ฅ์ ์คํํฉ๋๋ค -
type[2]
์ ๊ฐ์ด ๋ถ์ ์ ํ ๊ฒฝ์ฐ-1
๋ฅผfn()
์ ์ธ์๊ฐ์ผ๋ก ์ ๋ฌํฉ๋๋ค - ๋ชจ๋ ๊ตฌ๋ฌธ์ด ์จ์ ํ๊ฒ ์งํ๋์์ผ๋ฉด
true
์ ๊ฐ์ผ๋ก ๋ฐํํฉ๋๋ค
startRecording(hideAnchor: Bool)
- ์์คํ ๋ นํ๋ฅผ ์์ํฉ๋๋ค
- ์ด๋ฏธ ์งํํ๊ณ ์๋ ๋
นํ๊ฐ ์์ผ๋ฉด
stopRecording()
๋ฅผ ํธ์ถํ์ฌ ์ข ๋ฃํฉ๋๋ค - ๋
นํ ์ํ๋ฅผ ๊ฐฑ์ ํ๊ธฐ ์ํด
_isRecording
์ ๊ฐ์ ๊ฐฑ์ ํฉ๋๋ค
stopRecording(void)
- ์์คํ ๋ นํ๋ฅผ ์ข ๋ฃํฉ๋๋ค
- ๋
นํ ์ํ๋ฅผ ๊ฐฑ์ ํ๊ธฐ ์ํด
_isRecording
์ ๊ฐ์ ๊ฐฑ์ ํฉ๋๋ค
let file = room.stopRecording();
- ๋ชจ๋ ๊ตฌ๋ฌธ์ด ์จ์ ํ๊ฒ ์งํ๋์์ผ๋ฉด
file
์ ๊ฐ์ ๋ฐํํฉ๋๋ค
- ์์คํ ์ ์ ๋ฐ์ ์ธ ๊ถํ์ ์ ์ดํฉ๋๋ค
constructor(dynamicAdmin: Bool, isAllowJoin: Bool, isLockStadium: Bool, defaultStadium: Int, maxAdmin: Int, pinHost: Bool)
-
_blacklist: Array<BlacklistSystem>
: ๋ธ๋๋ฆฌ์คํธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ์ฅํฉ๋๋ค -
_enableDynamicAdmin: Bool
: ๊ถํ ํ ๋น ๋ฐฉ์์ ์ ์ฅํฉ๋๋ค -
_isAllowTeamSwitch: Bool
: ํ๋ ์ด์ด ํ ์์จ ๊ต์ฒด๊ถ์ ์ ์ฅํฉ๋๋ค -
_isLockStadium: Bool
: ๊ฒฝ๊ธฐ์ฅ ๊ณ ์ ์ฌ๋ถ๋ฅผ ์ ์ฅํฉ๋๋ค -
_defaultStadium: String
: ๊ณ ์ ๊ฒฝ๊ธฐ์ฅ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํฉ๋๋ -
_maxAdminLimit: Int
: ์ต๊ณ ๊ด๋ฆฌ์ ์ํ ์ธ์์ ์ ์ฅํฉ๋๋ค -
_pinHost: Bool
: ํธ์คํธ ํ ์ด๋ ์ฌ๋ถ๋ฅผ ์ ์ฅํฉ๋๋ค
onPlayerAdminChange(givenPlayer: PlayerObject, byPlayer: PlayerObject)
- ํ๋ ์ด์ด์ ๊ถํ์ด ๋ณ๊ฒฝ๋๋ฉด ํธ์ถํฉ๋๋ค
let target = PM.findPlayerById(givenPlayer.id);
- ๊ถํ ๋ณ๊ฒฝ ๋์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐฑ์ ์ ์ํด
PlayerManager
ํด๋์ค์findPlayerById()
๋ฅผ ํธ์ถํฉ๋๋ค - ํ๋ ์ด์ด์ ๋์์ผ๋ก ํธ์ถ๋ ๊ฒฝ์ฐ, ํ๋ ์๊ฐ์ ๊ฐฑ์ ํ๊ธฐ ์ํด
PlayerManager
ํด๋์ค์updateTime()
๋ฅผ ํธ์ถํฉ๋๋ค -
givenPlayer.admin
์ ๊ฐ์ดtrue
์ธ ๊ฒฝ์ฐ- ๋ณด์กฐ ๊ถํ์ ๊ฐ์ง ํ๋ ์ด์ด๊ฐ ๋ง์ฐ์ค ํด๋ฆญ์ ํตํ ๊ฒ์ ๋ด ๊ธฐ๋ฅ์ผ๋ก ๊ถํ์ด ๋ณ๊ฒฝ๋๋ ๊ฒฝ์ฐ, ๋ณด์กฐ ๊ถํ์ ํด์ ํฉ๋๋ค
-
givenPlayer.admin
์ ๊ฐ์ดfalse
์ธ ๊ฒฝ์ฐ- ์ต๊ณ ๊ถํ์ ๊ฐ์ง ํ๋ ์ด์ด๋ ๊ถํ์ด ํด์ ๋ ์งํ ๋ณด์กฐ ๊ถํ์ด ๋ถ์ฌ๋ฉ๋๋ค
- GUI์ ๋ช
๋จ์ ๊ฐฑ์ ํ๊ธฐ ์ํด
GameSystem
ํด๋์ค์addListIndex()
๋ฅผ ํธ์ถํฉ๋๋ค
onPlayerKicked(kickedPlayer: PlayerObject, reason: String, ban: Bool, byPlayer: PlayerObject)
- ์ ์์๊ฐ ๊ฐ์ ํด์ฅ๋๋ฉด ํธ์ถํฉ๋๋ค
- ๊ฐ์ ํด์ฅ์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐฑ์ ์ ์ํด
PlayerManager
ํด๋์ค์findPlayerById()
๋ฅผ ํธ์ถํฉ๋๋ค -
reason
์ ๊ฐ์ดBad actor
๋ก ๊ฐ์ง๋๋ฉด ์ค๋ฅ ๋ฉ์์ง๋ฅผ ์ ์กํ๊ณ ๊ตฌ๋ฌธ์ ์ข ๋ฃํฉ๋๋ค - ํ๋ ์ด์ด์ ๋์์ผ๋ก ํธ์ถ๋ ๊ฒฝ์ฐ, ํ๋ ์๊ฐ์ ๊ฐฑ์ ํ๊ธฐ ์ํด
PlayerManager
ํด๋์ค์updateTime()
๋ฅผ ํธ์ถํฉ๋๋ค
-
_isAllowTeamSwitch
์ ๊ฐ์ ๋ฐํํฉ๋๋ค
-
_enableDynamicAdmin
์ ๊ฐ์ ๋ฐํํฉ๋๋ค
-
_isLockStadium
์ ๊ฐ์ ๋ฐํํฉ๋๋ค
- 1~
MAXPLAYERS
์ฌ์ด์ ๊ฐ์ด๋ฉด_maxAdminLimit
๋ฅผ ๋ฐํํฉ๋๋ค
-
PASSWORD
์ ๊ฐ์ ๋ฐํํฉ๋๋ค
-
_defaultStadium
์ ๊ฐ์ ๋ฐํํฉ๋๋ค
set allowJoin(bool: Bool)
- ํ๋ ์ด์ด์ ํ ์์จ ๊ต์ฒด๋ฅผ ํ์ฉํ๊ฑฐ๋ ๊ธ์งํฉ๋๋ค
-
_isAllowTeamSwitch
์ ๊ฐ์ ์์ ํฉ๋๋ค
set dynmcAdmin(bool: Bool)
- ๊ถํ ํ ๋น ๋ฐฉ์์ ๋ณ๊ฒฝํฉ๋๋ค
-
_enableDynamicAdmin
์ ๊ฐ์ ์์ ํฉ๋๋ค
set lockStadium(bool: Bool)
- ๊ฒฝ๊ธฐ์ฅ์ ๊ณ ์ ํ๊ฑฐ๋ ํด์ ํฉ๋๋ค
- ๊ฒฝ๊ธฐ์ฅ์ด ๊ณ ์ ๋๋ฉด
GameManager
ํด๋์ค์loadMap()
๋ฅผ ํธ์ถํฉ๋๋ค
set password(value: String)
- ์์คํ ๋น๋ฐ๋ฒํธ๋ฅผ ์ง์ ํฉ๋๋ค
- ๋น๋ฐ๋ฒํธ ๊ณ ์ ์ฅ์น๊ฐ ํ์ฑํ ๋ผ ์๋ ๊ฒฝ์ฐ ๊ตฌ๋ฌธ์ ์ข ๋ฃํฉ๋๋ค
- ๋ชจ๋ ๊ตฌ๋ฌธ์ด ์จ์ ํ๊ฒ ์งํ๋์์ผ๋ฉด
updatePassword()
๋ฅผ ํธ์ถํฉ๋๋ค
isBlacklist(player: Int, isSuper: Bool)
- ํ๋ ์ด์ด์ ๋ธ๋๋ฆฌ์คํธ ํฌํจ ์ฌ๋ถ๋ฅผ ๋ฐํํฉ๋๋ค
- ํ๋ ์ด์ด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ตฌํ๊ธฐ ์ํด
PlayerManager
ํด๋์ค์findPlayerById()
๋ฐBlacklistSystem
ํด๋์ค๋ฅผ ํธ์ถํฉ๋๋ค - ํ๋ ์ด์ด์ ๊ณต์ฉ ์ฃผ์๋ฅผ ๊ตฌํ๊ธฐ ์ํด
findAddress()
๋ฅผ ํธ์ถํฉ๋๋ค - ์ผ์นํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์์ผ๋ฉด
false
์ ๊ฐ์ ๋ฐํํฉ๋๋ค - ์ด๋ฆ ๋ฐ์ดํฐ๊ฐ ๋น์ด ์์ผ๋ฉด ํ์ฌ ๋ฐ์ดํฐ๋ก ๊ฐฑ์ ํฉ๋๋ค
- ์ฃผ์ ๋ฐ์ดํฐ๊ฐ ๋น์ด ์์ผ๋ฉด ํ์ฌ ๋ฐ์ดํฐ๋ก ๊ฐฑ์ ํฉ๋๋ค
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ถ๊ฐ๋ฅผ ์ํด
addBlacklist()
๋ฅผ ํธ์ถํฉ๋๋ค - ๋ชจ๋ ๊ตฌ๋ฌธ์ด ์จ์ ํ๊ฒ ์งํ๋์์ผ๋ฉด
true
์ ๊ฐ์ ๋ฐํํฉ๋๋ค
isMute(target: Int)
- ํ๋ ์ด์ด์ ์ฑํ ๊ธ์ง ์ฌ๋ถ๋ฅผ ๋ฐํํฉ๋๋ค
- ํ๋ ์ด์ด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ตฌํ๊ธฐ ์ํด
PlayerManager
ํด๋์ค์findPlayerById()
๋ฅผ ํธ์ถํฉ๋๋ค
hasAdmin(player: Int, level: Int)
- ํ๋ ์ด์ด์ ๊ด๋ฆฌ์ ์ฌ๋ถ๋ฅผ ๋ฐํํฉ๋๋ค
- ํ๋ ์ด์ด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ตฌํ๊ธฐ ์ํด
PlayerManager
ํด๋์ค์findPlayerById()
๋ฅผ ํธ์ถํฉ๋๋ค
hasMatchedConnection(player: Int)
- ํ๋ ์ด์ด์ ์ค๋ณต ๋ฐ ๋ค์ค ์ ์ ์ฌ๋ถ๋ฅผ ๋ฐํํฉ๋๋ค
- ํ๋ ์ด์ด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ตฌํ๊ธฐ ์ํด
PlayerManager
ํด๋์ค์findPlayerById()
๋ฅผ ํธ์ถํฉ๋๋ค - ๋น๊ต ๋์๊ณผ ์ด๋ฆ์ด ์ผ์นํ๊ณ
- ๊ณต์ฉ ๋คํธ์ํฌ๋ ์ผ์นํ๋ฉด ์ค๋ณต ์ ์์ผ๋ก ํ์ ํฉ๋๋ค
- ๊ณต์ฉ ๋คํธ์ํฌ๊ฐ ์ผ์นํ์ง ์์ผ๋ฉด ๋ค์ค ์ ์์ผ๋ก ํ์ ํฉ๋๋ค
- ๋น๊ต ๋์๊ณผ ๊ณต์ฉ ์ฃผ์๊ฐ ์ผ์นํ๋ฉด ๋ค์ค ์ ์์ผ๋ก ํ์ ํฉ๋๋ค
- ์ค๋ณต ๋ฐ ๋ค์ค ์ ์์ผ๋ก ํ์ ๋ ๊ฒฝ์ฐ ๊ฐ์ ํด์ฅํฉ๋๋ค
- ๋ฐ๋ชจ ๋ชจ๋๊ฐ ํ์ฑํ ๋ผ ์๋ ๊ฒฝ์ฐ ๊ฐ์ ํด์ฅํ์ง ์์ต๋๋ค
findAddress(target: Int)
- ํ๋ ์ด์ด์ ๊ณต์ฉ ์ฃผ์๋ฅผ ๋ฐํํฉ๋๋ค
- ํ๋ ์ด์ด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ตฌํ๊ธฐ ์ํด
PlayerManager
ํด๋์ค์findPlayerById()
๋ฅผ ํธ์ถํฉ๋๋ค
findAdminList(level: Int)
- ๊ด๋ฆฌ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ฐํํฉ๋๋ค
- ํ๋ ์ด์ด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ตฌํ๊ธฐ ์ํด
PlayerManager
ํด๋์ค์findPlayerById()
๋ฅผ ํธ์ถํฉ๋๋ค
findBlacklistByAddress(conn: PlayerObject.conn)
- ํน์ ๊ณต์ฉ ์ฃผ์๋ฅผ ๊ฐ์ง ๋ธ๋๋ฆฌ์คํธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ฐํํฉ๋๋ค
findBlacklistByName(str: String)
- ํน์ ์ด๋ฆ์ ๊ฐ์ง ๋ธ๋๋ฆฌ์คํธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ฐํํฉ๋๋ค
findMutedList(isPublic: Bool)
- ์ฑํ ๊ธ์ง์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ฐํํฉ๋๋ค
- ํ๋ ์ด์ด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ตฌํ๊ธฐ ์ํด
PlayerManager
ํด๋์ค์findPlayerById()
๋ฅผ ํธ์ถํฉ๋๋ค
findNetwork(target: PlayerObject.auth)
- ํ๋ ์ด์ด์ ๊ณต์ฉ ๋คํธ์ํฌ๋ฅผ ๋ฐํํฉ๋๋ค
- ํ๋ ์ด์ด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ตฌํ๊ธฐ ์ํด
PlayerManager
ํด๋์ค์findPlayerById()
๋ฅผ ํธ์ถํฉ๋๋ค
addBlacklist(isSuper: Bool, name: String, conn: PlayerObject.conn)
- ๋ธ๋๋ฆฌ์คํธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ฑ๋กํฉ๋๋ค
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ด๊ธฐํ๋ฅผ ์ํด
BlacklistSystem
ํด๋์ค๋ฅผ ํธ์ถํฉ๋๋ค
addBlacklistByPlayer(target: Int, isSuper: Bool)
- ํน์ ํ๋ ์ด์ด๋ฅผ ๋ธ๋๋ฆฌ์คํธ์ ๋ฑ๋กํฉ๋๋ค
- ์ํผ ๋ธ๋๋ฆฌ์คํธ๋ก ๋ฑ๋กํ ์งํ ์ ์์๊ฐ ์์ผ๋ฉด ๊ฐ์ ํด์ฅํฉ๋๋ค
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฑ๋ก์ ์ํด
addBlacklist()
๋ฅผ ํธ์ถํฉ๋๋ค
updateAdmins(void)
- ์ ์์์ ๊ถํ์ ๊ฐฑ์ ํฉ๋๋ค
- ์ ์ ๊ถํ ํ ๋น ๋ฐฉ์์ด ์ค์ ๋ ๊ฒฝ์ฐ ๊ตฌ๋ฌธ์ ์ข ๋ฃํฉ๋๋ค
- ํ๋ ์ด์ด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ตฌํ๊ธฐ ์ํด
PlayerManager
ํด๋์ค์findPlayerById()
๋ฅผ ํธ์ถํฉ๋๋ค - ์ต๊ณ ๊ด๋ฆฌ์๊ฐ ์ด๋ฏธ ์๋ ๊ฒฝ์ฐ ๊ตฌ๋ฌธ์ ์ข ๋ฃํฉ๋๋ค
- ๊ถํ์ ๋ถ์ฌํ๊ธฐ ์ํด
giveAdmin()
๋ฅผ ํธ์ถํฉ๋๋ค- ๋ธ๋๋ฆฌ์คํธ์ ํด๋นํ๋ ๊ฒฝ์ฐ ๋ณด์กฐ ๊ถํ์ ๋ถ์ฌํฉ๋๋ค
updatePassword(pass: String)
- ์์คํ ๋น๋ฐ๋ฒํธ๋ฅผ ๊ฐฑ์ ํฉ๋๋ค
- ๋น๋ฐ๋ฒํธ ๊ณ ์ ์ฅ์น๊ฐ ํ์ฑํ ๋ผ ์๋ ๊ฒฝ์ฐ
-
PASSWORD
์ ๊ฐ์ ์์ ํฉ๋๋ค-
pass
์ ๊ฐ์ด ๋ถ์ ์ ํ๊ฑฐ๋ ๊ณต๋ฐฑ์ธ ๊ฒฝ์ฐnull
๊ฐ์ ๋์ ํฉ๋๋ค
-
- ๋ชจ๋ ๊ตฌ๋ฌธ์ด ์จ์ ํ๊ฒ ์งํ๋์์ผ๋ฉด
PASSWORD
์ ๊ฐ์ ๋ฐํํฉ๋๋ค
clearBans(player: Int)
- ์๋ฒ ๋ด ์๊ตฌ ํด์ฅ ๋ช ๋จ์ ๋ชจ๋ ์ง์๋๋ค
clearMutedList(player: Int)
- ์ฑํ ๊ธ์ง ๋ช ๋จ์ ๋ชจ๋ ์ง์๋๋ค
- ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ตฌํ๊ธฐ ์ํด
findMutedList()
๋ฅผ ํธ์ถํฉ๋๋ค - GUI์ ๋ช
๋จ์ ๊ฐฑ์ ํ๊ธฐ ์ํด
GameSystem
ํด๋์ค์updateListIndex()
๋ฅผ ํธ์ถํฉ๋๋ค
clearPassword(byPlayer: Int)
- ์์คํ ๋น๋ฐ๋ฒํธ๋ฅผ ํด์ ํฉ๋๋ค
- ๋น๋ฐ๋ฒํธ ๊ณ ์ ์ฅ์น๊ฐ ํ์ฑํ ๋ผ ์๋ ๊ฒฝ์ฐ ๊ตฌ๋ฌธ์ ์ข ๋ฃํฉ๋๋ค
- ๋น๋ฐ๋ฒํธ ๊ฐฑ์ ์ ์ํด
updatePassword()
๋ฅผ ํธ์ถํฉ๋๋ค
deleteAdmin(player: Int, isSub: Bool)
- ํ๋ ์ด์ด์ ๊ถํ์ ํด์ ํฉ๋๋ค
- ํ๋ ์ด์ด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ตฌํ๊ธฐ ์ํด
PlayerManager
ํด๋์ค์findPlayerById()
๋ฅผ ํธ์ถํฉ๋๋ค
resetGame(player: Int)
- ๊ฒฝ๊ธฐ๋ฅผ ์ฌ์์ํฉ๋๋ค
showAdminList(target: Int)
- ๊ฒ์์์ ๊ด๋ฆฌ์ ๋ช ๋จ์ ๋ฉ์์ง๋ก ์ ์กํฉ๋๋ค
- ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ตฌํ๊ธฐ ์ํด
findAdminList()
๋ฅผ ํธ์ถํฉ๋๋ค - ๊ถํ ์ ํ์ ๋ฐ๋ผ ์๋ก ๋ค๋ฅธ ํ์ผ๋ก ํ์ํฉ๋๋ค
- ์ ์์ ์ค์์ ๊ด๋ฆฌ์๊ฐ ์๋ ๊ฒฝ์ฐ ๋ฐ๋ก ํ์ํฉ๋๋ค
showPassword(player: Int)
- ๊ฒ์์์ ์์คํ ๋น๋ฐ๋ฒํธ๋ฅผ ๋ฉ์์ง๋ก ์ ์กํฉ๋๋ค
cntAdmins(level: Int)
- ๊ด๋ฆฌ์ ์ธ์์ ๋ฐํํฉ๋๋ค
- ํ๋ ์ด์ด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ตฌํ๊ธฐ ์ํด
PlayerManager
ํด๋์ค์findPlayerById()
๋ฅผ ํธ์ถํฉ๋๋ค
enablePinHost(bool: Bool)
- ํธ์คํธ์ ํ ์ด๋์ ํ์ฉํ๊ฑฐ๋ ์ ํํฉ๋๋ค
- ํธ์คํธ๊ฐ ๋นํ์ฑํ ๋ผ ์๋ ๊ฒฝ์ฐ ๊ตฌ๋ฌธ์ ์ข ๋ฃํฉ๋๋ค
-
bool
์ ๊ฐ์ดtrue
์ธ ๊ฒฝ์ฐ ํธ์คํธ๋ฅผ ๊ด์ค์์ผ๋ก ํ์ ๊ณ ์ ํฉ๋๋ค
giveAdmin(player: Int, isSub: Bool)
- ํ๋ ์ด์ด์ ๊ถํ์ ๋ถ์ฌํฉ๋๋ค
- ํ๋ ์ด์ด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ตฌํ๊ธฐ ์ํด
PlayerManager
ํด๋์ค์findPlayerById()
๋ฅผ ํธ์ถํฉ๋๋ค
kickPlayer(target: Int, msg: String, ban: Bool, ...replace: Array<String>)
- ํ๋ ์ด์ด๋ฅผ ๊ฐ์ ํด์ฅํฉ๋๋ค
limitScore(value: Int, byPlayer: Int)
- ๋ค์ ๊ฒฝ๊ธฐ์ ์ ํ ์ ์๋ฅผ ๋ณ๊ฒฝํฉ๋๋ค
-
value
์ ๊ฐ์ด 0~14 ๋ฒ์๋ฅผ ๋ฒ์ด๋ ๊ฒฝ์ฐ ๊ตฌ๋ฌธ์ ์ข ๋ฃํฉ๋๋ค - ๊ฒฝ๊ธฐ๊ฐ ์งํ ์ค์ธ ๊ฒฝ์ฐ ๊ตฌ๋ฌธ์ ์ข ๋ฃํฉ๋๋ค
limitTime(value: Int, byPlayer: Int)
- ๋ค์ ๊ฒฝ๊ธฐ์ ์ ํ ์๊ฐ์ ๋ณ๊ฒฝํฉ๋๋ค
-
value
์ ๊ฐ์ด 0~14 ๋ฒ์๋ฅผ ๋ฒ์ด๋ ๊ฒฝ์ฐ ๊ตฌ๋ฌธ์ ์ข ๋ฃํฉ๋๋ค - ๊ฒฝ๊ธฐ๊ฐ ์งํ ์ค์ธ ๊ฒฝ์ฐ ๊ตฌ๋ฌธ์ ์ข ๋ฃํฉ๋๋ค
logonAdmin(player: Int, msg, type: String)
- ํ๋ ์ด์ด๊ฐ ์ต๊ณ ๊ถํ ๋ก๊ทธ์ธ์ ์ฑ๊ณตํ๋ฉด ๋ก๊ทธ๋ฅผ ์ถ๋ ฅํฉ๋๋ค
- ์ด๋ฏธ ๊ถํ์ ๊ฐ์ง๊ณ ์๋ ๊ฒฝ์ฐ ๊ตฌ๋ฌธ์ ์ข ๋ฃํฉ๋๋ค
- ์ฅ๊ธฐ ๋๊ธฐ์ด์ ํฌํจ๋ ๊ฒฝ์ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ ๊ฑฐํฉ๋๋ค
missPassword(player: Int, msg: String, type: Int)
- ํ๋ ์ด์ด๊ฐ ์ต๊ณ ๊ถํ ๋ก๊ทธ์ธ์ ์คํจํ ๊ฒฝ์ฐ ๋ก๊ทธ๋ฅผ ์ถ๋ ฅํฉ๋๋ค
- ์ด๋ฏธ ๊ถํ์ ๊ฐ์ง๊ณ ์๋ ๊ฒฝ์ฐ ๊ตฌ๋ฌธ์ ์ข ๋ฃํฉ๋๋ค
mutePlayer(target: Int, time: Int, byPlayer: Int)
- ํ๋ ์ด์ด์ ์ฑํ ์ ๊ธ์งํฉ๋๋ค
- ํ๋ ์ด์ด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ตฌํ๊ธฐ ์ํด
PlayerManager
ํด๋์ค์findPlayerById()
๋ฅผ ํธ์ถํฉ๋๋ค - GUI์ ๋ช
๋จ์ ๊ฐฑ์ ํ๊ธฐ ์ํด
GameSystem
ํด๋์ค์updateListIndex()
๋ฅผ ํธ์ถํฉ๋๋ค -
time โฅ 5
๋ฅผ ๋ง์กฑํ๋ ๊ฒฝ์ฐtime
์ด ๊ฒฝ๊ณผ ์งํ ์ฑํ ์ ํ์ฉํ๋ ํ์ด๋จธ๋ฅผ ์์ฑํ๊ธฐ ์ํดTimeManager
ํด๋์ค์addTimer()
๋ฅผ ํธ์ถํฉ๋๋ค
swapGame(player: Int)
- ๊ฒฝ๊ธฐ๋ฅผ ์์ํ๊ฑฐ๋ ์ข ๋ฃํฉ๋๋ค
unmutePlayer(target: Int, byPlayer: Int)
- ํ๋ ์ด์ด์ ๊ธ์ง๋ ์ฑํ ์ ํ์ฉํฉ๋๋ค
- ํ๋ ์ด์ด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ตฌํ๊ธฐ ์ํด
PlayerManager
ํด๋์ค์findPlayerById()
๋ฅผ ํธ์ถํฉ๋๋ค - ํ๋ ์ด์ด์ ๋ฑ๋ฒํธ๋ฅผ ์ด๊ธฐํ ํฉ๋๋ค
- GUI์ ๋ช
๋จ์ ๊ฐฑ์ ํ๊ธฐ ์ํด
GameSystem
ํด๋์ค์updateListIndex()
๋ฅผ ํธ์ถํฉ๋๋ค - ๋ฏธ์ ์์๋ ๋ณ๋๋ก ์๋ฆฌ์ง ์์ต๋๋ค
-
mute
ํ์ด๋จธ๋ฅผ ์ง์ฐ๊ธฐ ์ํดTimeManager
ํด๋์ค์clearTimerByName()
๋ฅผ ํธ์ถํฉ๋๋ค
- ๋ธ๋๋ฆฌ์คํธ ๋ช ๋จ์ ์ ์ดํฉ๋๋ค
constructor(isSuper: Bool, name: String, conn: PlayerObject.conn)
-
_super: Bool
: ์ํผ ๋ธ๋๋ฆฌ์คํธ ์ฌ๋ถ๋ฅผ ์ ์ฅํฉ๋๋ค -
_name: String
: ์ด๋ฆ์ ์ ์ฅํฉ๋๋ค -
_address: PlayerObject.conn
: ๊ณต์ฉ ์ฃผ์๋ฅผ ์ ์ฅํฉ๋๋ค
hasMatchedName(str: String)
- ์ด๋ฆ ์ผ์น ์ฌ๋ถ๋ฅผ ํ์ ํฉ๋๋ค
- ์ด๋ฆ์ด ๊ณต๋ฐฑ์ด๋ฉด ๊ตฌ๋ฌธ์ ์ข ๋ฃํฉ๋๋ค
- ์ฐํ ๋ฌธ์๋ฅผ ์ ์ธํ ์ํ๋ฅผ ๊ธฐ์ค์ผ๋ก ์ฒ๋ฆฌํฉ๋๋ค
hasMatchedAddress(conn: PlayerObject.conn)
- ๊ณต์ฉ ์ฃผ์ ์ผ์น ์ฌ๋ถ๋ฅผ ํ์ ํฉ๋๋ค
hasMatchedDatabase(name: String, address: PlayerObject.conn, isSuper: Bool)
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ผ์น ์ฌ๋ถ๋ฅผ ํ์ ํฉ๋๋ค
- ์ด๋ฆ ์ผ์น ์ฌ๋ถ๋ฅผ ํ์ ํ๊ธฐ ์ํด
hasMatchedName()
๋ฅผ ํธ์ถํฉ๋๋ค - ๊ณต์ฉ ์ฃผ์ ์ผ์น ์ฌ๋ถ๋ฅผ ํ์ ํ๊ธฐ ์ํด
hasMatchedAddress()
๋ฅผ ํธ์ถํฉ๋๋ค - ๋ชจ๋ ๋ถ์ผ์นํ๋ฉด
false
์ ๊ฐ์ ๋ฐํํฉ๋๋ค - ์ํผ ๋ธ๋๋ฆฌ์คํธ ์ฌ๋ถ์ ๋ฐ๋ผ ๊ฐ์ ๋ฐํํฉ๋๋ค
- ์๋ฆผ ์์คํ ์ ๊ด๋ฆฌํ๊ณ ์ฒ๋ฆฌํฉ๋๋ค
constructor(common: Int, acess: Int, caution: Int, info: Int, locked: Int, notice: Int, warning: Int)
-
common: String
: ๊ณตํต ๋ฉ์์ง ์ ๋ชฉ ์์์ ์ ์ฅํฉ๋๋ค -
acess: String
: ๊ถํ ์๊ตฌ ๋ฉ์์ง ์ ๋ชฉ ์์์ ์ ์ฅํฉ๋๋ค -
caution: String
: ์ฃผ์ ๋ฉ์์ง ์ ๋ชฉ ์์์ ์ ์ฅํฉ๋๋ค -
info: String
: ์์ธ์ ๋ณด ๋ฉ์์ง ์ ๋ชฉ ์์์ ์ ์ฅํฉ๋๋ค -
locked: String
: ์ ๊ธ/ํด์ ๋ฉ์์ง ์ ๋ชฉ ์์์ ์ ์ฅํฉ๋๋ค -
notice: String
: ์๋ฆผ ๋ฉ์์ง ์ ๋ชฉ ์์์ ์ ์ฅํฉ๋๋ค -
warning: String
: ๊ฒฝ๊ณ ๋ฉ์์ง ์ ๋ชฉ ์์์ ์ ์ฅํฉ๋๋ค -
c_LIST_MSG_COLOR: Array<String>
: ๋ฉ์์ง ์์ ๋ชฉ๋ก์ ์ ์ฅํฉ๋๋ค
-
c_LIST_MSG_COLOR
์ ๊ฐ์ ๋ฐํํฉ๋๋ค
findColor(color: Int, hasRaw: Bool)
- ์์ ๊ฐ์ 16์ง์ ์ ์ํ์ผ๋ก ๋ฐํํฉ๋๋ค
findSound(sound: Int)
- ์๋ฆฌ ๊ฐ์ ์ ์ํ์ผ๋ก ๋ฐํํฉ๋๋ค
findStyle(style: Int)
- ์์ ๊ฐ์ ์ ์ํ์ผ๋ก ๋ฐํํฉ๋๋ค
announce(msg: String, target: Int, color: Int, style: Int, sound: Int, delay: Int, ...replace: Array<String>)
- ๋ฉ์์ง๋ฅผ ์ ์กํฉ๋๋ค
-
target
์ ๊ฐ์ด ์์์ธ ๊ฒฝ์ฐ ๋์์ ์ ์ธํ ๋ค๋ฅธ ๋ชจ๋ ํ๋ ์ด์ด์๊ฒ ์ ์กํฉ๋๋ค -
delay > 0
๋ฅผ ๋ง์กฑํ๋ ๊ฒฝ์ฐdelay
๋ฐ๋ฆฌ์ด ๋ค์ ์ ์กํ๋ ํ์ด๋จธ๋ฅผ ์์ฑํ๊ธฐ ์ํดTimeManager
ํด๋์ค์addTimer()
๋ฅผ ํธ์ถํฉ๋๋ค
extMsg(title: String, content: String, target: Int, advCom: String, titleColor: Int, contentColor: Int, delay: Int, ...replace: Array<String>)
- ํ์ฅ๋ ์ ๋๋ฒ์ ๋ฉ์์ง๋ฅผ ์ ์กํฉ๋๋ค
- ์ ๋ชฉ๊ณผ ๋ณธ๋ฌธ์ ์๋ก ๋ค๋ฅธ ํ์ผ๋ก ์ถ๋ ฅํฉ๋๋ค
-
announce()
๋ฅผ ํธ์ถํฉ๋๋ค
uniMsg(title: String, content: String, target: Int, advCom: String, delay: Int, ...replace: Array<String>)
- ์ ๋๋ฒ์ ๋ฉ์์ง๋ฅผ ์ ์กํฉ๋๋ค
-
delay
์ ๊ฐ์ ์ด ๋จ์์ ๋๋ค -
extMsg()
๋ฅผ ํธ์ถํฉ๋๋ค
acess(target: Int, reason: String, ...replace: Array<String>)
- ๊ถํ ์๊ตฌ ๋ฉ์์ง๋ฅผ ์ถ๋ ฅํฉ๋๋ค
-
extMsg()
๋ฅผ ํธ์ถํฉ๋๋ค
alretMsg(player: Int)
- ๊ธ์ง์ด๊ฐ ๊ฐ์ง๋๋ฉด ๋ณ๋์ ์๋ฆผ์ ์ถ๋ ฅํฉ๋๋ค
- ํ๋ ์ด์ด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ตฌํ๊ธฐ ์ํด
PlayerManager
ํด๋์ค์findPlayerById()
๋ฅผ ํธ์ถํฉ๋๋ค -
์์คํ ๊ธ์ง์ด ์ต๋ ๊ฐ์ง๋ โค ํ๋ ์ด์ด์ ๊ธ์ง์ด ๊ฐ์ง๋
๋ฅผ ๋ง์กฑํ๋ฉด ๊ฐ์ ํด์ฅํฉ๋๋ค - ์ฑํ
ํํฐ๋ง ์๊ฒฉ๋์ ๋ฐ๋ผ
- 1๋จ๊ณ์์๋ ๋ณ๋๋ก ์ฒ๋ฆฌํ์ง ์์ต๋๋ค
- 2๋จ๊ณ์์๋ ๊ฐ์ง ๋ฉ์์ง๋ฅผ ์ถ๋ ฅํฉ๋๋ค
- 3๋จ๊ณ์์๋ ๊ฐ์ ํด์ฅํฉ๋๋ค
- 4๋จ๊ณ์์๋ ๊ฐ์ง ๋ฉ์์ง๋ฅผ ์ถ๋ ฅํ๊ณ ์ฑํ ์ 15์ด๊ฐ ๊ธ์งํฉ๋๋ค
- 5๋จ๊ณ์์๋ ์ฑํ ์ 30์ด๊ฐ ๊ธ์งํ๊ณ ๊ฐ์ ํด์ฅํฉ๋๋ค
- ๋ธ๋๋ฆฌ์คํธ๋ ํ ๋จ๊ณ ๋ ์๊ฒฉํ๊ฒ ์ฒ๋ฆฌํฉ๋๋ค
-
announce()
๋ฅผ ํธ์ถํฉ๋๋ค
caution(msg: String, target: Int, advCom: String, ...replace: Array<String>)
- ์ฃผ์ ๋ฉ์์ง๋ฅผ ์ถ๋ ฅํฉ๋๋ค
-
extMsg()
๋ฅผ ํธ์ถํฉ๋๋ค
fmtStr(str: String, rep: Array<String>, target: Int)
- ํน์ ๊ธฐํธ๋ฅผ ๋ณ์์ ๊ฐ์ผ๋ก ์นํํ ํ ๋ฌธ์์ด๋ก ๋ฐํํฉ๋๋ค
if(rep == undefined || rep.length < 1) return PM.isValid(target) ? str.replace(subst, SYS.showPlayerInfo(target, c_PLAYERINFO_TYPE.NAME)) : str;
-
rep
์ ๊ฐ์ด ์ ํจํ์ง ์๋ ๊ฒฝ์ฐ ํ๋ ์ด์ด์ ์ด๋ฆ์ ๋ฐํํฉ๋๋ค
help(msg: String, exCom: String, target: Int, advCom: String, ...replace: Array<String>)
- ๋์๋ง ๋ฉ์์ง๋ฅผ ์ถ๋ ฅํฉ๋๋ค
-
uniMsg()
๋ฅผ ํธ์ถํฉ๋๋ค
์ธ์๊ฐ 5๊ฐ: info(title: String, context: String, target: Int, advCom: String, ...replace: Array<String>)
- ์์ธ์ ๋ณด ๋ฉ์์ง๋ฅผ ์ถ๋ ฅํฉ๋๋ค
-
extMsg()
๋ฅผ ํธ์ถํฉ๋๋ค
locked(isLock: Bool, msg: String, target: Int, advCom: String, ...replace: Array<String>)
- ์ ๊ธ/ํด์ ๋ฉ์์ง๋ฅผ ์ถ๋ ฅํฉ๋๋ค
-
extMsg()
๋ฅผ ํธ์ถํฉ๋๋ค
msgCommand(title: String, content: String, target: Int, advCom: String, ...replace: Array<String>)
- ๋ช ๋ น์ด ๋ชฉ๋ก์ ์ถ๋ ฅํฉ๋๋ค
-
uniMsg()
๋ฅผ ํธ์ถํฉ๋๋ค
notice(msg: String, target: Int, advCom: String, ...replace: Array<String>)
- ์๋ฆผ ๋ฉ์์ง๋ฅผ ์ถ๋ ฅํฉ๋๋ค
-
uniMsg()
๋ฅผ ํธ์ถํฉ๋๋ค
warning(msg: String, target: Int, advCom: String, ...replace: Array<String>)
- ๊ฒฝ๊ณ ๋ฉ์์ง๋ฅผ ์ถ๋ ฅํฉ๋๋ค
-
extMsg()
๋ฅผ ํธ์ถํฉ๋๋ค
- ์ ๋ฐ์ ์ธ ์ฑํ ์์คํ ์ ๊ด๋ฆฌํฉ๋๋ค
constructor(isFreeze: Bool, isLockPrivateChat: Bool, detectorLevel: Int, maxForbiddenWordCount: Int, maxRepeatedCount: Int)
-
_playerList: Array
: ํ๋ ์ด์ด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ์ฅํฉ๋๋ค -
_isFreezeChat: Bool
: ์ฑํ ์ผ๋ฆผ ์ฌ๋ถ๋ฅผ ์ ์ฅํฉ๋๋ค -
_isLockPrivateChat: Bool
: ๊ฐ์ธ ์ฑํ ๊ธ์ง ์ฌ๋ถ๋ฅผ ์ ์ฅํฉ๋๋ค -
_detectorLevel: Int
: ์ฑํ ํํฐ๋ง ์๊ฒฉ๋๋ฅผ ์ ์ฅํฉ๋๋ค -
_maxForbiddenWordCount: Int
: ๊ธ์ง์ด ์ต๋ ๊ฐ์ง๋์ ์ ์ฅํฉ๋๋ค -
_maxRepeatedCount: Int
: ๋๋ฐฐ ์ต๋ ๊ฐ์ง๋์ ์ ์ฅํฉ๋๋ค
onPlayerChat(player: PlayerObject, msg: String)
- ํ๋ ์ด์ด๊ฐ ์ฑํ ์ ์ ์กํ๋ฉด ํธ์ถํฉ๋๋ค
- ํ๋ ์๊ฐ์ ๊ฐฑ์ ํ๊ธฐ ์ํด
PlayerManager
ํด๋์ค์updateTime()
๋ฅผ ํธ์ถํฉ๋๋ค
let commandsList = [ // ๋ช
๋ น์ด ๋ชฉ๋ก
internalCommands, standardCommands, customCommands
];
- ๋ช
๋ น์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ถ๋ฌ์ค๊ธฐ ์ํด
internalCommands
,standardCommands
,customCommands
๋ฅผ ํธ์ถํฉ๋๋ค- ๋ฌธ์์ด ์ฒซ ๊ธ์์ ๋ฐ๋ผ ๋ช
๋ น์ด ์ ํ์ ๊ฒฐ์ ํฉ๋๋ค
- ์ฒซ ๊ธ์๊ฐ
!
์ด๋ฉด0
์ ๊ฐ์ผ๋ก ์ ์ฅํฉ๋๋ค - ์ฒซ ๊ธ์๊ฐ
?
์ด๋ฉด1
์ ๊ฐ์ผ๋ก ์ ์ฅํฉ๋๋ค - ์ฒซ ๊ธ์๊ฐ
!!
์ด๋ฉด2
์ ๊ฐ์ผ๋ก ์ ์ฅํฉ๋๋ค
- ์ฒซ ๊ธ์๊ฐ
- ๋ช
๋ น์ด๋ฅผ ํ๋
ํ๊ณ ๊ธฐ๋ฅ์ ์ฐ๊ฒฐํ๊ธฐ ์ํด
GameManager
ํด๋์ค์runCommand()
๋ฅผ ํธ์ถํฉ๋๋ค - ๋ช ๋ น์ด ์ ๋ ฅ์ด ๊ฐ์ง๋ ๊ฒฝ์ฐ ๊ตฌ๋ฌธ์ ์ข ๋ฃํฉ๋๋ค
- ๋ฌธ์์ด ์ฒซ ๊ธ์์ ๋ฐ๋ผ ๋ช
๋ น์ด ์ ํ์ ๊ฒฐ์ ํฉ๋๋ค
- ์ฑํ
์ด ๊ธ์ง๋ ๊ฒฝ์ฐ ๊ฐ์ ์ฑํ
์ ์ก์ ์ํด
sendEmojiChat()
๋ฅผ ํธ์ถํฉ๋๋ค - ์ฑํ
๋ก๊ทธ ๊ฐฑ์ ์ ์ํด
updateChatLog()
๋ฅผ ํธ์ถํฉ๋๋ค - ๋ฐ๋ณต ์ฑํ
๊ฐ์ง๋ฅผ ์ํด
hasRepeatedChat()
๋ฅผ ํธ์ถํฉ๋๋ค - ์
๋ ฅ๋ ๋ฌธ์์ด์์
#
์ ๊ฐ์ด ๊ฐ์ง๋ ๊ฒฝ์ฐ ๊ฐ์ธ ์ฑํ ๋ช ๋ น์ด๋ก ์ฒ๋ฆฌํ๊ธฐ ์ํดCommands
ํด๋์ค์comPrivateChat()
๋ฅผ ํธ์ถํฉ๋๋ค - ํ๋ ์ด์ด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ตฌํ๊ธฐ ์ํด
PlayerManager
ํด๋์ค์findPlayerById()
๋ฅผ ํธ์ถํฉ๋๋ค - ํ๋ ์ด์ด์ ์ฑํ
๋ชจ๋๊ฐ
-
0
์ ๊ฐ์ ๊ฐ์ง๋ฉด ์ ์ฒด ์ฑํ ์ ์ ์กํ๊ธฐ ์ํดsendAllChat()
๋ฅผ ํธ์ถํฉ๋๋ค -
1
์ ๊ฐ์ ๊ฐ์ง๋ฉด ํ ์ฑํ ์ ์ ์กํ๊ธฐ ์ํดsendTeamChat()
๋ฅผ ํธ์ถํฉ๋๋ค
-
-
_isFreezeChat
์ ๊ฐ์ ๋ฐํํฉ๋๋ค
-
_isLockPrivateChat
์ ๊ฐ์ ๋ฐํํฉ๋๋ค
-
_detectorLevel
์ ๊ฐ์ ๋ฐํํฉ๋๋ค
- ๊ธ์ง์ด ์ต๋ ๊ฐ์ง๋์ ๋ฐํํฉ๋๋ค
- 3 ์ด์์ ๊ฐ์ด๋ฉด
_maxForbiddenWordCount
๋ฅผ ๋ฐํํฉ๋๋ค - ๋ฒ์ ์ธ ๊ฐ์ด๋ฉด
null
๋ฅผ ๋ฐํํฉ๋๋ค
- ๋ฐ๋ณต ์ฑํ ์ต๋ ๊ฐ์ง๋์ ๋ฐํํฉ๋๋ค
- 3 ์ด์์ ๊ฐ์ด๋ฉด
_maxRepeatedCount
๋ฅผ ๋ฐํํฉ๋๋ค - ๋ฒ์ ์ธ ๊ฐ์ด๋ฉด
null
๋ฅผ ๋ฐํํฉ๋๋ค
set isFreezeChat(bool: Bool)
- ์ฑํ ์ ์ผ๋ฆฌ๊ฑฐ๋ ๋ น์ ๋๋ค
-
_isFreezeChat
์ ๊ฐ์ ์์ ํฉ๋๋ค
set isLockPrvChat(bool: Bool)
- ๊ฐ์ธ ์ฑํ ์ ๊ธ์งํ๊ฑฐ๋ ํด์ ํฉ๋๋ค
-
_isLockPrivateChat
์ ๊ฐ์ ์์ ํฉ๋๋ค
set maxFwdCount(limit: Int)
- ๊ธ์ง์ด ์ต๋ ๊ฐ์ง๋์ ๋ณ๊ฒฝํฉ๋๋ค
-
_maxForbiddenWordCount
์ ๊ฐ์ ์์ ํฉ๋๋ค
set maxRptCount(limit: Int)
- ๋ฐ๋ณต ์ฑํ ์ต๋ ๊ฐ์ง๋์ ๋ณ๊ฒฝํฉ๋๋ค
-
_maxRepeatedCount
์ ๊ฐ์ ์์ ํฉ๋๋ค
set detectorLev(targetLev: Int)
- ์ฑํ ํํฐ๋ง ์๊ฒฉ๋๋ฅผ ๋ณ๊ฒฝํฉ๋๋ค
-
_detectorLevel
์ ๊ฐ์ ์์ ํฉ๋๋ค
initPlayerList(player: Int)
- ํ๋ ์ด์ด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ด๊ธฐํ ํฉ๋๋ค
-
ChatSystem
ํด๋์ค๋ฅผ ํธ์ถํฉ๋๋ค
isWhiteSpace(str: String)
- ๋ฌธ์์ด์ ๊ณต๋ฐฑ ์ฌ๋ถ๋ฅผ ํ์ ํฉ๋๋ค
hasForbiddenWord(msg: String)
- ๊ธ์ง์ด ๊ฐ์ง ์ฌ๋ถ๋ฅผ ๋ฐํํฉ๋๋ค
- ๋จ์ด๊ฐ ๊ณต๋ฐฑ์ด๋ฉด ์ฒ๋ฆฌํ์ง ์์ต๋๋ค
- ์ฐํ ๋ฌธ์๋ฅผ ์ ์ธํ ์ํ๋ฅผ ๊ธฐ์ค์ผ๋ก ์ฒ๋ฆฌํฉ๋๋ค
hasMutedChat(player: Int)
- ํ๋ ์ด์ด์ ์ฑํ ๊ธ์ง ์ฌ๋ถ๋ฅผ ๋ฐํํฉ๋๋ค
- ํ๋ ์ด์ด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ตฌํ๊ธฐ ์ํด
findPlayerById()
๋ฅผ ํธ์ถํฉ๋๋ค
hasRepeatedChat(player: Int)
- ํ๋ ์ด์ด์ ๋ฐ๋ณต ์ฑํ ์ฌ๋ถ๋ฅผ ๋ฐํํฉ๋๋ค
- ํ๋ ์ด์ด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ตฌํ๊ธฐ ์ํด
findPlayerById()
๋ฅผ ํธ์ถํฉ๋๋ค
findPlayerById(target: Int)
- ํน์ ๊ณต์ฉ ID๋ฅผ ๊ฐ์ง ํ๋ ์ด์ด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ฐํํฉ๋๋ค
updateChatLog(player, msg, time)
- ํ๋ ์ด์ด์ ์ฑํ ๋ก๊ทธ๋ฅผ ๊ฐฑ์ ํฉ๋๋ค
- ํ๋ ์ด์ด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ตฌํ๊ธฐ ์ํด
findPlayerById()
๋ฅผ ํธ์ถํฉ๋๋ค
showHelpCommandList(title: String, cml: Array<String>, player: Int)
- ๋ช ๋ น์ด ๋ชฉ๋ก์ ๋ฉ์์ง๋ก ์ถ๋ ฅํฉ๋๋ค
- ๊ถํ ์๊ตฌ์ ๋ฐ๋ผ ๋ช ๋ น์ด๋ฅผ ์๋ก ๋ค๋ฅธ ํ์ผ๋ก ๋ถ๋ฅํฉ๋๋ค
freezeChat(time: Int, player: Int)
- ์ฑํ ์ ์ผ๋ฆฝ๋๋ค
-
_isFreezeChat
์ ๊ฐ์ ์์ ํฉ๋๋ค -
time โฅ 5
๋ฅผ ๋ง์กฑํ๋ ๊ฒฝ์ฐtime
์ด ๊ฒฝ๊ณผ ์งํ ์ฑํ ์ ๋ น์ด๋ ํ์ด๋จธ๋ฅผ ์์ฑํ๊ธฐ ์ํดTimeManager
ํด๋์ค์addTimer()
๋ฅผ ํธ์ถํฉ๋๋ค
lockPrivateChat(bool: Bool, player: Int)
- ๊ฐ์ธ ์ฑํ ์ ๊ธ์งํ๊ฑฐ๋ ํ์ฉํฉ๋๋ค
-
_isLockPrivateChat
์ ๊ฐ์ ์์ ํฉ๋๋ค
sendAlert(msg: String, target: Int, ...replace: Array<String>)
- ๊ด๋ฆฌ์ ์ฑํ ์ ์ ์กํฉ๋๋ค
- ํธ์คํธ๊ฐ ์กด์ฌํ๋ฉด
room.sendChat()
๋ฅผ ํธ์ถํฉ๋๋ค - ํธ์คํธ๊ฐ ์กด์ฌํ์ง ์์ผ๋ฉด
Notification
ํด๋์ค์announce()
๋ฅผ ํธ์ถํฉ๋๋ค
sendAllChat(player: Int, msg: String)
- ์ ์ฒด ์ฑํ ์ ์ ์กํฉ๋๋ค
- ๊ธ์ง์ด ๊ฐ์ง๋ฅผ ์ํด
hasForbiddenWord()
๋ฅผ ํธ์ถํฉ๋๋ค - ์ฑํ
ํํฐ๋ง ์๊ฒฉ๋์ ๋ฐ๋ผ
- 4๋จ๊ณ์์๋ ๋ด์ฉ์ ์จ๊ธด ์ฑ ์ ์กํฉ๋๋ค
- 5๋จ๊ณ์์๋ ๋ด์ฉ์ ์จ๊ธด ์ฑ ์ ์กํฉ๋๋ค
-
sendMsg()
๋ฅผ ํธ์ถํฉ๋๋ค - ๊ธ์ง์ด๊ฐ ๊ฐ์ง๋ ๊ฒฝ์ฐ
Notification
ํด๋์ค์alretMsg()
๋ฅผ ํธ์ถํฉ๋๋ค
sendEmojiChat(player: Int, msg: String)
- ๊ฐ์ ์ฑํ ์ ์ ์กํฉ๋๋ค
- ๋ด์ฉ์ ๋ฑ๋ฒํธ์ ์ถ๋ ฅํ๊ธฐ ์ํด
PlayerManager
ํด๋์ค์giveAvatar()
๋ฅผ ํธ์ถํฉ๋๋ค
sendMsg(msg: String, target: Int, ...replace: Array<String>)
- ์ผ๋ฐ ๋ฉ์์ง๋ฅผ ์ถ๋ ฅํฉ๋๋ค
-
Notification
ํด๋์ค์announce()
๋ฅผ ํธ์ถํฉ๋๋ค
sendPrivateChat(toPlayer: Int, fromPlayer: Int, msg: String)
- ๊ฐ์ธ ์ฑํ ์ ์ ์กํฉ๋๋ค
- ์ธ๋ถ์์ ๋ถ๋ฌ์จ ๊ฒฝ์ฐ
sendAlert()
๋ฅผ ํธ์ถํฉ๋๋ค - ์ฑํ
ํํฐ๋ง ์๊ฒฉ๋์ ๋ฐ๋ผ
- 4๋จ๊ณ์์๋ ๋ด์ฉ์ ์จ๊ธด ์ฑ ์ ์กํฉ๋๋ค
- 5๋จ๊ณ์์๋ ๋ด์ฉ์ ์จ๊ธด ์ฑ ์ ์กํฉ๋๋ค
- ๊ธ์ง์ด ๊ฐ์ง๋ฅผ ์ํด
hasForbiddenWord()
๋ฅผ ํธ์ถํฉ๋๋ค
sendTeamChat(teamId: TeamID, player: Int, msg: String)
- ํ ์ฑํ ์ ์ ์กํฉ๋๋ค
- ๊ธ์ง์ด ๊ฐ์ง๋ฅผ ์ํด
hasForbiddenWord()
๋ฅผ ํธ์ถํฉ๋๋ค - ์ฑํ
ํํฐ๋ง ์๊ฒฉ๋์ ๋ฐ๋ผ
- 4๋จ๊ณ์์๋ ๋ด์ฉ์ ์จ๊ธด ์ฑ ์ ์กํฉ๋๋ค
- 5๋จ๊ณ์์๋ ๋ด์ฉ์ ์จ๊ธด ์ฑ ์ ์กํฉ๋๋ค
- ๊ธ์ง์ด๊ฐ ๊ฐ์ง๋ ๊ฒฝ์ฐ
Notification
ํด๋์ค์alretMsg()
๋ฅผ ํธ์ถํฉ๋๋ค
unfreezeChat(player: Int)
- ์ฑํ ์ ๋ น์ ๋๋ค
-
_isFreezeChat
์ ๊ฐ์ ์์ ํฉ๋๋ค -
freeze
ํ์ด๋จธ๋ฅผ ์ง์ฐ๊ธฐ ์ํดTimeManager
ํด๋์ค์clearTimerByName()
๋ฅผ ํธ์ถํฉ๋๋ค
- ์ฑํ ์์คํ ์ ์ฒ๋ฆฌํฉ๋๋ค
constructor(id: Int)
-
_id: Int
: ํ๋ ์ด์ด์ ๊ณต์ฉ ID๋ฅผ ์ ์ฅํฉ๋๋ค -
_str: String
: ์ ๋ ฅ๋ ๋ฌธ์์ด์ ์ ์ฅํฉ๋๋ค -
_timeList: Array<Int>
: ์ ๋ ฅ ์๊ฐ์ ์ ์ฅํฉ๋๋ค -
_time: Int
: ๋ง์ง๋ง์ผ๋ก ์ ๋ ฅํ ์๊ฐ์ ์ ์ฅํฉ๋๋ค -
_repeatedCount: Int
: ๋ฐ๋ณต ์ฑํ ๋์ ๊ฐ์ง๋์ ์ ์ฅํฉ๋๋ค -
_forbiddenWordCount: Int
: ๊ธ์ง์ด ๋์ ๊ฐ์ง๋์ ์ ์ฅํฉ๋๋ค
-
_forbiddenWordCount
์ ๊ฐ์ ๋ฐํํฉ๋๋ค
-
_repeatedCount
์ ๊ฐ์ ๋ฐํํฉ๋๋ค
set cntFwd(v: Int)
- ๊ธ์ง์ด ๋์ ๊ฐ์ง๋์ ๋ณ๊ฒฝํฉ๋๋ค
-
_forbiddenWordCount
์ ๊ฐ์ ์์ ํฉ๋๋ค
set cntRpt(v: Int)
- ๋ฐ๋ณต ์ฑํ ๊ฐ์ง๋์ ๋ณ๊ฒฝํฉ๋๋ค
-
_repeatedCount
์ ๊ฐ์ ์์ ํฉ๋๋ค
hasMutedChat(void)
- ํ๋ ์ด์ด์ ์ฑํ ๊ธ์ง ์ฌ๋ถ๋ฅผ ๋ฐํํฉ๋๋ค
-
Administration
ํด๋์ค์isMute()
๋ฅผ ํธ์ถํฉ๋๋ค
hasRepeatedChat(void)
- ๋ฐ๋ณต ์ฑํ ์ฌ๋ถ๋ฅผ ๋ฐํํฉ๋๋ค
- ๋ฐ๋ณต ์ฑํ
๊ฐ์ง๋์ด ๋ฏธ์ค์ ๋ผ ์๋ ๊ฒฝ์ฐ ๊ตฌ๋ฌธ์ ์ข
๋ฃํ๊ณ
false
์ ๊ฐ์ผ๋ก ๋ฐํํฉ๋๋ค - ์ฑํ
ํํฐ๋ง์ด ๋นํ์ฑํ ๋ผ ์๋ ๊ฒฝ์ฐ ๊ตฌ๋ฌธ์ ์ข
๋ฃํ๊ณ
false
์ ๊ฐ์ผ๋ก ๋ฐํํฉ๋๋ค - ๊ธ์ง์ด ๋ถ์ฐ ์ ๋ ฅ์ ๊ฐ์งํฉ๋๋ค
- ์ฑํ
๋ก๊ทธ ๋ฐ์ดํฐ๊ฐ ์ถฉ๋ถํ์ง ์์ผ๋ฉด ๊ตฌ๋ฌธ์ ์ข
๋ฃํ๊ณ
false
์ ๊ฐ์ผ๋ก ๋ฐํํฉ๋๋ค - ์ฐํ ๋ฌธ์๋ฅผ ์ ์ธํ ์ํ๋ฅผ ๊ธฐ์ค์ผ๋ก ์ฒ๋ฆฌํฉ๋๋ค
- ๋ด์ฉ๊ณผ ๋ฌด๊ดํ๊ฒ ์งง์ ์๊ฐ๋ด ์ฐ์์ ์ธ ์ฑํ ์ ๋ ฅ์ด ๊ฐ์ง๋๋ฉด ๋ฐ๋ณต ์ฑํ ์ผ๋ก ๊ฐ์ฃผํฉ๋๋ค
- ์ฑํ
ํํฐ๋ง ์๊ฒฉ๋์ ๋ฐ๋ผ
- 1๋จ๊ณ์์๋ ๋ณ๋๋ก ์ฒ๋ฆฌํ์ง ์์ต๋๋ค
- 2๋จ๊ณ์์๋ ๊ฐ์ง ๋ฉ์์ง๋ฅผ ์ถ๋ ฅํฉ๋๋ค
- 3๋จ๊ณ์์๋ ๊น ์ ํด์ฅํฉ๋๋ค
- 4๋จ๊ณ์์๋ ๊ฐ์ง ๋ฉ์์ง๋ฅผ ์ถ๋ ฅํ๊ณ ์ฑํ ์ 15์ด๊ฐ ๊ธ์งํฉ๋๋ค
- 5๋จ๊ณ์์๋ ์ฑํ ์ 30์ด๊ฐ ๊ธ์งํ๊ณ ๊ฐ์ ํด์ฅํฉ๋๋ค
- ๋ธ๋๋ฆฌ์คํธ์์๋ ํ ๋จ๊ณ ๋ ์๊ฒฉํ๊ฒ ์ฒ๋ฆฌํฉ๋๋ค
updateChatLog(msg: String, time: Int)
- ํ๋ ์ด์ด์ ์ฑํ ๋ก๊ทธ๋ฅผ ๊ฐฑ์ ํฉ๋๋ค
- ์ผ์ ์์ค ์ด์์ ๊ธฐ๋ก์ด ์์ฌ ์์ผ๋ฉด ๊ฐ์ฅ ์ค๋๋ ๊ธฐ๋ก๋ถํฐ ์ญ์ ํ๊ณ ์๋ก์ด ๊ธฐ๋ก์ ์ถ๊ฐํฉ๋๋ค
- ๋ช ๋ น์ด์ ๊ธฐ๋ฅ ์ํ์ ์ฒ๋ฆฌํฉ๋๋ค
constructor(maxMsgLength: Int)
-
_maxStringLength: Int
: ์ฑํ ๊ธ์ ์ ํ ์๋ฅผ ์ ์ฅํฉ๋๋ค
-
_maxStringLength
์ ๊ฐ์ ๋ฐํํฉ๋๋ค
set maxMsgLen(n: Int)
- ์ฑํ ๊ธ์ ์ ํ ์๋ฅผ ๋ณ๊ฒฝํฉ๋๋ค
- 15~255 ๋ฒ์ ์ธ ๊ฐ์ด๋ฉด ๊ตฌ๋ฌธ์ ์ข ๋ฃํฉ๋๋ค
-
_maxStringLength
์ ๊ฐ์ ์์ ํฉ๋๋ค
alertSpam(player: Int, msg: String, type: Int)
-
type
์ ๊ฐ์ด0
์ธ ๊ฒฝ์ฐ- ๋๋ฐฐ ๋ฐฉ์ง ๋ฌธ์๋ฅผ ์ถ๋ ฅํฉ๋๋ค
-
type
์ ๊ฐ์ด1
์ธ ๊ฒฝ์ฐ- ๊ถํ์ด ์๋ ๊ฒฝ์ฐ ๋ช ๋ น์ด ์ฌ์ฉ๋ฒ์ ์ ์กํฉ๋๋ค
- ๊ถํ์ด ์๋ ๊ฒฝ์ฐ
helpCom()
๋ฅผ ํธ์ถํฉ๋๋ค
comUpdateUniform(player: Int, msg: String, type: Int)
-
type
์ ๊ฐ์ด0
์ธ ๊ฒฝ์ฐ- ํ ์ ๋ํผ์ ๋ณ๊ฒฝํฉ๋๋ค
-
PlayerManager
ํด๋์ค์updateUniform()
๋ฅผ ํธ์ถํฉ๋๋ค
-
type
์ ๊ฐ์ด1
์ธ ๊ฒฝ์ฐ- ๋ช ๋ น์ด ์ฌ์ฉ๋ฒ์ ์ ์กํฉ๋๋ค
comAdminList(player: Int, msg: String, type: Int)
-
type
์ ๊ฐ์ด0
์ธ ๊ฒฝ์ฐ- ๊ด๋ฆฌ์ ๋ช ๋จ์ ์กฐํํฉ๋๋ค
-
Administration
ํด๋์ค์showAdminList()
๋ฅผ ํธ์ถํฉ๋๋ค
-
type
์ ๊ฐ์ด1
์ธ ๊ฒฝ์ฐ- ๋ช ๋ น์ด ์ฌ์ฉ๋ฒ์ ์ ์กํฉ๋๋ค
comAllChat(player: Int, msg: String, type: Int)
-
type
์ ๊ฐ์ด0
์ธ ๊ฒฝ์ฐ- ์ ์ฒด ์ฑํ ์ ์ ์กํฉ๋๋ค
-
ChatManager
ํด๋์ค์sendAllChat()
๋ฅผ ํธ์ถํฉ๋๋ค
-
type
์ ๊ฐ์ด1
์ธ ๊ฒฝ์ฐ- ๋ช ๋ น์ด ์ฌ์ฉ๋ฒ์ ์ ์กํฉ๋๋ค
comPrivateChat(player: Int, msg: String, type: Int)
-
type
์ ๊ฐ์ด0
์ธ ๊ฒฝ์ฐ- ๊ฐ์ธ ์ฑํ ์ ์ ์กํฉ๋๋ค
-
ChatManager
ํด๋์ค์sendPrivateChat()
๋ฅผ ํธ์ถํฉ๋๋ค
-
type
์ ๊ฐ์ด1
์ธ ๊ฒฝ์ฐ- ๋ช ๋ น์ด ์ฌ์ฉ๋ฒ์ ์ ์กํฉ๋๋ค
comTeamChat(player: Int, msg: String, type: Int)
-
type
์ ๊ฐ์ด0
์ธ ๊ฒฝ์ฐ- ํ ์ฑํ ์ ์ ์กํฉ๋๋ค
-
ChatManager
ํด๋์ค์sendTeamChat()
๋ฅผ ํธ์ถํฉ๋๋ค
-
type
์ ๊ฐ์ด1
์ธ ๊ฒฝ์ฐ- ๋ช ๋ น์ด ์ฌ์ฉ๋ฒ์ ์ ์กํฉ๋๋ค
comAfk(player: Int, msg: String, type: Int)
-
type
์ ๊ฐ์ด0
์ธ ๊ฒฝ์ฐ- ์ฅ๊ธฐ ๋ฌด์๋ต ํ๋ ์ด์ด ๋ช ๋จ์ ์ถ๊ฐํ๊ฑฐ๋ ์ ์ธํฉ๋๋ค
-
PlayerManager
ํด๋์ค์enableSleepMode()
๋ฅผ ํธ์ถํฉ๋๋ค
-
type
์ ๊ฐ์ด1
์ธ ๊ฒฝ์ฐ- ๋ช ๋ น์ด ์ฌ์ฉ๋ฒ์ ์ ์กํฉ๋๋ค
comAllowJoin(player: Int, msg: String, type: Int)
-
type
์ ๊ฐ์ด0
์ธ ๊ฒฝ์ฐ- ํ ์์จ ๊ต์ฒด๋ฅผ ํ์ฉํ๊ฑฐ๋ ๊ธ์งํฉ๋๋ค
-
_isAllowTeamSwitch
์ ๊ฐ์ ์์ ํฉ๋๋ค
-
type
์ ๊ฐ์ด1
์ธ ๊ฒฝ์ฐ- ๋ช ๋ น์ด ์ฌ์ฉ๋ฒ์ ์ ์กํฉ๋๋ค
comAvatar(player: Int, msg: String, type: Int)
-
type
์ ๊ฐ์ด0
์ธ ๊ฒฝ์ฐ- ํ๋ ์ด์ด์ ๋ฑ๋ฒํธ๋ฅผ ๋ณ๊ฒฝํฉ๋๋ค
-
PlayerManager
ํด๋์ค์giveAvatar()
๋ฅผ ํธ์ถํฉ๋๋ค
-
type
์ ๊ฐ์ด1
์ธ ๊ฒฝ์ฐ- ๋ช ๋ น์ด ์ฌ์ฉ๋ฒ์ ์ ์กํฉ๋๋ค
comChatMode(player: Int, msg: String, type: Int)
-
type
์ ๊ฐ์ด0
์ธ ๊ฒฝ์ฐ- ํ๋ ์ด์ด์ ๊ธฐ๋ณธ ์ฑํ ๋ชจ๋๋ฅผ ๋ณ๊ฒฝํฉ๋๋ค
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐฑ์ ์ ์ํด
PlayerManager
ํด๋์ค์findPlayerById()
๋ฅผ ํธ์ถํฉ๋๋ค
-
type
์ ๊ฐ์ด1
์ธ ๊ฒฝ์ฐ- ๋ช ๋ น์ด ์ฌ์ฉ๋ฒ์ ์ ์กํฉ๋๋ค
comClearBans(player: Int, msg: String, type: Int)
-
type
์ ๊ฐ์ด0
์ธ ๊ฒฝ์ฐ- ์๊ตฌ ํด์ฅ ๋ช ๋จ์ ๋ชจ๋ ์ง์๋๋ค
- ๊ถํ์ด ์๋ ๊ฒฝ์ฐ
Administration
ํด๋์ค์clearBans()
๋ฅผ ํธ์ถํฉ๋๋ค
-
type
์ ๊ฐ์ด1
์ธ ๊ฒฝ์ฐ- ๋ช ๋ น์ด ์ฌ์ฉ๋ฒ์ ์ ์กํฉ๋๋ค
comClearPassword(player: Int, msg: String, type: Int)
-
type
์ ๊ฐ์ด0
์ธ ๊ฒฝ์ฐ- ๋น๋ฐ๋ฒํธ๋ฅผ ํด์ ํฉ๋๋ค
- ๊ถํ์ด ์๋ ๊ฒฝ์ฐ
Administration
ํด๋์ค์clearPassword()
๋ฅผ ํธ์ถํฉ๋๋ค
-
type
์ ๊ฐ์ด1
์ธ ๊ฒฝ์ฐ- ๋ช ๋ น์ด ์ฌ์ฉ๋ฒ์ ์ ์กํฉ๋๋ค
comClearUniform(player: Int, msg: String, type: Int)
-
type
์ ๊ฐ์ด0
์ธ ๊ฒฝ์ฐ- ํ ์ ๋ํผ์ ์๋๋๋ก ๋๋ฆฝ๋๋ค
-
PlayerManager
ํด๋์ค์clearUniform()
๋ฅผ ํธ์ถํฉ๋๋ค
-
type
์ ๊ฐ์ด1
์ธ ๊ฒฝ์ฐ- ๋ช ๋ น์ด ์ฌ์ฉ๋ฒ์ ์ ์กํฉ๋๋ค
comFreezeChat(player: Int, msg: String, type: Int)
-
type
์ ๊ฐ์ด0
์ธ ๊ฒฝ์ฐ- ์ฑํ ์ ์ผ๋ฆฌ๊ฑฐ๋ ๋ น์ ๋๋ค
- ๊ถํ์ด ์๋ ๊ฒฝ์ฐ
ChatManager
ํด๋์ค์freezeChat()
๋ฅผ ํธ์ถํฉ๋๋ค
-
type
์ ๊ฐ์ด1
์ธ ๊ฒฝ์ฐ- ๋ช ๋ น์ด ์ฌ์ฉ๋ฒ์ ์ ์กํฉ๋๋ค
comJoin(player: Int, msg: String, type: Int)
-
type
์ ๊ฐ์ด0
์ธ ๊ฒฝ์ฐ- ํ๋ ์ด์ด๋ฅผ ๊ฒฝ๊ธฐ์ ํฌ์ ํ๊ฑฐ๋ ํ์ ๊ต์ฒดํฉ๋๋ค
-
joinPlayer()
๋ฅผ ํธ์ถํฉ๋๋ค
-
type
์ ๊ฐ์ด1
์ธ ๊ฒฝ์ฐ- ๋ช ๋ น์ด ์ฌ์ฉ๋ฒ์ ์ ์กํฉ๋๋ค
comKick(player: Int, msg: String, type: Int)
-
type
์ ๊ฐ์ด0
์ธ ๊ฒฝ์ฐ- ํน์ ํ๋ ์ด์ด๋ฅผ ๊ฐ์ ํด์ฅํฉ๋๋ค
- ๊ถํ์ด ์๋ ๊ฒฝ์ฐ ๊ตฌ๋ฌธ์ ์ข ๋ฃํฉ๋๋ค
-
#ID
๋ฅผ ํ๋ณํ๊ธฐ ์ํดGameManager
ํด๋์ค์checkPublicId()
๋ฅผ ํธ์ถํฉ๋๋ค - ์ง๋ชฉ ๋์์ด ์ด๋ฏธ ํด์ฅํ ๊ฒฝ์ฐ ๊ตฌ๋ฌธ์ ์ข ๋ฃํฉ๋๋ค
- ์ง๋ชฉ ๋์๋ณด๋ค ๊ถํ์ด ๋ฎ์ ๊ฒฝ์ฐ ๊ตฌ๋ฌธ์ ์ข ๋ฃํฉ๋๋ค
- ๋ชจ๋ ๊ตฌ๋ฌธ์ด ์จ์ ํ๊ฒ ์งํ๋์์ผ๋ฉด
Administration
ํด๋์ค์kickPlayer()
๋ฅผ ํธ์ถํฉ๋๋ค
-
type
์ ๊ฐ์ด1
์ธ ๊ฒฝ์ฐ- ๋ช ๋ น์ด ์ฌ์ฉ๋ฒ์ ์ ์กํฉ๋๋ค
comLockPrivateChat(player: Int, msg: String, type: Int)
-
type
์ ๊ฐ์ด0
์ธ ๊ฒฝ์ฐ- ๊ฐ์ธ ์ฑํ ์ ๊ธ์งํ๊ฑฐ๋ ํ์ฉํฉ๋๋ค
- ๊ถํ์ด ์๋ ๊ฒฝ์ฐ
ChatManager
ํด๋์ค์lockPrivateChat()
๋ฅผ ํธ์ถํฉ๋๋ค
-
type
์ ๊ฐ์ด1
์ธ ๊ฒฝ์ฐ- ๋ช ๋ น์ด ์ฌ์ฉ๋ฒ์ ์ ์กํฉ๋๋ค
comMute(player: Int, msg: String, type: Int)
-
type
์ ๊ฐ์ด0
์ธ ๊ฒฝ์ฐ- ํน์ ํ๋ ์ด์ด์ ์ฑํ ์ ๊ธ์งํฉ๋๋ค
- ๊ถํ์ด ์๋ ๊ฒฝ์ฐ
Administration
ํด๋์ค์mutePlayer()
๋ฅผ ํธ์ถํฉ๋๋ค
-
type
์ ๊ฐ์ด1
์ธ ๊ฒฝ์ฐ- ๋ช ๋ น์ด ์ฌ์ฉ๋ฒ์ ์ ์กํฉ๋๋ค
comMutedList(player: Int, msg: String, type: Int)
-
type
์ ๊ฐ์ด0
์ธ ๊ฒฝ์ฐ- ์ฑํ ๊ธ์ง ๋ช ๋จ์ ์กฐํํฉ๋๋ค
-
PlayerManager
ํด๋์ค์showMutedList()
๋ฅผ ํธ์ถํฉ๋๋ค
-
type
์ ๊ฐ์ด1
์ธ ๊ฒฝ์ฐ- ๋ช ๋ น์ด ์ฌ์ฉ๋ฒ์ ์ ์กํฉ๋๋ค
comPinHost(player: Int, msg: String, type: Int)
- ํธ์คํธ๊ฐ ๋นํ์ฑํ ๋ผ ์๋ ๊ฒฝ์ฐ ๊ตฌ๋ฌธ์ ์ข ๋ฃํฉ๋๋ค
-
type
์ ๊ฐ์ด0
์ธ ๊ฒฝ์ฐ- ํธ์คํธ์ ํ ์ด๋์ ํ์ฉํ๊ฑฐ๋ ์ ํํฉ๋๋ค
- ๊ถํ์ด ์๋ ๊ฒฝ์ฐ
Administration
ํด๋์ค์enablePinHost()
๋ฅผ ํธ์ถํฉ๋๋ค
-
type
์ ๊ฐ์ด1
์ธ ๊ฒฝ์ฐ- ๋ช ๋ น์ด ์ฌ์ฉ๋ฒ์ ์ ์กํฉ๋๋ค
comRecaptcha(player: Int, msg: String, type: Int)
-
type
์ ๊ฐ์ด0
์ธ ๊ฒฝ์ฐ- reCAPTCHA๋ฅผ ํ์ฑํ ํ๊ฑฐ๋ ๋นํ์ฑํ ํฉ๋๋ค
- ๊ถํ์ด ์๋ ๊ฒฝ์ฐ
GameSystem
ํด๋์ค์enableRecaptcha()
๋ฅผ ํธ์ถํฉ๋๋ค
-
type
์ ๊ฐ์ด1
์ธ ๊ฒฝ์ฐ- ๋ช ๋ น์ด ์ฌ์ฉ๋ฒ์ ์ ์กํฉ๋๋ค
comRecording(player: Int, msg: String, type: Int)
-
type
์ ๊ฐ์ด0
์ธ ๊ฒฝ์ฐ- ๋ นํ๋ฅผ ์์ํ๊ฑฐ๋ ์ข ๋ฃํฉ๋๋ค
- ์ต๊ณ ๊ถํ์ด ์๋ ๊ฒฝ์ฐ
GameManager
ํด๋์ค์stopRecording()
๋๋startRecording()
๋ฅผ ํธ์ถํฉ๋๋ค
-
type
์ ๊ฐ์ด1
์ธ ๊ฒฝ์ฐ- ๋ช ๋ น์ด ์ฌ์ฉ๋ฒ์ ์ ์กํฉ๋๋ค
comResetAvatar(player: Int, msg: String, type: Int)
-
type
์ ๊ฐ์ด0
์ธ ๊ฒฝ์ฐ- ํ๋ ์ด์ด์ ๋ฑ๋ฒํธ๋ฅผ ์๋๋๋ก ๋๋ฆฝ๋๋ค
-
PlayerManager
ํด๋์ค์resetAvatar()
๋ฅผ ํธ์ถํฉ๋๋ค
-
type
์ ๊ฐ์ด1
์ธ ๊ฒฝ์ฐ- ๋ช ๋ น์ด ์ฌ์ฉ๋ฒ์ ์ ์กํฉ๋๋ค
comResetGame(player: Int, msg: String, type: Int)
-
type
์ ๊ฐ์ด0
์ธ ๊ฒฝ์ฐ- ๊ฒฝ๊ธฐ๋ฅผ ์ฌ์์ํฉ๋๋ค
- ๊ถํ์ด ์๋ ๊ฒฝ์ฐ
Administration
ํด๋์ค์resetGame()
๋ฅผ ํธ์ถํฉ๋๋ค
-
type
์ ๊ฐ์ด1
์ธ ๊ฒฝ์ฐ- ๋ช ๋ น์ด ์ฌ์ฉ๋ฒ์ ์ ์กํฉ๋๋ค
comSetPassword(player: Int, msg: String, type: Int)
-
type
์ ๊ฐ์ด0
์ธ ๊ฒฝ์ฐ- ๋น๋ฐ๋ฒํธ๋ฅผ ์ง์ ํฉ๋๋ค
- ๊ถํ์ด ์๋ ๊ฒฝ์ฐ ๊ตฌ๋ฌธ์ ์ข ๋ฃํฉ๋๋ค
- ๋น๋ฐ๋ฒํธ ๊ณ ์ ์ฅ์น๊ฐ ํ์ฑํ ๋ผ ์๋ ๊ฒฝ์ฐ ๊ตฌ๋ฌธ์ ์ข ๋ฃํฉ๋๋ค
- 4~30 ๋ฒ์ ์ธ ๊ฐ์ด๋ฉด ๊ตฌ๋ฌธ์ ์ข ๋ฃํฉ๋๋ค
-
type
์ ๊ฐ์ด1
์ธ ๊ฒฝ์ฐ- ๋ช ๋ น์ด ์ฌ์ฉ๋ฒ์ ์ ์กํฉ๋๋ค
comSetScore(player: Int, msg: String, type: Int)
-
type
์ ๊ฐ์ด0
์ธ ๊ฒฝ์ฐ- ๋ค์ ๊ฒฝ๊ธฐ์ ์ ํ ์ ์๋ฅผ ๋ณ๊ฒฝํฉ๋๋ค
- ๊ถํ์ด ์๋ ๊ฒฝ์ฐ
Administration
ํด๋์ค์limitScore()
๋ฅผ ํธ์ถํฉ๋๋ค
-
type
์ ๊ฐ์ด1
์ธ ๊ฒฝ์ฐ- ๋ช ๋ น์ด ์ฌ์ฉ๋ฒ์ ์ ์กํฉ๋๋ค
comSetTime(player: Int, msg: String, type: Int)
-
type
์ ๊ฐ์ด0
์ธ ๊ฒฝ์ฐ- ๋ค์ ๊ฒฝ๊ธฐ์ ์ ํ ์๊ฐ์ ๋ณ๊ฒฝํฉ๋๋ค
- ๊ถํ์ด ์๋ ๊ฒฝ์ฐ
Administration
ํด๋์ค์limitTime()
๋ฅผ ํธ์ถํฉ๋๋ค
-
type
์ ๊ฐ์ด1
์ธ ๊ฒฝ์ฐ- ๋ช ๋ น์ด ์ฌ์ฉ๋ฒ์ ์ ์กํฉ๋๋ค
comShowPassword(player: Int, msg: String, type: Int)
-
type
์ ๊ฐ์ด0
์ธ ๊ฒฝ์ฐ- ํ์ฌ ์ค์ ๋ ๋น๋ฐ๋ฒํธ๋ฅผ ์กฐํํฉ๋๋ค
- ๊ถํ์ด ์๋ ๊ฒฝ์ฐ
Administration
ํด๋์ค์showPassword()
๋ฅผ ํธ์ถํฉ๋๋ค
-
type
์ ๊ฐ์ด1
์ธ ๊ฒฝ์ฐ- ๋ช ๋ น์ด ์ฌ์ฉ๋ฒ์ ์ ์กํฉ๋๋ค
comSleepList(player: Int, msg: String, type: Int)
-
type
์ ๊ฐ์ด0
์ธ ๊ฒฝ์ฐ- ์ฅ๊ธฐ ๋๊ธฐ์ด ๋ช ๋จ์ ์กฐํํฉ๋๋ค
-
PlayerManager
ํด๋์ค์showSleepList()
๋ฅผ ํธ์ถํฉ๋๋ค
-
type
์ ๊ฐ์ด1
์ธ ๊ฒฝ์ฐ- ๋ช ๋ น์ด ์ฌ์ฉ๋ฒ์ ์ ์กํฉ๋๋ค
comSwapGame(player: Int, msg: String, type: Int)
-
type
์ ๊ฐ์ด0
์ธ ๊ฒฝ์ฐ- ๊ฒฝ๊ธฐ๋ฅผ ์์ํ๊ฑฐ๋ ์ข ๋ฃํฉ๋๋ค
- ๊ถํ์ด ์๋ ๊ฒฝ์ฐ
Administration
ํด๋์ค์swapGame()
๋ฅผ ํธ์ถํฉ๋๋ค
-
type
์ ๊ฐ์ด1
์ธ ๊ฒฝ์ฐ- ๋ช ๋ น์ด ์ฌ์ฉ๋ฒ์ ์ ์กํฉ๋๋ค
comUnfreezeChat(player: Int, msg: String, type: Int)
-
type
์ ๊ฐ์ด0
์ธ ๊ฒฝ์ฐ- ์ฑํ ์ ๋ น์ ๋๋ค
- ๊ถํ์ด ์๋ ๊ฒฝ์ฐ
ChatManager
ํด๋์ค์unfreezeChat()
๋ฅผ ํธ์ถํฉ๋๋ค
-
type
์ ๊ฐ์ด1
์ธ ๊ฒฝ์ฐ- ๋ช ๋ น์ด ์ฌ์ฉ๋ฒ์ ์ ์กํฉ๋๋ค
comUnmute(player: Int, msg: String, type: Int)
-
type
์ ๊ฐ์ด0
์ธ ๊ฒฝ์ฐ- ๊ธ์ง๋ ํ๋ ์ด์ด์ ์ฑํ ์ ํ์ฉํฉ๋๋ค
- ๊ถํ์ด ์๋ ๊ฒฝ์ฐ ๊ตฌ๋ฌธ์ ์ข ๋ฃํฉ๋๋ค
-
msg
์ ๊ฐ์ด"all"
์ธ ๊ฒฝ์ฐAdministration
ํด๋์ค์clearMutedList()
๋ฅผ ํธ์ถํ๊ณ ๊ตฌ๋ฌธ์ ์ข ๋ฃํฉ๋๋ค - ๋ชจ๋ ๊ตฌ๋ฌธ์ด ์จ์ ํ๊ฒ ์งํ๋์์ผ๋ฉด
Administration
ํด๋์ค์unmutePlayer()
๋ฅผ ํธ์ถํฉ๋๋ค
-
type
์ ๊ฐ์ด1
์ธ ๊ฒฝ์ฐ- ๋ช ๋ น์ด ์ฌ์ฉ๋ฒ์ ์ ์กํฉ๋๋ค
helpBot(player: Int, msg: String, type: Int)
-
type
์ ๊ฐ์ด0
์ด์ธ์ ๊ฐ์ด๋ฉด ๊ตฌ๋ฌธ์ ์ข ๋ฃํฉ๋๋ค - ์๋ฒ ๋์๋ง์ ์ ์กํฉ๋๋ค
-
ChatManager
ํด๋์ค์showHelpCommandList()
๋ฅผ ์ ์กํฉ๋๋ค
helpChat(player: Int, msg: String, type: Int)
-
type
์ ๊ฐ์ด0
์ด์ธ์ ๊ฐ์ด๋ฉด ๊ตฌ๋ฌธ์ ์ข ๋ฃํฉ๋๋ค - ์ฑํ ๋์๋ง์ ์ ์กํฉ๋๋ค
-
ChatManager
ํด๋์ค์showHelpCommandList()
๋ฅผ ์ ์กํฉ๋๋ค
helpCom(player: Int, msg: String, type: Int)
-
type
์ ๊ฐ์ด0
์ด์ธ์ ๊ฐ์ด๋ฉด ๊ตฌ๋ฌธ์ ์ข ๋ฃํฉ๋๋ค - ๋ช ๋ น์ด ๋์๋ง์ ์ ์กํฉ๋๋ค
-
ChatManager
ํด๋์ค์showHelpCommandList()
๋ฅผ ์ ์กํฉ๋๋ค
helpJoin(player: Int, msg: String, type: Int)
-
type
์ ๊ฐ์ด0
์ด์ธ์ ๊ฐ์ด๋ฉด ๊ตฌ๋ฌธ์ ์ข ๋ฃํฉ๋๋ค - ์ฐธ๊ฐ ๋์๋ง์ ์ ์กํฉ๋๋ค
-
ChatManager
ํด๋์ค์showHelpCommandList()
๋ฅผ ์ ์กํฉ๋๋ค
helpMap(player: Int, msg: String, type: Int)
-
type
์ ๊ฐ์ด0
์ด์ธ์ ๊ฐ์ด๋ฉด ๊ตฌ๋ฌธ์ ์ข ๋ฃํฉ๋๋ค - ๊ฒฝ๊ธฐ์ฅ ๋์๋ง์ ์ ์กํฉ๋๋ค
-
ChatManager
ํด๋์ค์showHelpCommandList()
๋ฅผ ์ ์กํฉ๋๋ค
helpMisc(player: Int, msg: String, type: Int)
-
type
์ ๊ฐ์ด0
์ด์ธ์ ๊ฐ์ด๋ฉด ๊ตฌ๋ฌธ์ ์ข ๋ฃํฉ๋๋ค - ๊ธฐํ ๋์๋ง์ ์ ์กํฉ๋๋ค
-
ChatManager
ํด๋์ค์showHelpCommandList()
๋ฅผ ์ ์กํฉ๋๋ค
helpRank(player: Int, msg: String, type: Int)
-
type
์ ๊ฐ์ด0
์ด์ธ์ ๊ฐ์ด๋ฉด ๊ตฌ๋ฌธ์ ์ข ๋ฃํฉ๋๋ค - ๋ญํฌ ๋์๋ง์ ์ ์กํฉ๋๋ค
-
ChatManager
ํด๋์ค์showHelpCommandList()
๋ฅผ ์ ์กํฉ๋๋ค
helpScore(player: Int, msg: String, type: Int)
-
type
์ ๊ฐ์ด0
์ด์ธ์ ๊ฐ์ด๋ฉด ๊ตฌ๋ฌธ์ ์ข ๋ฃํฉ๋๋ค - ์ ์ ๋์๋ง์ ์ ์กํฉ๋๋ค
-
ChatManager
ํด๋์ค์showHelpCommandList()
๋ฅผ ์ ์กํฉ๋๋ค
infoLink(player: Int, msg: String, type: Int)
-
type
์ ๊ฐ์ด0
์ธ ๊ฒฝ์ฐ- ์๋ฒ ์ฃผ์๋ฅผ ๋ฉ์์ง๋ก ์ ์กํฉ๋๋ค
-
type
์ ๊ฐ์ด1
์ธ ๊ฒฝ์ฐ-
infoRoom()
๋ฅผ ํธ์ถํฉ๋๋ค
-
infoMaps(player: Int, msg: String, type: Int)
-
type
์ ๊ฐ์ด0
์ธ ๊ฒฝ์ฐ- ๊ฒฝ๊ธฐ์ฅ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์กฐํํฉ๋๋ค
-
GameManager
ํด๋์ค์findStadiumNameList()
๋ฅผ ํธ์ถํฉ๋๋ค
-
type
์ ๊ฐ์ด1
์ธ ๊ฒฝ์ฐ- ๋ช ๋ น์ด ์ฌ์ฉ๋ฒ์ ์ ์กํฉ๋๋ค
infoRanking(player: Int, msg: String, type: Int)
-
type
์ ๊ฐ์ด0
์ธ ๊ฒฝ์ฐ- ํ๋ ์ด์ด์ ๋ญํน ์ ๋ณด๋ฅผ ๋ฉ์์ง๋ก ์ ์กํฉ๋๋ค
-
#ID
๋ฅผ ํ๋ณํ๊ธฐ ์ํดGameManager
ํด๋์ค์checkPublicId()
๋ฅผ ํธ์ถํฉ๋๋ค - ํ๋ ์ด์ด์ ์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ตฌํ๊ธฐ ์ํด
ScoreManager
ํด๋์ค์findRankListByGrade()
๋ฅผ ํธ์ถํฉ๋๋ค -
ScoreManager
ํด๋์ค์sendRanking()
๋ฅผ ํธ์ถํฉ๋๋ค
-
type
์ ๊ฐ์ด1
์ธ ๊ฒฝ์ฐ- ๋ญํน ์ธก์ ๋ฐฉ์์ ๋ฉ์์ง๋ก ์ ์กํฉ๋๋ค
infoRoom(player: Int, msg: String, type: Int)
-
type
์ ๊ฐ์ด0
์ธ ๊ฒฝ์ฐ- ์๋ฒ ์ ๋ณด๋ฅผ ๋ฉ์์ง๋ก ์ ์กํฉ๋๋ค
-
GameSystem
ํด๋์ค์_releaseDate
๋ฐfindInfo()
๋ฅผ ํธ์ถํฉ๋๋ค
-
type
์ ๊ฐ์ด1
์ธ ๊ฒฝ์ฐ-
infoLink()
๋ฅผ ํธ์ถํฉ๋๋ค
-
infoStats(player: Int, msg: String, type: Int)
-
type
์ ๊ฐ์ด0
์ธ ๊ฒฝ์ฐ- ํ๋ ์ด์ด์ ์ ์ ์ ๋ณด๋ฅผ ๋ฉ์์ง๋ก ์ ์กํฉ๋๋ค
- ํ๋ ์ด์ด์ ์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ตฌํ๊ธฐ ์ํด
ScoreManager
ํด๋์ค์findRankListByPlayer()
๋ฅผ ํธ์ถํฉ๋๋ค
-
type
์ ๊ฐ์ด1
์ธ ๊ฒฝ์ฐ-
helpScore()
๋ฅผ ํธ์ถํฉ๋๋ค
-
joinPlayer(player: Int, msg: String)
- ํ๋ ์ด์ด์ ํ์ ๊ต์ฒดํฉ๋๋ค
- ํ ์์จ ๊ต์ฒด๊ฐ ๊ธ์ง๋ ๊ฒฝ์ฐ ๊ตฌ๋ฌธ์ ์ข ๋ฃํฉ๋๋ค
- ํ๋ ์ด์ด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ตฌํ๊ธฐ ์ํด
PlayerManager
ํด๋์ค์findPlayerById()
๋ฅผ ํธ์ถํฉ๋๋ค -
#ID
๋ฅผ ํ๋ณํ๊ธฐ ์ํดGameManager
ํด๋์ค์checkPublicId()
๋ฅผ ํธ์ถํฉ๋๋ค - ์
๋ ฅํ ๋ฌธ์์ด์ ๋ฐ๋ผ
comAllowJoin()
๋ฅผ ํธ์ถํฉ๋๋ค - ์ง๋ชฉ ๋์์ด ์ฅ๊ธฐ ๋๊ธฐ์ด ๋ช ๋จ์ ํฌํจ๋ ๊ฒฝ์ฐ ๊ตฌ๋ฌธ์ ์ข ๋ฃํฉ๋๋ค
- ๋ชจ๋ ๊ตฌ๋ฌธ์ด ์จ์ ํ๊ฒ ์งํ๋์์ผ๋ฉด
PlayerManager
ํด๋์ค์moveTeam()
๋ฅผ ํธ์ถํฉ๋๋ค
loadMap(player: Int, msg: String, type: Int)
-
type
์ ๊ฐ์ด0
์ธ ๊ฒฝ์ฐ- ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ด์์ ๊ฒฝ๊ธฐ์ฅ์ ๊ต์ฒดํฉ๋๋ค
- ๊ถํ์ด ์๋ ๊ฒฝ์ฐ
GameManager
ํด๋์ค์loadMap()
๋ฅผ ํธ์ถํฉ๋๋ค
-
type
์ ๊ฐ์ด1
์ธ ๊ฒฝ์ฐ- ๋ช ๋ น์ด ์ฌ์ฉ๋ฒ์ ์ ์กํฉ๋๋ค
- ํ๋ ์ด์ด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ๋ฐ์ ์ผ๋ก ์ ์ดํฉ๋๋ค
-
_playerList: Array<PlayerSystem>
: ํ๋ ์ด์ด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ์ฅํฉ๋๋ค
onPlayerActivity(player: PlayerObject)
- ํ๋ ์ด์ด์ ํค ์ ๋ ฅ์ด ๊ฐ์ง๋๋ฉด ํธ์ถํฉ๋๋ค
- ํ๋ ์๊ฐ์ ๊ฐฑ์ ํ๊ธฐ ์ํด
updateTime()
๋ฅผ ํธ์ถํฉ๋๋ค - ์ ๋ํ๊ณ ์๋ ๊ฒฝ์ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ถ๊ฐ๋ฅผ ์ํด
ScoreManager
ํด๋์ค์addTouchedList()
๋ฅผ ํธ์ถํฉ๋๋ค
onPlayerInactivity(player: Int)
- ํ๋ ์ด์ด์ ์๋ต์ด ์๋ ๊ฒฝ์ฐ ํธ์ถํฉ๋๋ค
-
afk
ํ์ด๋จธ๊ฐ ์ด ๋ฉ์๋๋ฅผ ํธ์ถํฉ๋๋ค - ๋ฐ๋ชจ ๋ชจ๋๊ฐ ํ์ฑํ ๋ผ ์๋ ๊ฒฝ์ฐ ๊ตฌ๋ฌธ์ ์ข ๋ฃํฉ๋๋ค
- ๋ชจ๋ ๊ตฌ๋ฌธ์ด ์จ์ ํ๊ฒ ์งํ๋์์ผ๋ฉด
Administration
ํด๋์ค์kickPlayer()
๋ฅผ ํธ์ถํฉ๋๋ค
onPlayerTeamChange(player: PlayerObject, byPlayer: PlayerObject)
- ํ๋ ์ด์ด์ ํ์ด ๋ณ๊ฒฝ๋๋ฉด ํธ์ถํฉ๋๋ค
- ํธ์คํธ ํ ์ด๋์ด ์ ํ๋ผ ์๊ณ ๋์์ด ํธ์คํธ์ด๋ฉด ๊ตฌ๋ฌธ์ ์ข ๋ฃํฉ๋๋ค
- ์ฅ๊ธฐ ๋๊ธฐ์ด ๋ช ๋จ์ ํฌํจ๋ ๊ฒฝ์ฐ ๊ด์ ์์ผ๋ก ์ด๋ํฉ๋๋ค
- GUI์ ๋ช
๋จ์ ๊ฐฑ์ ํ๊ธฐ ์ํด
GameSystem
ํด๋์ค์clearListIndex()
๋ฐaddListIndex()
๋ฅผ ํธ์ถํฉ๋๋ค -
goal
ํ์ด๋จธ๋ฅผ ์ง์ฐ๊ธฐ ์ํดTimeManager
ํด๋์ค์clearTimerByName()
๋ฅผ ํธ์ถํฉ๋๋ค - ํ๋ ์๊ฐ์ ๊ฐฑ์ ํ๊ธฐ ์ํด
PlayerManager
ํด๋์ค์updateTime()
๋ฅผ ํธ์ถํฉ๋๋ค - GUI ๊ฐฑ์ ์ ์ํด
GameSystem
ํด๋์ค์updateWebGUI()
๋ฅผ ํธ์ถํฉ๋๋ค
initPlayerList(player: PlayerObject)
- ํ๋ ์ด์ด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ด๊ธฐํ ํฉ๋๋ค
- ์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ด๊ธฐํ๋ฅผ ์ํด
ScoreManager
ํด๋์ค์initRankList()
๋ฅผ ํธ์ถํฉ๋๋ค - ์ฑํ
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ด๊ธฐํ๋ฅผ ์ํด
ChatManager
ํด๋์ค์initPlayerList()
๋ฅผ ํธ์ถํฉ๋๋ค -
PlayerSystem
ํด๋์ค๋ฅผ ํธ์ถํ๊ณ_playerList
์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ถ๊ฐํฉ๋๋ค
isAfkPlayer(player: Int, time: Int)
- ํ๋ ์ด์ด์ ์ฅ๊ธฐ ๋ฌด์๋ต ์ฌ๋ถ๋ฅผ ๋ฐํํฉ๋๋ค
isValid(target: PlayerObject || PlayerSystem, includeHost: Bool)
- ์ ํจ ํ๋ ์ด์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฌ๋ถ๋ฅผ ๋ฐํํฉ๋๋ค
hasCommonRange(player: Int, ball: Int, range: Float)
- ํ๋ ์ด์ด์ ๊ณต ์ฌ์ด์ ์ถฉ๋ ์ฌ๋ถ๋ฅผ ๋ฐํํฉ๋๋ค
findDiscProp(target: Int)
- ํ๋ ์ด์ด์ ๋์คํฌ ์์ฑ์ ๋ฐํํฉ๋๋ค
findLocalId(publicId: Int)
- ํ๋ ์ด์ด์ ๊ฐ์ธ ID๋ฅผ ๋ฐํํฉ๋๋ค
findPlayerList(isPublic: Bool)
- ํ๋ ์ด์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ช
๋จ์
isPublic
์ ๊ฐ์ ๋ฐ๋ผ ์ ์์ ํน์ ๋ชจ๋ ๊ธฐ๋ก์ ๋ฐํํฉ๋๋ค
findPlayerListByTeam(team: TeamID)
- ํน์ ํ ID๋ฅผ ๊ฐ์ง ํ๋ ์ด์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ช ๋จ์ ๋ฐํํฉ๋๋ค
findPlayerById(target: Int)
- ํน์ ๊ณต์ฉ ID๋ฅผ ๊ฐ์ง ํ๋ ์ด์ด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ฐํํฉ๋๋ค
findTagGrade(player: Int)
- ํ๋ ์ด์ด์ ๊ถํ ๋งํฌ๋ฅผ ๋ฐํํฉ๋๋ค
findTagTeam(team: TeamID)
- ํ๋ ์ด์ด์ ํ ๋งํฌ๋ฅผ ๋ฐํํฉ๋๋ค
addSleepPlayer(player: Int)
- ํ๋ ์ด์ด๋ฅผ ์ฅ๊ธฐ ๋๊ธฐ์ด ๋ช ๋จ์ ์ถ๊ฐํฉ๋๋ค
updateAccount(player: Int)
- ํ๋ ์ด์ด์ ๊ณ์ ์ ๊ฐฑ์ ํฉ๋๋ค
- ์ค๋ณต ๊ณ์ ์ด ์กด์ฌํ์ง ์๋ ๊ฒฝ์ฐ ๊ตฌ๋ฌธ์ ์ข
๋ฃํ๊ณ
false
์ ๊ฐ์ ๋ฐํํฉ๋๋ค
for(const [k, v] of Object.entries(oldPlayer)){
if(!["id", "name", "team", "admin", "time", "network", "address",
"isSleep", "detector"
].includes(k.replace('_', ''))) newPlayer[k] = v;
}
- ์ผ๋ถ ํญ๋ชฉ์ ์ ์ธํ ๋ชจ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ๊ท ๊ณ์ ์ ๋๊ธฐํ ํฉ๋๋ค
- ์ด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ต๊ณ ๊ถํ์ด ์๊ณ ์ ์์ ์ค์ ๊ด๋ฆฌ์๊ฐ ์๋ ๊ฒฝ์ฐ ๊ถํ์ ๋ถ์ฌํฉ๋๋ค
- ์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฐฑ์ ์ ์ํด
ScoreManager
ํด๋์ค์updateAccount()
๋ฅผ ํธ์ถํฉ๋๋ค - ๋ชจ๋ ๊ตฌ๋ฌธ์ด ์จ์ ํ๊ฒ ์งํ๋์์ผ๋ฉด
true
์ ๊ฐ์ผ๋ก ๋ฐํํฉ๋๋ค
updateTime(player: Int)
- ํ๋ ์ด์ด์ ์๋ต ์๊ฐ์ ๊ฐฑ์ ํฉ๋๋ค
-
afkTimer
,afkAvatar
,afkCheck
ํ์ด๋จธ๋ฅผ ์ง์ฐ๊ธฐ ์ํดTimeManager
ํด๋์ค์clearTimerByName()
๋ฅผ ํธ์ถํฉ๋๋ค - ์ฅ๊ธฐ ๋ฌด์๋ต ํ์ ์๊ฐ์ด ์ ํจํ์ง ์๋ ๊ฒฝ์ฐ ๊ตฌ๋ฌธ์ ์ข ๋ฃํฉ๋๋ค
- ํ์ ๋ฉ์์ง๋ฅผ ์ ์กํ๋
afkCheck
ํ์ด๋จธ๋ฅผ ์์ฑํ๊ธฐ ์ํดTimeManager
ํด๋์ค์addTimer()
๋ฅผ ํธ์ถํฉ๋๋ค- ๋ฑ๋ฒํธ ์๋ฆผ์ ์ถ๋ ฅํ๋
afkAvatar
ํ์ด๋จธ๋ฅผ ์์ฑํ๊ธฐ ์ํดTimeManager
ํด๋์ค์addTimer()
๋ฅผ ํธ์ถํฉ๋๋ค
- ๋ฑ๋ฒํธ ์๋ฆผ์ ์ถ๋ ฅํ๋
- ๊ฐ์ ํด์ฅ์ ์ฒ๋ฆฌํ๋
afkTimer
ํ์ด๋จธ๋ฅผ ์์ฑํ๊ธฐ ์ํดTimeManager
ํด๋์ค์addTimer()
๋ฅผ ํธ์ถํฉ๋๋ค
updateUniform(team: TeamID, angle: Int, textColor: Int, bgColor: Array<Int>)
- ํ ์ ๋ํผ์ ์ง์ ํฉ๋๋ค
clearPlayerById(player: Int)
- ํ๋ ์ด์ด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ง์๋๋ค
clearUniform(team: TeamID)
- ํ ์ ๋ํผ์ ์๋๋๋ก ๋๋ฆฝ๋๋ค
deleteSleepPlayer(player: Int)
- ํ๋ ์ด์ด๋ฅผ ์ฅ๊ธฐ ๋๊ธฐ์ด ๋ช ๋จ์์ ์ ๊ฑฐํฉ๋๋ค
resetAvatar(player: Int)
- ํ๋ ์ด์ด์ ๋ฑ๋ฒํธ๋ฅผ ์๋๋๋ก ๋๋ฆฝ๋๋ค
showMutedList(player: Int, isPublic: Bool)
- ์ฑํ ๊ธ์ง ๋ช ๋จ์ ๋ฉ์์ง๋ก ์ถ๋ ฅํฉ๋๋ค
-
Administration
ํด๋์ค์findMutedList()
๋ฅผ ํธ์ถํฉ๋๋ค
showSleepList(player: Int, isPublic: Bool)
- ์ฅ๊ธฐ ๋๊ธฐ์ด ๋ช ๋จ์ ๋ฉ์์ง๋ก ์ถ๋ ฅํฉ๋๋ค
cntPlayers(team: TeamID || String)
- ์ ์์ ์ธ์์ ๋ฐํํฉ๋๋ค
-
team == "public"
์ ๋ง์กฑํ๋ ๊ฒฝ์ฐ_playerList
๋ฅผ ๋ฐํํฉ๋๋ค
enableSleepMode(player: Int, bool: Bool)
- ํ๋ ์ด์ด๋ฅผ ์ฅ๊ธฐ ๋ฌด์๋ต ๋ช ๋จ์ ์ถ๊ฐํ๊ฑฐ๋ ์ ์ธํฉ๋๋ค
-
addSleepPlayer()
๋ฐdeleteSleepPlayer()
๋ฅผ ํธ์ถํฉ๋๋ค - GUI์ ๋ช
๋จ์ ๊ฐฑ์ ํ๊ธฐ ์ํด
GameSystem
ํด๋์ค์updateListIndex()
๋ฅผ ํธ์ถํฉ๋๋ค - ๊ถํ ๊ฐฑ์ ์ ์ํด
Administration
ํด๋์ค์updateAdmins()
๋ฅผ ํธ์ถํฉ๋๋ค
giveAvatar(player: Int, msg: String)
- ํ๋ ์ด์ด์ ๋ฑ๋ฒํธ๋ฅผ ๋ณ๊ฒฝํฉ๋๋ค
moveTeam(player: Int, team: TeamID)
- ํ๋ ์ด์ด์ ํ์ ๊ต์ฒดํฉ๋๋ค
- ํ๋ ์ด์ด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค
constructor(id: Int, name: String, team: TeamID, admin: Bool, conn: PlayerObject.conn, auth: PlayerObject.auth)
-
_id: Int
: ํ๋ ์ด์ด์ ๊ณต์ฉ ID๋ฅผ ์ ์ฅํฉ๋๋ค -
_name: String
: ํ๋ ์ด์ด์ ์ด๋ฆ์ ์ ์ฅํฉ๋๋ค -
_address: PlayerObject.conn
: ํ๋ ์ด์ด์ ๊ณต์ฉ ์ฃผ์๋ฅผ ์ ์ฅํฉ๋๋ค -
_network: PlayerObject.auth
: ํ๋ ์ด์ด์ ๊ณต์ฉ ๋คํธ์ํฌ๋ฅผ ์ ์ฅํฉ๋๋ค -
_team: TeamID
: ํ๋ ์ด์ด์ ํ ID๋ฅผ ์ ์ฅํฉ๋๋ค -
_admin: Int
: ํ๋ ์ด์ด์ ๊ถํ์ ์ ์ฅํฉ๋๋ค -
_time: Int
: ํ๋ ์ด์ด์ ๋ง์ง๋ง ์๋ต ์๊ฐ์ ์ ์ฅํฉ๋๋ค -
_chatmode: Int
: ํ๋ ์ด์ด์ ๊ธฐ๋ณธ ์ฑํ ๋ชจ๋๋ฅผ ์ ์ฅํฉ๋๋ค -
_detector: Int
: ํ๋ ์ด์ด์ ๊ธ์ง์ด ๊ฐ์ง๋์ ์ ์ฅํฉ๋๋ค -
_uniqueAvatar: String
: ํ๋ ์ด์ด์ ์ด๊ธฐ ๋ฑ๋ฒํธ๋ฅผ ์ ์ฅํฉ๋๋ค -
_isMute: Bool
: ํ๋ ์ด์ด์ ์ฑํ ๊ธ์ง ์ฌ๋ถ๋ฅผ ์ ์ฅํฉ๋๋ค -
_isSleep: Bool
: ํ๋ ์ด์ด์ ์ฅ๊ธฐ ๋ฌด์๋ต ์ฌ๋ถ๋ฅผ ์ ์ฅํฉ๋๋ค -
_hasKicked: Bool
: ํ๋ ์ด์ด์ ๊ฐ์ ํด์ฅ ์ฌ๋ถ๋ฅผ ์ ์ฅํฉ๋๋ค
-
_chatmode
์ ๊ฐ์ ๋ฐํํฉ๋๋ค
-
room.getPlayerDiscProperties()
์ ๊ฐ์ ๋ฐํํฉ๋๋ค
- ํ๋ ์ด์ด์ ์ขํ๋ฅผ ๋ฐํํฉ๋๋ค
- ํ๋ ์ด์ด์ ์ค๋ ฅ ๋ฒกํฐ๋ฅผ ๋ฐํํฉ๋๋ค
- ํ๋ ์ด์ด์ ์๋ ๋ฒกํฐ๋ฅผ ๋ฐํํฉ๋๋ค
- ํ๋ ์ด์ด์ ๊ฐ์ธ ID๋ฅผ ๋ฐํํฉ๋๋ค
-
_uniqueAvatar
์ ๊ฐ์ ๋ฐํํฉ๋๋ค
set chatmode(value: Int)
- ํ๋ ์ด์ด์ ์ฑํ ๋ชจ๋๋ฅผ ๋ณ๊ฒฝํฉ๋๋ค
-
_chatmode
์ ๊ฐ์ ์์ ํฉ๋๋ค
set discProp(value: DiscPropertiesObject)
- ํ๋ ์ด์ด์ ๋์คํฌ ์์ฑ์ ์์ ํฉ๋๋ค
-
room.setPlayerDiscProperties()
๋ฅผ ํธ์ถํฉ๋๋ค
set unqAvtr(value: String)
- ํ๋ ์ด์ด์ ๊ฐ์ธ ๋ฑ๋ฒํธ๋ฅผ ์ง์ ํฉ๋๋ค
-
_uniqueAvatar
์ ๊ฐ์ ์์ ํฉ๋๋ค - ๋ฑ๋ฒํธ ์ด๊ธฐํ๋ฅผ ์ํด
resetAvatar()
๋ฅผ ํธ์ถํฉ๋๋ค
isAfk(time: Int)
- ํ๋ ์ด์ด์ ์ฅ๊ธฐ ๋ฌด์๋ต ์ฌ๋ถ๋ฅผ ๋ฐํํฉ๋๋ค
let limit = SYS.hasInRange(time, 5, 60 * 60 * 3) ? time : GM.afkTime;
-
5 ๏ผ limit ๏ผ 10800
๋ฒ์ ์ธ ๊ฐ์ด๋ฉด ๊ตฌ๋ฌธ์ ์ข ๋ฃํ๊ณfalse
์ ๊ฐ์ ๋ฐํํฉ๋๋ค - ๋ฏธ์ ์์์ธ ๊ฒฝ์ฐ ๊ตฌ๋ฌธ์ ์ข
๋ฃํ๊ณ
false
์ ๊ฐ์ ๋ฐํํฉ๋๋ค - ๊ฒฝ๊ธฐ ๋์ค ๊ด์ ์ธ ๊ฒฝ์ฐ
false
์ ๊ฐ์ ๋ฐํํฉ๋๋ค - ๊ฒฝ๊ธฐ ๋ฏธ์งํ ์ํ์์ ๊ด๋ฆฌ์๊ฐ ์๋ ๊ฒฝ์ฐ
false
์ ๊ฐ์ ๋ฐํํฉ๋๋ค - ์ฅ๊ธฐ ๋๊ธฐ์ด ๋ช
๋จ์ ํฌํจ๋ ๊ฒฝ์ฐ
false
์ ๊ฐ์ ๋ฐํํฉ๋๋ค - ๋ชจ๋ ๊ตฌ๋ฌธ์ด ์จ์ ํ๊ฒ ์งํ๋์์ผ๋ฉด
true
์ ๊ฐ์ ๋ฐํํฉ๋๋ค
hasCommonRange(ball: Int, range: Float)
- ํ๋ ์ด์ด์ ๊ณต ์ฌ์ด์ ์ถฉ๋ ์ฌ๋ถ๋ฅผ ๋ฐํํฉ๋๋ค
- ๋์คํฌ ์์ฑ์ ๊ตฌํ๊ธฐ ์ํด
ScoreManager
ํด๋์ค์findDiscProp()
๋ฅผ ํธ์ถํฉ๋๋ค - ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ์ฐํ๊ธฐ ์ํด
ScoreManager
ํด๋์ค์calcDistance()
๋ฅผ ํธ์ถํฉ๋๋ค
addSleepList(void)
- ํ๋ ์ด์ด๋ฅผ ์ฅ๊ธฐ ๋๊ธฐ์ด ๋ช ๋จ์ ์ถ๊ฐํฉ๋๋ค
-
_isSleep
์ ๊ฐ์ ์์ ํฉ๋๋ค - ๊ด์ ์์ผ๋ก ํ์ ๊ต์ฒดํฉ๋๋ค
- ์ต๊ณ ๊ถํ์ ๊ฐ์ง๊ณ ์์ผ๋ฉด ๋ณด์กฐ ๊ถํ์ ๋ถ์ฌํฉ๋๋ค
clearPlayer(void)
- ํ๋ ์ด์ด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ง์๋๋ค
- GUI์ ๋ช
๋จ์ ์ญ์ ํ๊ธฐ ์ํด
GameSystem
ํด๋์ค์clearListIndex()
๋ฅผ ํธ์ถํฉ๋๋ค - ์ ๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ง์ฐ๊ธฐ ์ํด
ScoreManager
ํด๋์ค์clearTouchedListByPlayer()
๋ฅผ ํธ์ถํฉ๋๋ค - ํ๋ ์ด์ด ์์ ์ ๋ชจ๋ ํ์ด๋จธ๋ฅผ ์ง์ฐ๊ธฐ ์ํด
TimeManager
ํด๋์ค์clearTimerByPlayer()
๋ฅผ ํธ์ถํฉ๋๋ค -
_team
์ ๊ฐ์c_TEAM.SPECTATOR
์ผ๋ก ๊ฐฑ์ ํฉ๋๋ค -
_time
์ ๊ฐ์ ํ์ฌ ์๊ฐ์ผ๋ก ๊ฐฑ์ ํฉ๋๋ค -
_chatmode
์ ๊ฐ์0
์ผ๋ก ๊ฐฑ์ ํฉ๋๋ค -
_isSleep
์ ๊ฐ์false
๋ก ๊ฐฑ์ ํฉ๋๋ค - ๊ฐ์ ํด์ฅ๋ ๊ฒฝ์ฐ์ ํํด
_admin
๋ฐ_hasKicked
์ ๊ฐ์ ์์ ํฉ๋๋ค - GUI์ ๋ช
๋จ์ ๊ฐฑ์ ํ๊ธฐ ์ํด
GameSystem
ํด๋์ค์updateListIndex()
๋ฅผ ํธ์ถํฉ๋๋ค
deleteAdmin(isSub: Bool)
- ํ๋ ์ด์ด์ ๊ถํ์ ํด์ ํฉ๋๋ค
- ์ต๊ณ ๊ถํ์์ ์์ ํ ๊ถํ์ ํด์ ํ๊ฑฐ๋ ๋ณด์กฐ ๊ถํ์ ํด์ ํ๋ ๊ฒฝ์ฐ
-
_admin
์ ๊ฐ์0
์ผ๋ก ์์ ํฉ๋๋ค - GUI์ ๋ช
๋จ์ ๊ฐฑ์ ํ๊ธฐ ์ํด
GameSystem
ํด๋์ค์updateListIndex()
๋ฅผ ํธ์ถํฉ๋๋ค
-
deleteSleepPlayer(void)
- ํ๋ ์ด์ด๋ฅผ ์ฅ๊ธฐ ๋๊ธฐ์ด ๋ช ๋จ์์ ์ ๊ฑฐํฉ๋๋ค
-
_isSleep
์ ๊ฐ์ ์์ ํฉ๋๋ค - ๊ถํ ๊ฐฑ์ ์ ์ํด
Administration
ํด๋์ค์updateAdmins()
๋ฅผ ํธ์ถํฉ๋๋ค
resetAvatar(void)
- ํ๋ ์ด์ด์ ๋ฑ๋ฒํธ๋ฅผ ๊ฐ์ธ ๋ฑ๋ฒํธ๋ก ๋๋๋ฆฝ๋๋ค
-
giveAvatar()
๋ฅผ ํธ์ถํฉ๋๋ค
showPlayerInfo(type: Int)
- ํ๋ ์ด์ด์ ์ ๋ณด๋ฅผ ๋ฐํํฉ๋๋ค
-
type == c_PLAYERINFO_TYPE.LOCAL
๋ฅผ ๋ง์กฑํ๋ ๊ฒฝ์ฐ- ํ๋ ์ด์ด์ ๊ฐ์ธ ID์ ์ด๋ฆ์ ๋ฐํํฉ๋๋ค
-
type == c_PLAYERINFO_TYPE.PUBLIC
๋ฅผ ๋ง์กฑํ๋ ๊ฒฝ์ฐ- ํ๋ ์ด์ด์ ๊ณต์ฉ ID์ ์ด๋ฆ์ ๋ฐํํฉ๋๋ค
-
type == c_PLAYERINFO_TYPE.NAME
๋ฅผ ๋ง์กฑํ๋ ๊ฒฝ์ฐ- ํ๋ ์ด์ด์ ์ด๋ฆ์ ๋ฐํํฉ๋๋ค
- ์ด๋ฆ์ด ๋น์ด ์์ผ๋ฉด
๊ณต๋ฐฑ
์ผ๋ก ํ์ํฉ๋๋ค
adjustGravityVector(x: Float, y: Float)
- ํ๋ ์ด์ด์ ์ค๋ ฅ ๋ฒกํฐ๋ฅผ ๋ณ๊ฒฝํฉ๋๋ค
-
discProp
๋ฅผ ํธ์ถํฉ๋๋ค
adjustSpeedVector(x: Float, y: Float)
- ํ๋ ์ด์ด์ ์๋ ๋ฒกํฐ๋ฅผ ๋ณ๊ฒฝํฉ๋๋ค
-
discProp
๋ฅผ ํธ์ถํฉ๋๋ค
giveAdmin(isSub: Bool)
- ํ๋ ์ด์ด์ ๊ถํ์ ๋ถ์ฌํฉ๋๋ค
- ๋ธ๋๋ฆฌ์คํธ์ ํฌํจ๋๋ ๊ฒฝ์ฐ ์ต๊ณ ๊ถํ์ ๋ถ์ฌํ์ง ์์ต๋๋ค
-
Administration
ํด๋์ค์maxAdmin
์ ๊ฐ์ด ์ต๊ณ ๊ด๋ฆฌ์ ์ธ์๋ณด๋ค ์ ์ ๊ฒฝ์ฐ ์ต๊ณ ๊ถํ์ ๋ถ์ฌํ์ง ์๊ณ ๊ตฌ๋ฌธ์ ์ข ๋ฃํฉ๋๋ค -
Administration
ํด๋์ค์maxAdmin * 2
์ ๊ฐ์ด ๋ณด์กฐ ๊ด๋ฆฌ์ ์ธ์๋ณด๋ค ์ ์ ๊ฒฝ์ฐ ๋ณด์กฐ ๊ถํ์ ๋ถ์ฌํ์ง ์๊ณ ๊ตฌ๋ฌธ์ ์ข ๋ฃํฉ๋๋ค - ๋ชจ๋ ๊ตฌ๋ฌธ์ด ์จ์ ํ๊ฒ ์งํ๋์์ผ๋ฉด GUI์ ๋ช
๋จ์ ๊ฐฑ์ ํ๊ธฐ ์ํด
GameSystem
ํด๋์ค์updateListIndex()
๋ฅผ ํธ์ถํฉ๋๋ค
giveAvatar(str: String)
- ํ๋ ์ด์ด์ ๋ฑ๋ฒํธ๋ฅผ ๋ณ๊ฒฝํฉ๋๋ค
-
room.setPlayerAvatar()
๋ฅผ ํธ์ถํฉ๋๋ค
movePosition(dx: Float, dy: Float)
- ํ๋ ์ด์ด๋ฅผ ํ์ฌ ์์น ๊ธฐ์ค์์ ์ง์ ์ขํ๋ก ์ด๋ํฉ๋๋ค
-
discProp
๋ฅผ ํธ์ถํฉ๋๋ค
moveTeam(t: TeamID)
- ํ๋ ์ด์ด์ ํ์ ๊ต์ฒดํฉ๋๋ค
-
room.setPlayerTeam()
๋ฅผ ํธ์ถํฉ๋๋ค
teleportPosition(tx: Float, ty: Float)
- ํ๋ ์ด์ด๋ฅผ ์ง์ ์์น๋ก ์ขํ๋ฅผ ๋ณ๊ฒฝํฉ๋๋ค
-
discProp
๋ฅผ ํธ์ถํฉ๋๋ค
- ์ ์ ๋ฐ ๋ญํน ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ๋ฐ์ ์ผ๋ก ์ ์ดํฉ๋๋ค
constructor(collisionSensitivity: Float)
-
_collisionRange: Float
: ์ถฉ๋ ๋ฒ์ ๋ฏผ๊ฐ๋๋ฅผ ์ ์ฅํฉ๋๋ค -
_totalGoals: Array
: ํ ๋์ ๊ณจ์ ์ ์ฅํฉ๋๋ค -
_touchedList: Array<TouchedPlayer>
: ์ ๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ์ฅํฉ๋๋ค -
_rankList: Array<StatusSystem>
: ์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ์ฅํฉ๋๋ค
onPlayerTeamChange(player: PlayerObject, byPlayer: PlayerObject)
- ํ๋ ์ด์ด์ ํ์ด ๋ณ๊ฒฝ๋๋ฉด ํธ์ถํฉ๋๋ค
- ์ผ์ ์์ค ์ด์์ ์ ๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์์ผ๋ฉด
clearTouchedListByPlayer()
๋ฅผ ํธ์ถํฉ๋๋ค
onPositionsReset(void)
- ๊ณจ ํ์ ์งํ ํฌ์ง์ ์ด ์ด๊ธฐํ๋๋ฉด ํธ์ถํฉ๋๋ค
- ์ ๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ชจ๋ ์ง์ฐ๊ธฐ ์ํด
clearTouchedList()
๋ฅผ ํธ์ถํฉ๋๋ค
initRankList(player: Int)
- ์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ด๊ธฐํ ํฉ๋๋ค
-
StatusSystem
ํด๋์ค๋ฅผ ํธ์ถํ๊ณ_rankList
์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ถ๊ฐํฉ๋๋ค
initTouchedList(player: Int)
- ์ ๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ด๊ธฐํ ํฉ๋๋ค
-
TouchedPlayer
ํด๋์ค๋ฅผ ํธ์ถํ๊ณ_touchedList
์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ถ๊ฐํฉ๋๋ค
-
_collisionRange
์ ๊ฐ์ ๋ฐํํฉ๋๋ค
-
scores.time
์ ๊ฐ์ ๋ฐํํฉ๋๋ค
- ์ต๊ทผ ์ ๋์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ฐํํฉ๋๋ค
- ์ ์ ํ ๊ฐ์ด ์๋ ๊ฒฝ์ฐ
null
๋ฅผ ๋ฐํํฉ๋๋ค
-
scores.scoreLimit
๋ฅผ ๋ฐํํฉ๋๋ค - ์ ์ ํ ๊ฐ์ด ์๋ ๊ฒฝ์ฐ
0
์ ๋ฐํํฉ๋๋ค
-
scores.timeLimit
๋ฅผ ๋ฐํํฉ๋๋ค - ์ ์ ํ ๊ฐ์ด ์๋ ๊ฒฝ์ฐ
0
์ ๋ฐํํฉ๋๋ค
-
room.getScores()
์ ๊ฐ์ ๋ฐํํฉ๋๋ค
-
_totalGoals[c_TEAM.RED]
์ ๊ฐ์ ๋ฐํํฉ๋๋ค
-
_totalGoals[c_TEAM.BLUE]
์ ๊ฐ์ ๋ฐํํฉ๋๋ค
set collRange(v: Float)
- ์ถฉ๋ ๋ฒ์ ๋ฏผ๊ฐ๋๋ฅผ ๋ณ๊ฒฝํฉ๋๋ค
- 1~16 ๋ฒ์ ์ธ ๊ฐ์ด๋ฉด ๊ตฌ๋ฌธ์ ์ข ๋ฃํฉ๋๋ค
-
_collisionRange
์ ๊ฐ์ ์์ ํฉ๋๋ค
set totalRedGoals(v: Int)
- ๋ ๋ํ ๋์ ๊ณจ์ ๋ณ๊ฒฝํฉ๋๋ค
-
_totalGoals[c_TEAM.RED]
์ ๊ฐ์ ์์ ํฉ๋๋ค
set totalBlueGoals(v: Int)
- ๋ธ๋ฃจํ ๋์ ๊ณจ์ ๋ณ๊ฒฝํฉ๋๋ค
-
_totalGoals[c_TEAM.BLUE]
์ ๊ฐ์ ์์ ํฉ๋๋ค
hasCommonRange(da: DiscPropertiesObject, db: DiscPropertiesObject, range: Float)
- ๋์คํฌ ๊ฐ์ ์ถฉ๋ ์ฌ๋ถ๋ฅผ ๋ฐํํฉ๋๋ค
- ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ์ฐํ๊ธฐ ์ํด
calcDistance()
๋ฅผ ํธ์ถํฉ๋๋ค
findAssist(target: Int)
- ์ด์์คํธ์ ์ ๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ฐํํฉ๋๋ค
- ํ ์ธ์์ด ์ผ์ ์์ค ์ด์์ ๋ง์กฑํ์ง ์์ผ๋ฉด ๊ตฌ๋ฌธ์ ์ข ๋ฃํฉ๋๋ค
findDiscProp(target: Int)
- ๊ณต์ ๋์คํฌ ์์ฑ์ ๋ฐํํฉ๋๋ค
findDiscColor(target: Int)
- ๋์คํฌ ์์์ 16์ง์๋ก ๋ฐํํฉ๋๋ค
- ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ตฌํ๊ธฐ ์ํด
findDiscProp()
๋ฅผ ํธ์ถํฉ๋๋ค - ๋ถ์ ์ ํ ๊ฐ์ด๋ฉด
-1
์ ๋ฐํํฉ๋๋ค
findRankListByPlayer(target: Int)
- ํน์ ๊ณต์ฉ ID๋ฅผ ๊ฐ์ง ์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ฐํํฉ๋๋ค
findRankListByGrade(grade: Int)
- ํน์ ์์๋ฅผ ๊ฐ์ง ์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ฐํํฉ๋๋ค
findTouchedListByPlayer(target: Int)
- ํน์ ๊ณต์ฉ ID๋ฅผ ๊ฐ์ง ์ ๋์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ฐํํฉ๋๋ค
findWinner(scores: ScoresObject)
- ๋ ํ ์ฌ์ด์ ์ ์๋ฅผ ๋น๊ตํด ์ฐ์์ธ ํ์ ๋ฐํํฉ๋๋ค
- ์ ์๊ฐ ๋์ผํ๋ฉด
3
์ ๊ฐ์ ๋ฐํํฉ๋๋ค
addTouchedList(player: Int)
- ์ ๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ถ๊ฐํฉ๋๋ค
- ์ผ์ ์์ค ์ด์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์์ผ๋ฉด ์ค๋๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ถํฐ ์ง์ฐ๊ธฐ ์ํด
clearTouchedListByPlayer()
๋ฅผ ํธ์ถํฉ๋๋ค - GUI์ ๋ช
๋จ์ ๊ฐฑ์ ํ๊ธฐ ์ํด
GameSystem
ํด๋์ค์updateListIndex()
๋ฅผ ํธ์ถํฉ๋๋ค - ์ ๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฃผ๊ธฐ์ ์ผ๋ก ๊ฐฑ์ ํ๋ ํ์ด๋จธ๋ฅผ ์์ฑํ๊ธฐ ์ํด
TimeManager
ํด๋์ค์addTimer()
๋ฅผ ํธ์ถํฉ๋๋ค
updateAccount(op: Int, np: Int)
- ํ๋ ์ด์ด์ ์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ๊ท ๊ณ์ ์ ๋๊ธฐํ ํฉ๋๋ค
updateGoals(team: TeamID)
- ํ ๋์ ๊ณจ์ ๊ฐฑ์ ํฉ๋๋ค
- ๊ฒฝ๊ธฐ๋ฅผ ์งํํ๊ณ ์์ง ์์ผ๋ฉด ๊ตฌ๋ฌธ์ ์ข ๋ฃํฉ๋๋ค
- ํ ์ ํ์ ๋ฐ๋ผ
_totalGoals[c_TEAM.RED]
๋ฐ_totalGoals[c_TEAM.BLUE]
์ ๊ฐ์ ์์ ํฉ๋๋ค
updateTouchedList(target: Int)
- ์ ๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ฐฑ์ ํฉ๋๋ค
- ํ๋ ์ด์ด์ ๊ณต ์ฌ์ด์ ์ถฉ๋ ์ฌ๋ถ๋ฅผ ํ์ ํ๊ธฐ ์ํด
hasCommonRange()
๋ฅผ ํธ์ถํฉ๋๋ค - ์ค๋ณต๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์์ผ๋ฉด
addTouchedList()
๋ฅผ ํธ์ถํฉ๋๋ค
clearRankListByPlayer(player: Int)
- ํ๋ ์ด์ด์ ์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ง์๋๋ค
clearTouchedList(void)
- ์ ๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ชจ๋ ์ง์๋๋ค
clearTouchedListByPlayer(player: Int)
- ํ๋ ์ด์ด์ ์ ๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ง์๋๋ค
- GUI์ ๋ช
๋จ์ ๊ฐฑ์ ํ๊ธฐ ์ํด
GameSystem
ํด๋์ค์updateListIndex()
๋ฅผ ํธ์ถํฉ๋๋ค
sendRanking(target: Int, player: Int)
- ์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ฉ์์ง๋ก ์ ์กํฉ๋๋ค
- ํ๋ ์ด์ด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ตฌํ๊ธฐ ์ํด PlayerManager ํด๋์ค์ findPlayerById()๋ฅผ ํธ์ถํฉ๋๋ค
calcDistance(a: DiscPropertiesObject, b: DiscPropertiesObject)
- ๋ ๊ฐ์ฒด ๊ฐ์ ๋ฌผ๋ฆฌ์ ์ธ ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ์ฐํ์ฌ ๋ฐํํฉ๋๋ค
calcGoalsByTeam(team: TeamID)
- ํน์ ํ์ ๊ฒฝ๊ธฐ ๋์ ๊ณจ์ ๋ฐํํฉ๋๋ค
calcGravityVector(target: Int)
- ํ๋ ์ด์ด์ ์ค๋ ฅ ๋ฒกํฐ๋ฅผ ๋ฐํํฉ๋๋ค
calcPosition(target: Int)
- ํ๋ ์ด์ด์ ์ขํ๋ฅผ ๋ฐํํฉ๋๋ค
calcSpeedVector(target: Int)
- ํ๋ ์ด์ด์ ์๋ ๋ฒกํฐ๋ฅผ ๋ฐํํฉ๋๋ค
calcTotalGoalsByTeam(team: Int)
- ํน์ ํ์ ๋์ ๋์ ๊ณจ์ ๋ฐํํฉ๋๋ค
- ํ๋ ์ด์ด์ ์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค
constructor(id: Int)
-
_id: Int
: ํ๋ ์ด์ด์ ๊ณต์ฉ ID๋ฅผ ์ ์ฅํฉ๋๋ค -
_win: Int
: ์น๋ฆฌํ ๊ฒฝ๊ธฐ ์๋ฅผ ์ ์ฅํฉ๋๋ค -
_lost: Int
: ํจ๋ฐฐํ ๊ฒฝ๊ธฐ ์๋ฅผ ์ ์ฅํฉ๋๋ค -
_goal: Int
: ๋์ ํ ๊ณจ ์๋ฅผ ์ ์ฅํฉ๋๋ค -
_ownGoal: Int
: ์ค์ ํ ๊ณจ ์๋ฅผ ์ ์ฅํฉ๋๋ค -
_assist: Int
: ๋์ ํ์๋ฅผ ์ ์ฅํฉ๋๋ค
-
_assist
์ ๊ฐ์ ๋ฐํํฉ๋๋ค
-
_goal
์ ๊ฐ์ ๋ฐํํฉ๋๋ค
- ํ๋ ์ด์ด์ ์์๋ฅผ ๋ฐํํฉ๋๋ค
-
_lost
์ ๊ฐ์ ๋ฐํํฉ๋๋ค
-
_ownGoal
์ ๊ฐ์ ๋ฐํํฉ๋๋ค
- ํ๋ ์ด์ด์ ์ด ์ ์๋ฅผ ๋ฐํํฉ๋๋ค
- ํ๋ ์ด์ด์ ๊ธฐ๋ก ์ ๋ณด๋ฅผ ๋ฐํํฉ๋๋ค
- ํ๋ ์ด์ด์ ์์ธ ๊ธฐ๋ก ์ ๋ณด๋ฅผ ๋ฐํํฉ๋๋ค
- ํ๋ ์ด์ด์ ์์ ์ ๋ณด๋ฅผ ๋ฐํํฉ๋๋ค
-
_win
์ ๊ฐ์ ๋ฐํํฉ๋๋ค
- ํ๋ ์ด์ด์ ์น๋ฅ ์ ๋ฐํํฉ๋๋ค
- ์์์ ๋์งธ ์๋ฆฌ๊น์ง ๋ฐ์ฌ๋ฆผ ํฉ๋๋ค
set asst(v: Int)
- ๋์ ํ์๋ฅผ ๊ฐฑ์ ํฉ๋๋ค
-
_assist
์ ๊ฐ์ ์์ ํฉ๋๋ค
set goal(v: Int)
- ๋์ ํ ๊ณจ ์๋ฅผ ๊ฐฑ์ ํฉ๋๋ค
-
_goal
์ ๊ฐ์ ์์ ํฉ๋๋ค
set lost(v: Int)
- ํจ๋ฐฐ ๊ฒฝ๊ธฐ ์๋ฅผ ๊ฐฑ์ ํฉ๋๋ค
-
_lost
์ ๊ฐ์ ์์ ํฉ๋๋ค
set owgl(v: Int)
- ์ค์ ํ ๊ณจ ์๋ฅผ ๊ฐฑ์ ํฉ๋๋ค
-
_ownGoal
์ ๊ฐ์ ์์ ํฉ๋๋ค
set win(v: Int)
- ์น๋ฆฌ ๊ฒฝ๊ธฐ ์๋ฅผ ๊ฐฑ์ ํฉ๋๋ค
-
_win
์ ๊ฐ์ ์์ ํฉ๋๋ค
clearPlayer(void)
- ํ๋ ์ด์ด์ ์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ง์๋๋ค
- ํ๋ ์ด์ด์ ์ ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค
constructor(id: Int)
-
_id: Int
: ํ๋ ์ด์ด์ ๊ณต์ฉ ID๋ฅผ ์ ์ฅํฉ๋๋ค -
_team: Int
: ํ๋ ์ด์ด์ ์์ ํ ID๋ฅผ ์ ์ฅํฉ๋๋ค -
_time: Int
: ๊ฐ์ง ์๊ฐ์ ์ ์ฅํฉ๋๋ค -
_pos: Int
: ๊ฐ์ง ์งํ ์ขํ๋ฅผ ์ ์ฅํฉ๋๋ค -
_disc: Int
: ๊ฐ์ง ์งํ ๋์คํฌ ์์ฑ์ ์ ์ฅํฉ๋๋ค
hasCommonRange(ball: Int, range: Float)
- ํ๋ ์ด์ด์ ๊ณต ์ฌ์ด์ ์ถฉ๋ ์ฌ๋ถ๋ฅผ ๋ฐํํฉ๋๋ค
- ํ๋ ์ด์ด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ตฌํ๊ธฐ ์ํด
PlayerManager
ํด๋์ค์findPlayerById()
๋ฅผ ํธ์ถํฉ๋๋ค
- ํ์ด๋จธ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฐ ์๊ฐ ์์คํ ์ ์ ๋ฐ์ ์ผ๋ก ์ฒ๋ฆฌํฉ๋๋ค
constructor(timeFormats: Int)
-
_timeFormats: Int
: ์๊ฐ ์ถ๋ ฅ ํ์์ ์ ์ฅํฉ๋๋ค -
_timerList: Array<TimerSystem>
: ํ์ด๋จธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ์ฅํ๋๋ค
-
Date()
์ ๊ฐ์ ๋ฐํํฉ๋๋ค
-
fullDate.getTime()
์ ๊ฐ์ ๋ฐํํฉ๋๋ค
-
fullDate.getFullYear()
์ ๊ฐ์ ๋ฐํํฉ๋๋ค
-
fullDate.getMonth() + 1
์ ๊ฐ์ ๋ฐํํฉ๋๋ค
-
fullDate.getDate()
์ ๊ฐ์ ๋ฐํํฉ๋๋ค
-
fullDate.getHours()
์ ๊ฐ์ ๋ฐํํฉ๋๋ค
-
fullDate.getMinutes()
์ ๊ฐ์ ๋ฐํํฉ๋๋ค
-
fullDate.getSeconds()
์ ๊ฐ์ ๋ฐํํฉ๋๋ค
- ์คํ์ด๋ฉด
2
์ ๊ฐ์ ๋ฐํํฉ๋๋ค - ์ค์ ์ด๋ฉด
1
์ ๊ฐ์ ๋ฐํํฉ๋๋ค
-
_timeFormats
์ ๊ฐ์ ๋ฐํํฉ๋๋ค
set fmtTime(index: Int)
- ์๊ฐ ์ถ๋ ฅ ํ์์ ๋ณ๊ฒฝํฉ๋๋ค
-
_timeFormats
์ ๊ฐ์ ์์ ํฉ๋๋ค
findTimer(findId: String)
- ํ์ด๋จธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ID๋ก ๋ฐํํฉ๋๋ค
- ์ ํจํ์ง ์๋ ๊ฒฝ์ฐ
undefined
์ ๊ฐ์ผ๋ก ๋ฐํํฉ๋๋ค
findTimerByName(name: String, player: Int)
- ํน์ ์ด๋ฆ์ ํ์ด๋จธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ฐํํฉ๋๋ค
findTimerByPlayer(target: Int)
- ํน์ ํ๋ ์ด์ด์ ํ์ด๋จธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ฐํํฉ๋๋ค
findTimers(target: timerSystem, hasTarget: Bool)
- ๋น์ทํ ์ ํ์ ํ์ด๋จธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ฐํํฉ๋๋ค
addTimer(name: String, func, player: Int, delay: Int, isRepeat: Bool, runDirectly: Bool, seq: Int)
- ํ์ด๋จธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ถ๊ฐํฉ๋๋ค
- ์ด๋ฆ์ด ๋น์ด ์์ผ๋ฉด ๊ตฌ๋ฌธ์ ์ข ๋ฃํฉ๋๋ค
-
TimerSystem
ํด๋์ค๋ฅผ ํธ์ถํ๊ณ_timerList
์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ถ๊ฐํฉ๋๋ค - ๋ฐ๋ณต ํ์ด๋จธ๋ก ์ค์ ํ ๊ฒฝ์ฐ
-
delay
์ ๊ฐ์ด ๋ถ์ ์ ํ๊ฑฐ๋100
๋ฏธ๋ง์ธ ๊ฒฝ์ฐ ๋ก๊ทธ๋ฅผ ๋ณ๋๋ก ์ถ๋ ฅํ๊ณ ๊ตฌ๋ฌธ์ ์ข ๋ฃํฉ๋๋ค -
100 โค delay ๏ผ 1000
๋ฅผ ๋ง์กฑํ๋ ๊ฒฝ์ฐ ํ์ด๋จธ์ ID์ ์ด๋ฆ ๊ทธ๋ฆฌ๊ณ ํ์ด๋จธ ๊ฐ๊ฒฉ์ ํฌํจํ ๋ก๊ทธ๋ฅผ ๋ณ๋๋ก ์ถ๋ ฅํฉ๋๋ค
-
- ์ด๋ฏธ ์ฒ๋ฆฌํ ํ์ด๋จธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ญ์ ํฉ๋๋ค
- ๋ชจ๋ ๊ตฌ๋ฌธ์ด ์จ์ ํ๊ฒ ์งํ๋์์ผ๋ฉด ์์ฑํ ํ์ด๋จธ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ฐํํฉ๋๋ค
clearTimer(findId: String, skipTrmnFn: Bool)
- ํ์ด๋จธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ญ์ ํฉ๋๋ค
clearTimerByName(name: String, player: Int)
- ํน์ ์ด๋ฆ์ ํ์ด๋จธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ญ์ ํฉ๋๋ค
clearTimerByPlayer(player: Int)
- ํน์ ํ๋ ์ด์ด์ ํ์ด๋จธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ญ์ ํฉ๋๋ค
resetTimers(void)
- ๋ชจ๋ ํ์ด๋จธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ญ์ ํฉ๋๋ค
showCurrentTime(type: Int)
- ์๊ฐ ์ถ๋ ฅ ํ์์ ๋ฐ๋ผ ํ์ฌ ์๊ฐ์ ๋ฐํํฉ๋๋ค
showDate(void)
- ํ์ฌ ๋ ์ง ๋ฐ ์๊ฐ์ ๋ฐํํฉ๋๋ค
showNormalTime(void)
- ํ์ฌ ์๊ฐ์ ๊ฐ๋จํ๊ฒ ๋ฐํํฉ๋๋ค
showTime(void)
- ํ์ฌ ์๊ฐ์ ์์ธํ๊ฒ ๋ฐํํฉ๋๋ค
- ํ์ด๋จธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ์ดํฉ๋๋ค
constructor(name: String, id: String, exct: Function(), trmn: Function(), delay: Int, preId: String, target: Int, seq: Int)
-
_id: String
: ํ์ด๋จธ์ ID๋ฅผ ์ ์ฅํฉ๋๋ค -
_name: String
: ํ์ด๋จธ์ ์ด๋ฆ์ ์ ์ฅํฉ๋๋ค -
_player: Int
: ํ๋ ์ด์ด์ ๊ณต์ฉ ID๋ฅผ ์ ์ฅํฉ๋๋ค -
_time: Int
: ๋ฑ๋ก ์๊ฐ์ ์ ์ฅํฉ๋๋ค -
_delay: Int
: ์ง์ฐ ์๊ฐ์ ์ ์ฅํฉ๋๋ค -
_exctFn: Function()
: ์คํ ํจ์๋ฅผ ์ ์ฅํฉ๋๋ค -
_trmnFn: Function()
: ์ข ๋ฃ ํจ์๋ฅผ ์ ์ฅํฉ๋๋ค -
_proc: setTimeout
: ํ์ด๋จธ ํจ์๋ฅผ ์ ์ฅํฉ๋๋ค
let proc = setTimeout(() => {
exct();
if(isRepeat == false) TS.clearTimer(id);
}, dt);
...
this._exctFn = Object.freeze(exct); // ์คํ ํจ์๋ฅผ ์ ์ฅํฉ๋๋ค
...
this._proc = Object.freeze(proc); // ํ์ด๋จธ ํจ์๋ฅผ ์ ์ฅํฉ๋๋ค
- ํ์ด๋จธ๊ฐ ํธ์ถ๋๋ฉด ์คํ ํจ์๋ฅผ ์ฒ๋ฆฌํ๊ณ ๋ฐ๋ณต ์ฌ๋ถ์ ๋ฐ๋ผ ํ์ด๋จธ๋ฅผ ์ญ์ ํฉ๋๋ค
-
_sequence: Int
: ์งํ ์์๋ฅผ ์ ์ฅํฉ๋๋ค -
_isRepeat: Bool
: ๋ฐ๋ณต ์ฌ๋ถ๋ฅผ ์ ์ฅํฉ๋๋ค
let overloaded = TS.findTimerByName(name, target).filter(t => t._isRepeat == false);
if(overloaded.length > 0) overloaded.forEach(t => !t._id.includes('r'));
- ์ด๋ฏธ ์ฒ๋ฆฌํ ํ์ด๋จธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ญ์ ํฉ๋๋ค
findTimerByName(void)
- ํน์ ์ด๋ฆ์ ํ์ด๋จธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ฐํํฉ๋๋ค
-
TimeManager
ํด๋์ค์findTimerByName()
๋ฅผ ํธ์ถํฉ๋๋ค
findTimerByPlayer(void)
- ํน์ ํ๋ ์ด์ด์ ํ์ด๋จธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ฐํํฉ๋๋ค
-
TimeManager
ํด๋์ค์findTimerByPlayer()
๋ฅผ ํธ์ถํฉ๋๋ค
clearTimer(skipTrmnFn: Bool)
- ํ์ด๋จธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ญ์ ํฉ๋๋ค
-
TimeManager
ํด๋์ค์_timerList
๋ฅผ ํธ์ถํฉ๋๋ค -
skipTrmnFn
์ ๊ฐ์ดtrue
์ธ ๊ฒฝ์ฐ ์ข ๋ฃ ํจ์๋ฅผ ์คํํ์ง ์์ต๋๋ค
clearTimerByName(void)
- ํน์ ์ด๋ฆ์ ํ์ด๋จธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ญ์ ํฉ๋๋ค
-
TimeManager
ํด๋์ค์clearTimerByName()
๋ฅผ ํธ์ถํฉ๋๋ค
clearTimerByPlayer(void)
- ํน์ ํ๋ ์ด์ด์ ํ์ด๋จธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ญ์ ํฉ๋๋ค
-
TimeManager
ํด๋์ค์clearTimerByPlayer()
๋ฅผ ํธ์ถํฉ๋๋ค
calcCurrentSequence(mx: Int, mn: Int)
- ํ์ด๋จธ์ ํ์ฌ ์งํ ์์๋ฅผ ๋ฐํํฉ๋๋ค
calcTotalSequence(seq: Int)
- ํ์ด๋จธ์ ๋์ ์งํ ์์๋ฅผ ๋ฐํํฉ๋๋ค
- ๊ฒ์ ๋ด๋ถ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ๋ฐ์ ์ผ๋ก ์ฒ๋ฆฌํฉ๋๋ค
constructor(versionRoom: String, releaseDate: String, isDev: Bool, isDemo: Bool, lockPass: Bool)
-
_isDev: Bool
: ๊ฐ๋ฐ์ ๋ฒ์ ์ ๋ฌด๋ฅผ ์ ์ฅํฉ๋๋ค -
_isDemo: Bool
: ๋ฐ๋ชจ ๋ชจ๋ ์ ๋ฌด๋ฅผ ์ ์ฅํฉ๋๋ค -
_versionRoom: String
: ์๋ฒ ๋ฒ์ ์ ์ ์ฅํฉ๋๋ค -
_releaseDate: String
: ๋ฆด๋ฆฌ์ค ์ผ์๋ฅผ ์ ์ฅํฉ๋๋ค -
_cssStyleList: Array<String>
: CSS ์คํ์ผ์ ์ ์ฅํฉ๋๋ค -
_hasInitServer: Bool
: ์๋ฒ ์ด๊ธฐํ ์ฌ๋ถ๋ฅผ ์ ์ฅํฉ๋๋ค -
_hasInitWebGUI: Bool
: GUI ์ด๊ธฐํ ์ฌ๋ถ๋ฅผ ์ ์ฅํฉ๋๋ค -
_lockPass: Bool
: ๋น๋ฐ๋ฒํธ ๊ณ ์ ์ฌ๋ถ๋ฅผ ์ ์ฅํฉ๋๋ค
onClickBtnSendLog(void)
- ๋ก๊ทธ ์ ์ก ๋ฒํผ ํด๋ฆญ ์ด๋ฒคํธ๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค
- ์
๋ ฅํ ๊ฐ์ด ์๋ ๊ฒฝ์ฐ
printMsg()
๋ฅผ ํธ์ถํฉ๋๋ค - ๋ก๊ทธ ์ ๋ ฅ๋์ ๋ด์ฉ์ ๋น์๋๋ค
onKeyDownSend(e: KeyboardEvent)
- ๋ก๊ทธ ์ ๋ ฅ๋์ ํค ์ ๋ ฅ ์ด๋ฒคํธ๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค
-
enter
ํค ์ ๋ ฅ์ด ๊ฐ์ง๋๋ฉดonClickBtnSendLog()
๋ฅผ ํธ์ถํฉ๋๋ค
initAttributeColors(obj: HTMLElement, colBg: String, colText: String, str: String, isGradient: Bool, brd: String)
- ์์ฑ ์์์ ์ด๊ธฐํ ํฉ๋๋ค
initAttributeId(obj: HTMLElement, cssName: String, id: String)
- ๊ฐ์ฒด ID๋ฅผ ์ด๊ธฐํ ํฉ๋๋ค
- CSS ํด๋์ค ์ด๊ธฐํ๋ฅผ ์ํด
initCssClass()
๋ฅผ ํธ์ถํฉ๋๋ค
initCssClass(elm: HTMLElement, str: String)
- ๊ฐ์ฒด์ CSS ํด๋์ค๋ฅผ ์ด๊ธฐํ ํฉ๋๋ค
-
_cssStyleList
์ ์ผ์นํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์์ผ๋ฉด ๊ตฌ๋ฌธ์ ์ข ๋ฃํฉ๋๋ค
initElement(tag: String, id: String, cssName: String)
- ์์๋ฅผ ์ด๊ธฐํ ํฉ๋๋ค
- ๊ฐ์ฒด ID ์ด๊ธฐํ๋ฅผ ์ํด
initAttributeId()
๋ฅผ ํธ์ถํฉ๋๋ค
initServer(url: String)
- ์๋ฒ๋ฅผ ์ด๊ธฐํ ํฉ๋๋ค
- ์ ํ ์ ์์ ์ ํ ์๊ฐ์ 0์ ์ผ๋ก ์ง์ ํฉ๋๋ค
- ๊ฒฝ๊ธฐ์ฅ ๊ต์ฒด๋ฅผ ์ํด
GameManager
ํด๋์ค์loadMap()
๋ฅผ ํธ์ถํฉ๋๋ค - ๊ฐ๋ฐ์ ๋ชจ๋๊ฐ ํ์ฑํ ๋ผ ์๋ ๊ฒฝ์ฐ ๋น๋ฐ๋ฒํธ ๋ฑ๋ก์ ์๊ตฌํฉ๋๋ค
- ์์คํ
๋น๋ฐ๋ฒํธ ๊ฐฑ์ ์ ์ํด
Administration
ํด๋์ค์updatePassword()
๋ฅผ ์๊ตฌํฉ๋๋ค -
_lockPass
์ ๊ฐ์ ์์ ํฉ๋๋ค
- ์์คํ
๋น๋ฐ๋ฒํธ ๊ฐฑ์ ์ ์ํด
-
internalCommands
๋ฐ์ดํฐ๋ฒ ์ด์ค์์AMN.logonAdmin
์ ๋์ํ๋ ๋ช ๋ น์ด๋ฅผ ์ฐพ์ ์ ์๋ ๊ฒฝ์ฐ- ์์๋ก 4์๋ฆฌ ์ซ์๋ก ์ด๋ฃจ์ด์ง ์ต๊ณ ๊ถํ ๋ก๊ทธ์ธ ๋น๋ฐ๋ฒํธ๋ฅผ ์ค์ ํ๊ณ
customCommands
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ถ๊ฐํฉ๋๋ค
- ์์๋ก 4์๋ฆฌ ์ซ์๋ก ์ด๋ฃจ์ด์ง ์ต๊ณ ๊ถํ ๋ก๊ทธ์ธ ๋น๋ฐ๋ฒํธ๋ฅผ ์ค์ ํ๊ณ
- ์ฝ์์ฐฝ์ ์๋ฒ ์ ๋ณด๋ฅผ ์ถ๋ ฅํฉ๋๋ค
- ์ํผ ๋ธ๋๋ฆฌ์คํธ ๋ช
๋จ์ ์ด๊ธฐํ ํฉ๋๋ค
- ์๋์ ๊ฐ์ ํ์์ผ๋ก ๋ช ๋จ์ ์์ฑํ ์ ์์ต๋๋ค.
let bl = [
...
[true, "์ํ๊ณ "],
[true, undefined, "12345678901234567890"]
...
]
- ์ผ๋ฐ ๋ธ๋๋ฆฌ์คํธ ๋ช
๋จ์ ์ด๊ธฐํ ํฉ๋๋ค
- ์๋์ ๊ฐ์ ํ์์ผ๋ก ๋ช ๋จ์ ์์ฑํ ์ ์์ต๋๋ค.
let bl = [
...
[false, "์ํ๊ณ "],
[false, undefined, "12345678901234567890"]
...
]
- ๋ธ๋๋ฆฌ์คํธ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฑ๋ก์ ์ํด
Administration
ํด๋์ค์addBlacklist()
๋ฅผ ํธ์ถํฉ๋๋ค - ์์คํ
๋น๋ฐ๋ฒํธ๊ฐ ์ค์ ๋ผ ์๊ณ ๊ฐ๋ฐ์ ๋ชจ๋๊ฐ ํ์ฑํ ๋ผ ์์ผ๋ฉฐ, ๋น๊ณต๊ฐ ๋ฐฉ์ธ ๊ฒฝ์ฐ reCAPTCHA ํ์ฑํ๋ฅผ ์ํด
enableRecaptcha()
๋ฅผ ํธ์ถํฉ๋๋ค - ๋ฐ๋ชจ ๋ชจ๋๊ฐ ํ์ฑํ ๋ผ ์๋ ๊ฒฝ์ฐ ๋ก๊ทธ์ ๋ณ๋์ ๋ฉ์์ง๋ฅผ ์ ์กํฉ๋๋ค
-
_hasInitServer
์ ๊ฐ์ ์์ ํฉ๋๋ค
initWebGUI(void)
- GUI๋ฅผ ์ด๊ธฐํ ํฉ๋๋ค
- ์๋ฒ ์ด๊ธฐํ๊ฐ ํ์ํ ๊ฒฝ์ฐ ๊ตฌ๋ฌธ์ ์ข ๋ฃํฉ๋๋ค
-
_framebody
์ ๊ฐ์ ์์ ํฉ๋๋ค -
addWebElement()
,initElement()
,initAttributeColors()
๋ฅผ ํธ์ถํฉ๋๋ค - ์๋ฒ ์ ๋ณด UI๋ฅผ ์์ฑํฉ๋๋ค
- ์ ๊ฑฐ๋ ํผ์น ์ ์๋ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค
- ์ธ์ ์ ๋ณด UI๋ฅผ ์์ฑํฉ๋๋ค
- ๊ฒฝ๊ธฐ ์ ๋ณด UI๋ฅผ ์์ฑํฉ๋๋ค
- ์ข์ ์ ๋ณด UI๋ฅผ ์์ฑํฉ๋๋ค
- ๋ก๊ทธ ์ถ๋ ฅ UI๋ฅผ ์์ฑํฉ๋๋ค
- ์ ๊ฑฐ๋ ํผ์น ์ ์๋ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค
- ๋ก๊ทธ ์ ๋ ฅ UI๋ฅผ ์์ฑํฉ๋๋ค
- UMUX ์ ์๋ฌผ ํ๊ธฐ๋ฅผ ์ถ๋ ฅํฉ๋๋ค
-
_hasInitWebGUI
์ ๊ฐ์ ์์ ํฉ๋๋ค
hasInRange(num: Float, min: Float, max: Float)
- ์ฃผ์ด์ง ๊ฐ์ด ํน์ ๋ฒ์์ ํฌํจ๋๋์ง ๋ฐํํฉ๋๋ค
findInfo(void)
- UMUX ์ ์๋ฌผ ๋ฐ ๋ฒ์ ์ ๋ฐํํฉ๋๋ค
- ์ด ๊ธฐ๋ฅ์ ์์๋ก ์์ ํ๊ฑฐ๋ ์ญ์ ํ์ง ๋ง์ญ์์ค
addEventInput(obj: HTMLElement, ev: Function())
- ์์ฑ์ ํด๋ฆญ ์ด๋ฒคํธ๋ฅผ ์ง์ ํฉ๋๋ค
addListIndex(player: Int)
- GUI์์ ํ๋ ์ด์ด์ ๋ช ๋จ์ ์ถ๊ฐํฉ๋๋ค
- ํ๋ ์ด์ด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ตฌํ๊ธฐ ์ํด
PlayerManager
ํด๋์ค์findPlayerById()
๋ฅผ ํธ์ถํฉ๋๋ค - GUI์์ ๋ช
๋จ์ ๊ฐฑ์ ํ๊ธฐ ์ํด
updateListIndex()
๋ฅผ ํธ์ถํฉ๋๋ค
addWebElement(pe: HTMLElement, ce: HTMLElement)
- GUI์ ์์ ๊ฐ์ฒด๋ฅผ ์ถ๊ฐํฉ๋๋ค
updateListIndex(player: Int)
- GUI์์ ํ๋ ์ด์ด์ ๋ช ๋จ์ ๊ฐฑ์ ํฉ๋๋ค
- ๋ฏธ์ ์์์ธ ๊ฒฝ์ฐ ๋ช
๋จ์ ์ญ์ ํ๊ธฐ ์ํด
clearListIndex()
๋ฅผ ํธ์ถํ๊ณ ๊ตฌ๋ฌธ์ ์ข ๋ฃํฉ๋๋ค - ํ๋ ์ด์ด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ตฌํ๊ธฐ ์ํด
PlayerManager
ํด๋์ค์findPlayerById()
๋ฅผ ํธ์ถํฉ๋๋ค -
updateNotification
ํ์ด๋จธ๋ฅผ ์ง์ฐ๊ธฐ ์ํดTimeManager
ํด๋์ค์clearTimerByName()
๋ฅผ ํธ์ถํฉ๋๋ค - ๋ช
๋จ ์ฐ์ธก์ ํ์ฌ ์ํ๋ฅผ ๊ฐ๋จํ ์๋ฆฌ๋ ์์ด์ฝ์ ํ์ํฉ๋๋ค
- ํ๋ ์ด์ด๊ฐ ์ ๋ํ๊ณ ์์ผ๋ฉด
โฝ
์ ์ถ๊ฐํฉ๋๋ค - ์ฑํ
์ด ๊ธ์ง๋ผ ์์ผ๋ฉด
๐ฅถ
์ ์ถ๊ฐํฉ๋๋ค - ์๋ฆฌ๋ฅผ ๋น์ฐ๊ณ ์๋ ๊ฒฝ์ฐ
๐ด
์ ์ถ๊ฐํฉ๋๋ค - ํ๋ ์ด์ด์ ๊ถํ ๋งํฌ๋ฅผ ๊ตฌํ๊ธฐ ์ํด
PlayerManager
ํด๋์ค์findTagGrade()
๋ฅผ ํธ์ถํฉ๋๋ค- ์ด ์์ด์ฝ์ ํญ์ ์ฐ์ธก์ ํ์ํฉ๋๋ค
- ํ๋ ์ด์ด๊ฐ ์ ๋ํ๊ณ ์์ผ๋ฉด
let maxIcons = 5;
- ์ต๋ ์๋ฆผ ๊ฐ์๋
maxIcons
์ ๊ฐ์ ๋ฐ๋ฆ ๋๋ค - ๊ฐ๋จ ์๋ฆผ์ ๊ฐฑ์ ํ๋
updateNotification
ํ์ด๋จธ๋ฅผ ์์ฑํ๊ธฐ ์ํดTimeManager
ํด๋์ค์addTimer()
๋ฅผ ํธ์ถํฉ๋๋ค
updateWebGUI(void)
- GUI๋ฅผ ๊ฐฑ์ ํฉ๋๋ค
- ์ธ์ ์ ๋ณด UI๋ฅผ ๊ฐฑ์ ํฉ๋๋ค
- ๊ฒฝ๊ธฐ ์ ๋ณด UI๋ฅผ ๊ฐฑ์ ํฉ๋๋ค
- ๋ฐฐ๊ฒฝ ์์์ ๋ณ๊ฒฝํ๊ธฐ ์ํด
initAttributeColors()
๋ฅผ ํธ์ถํฉ๋๋ค
- ๋ฐฐ๊ฒฝ ์์์ ๋ณ๊ฒฝํ๊ธฐ ์ํด
clearListIndex(player: Int)
- GUI์์ ํ๋ ์ด์ด์ ๋ช ๋จ์ ์ญ์ ํฉ๋๋ค
- ํ๋ ์ด์ด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ตฌํ๊ธฐ ์ํด
PlayerManager
ํด๋์ค์findPlayerById()
๋ฅผ ํธ์ถํฉ๋๋ค - GUI์์ ๋ช
๋จ์ ๊ฐฑ์ ํ๊ธฐ ์ํด
updateListIndex()
๋ฅผ ํธ์ถํฉ๋๋ค
showPlayerInfo(player: Int, type: Int)
- ํ๋ ์ด์ด์ ์ ๋ณด๋ฅผ ๋ฐํํฉ๋๋ค
- ํ๋ ์ด์ด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ตฌํ๊ธฐ ์ํด
PlayerManager
ํด๋์ค์findPlayerById()
๋ฅผ ํธ์ถํฉ๋๋ค
enableDemo(bool: Bool)
- ๋ฐ๋ชจ ๋ชจ๋๋ฅผ ํ์ฑํ ํ๊ฑฐ๋ ๋นํ์ฑํ ํฉ๋๋ค
- ๋ชจ๋ ์ ์์์๊ฒ ์ ์ฉ ๋ฉ์์ง๋ฅผ ์ ์กํฉ๋๋ค
- ์ฝ์์ฐฝ์ ์ ์ฉ ๋ฉ์์ง๋ฅผ ์ ์กํฉ๋๋ค
- ์ค๋ณต ๋ฐ ๋ค์ค ์ ์ ํ๋ ์ด์ด๋ฅผ ๊ฐ์งํด๋ ๋์์ ๊ฐ์ ํด์ฅํ์ง ์์ต๋๋ค
- ๋นํ๋ ํ๋ ์ด์ด๋ฅผ ๊ฐ์งํด๋ ๋์์ ๊ฐ์ ํด์ฅํ์ง ์์ต๋๋ค
-
_isDemo
์ ๊ฐ์ ์์ ํฉ๋๋ค
enableRecaptcha(isActive: Bool, player: Int)
- reCAPTCHA๋ฅผ ํ์ฑํ ํ๊ฑฐ๋ ๋นํ์ฑํ ํฉ๋๋ค
-
room.setRequireRecaptcha()
๋ฅผ ํธ์ถํฉ๋๋ค
fillLine(amount: Int, line: Int)
- ์๋ฆฟ์๋ฅผ ๊ต์ ํฉ๋๋ค
lockPassword(bool: Bool)
- ์์คํ ๋น๋ฐ๋ฒํธ ๊ณ ์ ์ฅ์น๋ฅผ ํ์ฑํ ํ๊ฑฐ๋ ๋นํ์ฑํ ํฉ๋๋ค
log(io: Bool, msg: String, type: Int, ...replace: Array<String>)
- ๋ก๊ทธ๋ฅผ ์ ๋ฌํฉ๋๋ค
- ๋น ๋ฉ์์ง๋ ์ ์กํ์ง ์์ต๋๋ค
- ์ถ๋ ฅ ์๊ฐ์ ๊ตฌํ๊ธฐ ์ํด
TimeManager
ํด๋์ค์showCurrentTime()
๋ฅผ ํธ์ถํฉ๋๋ค -
outputLogMsg()
๋ฅผ ํธ์ถํฉ๋๋ค
outputLogMsg(msg: String, time: String, textColor: String, bgColor: String)
- ๋ก๊ทธ๋ฅผ ์ถ๋ ฅํฉ๋๋ค
- ์ถ๋ ฅ ์๊ฐ์ ๊ตฌํ๊ธฐ ์ํด
TimeManager
ํด๋์ค์showCurrentTime()
๋ฅผ ํธ์ถํฉ๋๋ค - GUI ๊ฐฑ์ ์ ์ํด
updateWebGUI()
๋ฅผ ํธ์ถํฉ๋๋ค
printMsg(msg: String, target: Int)
- ์๋ฒ ๋ฉ์์ง๋ฅผ ์ ์กํฉ๋๋ค
- ์ ์ก ๋ฉ์์ง ์ถ๋ ฅ์ ์ํด
log()
๋ฅผ ํธ์ถํฉ๋๋ค -
target
์ ๊ฐ์ ๋ฐ๋ผChatManager
ํด๋์ค์sendTeamChat()
๋๋sendPrivateChat()
๋ฅผ ์ ์กํฉ๋๋ค - ๋ชจ๋ ๊ตฌ๋ฌธ์ด ์จ์ ํ๊ฒ ์งํ๋์์ผ๋ฉด
ChatManager
ํด๋์ค์sendAlert()
๋ฅผ ํธ์ถํฉ๋๋ค
sendError(type: Int)
- ์ค๋ฅ ๋ฉ์์ง์ ๋ก๊ทธ๋ฅผ ์ถ๋ ฅํฉ๋๋ค
- ๋ช ๋ น์ด ์ ๋ ฅ์ ํตํด ํน์ ๊ธฐ๋ฅ์ ์์คํ ์์ ์ํํฉ๋๋ค
-
ChatManager
ํด๋์ค์onPlayerChat()
๊ฐ ๋ช ๋ น์ด ์ ๋ ฅ์ ๊ฐ์งํ๊ธฐ ์ํด ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ํธ์ถํฉ๋๋ค -
GameManager
ํด๋์ค์runCommand()
๊ฐ ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก๋ถํฐ ๊ธฐ๋ฅ์ ์ํํ ์ ์๋๋ก ์ฐ๊ฒฐํฉ๋๋ค - ๋ช ๋ น์ด ์ถ๊ฐ๋ ์๋์ ๊ฐ์ด ์์ฑํฉ๋๋ค
// ๊ฒ์ ์ฑํ
์์ `!1234`, '!!1234', '?1234' ์ค์ ํ๋๋ฅผ ์
๋ ฅํ๋ฉด
// AMN.logonAdmin()๋ฅผ ์คํํฉ๋๋ค
["AMN.logonAdmin"] : ["1234"]
// ํ๋์ ํจ์์ ์ฌ๋ฌ ๊ฐ์ ๋ฌธ์์ด์ ๋์ํ ์ ์์ต๋๋ค
// ์๋์ ๊ฐ์ ๊ฒฝ์ฐ `1234`, `4321`, `1111`, `2222` ์ค์ ํ๋๋ฅผ ๊ณจ๋ผ์ `!` ๋ฐ `!!` ๋๋ `?`๋ฅผ ์์ ๋๋ฉด
// AMN.logonAdmin()๋ฅผ ์คํํฉ๋๋ค
["AMN.logonAdmin"] : ["1234", "4321", "1111", "2222"]
- UMUX ๋ด๋ถ ์์คํ ์ ์ ๊ทผํ๋ ๋ช ๋ น์ด์ ๋๋ค.
- ๊ธฐ์กด ๋ช ๋ น์ด ์ญ์ ๋ฐ ์ ๊ท ๋ช ๋ น์ด ์ถ๊ฐ๋ ๊ธ์งํฉ๋๋ค.
- ๊ธฐ์กด ๋ช ๋ น์ด ์ ๊ทผ์ ๋ง๊ฑฐ๋ ์ฃผ์ ์ฒ๋ฆฌ๋ ๊ถ์ฅํ์ง ์์ต๋๋ค.
- UMUX ํ์ค ๋ช ๋ น์ด์ ๋๋ค.
- ๊ธฐ์กด ๋ช ๋ น์ด ์ญ์ ๋ฐ ์ ๊ท ๋ช ๋ น์ด ์ถ๊ฐ๋ ๊ถ์ฅํ์ง ์์ต๋๋ค.
- ๊ธฐ์กด ๋ช ๋ น์ด ์ ๊ทผ์ ๋ง๊ฑฐ๋ ์ฃผ์ ์ฒ๋ฆฌ๋ ๊ถ์ฅํ์ง ์์ต๋๋ค.
- UMUX ์ปค์คํ ๋ช ๋ น์ด์ ๋๋ค.
- ์ ๊ท ๋ช ๋ น์ด ์ถ๊ฐ์ ์ ํฉํ๋ฉฐ, ๊ถ์ฅํฉ๋๋ค.
onGameStart(byPlayer: PlayerObject)
- ๊ฒฝ๊ธฐ๊ฐ ์์๋๋ฉด ํธ์ถํฉ๋๋ค
-
GameManager
ํด๋์ค์onGameStart()
๋ฅผ ํธ์ถํฉ๋๋ค
onGameTick(void)
- ๊ฒฝ๊ธฐ๊ฐ ์งํ๋๋ ๋์ ํธ์ถํฉ๋๋ค
-
GameManager
ํด๋์ค์onGameTick()
๋ฅผ ํธ์ถํฉ๋๋ค
onGameStop(byPlayer: PlayerObject)
- ๊ฒฝ๊ธฐ๊ฐ ์ข ๋ฃ๋๋ฉด ํธ์ถํฉ๋๋ค
-
GameManager
ํด๋์ค์onGameStop()
๋ฅผ ํธ์ถํฉ๋๋ค
onGamePause(byPlayer: PlayerObject)
- ๊ฒฝ๊ธฐ๊ฐ ์ค์ง๋๋ฉด ํธ์ถํฉ๋๋ค
-
GameManager
ํด๋์ค์onGamePause()
๋ฅผ ํธ์ถํฉ๋๋ค
onGameUnpause(byPlayer: PlayerObject)
- ๊ฒฝ๊ธฐ๊ฐ ์ฌ๊ฐ๋๋ฉด ํธ์ถํฉ๋๋ค
-
GameManager
ํด๋์ค์onGameUnpause()
๋ฅผ ํธ์ถํฉ๋๋ค
onKickRateLimitSet(min: Int, rate: Int, burst: Int, player: PlayerObject)
- ํฅ ์ ํ์ด ์ค์ ๋๋ฉด ํธ์ถํฉ๋๋ค
-
GameManager
ํด๋์ค์onKickRateLimitSet()
๋ฅผ ํธ์ถํฉ๋๋ค
onPlayerActivity(player: PlayerObject)
- ํ๋ ์ด์ด์ ํค ์ ๋ ฅ์ด ๊ฐ์ง๋๋ฉด ํธ์ถํฉ๋๋ค
- ์ ๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐฑ์ ์ ์ํด
PlayerManager
ํด๋์ค์onPlayerActivity()
๋ฅผ ํธ์ถํฉ๋๋ค
onPlayerAdminChange(givenPlayer: PlayerObject, byPlayer: PlayerObject)
- ํ๋ ์ด์ด์ ๊ถํ์ด ๋ณ๊ฒฝ๋๋ฉด ํธ์ถํฉ๋๋ค
- ๊ถํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐฑ์ ์ ์ํด
Administration
ํด๋์ค์onPlayerAdminChange()
๋ฅผ ํธ์ถํฉ๋๋ค
onPlayerBallKick(player: PlayerObject)
- ํ๋ ์ด์ด๊ฐ ๊ณต์ ์ฐจ๋ฉด ํธ์ถํฉ๋๋ค
- ์ ๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ถ๊ฐ๋ฅผ ์ํด
GameManager
ํด๋์ค์onPlayerBallKick()
๋ฅผ ํธ์ถํฉ๋๋ค
onPlayerChat(player: PlayerObject, msg: String)
- ํ๋ ์ด์ด๊ฐ ์ฑํ ์ ์ ์กํ๋ฉด ํธ์ถํฉ๋๋ค
- ์ฑํ
๋ด์ฉ์ ํ์ธํ๊ธฐ ์ํด
ChatSystem
ํด๋์ค์onPlayerChat()
๋ฅผ ํธ์ถํฉ๋๋ค - ๋ช
๋ น์ด ์
๋ ฅ ๊ธฐ๋ก์ ๋จ๊ธฐ์ง ์๊ธฐ ์ํด
false
์ ๊ฐ์ ๋ฐํํฉ๋๋ค
onPlayerJoin(player: PlayerObject)
- ์ ๊ท ํ๋ ์ด์ด๊ฐ ์ ์ํ๋ฉด ํธ์ถํฉ๋๋ค
- ํ๋ ์ด์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ถ๊ฐ๋ฅผ ์ํด
GameManager
ํด๋์ค์onPlayerJoin()
๋ฅผ ํธ์ถํฉ๋๋ค
onPlayerLeave(player: PlayerObject)
- ์ ์์๊ฐ ํด์ฅํ๋ฉด ํธ์ถํฉ๋๋ค
- ๊ฐ์ ํด์ฅ ์งํ ์ด๋ฒคํธ๋ฅผ ์ ์ดํ๋
gm_onPlayerLeave
ํ์ด๋จธ๋ฅผ ์์ฑํ๊ธฐ ์ํดTimeManager
ํด๋์ค์addTimer()
๋ฅผ ํธ์ถํฉ๋๋ค- ํ๋ ์ด์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐฑ์ ์ ์ํด
GameManager
ํด๋์ค์onPlayerLeave()
๋ฅผ ํธ์ถํฉ๋๋ค
- ํ๋ ์ด์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐฑ์ ์ ์ํด
onPlayerKicked(kickedPlayer: PlayerObject, reason: String, ban: Bool, byPlayer: PlayerObject)
- ์ ์์๊ฐ ๊ฐ์ ํด์ฅ๋๋ฉด ํธ์ถํฉ๋๋ค
- ํ๋ ์ด์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐฑ์ ์ ์ํด
Administration
ํด๋์ค์onPlayerKicked()
๋ฅผ ํธ์ถํฉ๋๋ค
onPlayerTeamChange(player: PlayerObject, byPlayer: PlayerObject)
- ํ๋ ์ด์ด์ ํ์ด ๋ณ๊ฒฝ๋๋ฉด ํธ์ถํฉ๋๋ค
- ํ๋ ์ด์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐฑ์ ์ ์ํด
PlayerManager
ํด๋์ค์onPlayerTeamChange()
๋ฅผ ํธ์ถํฉ๋๋ค - ์ ๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐฑ์ ์ ์ํด
ScoreManager
ํด๋์ค์onPlayerTeamChange()
๋ฅผ ํธ์ถํฉ๋๋ค
onPositionsReset(void)
- ๊ณจ ํ์ ์งํ ํฌ์ง์ ์ด ์ด๊ธฐํ๋๋ฉด ํธ์ถํฉ๋๋ค
-
GameManager
ํด๋์ค์onPositionsReset()
๋ฅผ ํธ์ถํฉ๋๋ค
onStadiumChange(newMap: String, byPlayer: PlayerObject)
- ๊ฒฝ๊ธฐ์ฅ์ด ๊ต์ฒด๋๋ฉด ํธ์ถํฉ๋๋ค
- ๊ฒฝ๊ธฐ์ฅ ์ ํจ ํ์ธ์ ์ํด
GameManager
ํด๋์ค์onStadiumChange()
๋ฅผ ํธ์ถํฉ๋๋ค
onRoomLink(url: String)
- ์์คํ ์์ ๋งํฌ๊ฐ ์์ฑ๋๋ฉด ํธ์ถํฉ๋๋ค
-
GameManager
ํด๋์ค์onRoomLink()
๋ฅผ ํธ์ถํฉ๋๋ค
onTeamGoal(team: TeamID)
- ๊ณจ์ด ํ์ ๋๋ฉด ํธ์ถํฉ๋๋ค
-
GameManager
ํด๋์ค์onTeamGoal()
๋ฅผ ํธ์ถํฉ๋๋ค
onTeamVictory(scores: ScoresObject)
- ๊ฒฝ๊ธฐ ์นํจ๊ฐ ๊ฒฐ์ ๋๋ฉด ํธ์ถํฉ๋๋ค
-
GameManager
ํด๋์ค์onTeamVictory()
๋ฅผ ํธ์ถํฉ๋๋ค
...
/*** ๊ฒ์ ๋งค๋์ ํด๋์ค ***/
class GameManager{
...
onTeamGoal(team){ /* ๊ณจ ํ์ ์ด๋ฒคํธ */
...
let goalTimer = TM.addTimer("goal", {
EXECUTE : () => { // ์คํ ํจ์
let showAvatar = function(s, t, c){
...
// s: ํ์ด๋จธ์ ํ์ฌ ์งํ ์์
// t: ํ๋ ์ด์ด์ ID
// c: ๋ณ๊ฒฝํ ๋ฑ๋ฒํธ์ ๋ฌธ์(์ด)
}
let target = goalTimer.findTimerByName().at(-1);
if(target == undefined) return false;
let currentOrder = goalTimer.calcCurrentSequence(target._sequence, 2);
let totalSequence = goalTimer.calcTotalSequence(target._sequence);
showAvatar(currentOrder, goalTimer._player, 'โฝ');
if(PM.isValid(assist)) showAvatar(currentOrder, assist, '๐');
if(totalSequence > 5) return goalTimer.clearTimerByName();
},
TERMINATE : () => { // ์ข
๋ฃ ํจ์
PM.resetAvatar(goalTimer._player);
if(PM.isValid(assist)) PM.resetAvatar(assist);
}
}, player, SEC_TO_MS / 2, true, true);
...
}
...
}
...
- ์ด ํ์ด๋จธ๋ ๊ณจ ํ์ ์งํ๋ถํฐ ์ผ์ ํ ๊ฐ๊ฒฉ์ ๋ฐ๋ณต์ ๋ช ์ด ๋์, ๋์ ์/์ด์์คํธ์ ๋ฑ๋ฒํธ๋ฅผ ๋ณ๊ฒฝํ๋ ๊ธฐ๋ฅ์ ์ํํฉ๋๋ค
-
goalTimer
์ ๊ฐ์ ์ด ํ์ด๋จธ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ์ฅํฉ๋๋ค
let goalTimer = TM.addTimer("goal", {
let goalTimer = TM.addTimer("goal", {
EXECUTE : () => { // ์คํ ํจ์
...
},
TERMINATE : () => { // ์ข
๋ฃ ํจ์
...
}
}, player, SEC_TO_MS / 2, true, true);
/*
(SEC_TO_MS / 2)์ ๊ฐ์ 500ms์ ๊ฐ์ต๋๋ค
*/
-
EXECUTE
๊ธฐ๋ฅ์ ํ์ด๋จธ๊ฐ ๋ชฉํ ์๊ฐ์ ๋๋ฌํ๋ฉด ์คํํฉ๋๋คEXECUTE : () => { // ์คํ ํจ์ let showAvatar = function(s, t, c){ ... // s: ํ์ด๋จธ์ ํ์ฌ ์งํ ์์ // t: ํ๋ ์ด์ด์ ID // c: ๋ณ๊ฒฝํ ๋ฑ๋ฒํธ์ ๋ฌธ์(์ด) } let target = goalTimer.findTimerByName().at(-1); if(target == undefined) return false; let currentOrder = goalTimer.calcCurrentSequence(target._sequence, 2); let totalSequence = goalTimer.calcTotalSequence(target._sequence); showAvatar(currentOrder, goalTimer._player, 'โฝ'); if(PM.isValid(assist)) showAvatar(currentOrder, assist, '๐'); if(totalSequence > 5) return goalTimer.clearTimerByName(); },
-
target
์ ๊ฐ์ ์์ฃผ ์ค์ธ ์ต์ ํ์ด๋จธ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ์ฅํฉ๋๋ค
let target = goalTimer.findTimerByName().at(-1);
-
currentOrder
์ ๊ฐ์ ํ์ด๋จธ์ ํ์ฌ ์์๋ฅผ ์ ์ฅํฉ๋๋ค. ์ฌ๊ธฐ์๋ ์์์ ์ต๋๊ฐ์ผ๋ก 2๊ฐ ์ง์ ๋์์ต๋๋ค
let currentOrder = goalTimer.calcCurrentSequence(target._sequence, 2);
- ๊ฐ์ 0, 1 ์ค์ ํ๋๋ก ๊ฒฐ์ ๋ฉ๋๋ค
- ๋์ ์งํ ์์๊ฐ
5
๋ฅผ ์ด๊ณผํ ๊ฒฝ์ฐ ํ์ด๋จธ๋ฅผ ์ญ์ ํฉ๋๋ค- ์ด๋ ์ข ๋ฃ ํจ์๋ฅผ ์คํํฉ๋๋ค
-
-
TERMINATE
๊ธฐ๋ฅ์EXECUTE
์คํ ์งํ, ๋๋ ํ์ด๋จธ๊ฐ ์ข ๋ฃ๋๋ ์๊ฐ์ ์คํํฉ๋๋คTERMINATE : () => { // ์ข ๋ฃ ํจ์ PM.resetAvatar(goalTimer._player); if(PM.isValid(assist)) PM.resetAvatar(assist); }
- ์ด ํ์ด๋จธ์ ์ข ๋ฃ ํจ์์์๋ ๋์ ์/์ด์์คํธ๋ฅผ ํ์ด๋จธ ์คํ ์ง์ ์ ๋ฑ๋ฒํธ๋ก ๋๋๋ฆฌ๋ ๊ธฐ๋ฅ์ ์ํํฉ๋๋ค
- ์ข
๋ฃ ํจ์๋ ์๋ตํ ์ ์์ต๋๋ค
let goalTimer = TM.addTimer("goal", () => { // ์คํ ํจ์๋ง ... }, player, SEC_TO_MS / 2, true, true);