Unreal Engine 4

μ•„λž˜μ˜ 링크λ₯Ό 톡해 ProudChat Unreal Engine 4 SDKλ₯Ό λ‹€μš΄λ‘œλ“œ ν•©λ‹ˆλ‹€.

ν”„λ‘œμ νŠΈ μ„€μ •

- Plugins μ„€μΉ˜

ν”„λ‘œμ νŠΈ 루트 ν΄λ”μ—μ„œ Plugins 폴더λ₯Ό μƒˆλ‘œ μƒμ„±ν•œ ν›„, λ‹€μš΄λ‘œλ“œν•œ SDK νŒŒμΌμ„ λ³΅μ‚¬ν•©λ‹ˆλ‹€.

언리얼 μ—λ””ν„°μ—μ„œ νŽΈμ§‘ -> ν”ŒλŸ¬κ·ΈμΈ 을 눌러 ν”ŒλŸ¬κ·ΈμΈ λΈŒλΌμš°μ € νƒ­μ—μ„œ λ³΅μ‚¬ν•œ ProudChat ν”ŒλŸ¬κ·ΈμΈμ˜ ν™œμ„±ν™” μ—¬λΆ€λ₯Ό ν™•μΈν•©λ‹ˆλ‹€.

- λΈ”λ£¨ν”„λ¦°νŠΈ 클래슀 μ„€μ •

Plugin이 μ •μƒμ μœΌλ‘œ μ„€μΉ˜λ˜λ©΄ 언리얼 μ—λ””ν„°μ˜ ProudChat C++ 클래슀 λΈŒλΌμš°μ €μ—μ„œ ProudChatActor 클래슀λ₯Ό 기반으둜 'λΈ”λ£¨ν”„λ¦°νŠΈ 클래슀'λ₯Ό 생성 ν•©λ‹ˆλ‹€.

μƒμ„±ν•œ 'λΈ”λ£¨ν”„λ¦°νŠΈ 클래슀'의 이벀트 κ·Έλž˜ν”„μ—μ„œ ProudChat의 Init ν•¨μˆ˜λ₯Ό μƒμ„±ν•˜μ—¬ BeginPlay μ΄λ²€νŠΈμ™€ μ—°κ²°ν•˜κ³ , Proud Console μ—μ„œ λ°›μ•„μ˜¨ 계정 UUID와 ν”„λ‘œμ νŠΈ UUID, μœ μ € UniqueIDλ₯Ό μž…λ ₯ν•©λ‹ˆλ‹€.

'컴파일' λ²„νŠΌμ„ 눌러 이벀트λ₯Ό 컴파일 ν›„ μƒμ„±ν•œ 'λΈ”λ£¨ν”„λ¦°νŠΈ 클래슀'λ₯Ό λ ˆλ²¨μ— μ˜¬λ¦½λ‹ˆλ‹€. 'ν”Œλ ˆμ΄'λ₯Ό 눌러 μ„œλ²„ μ—°κ²° μ—¬λΆ€λ₯Ό 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

연결에 μ„±κ³΅ν•˜μ˜€λ‹€λ©΄ 레벨 μ’Œμƒλ‹¨μ— ProudChat Connection Success 문ꡬ가 좜λ ₯λ©λ‹ˆλ‹€.

ProudChatActor

- ProudChatActor::Init

ProudChat 을 Initialize ν•˜λŠ” λΆ€λΆ„μž…λ‹ˆλ‹€. μœ μ €λŠ” μ‚¬μš© 전에 λ°˜λ“œμ‹œ Init ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν•˜μ—¬ μ„œλ²„μ™€ μ—°κ²°ν•©λ‹ˆλ‹€.

ν•¨μˆ˜λͺ…
λ§€κ°œλ³€μˆ˜
μ„€λͺ…

Init

Proud Console μ—μ„œ μ œκ³΅λ˜λŠ” μœ μ €μ˜ UUID, μœ μ €κ°€ μƒμ„±ν•œ ν”„λ‘œμ νŠΈμ˜ UUID, μœ μ € 고유의 UniqueID

ProudChat을 μ—°κ²°ν•˜κΈ° μœ„ν•œ ν•¨μˆ˜λ‘œ μœ μ €λŠ” 이 뢀뢄을 μž‘μ„±ν•©λ‹ˆλ‹€. λ§€κ°œλ³€μˆ˜λ‘œλŠ” 3개의 λ¬Έμžμ—΄μ„ λ°›κ³  μžˆμ§€λ§Œ, λ‚΄λΆ€μ μœΌλ‘œ std::bind λ₯Ό 톡해 ChatClientInitComplete, ChatClientInitFailed 이벀트λ₯Ό ν˜ΈμΆœν•˜κ³  μžˆμ–΄ 둜그인 성곡, μ‹€νŒ¨ μ—¬λΆ€λ₯Ό 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

- ProudChatActor::Disconnect

ν•¨μˆ˜λͺ…
λ§€κ°œλ³€μˆ˜
μ„€λͺ…

Disconnect

-

μ±„νŒ… μ„œλ²„μ™€μ˜ 연결을 μ’…λ£Œν•©λ‹ˆλ‹€.

- ν•¨μˆ˜(C++ , Blueprint)

ν•¨μˆ˜λͺ…
λ§€κ°œλ³€μˆ˜
μ„€λͺ…

IsConnected

-

ν˜„μž¬ Chat Serverμ™€μ˜ μ—°κ²°μ—¬λΆ€λ₯Ό ν™•μΈν•©λ‹ˆλ‹€.

JoinChannel

μ ‘μ†ν•˜κ³  싢은 μ±„λ„μ˜ 고유 Key

μ ‘μ†ν•˜κ³  싢은 채널 ν‚€λ₯Ό μž…λ ₯ν•©λ‹ˆλ‹€.

LeaveChannel

접속 ν•΄μ œν•˜κ³  싢은 μ±„λ„μ˜ 고유 Key

접속을 ν•΄μ œν•˜κ³  싢은 채널 ν‚€λ₯Ό μž…λ ₯ν•©λ‹ˆλ‹€.

SendChannelMsg

νŠΉμ • μ±„λ„μ˜ κ³ μœ ν•œ 식별 κ°’, νŠΉμ • μ±„λ„μ—κ²Œ 보낼 λ©”μ‹œμ§€

νŠΉμ • μ±„λ„μ—κ²Œ λ©”μ‹œμ§€λ₯Ό 보낼 λ•Œ μ‚¬μš©ν•©λ‹ˆλ‹€.

SendDirectMsg

νŠΉμ • μƒλŒ€λ°© κ³ μœ ν•œ 식별 κ°’, νŠΉμ • μƒλŒ€λ°©μ—κ²Œ 보낼 λ©”μ‹œμ§€

νŠΉμ • μƒλŒ€μ—κ²Œ λ©”μ‹œμ§€λ₯Ό 보낼 λ•Œ μ‚¬μš©ν•©λ‹ˆλ‹€.

MsgTranslate

src = ν˜„μž¬ μ–Έμ–΄ κ΅­κ°€ μ½”λ“œ target = λ³€ν™˜ν•  μ–Έμ–΄ κ΅­κ°€ μ½”λ“œ msgKey = λ³€ν™˜ν•  λ©”μ„Έμ§€ 고유 인식 κ°’ msg = λ³€ν™˜ν•  λ©”μ„Έμ§€

(Beta) ν•΄λ‹Ή λ©”μ„Έμ§€μ˜ λ²ˆμ—­μ„ μš”μ²­ν•©λ‹ˆλ‹€.

MsgTranslate_Auto

target = λ³€ν™˜ν•  μ–Έμ–΄ κ΅­κ°€ μ½”λ“œ msgKey = λ³€ν™˜ν•  λ©”μ„Έμ§€ 고유 인식 κ°’ msg = λ³€ν™˜ν•  λ©”μ„Έμ§€

(Beta) ν•΄λ‹Ή msgλ₯Ό μžλ™μœΌλ‘œ μ–Έμ–΄ 감지λ₯Ό μ§„ν–‰ν•˜μ—¬ λ²ˆμ—­μ„ μš”μ²­ν•©λ‹ˆλ‹€.

MsgRecord_Direct

target = μƒλŒ€ μœ μ €μ˜ UniqueKey day = 일수 μ΅œλŒ€ 90 cnt = 갯수 μ΅œλŒ€ 100

(Beta) Direct λ©”μ„Έμ§€μ˜ κ³Όκ±° 기둝을 κ°€μ Έμ˜΅λ‹ˆλ‹€. μ΅œλŒ€ 90일, 100κ±΄κΉŒμ§€

MsgRecord_Channel

channelKey = ν•΄λ‹Ή μ±„λ„μ˜ ν‚€ day = 일수 μ΅œλŒ€ 90 cnt = 갯수 μ΅œλŒ€ 100

(Beta) ν•΄λ‹Ή Channel의 κ³Όκ±° 기둝을 κ°€μ Έμ˜΅λ‹ˆλ‹€. μ΅œλŒ€ 90일, 100κ±΄κΉŒμ§€

MsgRecord_Notice

day = 일수 μ΅œλŒ€ 90 cnt = 갯수 μ΅œλŒ€ 100

(Beta) Notice의 κ³Όκ±° 기둝을 κ°€μ Έμ˜΅λ‹ˆλ‹€. μ΅œλŒ€ 90일, 100κ±΄κΉŒμ§€

- 이벀트 (C++)

이벀트 λ³€μˆ˜λͺ…
μ„€λͺ…

InitComplete_Delegate

Init Complete κ°€ μ™„λ£Œλ˜λ©΄ ν˜ΈμΆœλ©λ‹ˆλ‹€.

InitFailed_Delegate

Init Failed κ°€ λ˜μ—ˆμ„ λ•Œ ν˜ΈμΆœλ©λ‹ˆλ‹€.

ChatDisconnect_Delegate

Chat Server와 연결이 λŠμ–΄μ‘Œμ„ λ•Œ ν˜ΈμΆœλ©λ‹ˆλ‹€.

ChannelMsg_Response_Delegate

Channel Msg κ°€ λ„μ°©ν–ˆμ„ λ•Œ ν˜ΈμΆœλ©λ‹ˆλ‹€.

DirectMsg_Response_Delegate

Direct Msg κ°€ λ„μ°©ν–ˆμ„ λ•Œ ν˜ΈμΆœλ©λ‹ˆλ‹€.

Notice_Response_Delegate

Noticeκ°€ λ„μ°©ν–ˆμ„ λ•Œ ν˜ΈμΆœλ©λ‹ˆλ‹€.

Channel_Join_Success_Delegate

Channel Join 성곡 μ‹œ ν˜ΈμΆœλ©λ‹ˆλ‹€.

Channel_Join_Failed_Delegate

Channel Join μ‹€νŒ¨ μ‹œ ν˜ΈμΆœλ©λ‹ˆλ‹€.

Channel_Leave_Success_Delegate

Channel Leave 성곡 μ‹œ ν˜ΈμΆœλ©λ‹ˆλ‹€.

Channel_Leave_Failed_Delegate

Channel Leave μ‹€νŒ¨ μ‹œ ν˜ΈμΆœλ©λ‹ˆλ‹€.

MsgTranslate_Success_Delegate

(Beta) λ©”μ‹œμ§€ Translate 성곡 μ‹œ ν˜ΈμΆœλ©λ‹ˆλ‹€.

MsgTranslate_Failed_Delegate

(Beta) λ©”μ‹œμ§€ Translate μ‹€νŒ¨ μ‹œ ν˜ΈμΆœλ©λ‹ˆλ‹€.

MsgRecord_Success_Delegate

(Beta) κ³Όκ±° 기둝 뢈러였기 성곡 μ‹œ ν˜ΈμΆœλ©λ‹ˆλ‹€.

MsgRecord_Failed_Delegate

(Beta) κ³Όκ±° 기둝 뢈러였기 μ‹€νŒ¨ μ‹œ ν˜ΈμΆœλ©λ‹ˆλ‹€.

- 이벀트 (Blueprint)

이벀트 ν•¨μˆ˜λͺ…
μ„€λͺ…

ChatClientInitComplete

Server Connection μ™„λ£Œ ν›„ Login 성곡 μ‹œ ν˜ΈμΆœλ©λ‹ˆλ‹€.

ChatClientInitFailed

Server Login μ‹€νŒ¨ μ‹œ ν˜ΈμΆœλ©λ‹ˆλ‹€.

ChatDisconnect

ProudChat Server Disconnect λ°œμƒ μ‹œ ν˜ΈμΆœλ©λ‹ˆλ‹€.

ChannelMsg_Response

λ‹€λ₯Έ μœ μ €κ°€ 채널에 λ©”μ‹œμ§€ 전솑 μ‹œ Delegate λ˜λŠ” ν•¨μˆ˜μž…λ‹ˆλ‹€.

DirectMsg_Response

λ‹€λ₯Έ μœ μ €κ°€ λ‚˜μ—κ²Œ λ©”μ‹œμ§€ 전솑 μ‹œ Delegate λ˜λŠ” ν•¨μˆ˜μž…λ‹ˆλ‹€.

Notice_Response

Proud Consoleμ—μ„œ 곡지사항 λ°œμ†‘ μ‹œ Delegate λ˜λŠ” ν•¨μˆ˜μž…λ‹ˆλ‹€.

Channel_Join_Success

Channel Join 성곡 μ‹œ Delegate λ˜λŠ” ν•¨μˆ˜μž…λ‹ˆλ‹€.

Channel_Join_Failed

Channel Join μ‹€νŒ¨ μ‹œ Delegate λ˜λŠ” ν•¨μˆ˜μž…λ‹ˆλ‹€.

Channel_Leave_Success

Channel Leave 성곡 μ‹œ Delegate λ˜λŠ” ν•¨μˆ˜μž…λ‹ˆλ‹€.

Channel_Leave_Failed

Channel Leave μ‹€νŒ¨ μ‹œ Delegate λ˜λŠ” ν•¨μˆ˜μž…λ‹ˆλ‹€.

MsgTranslate_Success

(Beta) Translate 성곡 μ‹œ Delegate λ˜λŠ” ν•¨μˆ˜μž…λ‹ˆλ‹€.

MsgTranslate_Failed

(Beta) Translate μ‹€νŒ¨ μ‹œ Delegate λ˜λŠ” ν•¨μˆ˜μž…λ‹ˆλ‹€.

MsgRecord_Success

(Beta) κ³Όκ±° 기둝 κ°€μ Έμ˜€κΈ° 성곡 μ‹œ Delegate λ˜λŠ” ν•¨μˆ˜μž…λ‹ˆλ‹€.

MsgRecord_Failed

(Beta) κ³Όκ±° 기둝 κ°€μ Έμ˜€κΈ° μ‹€νŒ¨ μ‹œ Delegate λ˜λŠ” ν•¨μˆ˜μž…λ‹ˆλ‹€.

λΉŒλ“œν•˜κΈ°

- Android

μ•„λž˜ 링크λ₯Ό μ°Έμ‘°ν•˜μ‹œκΈ° λ°”λžλ‹ˆλ‹€.

- iOS

iOS λΉŒλ“œν•˜κΈ° λ₯Ό μ°Έκ³ ν•˜μ‹œκΈ° λ°”λžλ‹ˆλ‹€.

Last updated

Was this helpful?