๋ก๊ทธ๋ผ์ดํฌ ๊ฒ์ ๋ณด์ ์ ํ์ง ๊ณ ๋ฅผ์ ํด๋น ์์ดํ ์ฝ๋ 1์ด๋ผ๋ฉด ํจ์๋ช ๋ย 1a ์ด๋ฐ์์ด๋ผ ๊ณ ๋ฅธ ์์ดํ ์ฝ๋๋ฅผ sendmessage๋ก ์คํ์ํค๋ คํ๋๋ฐ ์ผ๋๋ฉ์์ง ์ฑ๋ฅ์ด ๋ณ๋ก๋ผ๊ณ ํด์ invoke๋ก ์คํํด๋ ๋น์ทํ๊ฒ ์ฑ๋ฅ์ด ๋ณ๋ก์ผ๊ฑฐ๋ผ๊ณ ์๊ฐ๋๋๋ฐ ๋์ฒด ํ ์ ์๋ ์ข์ ๋ฐฉ๋ฒ์ด ์์๊น? ์ฌ์ค ์์ดํ ๊ณ ๋ฅด๋ ๊ฑด ๊ฐ๋์ฉ๋ง ์ด๋ผ ์ฑ๋ฅ์ด ๋จ์ด์ ธ๋ ํฌ๊ฒ ์๊ด ์์๊ฑฐ๋ผ๊ณ ๋ณด๊ธด ํ๋๋ฐ ๋ณด๋๊ฑฐ ๋ง๋ค ๊ทธ๋ฐ๋ฐ ์ฑ๋ฅ์ด ์ชผ๋ ใ ใ ์ด๋ฐ์์ผ๋ก ๋์์ด์ ๊บผ๋ ค์ง๋ค ..๋์!!!
[๐ฃ์ง๋ฌธ] ์คํธ๋ง์ผ๋ก ํจ์ ํธ์ถ ๋์
์ต๋ช
(59.15)
2024-05-28 14:00
์ถ์ฒ 0
๋๊ธ 21
๋ค๋ฅธ ๊ฒ์๊ธ
-
C# ์ ๋ชฐ๋ผ๋ ๊ทธ๋ฅ ๋ฌด์์ ๋ฐ๋ผํด๋ณด๋ฉด ๋๋ ค๋ [15][๐ฌ] ์ ๋fan(fastiger97) | 24.05.28์ถ์ฒ 0
-
๋ก๋ฐฅ์๋์์ฐ๋ ํ๋ ์ด์์คํฌ ์ต๋ ํ์ด๋ผ์ดํธ ์ธ์ ํ๋ฉด ๊ฐ์ถ [21][๐ฌ] ์ต๋ช (119.66) | 24.05.28์ถ์ฒ 19
-
๊ฐค ๋ค์ง๊ฑฐ์์ด? [3][๐ฌ] ์ต๋ช (58.29) | 24.05.28์ถ์ฒ 1
-
์ํธ ์กฐ์ธ [3][๐ฌ] ์ต๋ช (175.121) | 24.05.28์ถ์ฒ 1
-
๋๋ ๊ทธ ์์ ์ ํตํผ, ์ ๋ ๋ ผ์๋๋ ๋น์ทํ๋ค๊ณ ์๊ฐํจ [5][๐ฌ] ์ต๋ช (124.28) | 24.05.28์ถ์ฒ 0
-
๊ธ ์๋์ด์ ์ผ ๋ณ๊ฑฐ์๋ ๋ ผ์๋ ๊ธธ์ด์ง๋ฉด ์ง์์ ๊ทธ๋ ์ง [4][๐ฌ] ์ต๋ช (124.28) | 24.05.28์ถ์ฒ 1
-
์ดํํธ๋ ๋๋ถ๋ถ ์์ ์ผ๋ก ํด๊ฒฐํด? [2][๐ฃ์ง๋ฌธ] ์ต๋ช (14.40) | 24.05.28์ถ์ฒ 2
-
์ํธ์ข์๋ฐ ๋งํ๊ฒ ํ๋ ๋ฐ๊ฒฌํจ [20][๐ฌ] ์ต๋ช (119.204) | 24.05.28์ถ์ฒ 1
-
์ธ๋๊ฒ์ ๊ฐ๋ฐ์๋ก์ ์ค์ํ๊ฑด ์ฝ๋ฉ์ด ์๋ ์ํธ์ธ๋ฏ [5][๐ฌ] ๊ณฐ๋๊ณ๊ณก(anilevoldc) | 24.05.28์ถ์ฒ 0
-
์์ ์ ์๊ถ ํ์์ค์ ๊ตผ๊ธํ๊ฒ ์์ด์ ์ง๋ฌธ์ขํ ๊ฒ์. [2][๐ฌ] ์ต๋ช (211.204) | 24.05.28์ถ์ฒ 0
ํด๋น ๋๊ธ์ ์ญ์ ๋์์ต๋๋ค.
๋๋๊ฒ๋ ์ ํ ์ดํดํ์ง ๋ชปํจ ํจ์๋ฅผ ๋ฏธ๋ฆฌ ๋์ ๋๋ฆฌ๋ก ๋ง๋ค์ด๋๊ณ ๊ทธ ํจ์๋ช ์ ํค๊ฐ์ผ๋ก ํด๋๋ผ๋ ๋ป์ธ๊ฑฐ์?
์ถ๊ฐ ์ค๋ช ์๋ ๋ง๋ถ์๋๋ฐ ํน์ ์๊ฐ ๋์๋ฉด ํ๋ฒ ํผ๋๋ฐฑ ๋ถํ ๋๋ฆฝ๋๋ค
๊ฒฐ๊ตญ์๋ Dictionary๋ฅผ ์ฝ๋๋ก ๋ง๋ค์ด ์ค์ผํ๋๋ฐ, ์ด๊ฒ ํ๋์ฝ๋ฉ(์ค์์น๊ตฌ๋ฌธ)์ผ๋ก ํจ์๋ฅผ ํธ์ถํ๋๊ฑฐํ๊ณ ์ฌ์ค ์ฐจ์ด๊ฐ ์์ด๋ณด์
๋คํธ์ํฌ๋ ๊ณ ๋ คํด์ผ ํ๋ฉด ์ด๋คํจ์๋ฅผ ์คํํ๋๊ฑด์ง๋ enum์ผ๋ก ์ ์ ํด๋น ํจ์์ ํ์ํ ์ธ์๋ค์ ๊ตฌ์กฐ์ฒด๋ก ์ ์ํ๋ค byte[]๋ก ๋ฐ์์ swith case ๋๋ฆฌ๊ธฐ?
์ค์์น ์ผ์ด์ค๋ก ๋๋ฆด๋ ค๋ฉด ์ฝ 100๊ฐ์ง๊ฐ ๋์ด์ ํ๋ค๊ฑฐ ๊ฐ์
๊ธฐ์กด์ฝ๋๊ฐ public void AugmentCall(int code)//slot์์ pick์ผ๋ก ํธ์ถํด์ punppc๋ก ๋ชจ๋ ์ปดํจํฐ์ ๋ฟ๋ ค์ค { string callName = "A" + code.ToString(); //photonView.RPC(callName, RpcTarget.All, PlayerPvNumber); SendMessage(callName, SendMessageOptions.DontRequireReceiver); }
์ํฐ๋ก ๋ค์์ค ๋๊ธธ๋ ค๊ณ ํ๋ค๊ฐ ๋ฐ๋ก ๋ฑ๋ก ๋๋ฒ๋ ธ๋ค ์ ์ํ๋ก ๊ธฐ์กด์ ์์ดํ ์ฝ๋๋ฅผ ๋งค๊ฐ๋ณ์๋ก int code ๋ฐ๊ณ ํจ์๋ช ์ ์ซ์๋ง์ผ๋ก ์๋์ a๋ฅผ ๋ถ์ฌ์ a001 ๋ก ํฌํค์ผ๋ก ๋ฟ๋ ธ์๋๋ฐ ์ด๊ฑธ ์ฑ๊ธ๊ฒ์ผ๋ก ๋ฐ๊ฟ๋ ค๊ณ ํฌํค์ ์ ๊ฑฐ ์ค์ ๊ทธ๋์ ๊ธฐ์กด ์ฌ์ฉ์ค์ด๋ ์คํธ๋ง ๊ฐ์ผ๋ก ํจ์๋ฅผ ์คํ์ํฌ ๋ฐฉ๋ฒ์ ์ฐพ๋ ์ค์
SendMessage๋ก ํธ์ถํ๋ ๋ญ๋, ์ฃผ์ด์ง ์์ดํ ์ฝ๋์ ๋ํด์ ํจ์๋ช ์ ๊ฒฐ์ ํ๊ณ , ๊ทธ๊ฑธ ๋์ ์ผ๋ก ํธ์ถํ๊ฒ ๋๋ฉด ๋ฌด์จ ๋ฐฉ๋ฒ์ ์ฐ๋ ๋๋ฆฐ๊ฑด ์ด์ฉ์ ์์.
์์์ ๋งํ SendMessage ์ฒ๋ผ ๋์ ์ผ๋ก ํธ์ถํ๋ ๋ฐฉ๋ฒ์ด ์ฝ๋๋์ ์ค์ด๊ธดํ๋ฐ, ์๋๋ฅผ ๋ฐ์ง๋ค๋ฉด, ์ฝ๋์์ผ๋ก ์ค์์น๋ฅผ ์ฐ๋, if๋ฌธ์ผ๋ก ๋๋ฐฐํ๋, if(itemCode=="Item001") AItem001();
์ฒ๋ผํ๋ ์๋ฐ์ ์๊ณ ,
์์ฒ๋ผ if ๋ switch๋ก ๋๋ฐฐํ๋๊ฒ ์์ข์ ๋ฐฉ๋ฒ์ด๋ผ๊ณ ์๊ฐํ๋ฉด ์๋จ. ์์ข์ ๋ฐฉ๋ฒ์ด ์๋๊ณ ๋๋์ด ์คํฌ์ด ๋จ์ด์ง๋๊ฑฐ์. ๋ฌด์จ ์คํฌ์ด๋๋ฉด ์๋ํฐ ์ฌ์ฉ ์คํฌ. ์ฌ๋๋ค์ด ๊ดํ vscode๋ vim, Emacs ๋ฅผ ์ฐ๋๊ฒ ์๋. ์ด๋ฐ๊ฑธ ํธํ๊ฒ ํด์ฃผ๋ ๊ฐ์ข ์คํฌ๋ฆฝํธ๋ฅผ ์ค์๊ฐ์ผ๋ก ์ฝ๊ฒ ๋ง๋ค์ ์๊ธฐ ๋๋ฌธ์ ์ฐ๋๊ฑฐ์.
์์ดํ ์ฝ๋ ๋ณ๋ก if ๋ฌธ ์ฒ๋ฆฌ๋ฅผ ํ๋๊ฑฐ ๋ณด๋จ ์ผ๋๋ฉ์์ง๋ก ๋์์ ํด๋ณด๊ณ ๋์๊ฐ๋ ์ฒด๊ฐ์ผ๋ก ํด๋ด์ผ ํ ๊ฑฐ ๊ฐ๋ค ํ๋ ์ฝ๋ฉ ๋ณด๋ค ๋ค๋ฅธ๊ฑฐ ๊ฐ๋ฐํ๋๊ฑฐ์ ํฌ์ํ๋๊ฒ ๋๋์๊ฑฐ ๊ฐ์ ์์ ๋์ ๋๋ฆฌ ๋ฐฉ๋ฒ์ ๋ฐธ๋ฅ๊ฐ์ ๋ธ๋ฆฌ๊ฒ์ดํธ ๋ฃ์์ ์๋๊ฑฐ ๋ฐฐ์๊ฐ๊ฒ๋ ๊ทธ๋ ๊ณ ๋ค๋ค ๊ณ ๋ง์
๋ธ๋ฆฌ๊ฒ์ดํธ์ ๋ฃ๋๊ฒ๋ ๊ฒฐ๊ตญ ๋ฃ๋ ์ฝ๋๊ฐ ํ์ํ๊ธฐ๋๋ฌธ์,if /switch ๋๋ฐฐํ๊ณ ์ฐจ์ด๊ฐ ์์์
๋ธ๋ฆฌ๊ฒ์ดํธ๋ก ํธํ๊ฒ ๋ฃ๊ณ ํธ์ถํ๋ ค๋ฉด ๊ฒฐ๊ตญ ๋์ ์ผ๋ก ํธ์ถํด์ผ ํ๋๋ฐ, ๊ฒฐ๊ตญ SendMessageํ๊ณ ๋์ผํ๊ฑฐ๊ณ . ๊ทธ๋ด๋ฐ์ SendMessage ์ฐ๊ฒ ์.
์ค์์น ์ด๋ค๊ณ ํ๋์ฝ๋ฉ์ ์๋๋ฐ.... enum ํด๋์ค ๋ง๋ค์ด์ ๊ด๋ฆฌํ๋ฉด ์ ์ง๋ณด์๋ ์ฌ์
๊นจ๋ฌ์ ๋ฒ๋ ธ๋ค ์ผ๋ ๋ฉ์์ง ์ธ๊ฑฐ๊ณ ํ๋ ์ด ํ๋ฉด์ ์ฑ๋ฅ ์ต์ ํ ํ๊ณ ์ถ์ผ๋ฉด enum์ผ๋ก ํจ๊ณผ ๋ฒํธ ์ ๋ฆฌํด์ ์ค์์น๋ฌธ ์ค์ง๊ฒ ๋๋ฆด๊ฒ ๋ง์ด ๋ฐฐ์๊ฐ๋ค ๋ค๋ค ๊ณ ๋ง์
๊ฑ ํ๋ฑ๋ง์ฒ๋ผ ๋์ ๋๋ฆฌ๋ก ํ๋ฉด ์๋จ? SendMessage ์ธํ์๋์๊ณ ์ฒ์์ ์ด๊ธฐํ๋ง ์์ผ์ฃผ๋ฉด ๋์์ด ํธ์ถํ๊ธฐ๋ ํธํ๊ณ
์ฒ์ ์ด๊ธฐํํ ๋ ๋ฆฌํ๋ ์ ๊ฐ์๊ฑธ๋ก ํจ์ ๋ฌธ์์ด ๋ง๊ฒ ๋ฐ๋ณต๋ฌธ๋ง ๋๋ ค์ฃผ๋ฉด ์ค์์น๋ฌธ๊ฐ์๊ฒ๋ณด๋ค ์ ์ง๋ณด์๋ ๊ฐ๋จํ ๊ฒ๊ฐ์๋ฐ
๋์์ด ๋ ์ง ๋ชจ๋ฅด๊ฒ ์ง๋ง Photon ๊ฐ์ ์์ฉ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์๋ RPC ํธ์ถ์ ํจ์๋ช ์ผ๋ก ์ํํ๋๋ฐ ์ด๋ฅผ ์ํด ํจ์์ Attribute๋ฅผ ์ ์ธํด์ค์ผํจ. ๊ทธ๋ฆฌ๊ณ ์ค์ RPC ํธ์ถ์ด ์ด๋ค์ง๋ฉด ํด๋น Attribute๋ฅผ ๊ฐ์ง ๋ชจ๋ ํจ์๋ฅผ Dictionary์ ์บ์ฑํ๊ณ ํธ์ถ ๋ ํจ์๋ช ์ Key๋ก ์ฌ์ฉํด์ RPC ํธ์ถ์ด ๋ง๋ฌด๋ฆฌ ๋จ.
Keyword๋ Reflection์ด๋ ๊ถ๊ธํ๋ฉด ๊ฒ์ํด๋ณด๋ฉด ๋ ๋ฏ