Online Subsystem Steam์ ์ฌ์ฉํ์ฌ Session ์์ฑ, ๊ฒ์, ์ฐธ๊ฐ๋ฅผ ํ ์คํธํด๋ดค๋ค.
Online Subsystem์ ๋ํ ์ดํด๊ฐ ์์์ผ๋ ์ด์ ๋ณธ๊ฒฉ์ ์ผ๋ก ํ๋ฌ๊ทธ์ธ์ ์ ์ํด๋ณด์.
{ ์ธ๋ฆฌ์ผ ์์ง ํ๋ฌ๊ทธ์ธ }
: ํน์ ๋ชฉ์ ์ ์ํด ์ค๊ณ๋ ์ฝ๋ ๋ฐ ๋ฐ์ดํฐ ๋ชจ์
- ํ๋ก์ ํธ๋ง๋ค ๊ฐ๋ณ์ ์ผ๋ก ํ์ํ ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํ ์ ์๋ค.
- ํ๋ฌ๊ทธ์ธ์ ๋ฐํ์ ๊ฒ์ ํ๋ ์ด ๊ธฐ๋ฅ์ด๋ ์๋ํฐ ๊ธฐ๋ฅ์ ํ์ฅํ ์ ์๊ฒ ๋์์ค๋ค.
- ์ธ๋ฆฌ์ผ ์์ง์ ํ๋ฌ๊ทธ์ธ ์๋ํฐ๋ฅผ ํ์ฉํด ํ๋ก์ ํธ์ ํ๋ฌ๊ทธ์ธ์ ์ฝ๊ฒ ์ถ๊ฐ/์ญ์ ํ ์ ์๋ค.
- ์ธ๋ฆฌ์ผ ์์ง ํ๋ก์ ํธ๋ ๋ค์ํ ๋ชจ๋๋ค์ ์งํฉ์ด๋ผ๊ณ ๋ณผ ์ ์๋๋ฐ ํ๋ฌ๊ทธ์ธ๋ ์ด๋ฐ ๋ชจ๋ ์ค ํ๋์ด๋ค.
- ํ๋ฌ๊ทธ์ธ์ ๋ค๋ฅธ ํ๋ฌ๊ทธ์ธ์ด๋ ๋ชจ๋์ ์์กดํ ์ ์๋ค.ํ๋ฌ๊ทธ์ธ๊ณผ ์์ง ๋ชจ๋์ ๊ณ์ธต์ ์ธ ๋ ๋ฒจ๋ก ๋๋์ด ์๋๋ฐ, ํ๋ฌ๊ทธ ์ธ์ ๊ฐ์ ๋ ๋ฒจ ํน์ ๋ ๋์ ๋ ๋ฒจ์ ๋ค๋ฅธ ํ๋ฌ๊ทธ ์ธ ํน์ ๋ชจ๋์ ์์กดํ ์ ์๋ค.
{ ๋ฉํฐ ํ๋ ์ด์ด ํ๋ฌ๊ทธ์ธ์ ํด๋์ค, ์ด๋ป๊ฒ ๊ตฌํํ ๊น? }
์ฐ์ ๋ฉํฐ ํ๋ ์ด์ด ํ๋ฌ๊ทธ์ธ์ ์ฃผ์ ๊ธฐ๋ฅ์ ๋ด๋นํ ํด๋์ค๋ฅผ ์ด๋ป๊ฒ ์ค๊ณํ ์ง ์๊ฐํด๋ณด์.
ํด๋์ค ์ค๊ณ์์ ๊ฐ์ฅ ์ค์ํ ๋ถ๋ถ์ ์ด๋ค ํด๋์ค๋ฅผ ๊ธฐ๋ฐ ํด๋์ค (๋ถ๋ชจ ํด๋์ค)๋ก ์ผ์์ง ๊ฒฐ์ ํ๋ ๊ฒ์ด๋ค.
์ฌ๊ธฐ 2๊ฐ์ ๊ธฐ๋ฐ ํด๋์ค ํ๋ณด๋ฅผ ๋ณด์.
- GameInstance
- Game Instance๋ ๊ฒ์ ๋น ํ๋๋ง ์กด์ฌํ๋ ๊ฒ์์ ์์ ๊ด๋ฆฌ์์ด๋ค.
- ๊ฒ์์ด ์์ฑ๋๋ฉด์ ์คํฐ๋๊ณ ๊ฒ์์ด ์ข ๋ฃ๋ ๋๊น์ง ์ญ์ ๋์ง ์๋๋ค.
- ๊ฒ์ ๋ ๋ฒจ์ด ๋ฌ๋ผ์ง๋๋ผ๋ ๊ฒ์ ์ธ์คํด์ค๋ ๊ทธ๋๋ก์ด๋ค.
- ํ์ง๋ง ๊ฒ์ ์ธ์คํด์ค ํด๋์ค์ ๋ชฉ์ ์ ๊ฒ์ ์ ๋ฐ์ ๊ด๋ฆฌํ๋ ๊ฒ์ด์ง ์จ๋ผ์ธ ์ธ์ ๊ด๋ฆฌ๊ฐ ์๋๊ธฐ์ ๊ฒ์ ์ธ์คํด ์จ๋ผ์ธ ์ธ์ ๊ด๋ฆฌ ์ฝ๋๋ฅผ ์ถ๊ฐํ๋ ๊ฒ์ ๋ฐ๋์งํ ์ค๊ณ ๋ฐฉ์์ ์๋๋ค. ์ด๋ฏธ ํ ์ผ์ด ๋ง์ ์น๊ตฌ๋ ๋ด๋ฒ๋ ค๋์..
- GameInstanceSubsystem
- Game Instance Subsystem์ Game Instance์ ๊ธฐ๋ฅ์ ์ถ๊ฐํ๋ ๋์ , ํด๋น ๊ธฐ๋ฅ๋ง์ ์ํ ์์คํ (ํ๋ฌ๊ทธ ์ธ)์ ๊ตฌํํ๊ณ ์ ํ ๋ ๋งค์ฐ ์ ์ฉํ๋ค.
UGameInstanceSubsystem
ํด๋์ค๋ฅผ ์์๋ฐ์ Game Instance Subsystem์ ๊ตฌํํ๋ฉด Game Instance์ ์ ์ฌํ ์๋ช ์ ๊ฐ์ง ์ ์๋ค.UGameInstance
์์ฑ ์ดํ,UMyGamesSubsystem
์ธ์คํด์ค ์ญ์ ์์ฑ๋ฉ๋๋ค.UGameInstance
์ด๊ธฐํ ์, ์๋ธ์์คํ ์์Initialize()
๊ฐ ํธ์ถ๋ฉ๋๋ค.UGameInstance
์ข ๋ฃ ์, ์๋ธ์์คํ ์์Deinitialize()
๊ฐ ํธ์ถ๋ฉ๋๋ค.- ์ด ์์ ์์ ์๋ธ์์คํ ์ ๋ํ ์ฐธ์กฐ๊ฐ ์ญ์ ๋๊ณ ๋์ด์ ์ฐธ์กฐ๊ฐ ์์ผ๋ฉด ์๋ธ์์คํ ์ ๊ฐ๋น์ง ์ปฌ๋ ์ ๋ฉ๋๋ค.
- Game Instance๋ฅผ ํตํด ์ฝ๊ฒ Game Instance Subsystem ์ ๊ทผํ ์ ์๋ค.
{ UMultiplayerSessionSubsystem ํด๋์ค ๊ตฌ์กฐ }
UMultiplayerSessionSubsystem์ ๋ฉํฐ ํ๋ ์ด์ด ํ๋ฌ๊ทธ์ธ์ ํต์ฌ์ธ Session ๊ด๋ฆฌ๋ฅผ ๋ด๋นํ๋ ํด๋์ค์ด๋ค. UGameInstanceSubsystem ํด๋์ค๋ฅผ ์์๋ฐ์ ๊ตฌํ๋์๋ค.
1. Session ๊ด๋ฆฌ ํจ์
- CreateSession : ์ธ์ ์ ์์ฑํ๋ค.
- FindSession : ์ธ์ ์ ๊ฒ์ํ๋ค.
- JoinSession : ์ธ์ ์ ์ฐธ๊ฐํ๋ค.
- StartSession : ์ธ์ ์ ์์ํ๋ค.
- DestroySession : ์ธ์ ์ ์ข ๋ฃ(์ญ์ )ํ๋ค.
2. Onlie Session Interface์ ์ฐ๊ฒฐ๋๋ Delegate๋ค๊ณผ ๊ทธ์ ๋ฐ๋ฅธ Callback ํจ์๋ค
3. Session์ ์ํ์ ๋ฐ๋ผ ์ด๋ฒคํธ๋ฅผ ๋ฐ์์ํค๋ Delegate๋ค