λμκ°μ§ ~ =v=
νμ¬ μ‘°κΈμ© λ§λ€μ΄λκ°κ³ μλ κ²μμ λλ€.
ν΄μ μ΄λκ³Ό νλ«ν¬λ¨Έ μ΄λ μ΄λ κ² 2κ°μ§ μ΄λλ°©μμΒ μ΄μ©ν λ €κ³ νκ³ μμ΅λλ€.
(μ μ λ§λ€λ κ²μμ μμ΄μ£ΌμΈμ;;)
νμ¬ λκ° μμμ νλ¦λλ‘ μ§κ³ μμ΅λλ€. λ¨Έλ¦Ώμμ μλκ±Έ μ΄λ»κ²λ νλ©΄μ μ€νλλλ‘ νλκ² 1μμμ¬μ...
νμ¬κΉμ§μ μν©μ κ°λ¨ν μ 리νμλ©΄
κ²μμ ν° νλ¦μ΄λ μΊλ¦ν°λ€μ μ΄λμν€λκ²(νλ μ΄μ΄, μ μκ² κ³΅ν΅μ μΌλ‘ μ μ©λλ λΆλΆ)
μ GameManager μ€ν¬λ¦½νΈκ° λ΄λΉν©λλ€.Β
κ·Έ μμλ‘ μ°μΈ‘μ μ½λ£¨ν΄μ΄ ν΄μ λͺ¨λμΌλμ κ²μμ νλ¦μ λ§‘κ³ μμ΅λλ€. (μμ)
Β νλ μ΄μ΄μ μ μ€λΈμ νΈλ λ λ€CharacterλΌλΒ μ€ν¬λ¦½νΈλ₯Ό μ¬μ©μ€μΈλ°,
Character μ€ν¬λ¦½νΈλ 곡ν΅μ μΌλ‘ μ μ©λλ μΊλ¦ν°μ μ΄λ―Έμ§ λ³νλΆλΆκ³Ό
νλ μ΄μ΄μκ² μ°μ΄λ Run, Jumpκ°μ μ€ν¬λ¦½νΈ.
μ μκ² μ°μ΄λ MakerActList μ κ°μ μ€ν¬λ¦½νΈκ° 곡쑴ν΄μμ΅λλ€. (μΆκ°μμ )
μ°Έκ³ λ‘ MakeActList()λ,Β ν΄μ λ°©μμμ μ μ νλ ν¨ν΄μ λ§λλ ν¨μμ λλ€.
μ΄..λ§μ΄ ν¨ν΄μ΄μ§
Β νλμ΄ μ νμλ string λ°°μ΄μμ 쑰건 μ‘°κΈ μΆκ°ν΄ λλ€μΌλ‘ λͺ κ° λ½κ³ 리μ€νΈμ λ£μ λ€μ μλ κ²μΌ λΏμ λλ€.
κ·Έλμ νκ³ μΆμ μ΄μΌκΈ°κ° λλλ©΄
μ΄λ κ² ν루ν루 μ‘°κΈμ© νκ³ μλλ°, μ΅κ·Όμ λ€λ₯Έ κ°λ°μλΆλ€μ΄ μ½λλ₯Ό μ§ κ±Έ νλ 보μμ΅λλ€λ§
μ μ½λλμ λκ° λ§μ΄ λ€λ₯Έ κ² κ°μ΅λλ€.
(λ¬Όλ‘ , publicμΌλ‘ λ€ λλ €λ°κ³ , μΈν°λ·μμ μ΄κ²μ κ² λ°μμ€κ³ , μμμ νλ¦λλ‘ λ§λ€μ΄μ κ·Έλ κΈ΄ν΄λ...)
κ·Έλ°λ° μ΄ λ€λ₯΄λ€λ λλμ μλλ° λκ° λ€λ₯Έμ§ λͺ¨λ₯΄κ² μ΄μ 골μΉκ° μνλλ€.
μ publicλΏμ΄ κ°λν μ§¬λ½ μ½λλ€μ μ΄μκ² μͺΌκ°μ κ΄λ¦¬νλ €λ©΄(?) μ΄μ°ν΄μΌν μ§ μΈκ²κ°€μ κ°λ°μλΆλ€μκ² λμμ λΆνλ립λλ€.
μ΄μλ€λ κ±°μ λν μ μκ° λλ? λμ 보μ΄λ μ΄μ¨? μλλ©΄ κΈ°μ μ μΌλ‘ λ©μ§κ² μ΄ κ²?
νμλΌκ³ μκ°ν΄μ. κ·Έ μ λνμμ κ°μ²΄μ§ν₯μ νλ‘κ·Έλλ°μ΄λΌκ³ μ΄κ²μ κ² λ°°μ λλ° μ λν°μ μμ μ΄ κ² κ±°μ μμ΄μ...
https://docs.microsoft.com/ko-kr/dotnet/csharp/programming-guide/inside-a-program/coding-conventions
MS μμ λ§νλ C# μ½λ 컨벀μ μ΄λ€. μ½λ 컨벀μ μ κ± μ½λ μ°λ κ·μΉ? μ΄λ°κ±΄λ° νμΈν΄ λ΄.
λλ μ λͺ¨λ₯Έλ€κ³ μΌκ΅¬λ λμΆ© λ³΄κ³ λμ΄μμ..
μλ₯Ό λ€μ΄λ΄... λ§μ΄ λ€μ΄λ΄€μ κ°μ²΄μ§ν₯μ μΈ νλ‘κ·Έλλ°μ΄λΌκ³ μκ°ν΄λ³΄λ©΄ μ΄λ κ² λ΄μΌν¨. μΊλ¦ν°λΌλ κ°μ²΄κ° μ‘΄μ¬νκ³ μΊλ¦ν°λΌλ κ°μ²΄κ° ν μ μλ κ²λ€μ ν΄λΉ ν΄λμ€μ λ€ μ§μ΄λ£κ³ λ리면 λκ² μ§? κ·Έλ¬λ μ΄λ° λΆλΆμ λ무 λ§μ κΈ°λ₯λ€μ΄ μΊλ¦ν° ν΄λμ€ μμ λ€μ΄κ°λ€. νμ¬ μΊλ¦ν°μ μμΉ, νμ¬ μΊλ¦ν°μ 체λ ₯, μΊλ¦ν°κ° μ΄λνλ ν¨μ, μΊλ¦ν°κ° λ°λ―Έμ§λ₯Ό μ λ ν¨μ, μΊλ¦ν°λ₯Ό 보μ¬μ£Όλ ν¨μ λ±λ±.. λ무 λ§μ΄ μμ΄. κ·Έλμ λκ΅°κ°λ μ΄κ±Έ λλ λ΄€μ΄. μλ₯Ό λ€μ΄μ λ°μ΄ν°λ₯Ό μλ―Ένλ μΊλ¦ν°μ μμΉ, μΊλ¦ν°μ 체λ ₯ κ·Έλ¦¬κ³ μ΄λ€ νλμ νμ λ νλ©΄μμ 보μ¬μ€μΌνλ κΈ°λ₯μ λΌμ΄λΈ κ²μ΄μ§. κ·Έλ¦¬κ³ μΊλ¦ν°μ λ°λ―Έμ§λ₯Ό μ λ λΆλΆμ΄λ μ΄λ° κ²λ λΌμ΄λΈ κ±°μΌ. μ΄λ° κ²μ MVC ν¨ν΄μ΄λΌκ³ νλ€.
public μ°μ§λ§κ³ privateμΌλ‘ νκ³ μΈμ€νν°μ λ ΈμΆμν€λ €λ©΄ [SerializeField] μ΄νλ¦¬λ·°νΈ μ°μκ³ , public νλ‘νΌν°λ₯Ό λ§λμΈμ. {set; get;
μ get set λ§λλκ±Έ νλ‘νΌν°λΌκ³ νλ€μ. λ¨μ΄μ μ½ν΄μ...κ°μ¬ν©λλ€!
Model( λ°μ΄ν° μ μ₯ ) , View ( κ·Έλ €μ§λ κ² ) , Controller ( λ‘μ§μ²λ¦¬ )μμ mvcλΌκ³ νλ€. μλ°μμλ μ΄κ±Έ λ³νμν¨ κ²λ μκ³ mvc2λ λλ λ³ μ΄μν κ²λ λ§λ€. λ€λ₯Έ κ²μ μκ°ν΄λ³ΌκΉ? μ§κΈ λμΆ© μΊλ¦ν°λ₯Ό 보면 2κ°μ§. μλ§λ νλλ νλ μ΄μ΄ νλλ μ μ΄κ² μ§? κ·Έλ¬λ©΄ PlayerModel,PlayerView, PlayerControllerλ₯Ό λ§λ€μ΄μ νλ μ΄μ΄μ λν΄μ λ¨ νλμ mvc λͺ¨λΈμ λ§λ€μ΄ λλ κ±°λ€. μλλ©΄ Enemy (model,view,controller) λ μμ μ μκ² μ§..
λ€λ₯Έ λ°©μμ ν λ² μκ°ν΄λ³ΌκΉ? Unityμμ μ΄λ²μ λμ¨ κΈ°λ₯? μ΄λΌκ³ ν΄μΌνλ ecs( entity componenet system) μ 보면 μ λ° μμΌλ‘ ꡬλΆνκ³ μμ° μμ. κΈ°λ₯μ μΌλ‘ ꡬλΆνλ€. μλ₯Ό λ€μ΄λ³΄μ. μ΄κ²μ κ²°λ‘ μ μΌλ‘ νλ( Behaviour ) λΆλΆκ³Ό λ°μ΄ν°λ₯Ό ꡬλΆνλκ±°λ€. μ΄μ°λ³΄λ©΄ MVCμμ λͺ¨λΈ(λ°μ΄ν°), 컨νΈλ‘€λ¬( λ‘μ§) λΆλΆλ§ λΌμ΄μλ€κ³ μκ°ν μ μλ€. κ·Έλ¬λ μ΄κ±΄ λͺ¨λ μ»΄ν¬λνΈλ€μ κ΄λ¦¬νλκ±°λ€. μλ₯Ό λ€μ΄λ³΄μ. " μ΄λ " μ΄λΌλ νλμ νλ MoveBehaviour μ λ°μ΄ν°λ€ ( λκΊΌμμ μ κ΅°, νλ μ΄μ΄) μμΉ κ°μ μ μ₯μν€κ³ ν΄λΉ entityμμ μ΄κ²λ§ 주ꡬμ₯μ°½ μννλκ±°λ€
λ¬΄μ¨ μ리λ₯Ό νκ³ μΆλλ©΄ μ΄λ€ κΈ°λ₯μ λ§λ€ λ λκ° μ¬μ©νκΈ° μ¬μ΄ λ°©μμ΄ μκ³ μ΄λ €μ΄ λ°©μμ΄ μμ. μ¬κΈ°μ μ½κ³ μ΄λ ΅λ€λ κ²μ λ¨μν κΈ°μ μ μΈ μ΄λ €μ λΏ μλλΌ λκ° λ¨Έλ¦¬ μμΌλ‘ μ΄ν΄νκ³ μλ λΆλΆλ μλ―Έν¨. κ·Έλ¦¬κ³ νμ¬ λ μμ€ν μμ νμν μμ€μ μμ€ν ꡬμ±μ΄ μμ μ μλ€λ κ±Έ λ§νλ κ±°μ. ν λ§λλ‘ λ κ²μμμ νμν κΈ°λ₯μ λ°λΌμ λ¬λΌμ§ μ μλ€λ κ±°μ. κ·Έλ¬λ©΄ μ°λ¦¬κ° ν΄μΌνλκ² λκΉ? λκ° κΈμμ μ΄ λλ‘ μ£Όκ΅¬μ₯μ°½ μ무 μκ°μμ΄ μ£Όλ£©μ£Όλ£© μ°λ©΄μ λ΄λ €κ°λκ² μλλΌ μκ°μ νλκ±°λ€. ' μ΄ κΈ°λ₯μ μ΄λ° κ²λ€μ΄ νμν΄. κ·Έλμ μ΄ κΈ°λ₯μ ꡬννκΈ° μν΄μλ μ΄λ° μμΌλ‘ ꡬνλμμΌλ©΄ μ’κ² μ΄. μλνλ©΄ μ΄λ° λΆλΆμ΄ μ΄λ€ λΆλΆμμλ μ’μ μ μμΌλκΉ... ' κ·Έλ¦¬κ³ λλ κ³ λ―Όνλκ±°λ€. ' μ΄ κΈ°λ₯μ λ§λ€κΈ°
μΆκ°λ‘ λ μμ€ν μμ νμν μμ€μ μμ€ν ꡬμ±μ΄ μλ―Ένλ κ²μ μ΄λ°κ±°μ. ecsλ μμ² λ§μ κ²λ€λ μ λμκ°λ€. λ μμΈν κ²μ ecs μ€λͺ μλ₯Ό λ΄λΌ μ κ·Έλ°μ§
μν΄μ λ ν΄μΌν κΉ? κ·Έλμ λμμΈν¨ν΄μ΄ νμνκ±°λ€. 맨λ λμμΈν¨ν΄λ§ 주ꡬμ₯μ°½ νμ λ°νμ μ°λΌλκ² μλλΌ... λμμΈ ν¨ν΄μμ λκ° νμν λΆλΆλ§ λΉΌμ€λΌλ κ±°μ. κ·Έλμ λμμΈ ν¨ν΄μ 곡λΆνλΌλκ±°λ€. μλνλ©΄ μ΄λ―Έ μ°λ¦¬κ°λ³΄λ€ λ κ³ μλ€μ΄ λͺ μλ λμ κ³ λ―Όν΄μ λ§λ λμμΈν¨ν΄λ€μ΄ μκΈ° λλ¬Έμ ( κ·Έλ¦¬κ³ μ€μ λ‘ λκ° νμν λμμΈν¨ν΄μ μ΄λ―Έ μ°λ¦¬κ° ꡬκΈμμ κ²μνλ©΄ λμ€λ λμμΈν¨ν΄μμ ν¬κ² λ²μ΄λμ§ μμ κ±°λ€. ) κ·Έκ²λ€μ 곡λΆνκ³ μ΄λ€ νΉμ±μ΄ μλμ§ κ³΅λΆνλκ±°λ€. μλ₯Ό λ€λ©΄ 리μ€νΈ,ν,μ€νμ λν΄μ 곡λΆν λ κ°μ μλ£κ΅¬μ‘°μ§λ§ κ°μμ νΉμ±μ΄ μμ΄μ λκ° κ³ λ₯΄κ² μ§. κ·Έκ²μ²λΌ λμμΈ ν¨ν΄λ 골λΌμ μ°λμ§.. μλλ©΄ ν΄λΉ λμμΈν¨ν΄μμ μ¬μ©λλ μ μΌ μ€μν λ‘μ§μ λΉΌμμ λκ° νμμ λ°λΌμ ꡬννλκ±°λ€
μ λ§ κ°μ¬ν©λλ€. λ ν΄μΌν μ§ μ΄μ μΌ μ’ μ κ² κ°μ΅λλ€!
μ¬λΉΌλ―Έ μ΄λ»μ©
ν¨μλ₯Ό λ§μ΄ μ¨λΌ κ°λ μ± μ’μμ§λ€
λμμΈ ν¨ν΄ νμ΅ μ μ '리ν©ν λ§'μ λ°°μ보μμμ€ - dc App