์๋ class๊ฐ ์ด๋ค ๊ฐ์ฒด๋ฅผ ์ฐ์ด๋ด๊ธฐ ์ํด์ ๋ง๋ค์ด์ง ๊ฑด๋ฐ
์๋ฅผ ๋ค์ด Monster class๋ผ๊ณ ํ๋ฉด
member property์
string name
int health
...
๋ญ ์ด๋ฐ ์์ผ๋ก ๋ค์ด๊ฐ์์์?
๊ทผ๋ฐ ์ ๋ํฐ ์์ฒด์์ [serializefield]๋ฅผ ์ ๊ณตํ๋๊น ๊ตณ์ด pure c# class์์ ๊ฐ์ฒด๋ฅผ ๋ง๋ค class๋ฅผย ์ธ ์ผ์ด ์๋ ๊ฒ ๊ฐ๋๋ผ๊ณ ์.
์ ์๊ฐ์ด ๋ง๋์?
๊ทธ๋ฆฌ๊ณ ์ธ์ unity.engine์ด ์๋๋ผ pure c# class๋ฅผ ์ฐ๋์?
๋ค ๋ง๋๋ก๋ฉด ์ ๋ถ MonoBehaviour๋ ScriptableObject ์์ํด์ ํด๋์ค ๋ง๋ค๋ฉด ๋์ง ๊ตณ์ด ๋ฌด์์ ํด๋์ค ๋ง๋ค์ด ์ธ์ผ์ด ์๋๋ ๊ฑฐ์ง? ์์. ์์ฃผ ๋ง์ด ํจ์ดํ๊ฒ ์ธ์ผ์ด ๋ง์. ๋๊ฐ ํ์๋ก ํ๋ ์ํฉ์ด ์์ง ์์๋ ๊ฒ ๊ฐ๋ค. ๊ณง ์ฌ๊ฑฐ์
๋ณดํต ์ด๋จ ๋ ์?
๋ณดํต ์ด๋จ ๋ ์ฐ๋๋... ํน๋ณ ์ผ์ด์ค๊ฐ ์๋๊ฒ๋ ์๋๊ณ ๋ฐฅ๋จน๊ณ ์จ์ฌ๋ฏ์ด ์ธ์ผ์ด ๋ง์๋ฐ... ๊ทธ๋ผ ํ๋ ์์๋ก ๋ค๊ฒ ์คํํฌ๋ํํธ์์ ์ ์ ๊ฐ Shift๋๋ฅด๊ณ ์ ๋์๊ฒ ๋ช ๋ น์ ๋ด๋ฆฌ๋ฉด ๋ช ๋ น๋ค์ด ๋ช ๋ นํ๋ก ์ ์ฅ๋จ. ๊ทธ๋ฆฌ๊ณ ์ ๋์ ํ๋ํ๋ ๋ช ๋ น์ ์ฒ๋ฆฌํ๊ณ . ๋ ๊ทธ๊ฑธ ๊ตฌํํ๊ณ ์ถ์.
public enum CommandInputType{ Stop,MoveToPos,AttackToPos,AttackTarget,Build } public class CommandInput { public CommandInputType type; public string[] arg; } Queue inputQueue;
CommandInput pure C# ํด๋์ค์. ์ ์ ๊ฐ ์ ๋ ฅํ๋๊ฑธ ์ ์ฅํ๊ธฐ์ํด ๋ง๋ค์์ด. ์์งํ MonoBehaviour์์ํ ํด๋์ค๋ณด๋ค ๋ ๋ง๋ค์ผ์ด ๋ง์ด. ๋๊ฐ ์์ง ์ธ ๊ฒฝ์ฐ๋ฅผ ๊ฒฝํํ์ง ๋ชปํด์ ๊ทธ๋ฐ๊ฑฐ๋ผ ์๊ฐํด.
ใ ใ ์์ง ์ด๋ณด๋ผ ์ ์ ์ด ๊ฑฐ๊ตฌ๋ ใณใณ