์๋ฅผ ๋ค์ด
์ฌ์ฉ์ ์ ํ์ค์ธ ์ ์๊ฒ ๋ฐ๋ฏธ์ง๋ฅผ 100 ์ค๋ค. ์ด๊ฒ ์คํฌ ๋ด์ฉ์
์ ํ์ค์ธ ์ ์ CombatManager๋ผ๋ ์ฑ๊ธํด ํด๋์ค์์ ์ ์ํจ
๋ฐฉ๋ฒ 1.
Skill ์ด๋ผ๋ ์ถ์ ํด๋์ค๋ฅผ ๋ง๋ฆ. Use() ๋ผ๋ ๋ฉ์๋๊ฐ ์์
GUI์์ ๋ฒํผ ๋๋ฅด๋ฉด, ํ ๋น๋ Skill์ Use()๊ฐ ์คํ๋จ
Use()๋ CombatManager์์ ์ ํ์ค์ธ ์ ์ ๋ฐ์๋ค๊ฐ ๋ฐ๋ฏธ์ง ์ฒ๋ฆฌ๋ฅผ ํจ
(๋ฒ์ ๊ณต๊ฒฉ์ด๋ผ๋ฉด ์ถ์ ํด๋์ค์์ ์๋ก์ด ๋ฐฉ์์ผ๋ก ๋ ๋ง๋ค์ด์ฃผ๊ณ ...)
๋ฐฉ๋ฒ 2.
GUI์์ ๋ฒํผ ๋๋ฅด๋ฉด, CombatManager์์ UseSingleTargetSkill(Skill skill) ๋ฉ์๋๋ฅผ ์คํํจ
GUI์ ํ ๋น๋์ด์๋ Skill ์ ๋งค๊ฐ๋ณ์๋ก ๋ฐ์์, ์ ํ ์ค์ธ ์ ์๊ฒ ๋ฐ๋ฏธ์ง ์ฒ๋ฆฌ๋ฅผ ํจ
์ง๊ธ ๋ฐฉ๋ฒ 1๋ก ๋ง๋ค๊ณ ์์๋๋ฐ ๋ฐฉ๋ฒ 2๊ฐ ์๊ฐ๋์..
๋ณดํต ์ด๋ค ์์ผ๋ก ํ ์ง ์ ๋ชจ๋ฅด๊ฒ ๋ค
1๋ฒ์ผ๋ก ํด๋ผ - dc App
์ ํ๋ ํน์ ๋ฐ๋ก ์ด์ ๋ ์์๊น์
ํ์ฅ์ฑ ๋๋ฌธ์์. ๊ทธ๋ฆฌ๊ณ ์ถ์ํด๋์ค ๋ง๊ณ ์ธํฐํ์ด์ค ์ ์ธํ๋๊ฒ ๋จ์ผ๊ธฐ, ๋ฒ์๊ธฐ ๋ฑ๋ฑ ํ์ฅํ๊ธด ๋ ์ข์๊ฑฐ์์ - dc App
๊ฐ์ฌ๊ฐ์ฌ
public interface ISkill{ void Use(); //...}public class TargetSkill : ISkill{ public void Use() {}}
public class CombatManager : Monobehavior { public ISkill currentSkill; }
์ ๋ ๊ฒ ์ธํฐํ์ด์ค๋ก ๋ฐ์์ Use์จ์ฃผ๋ฉด๋จ
1๋ก ํด๋ UI ๋ถ์ด๊ธฐ๋ง ํ๋ฉด 2๋ฒ ๋จ
ui ๋ถํ๋๊ฑด ์ด๋ฒคํธ ํธ๋ค๋ง์ผ๋ก ์ฒ๋ฆฌํ๋ฉด UI, ๋งค๋์ , ์ปจํธ๋กค๋ฌ๋ก ๋ถ๋ฆฌ ๊ฐ๋ฅ. ์ ์ด์ ์ด๋ฒคํธ ํธ๋ค๋ง ์์ผ๋ก ์ค๊ณํ๋ฉด ๋งค๋์ ์ธ์ผ๋ ์๊ฒ ์ง๋ง.
์ค.. ๋ ์ ๋ณด๋ค ๊ณ ์์ ๋ฏ? ๋ด๊ฐ ์์ง ๋ชจ๋ฅด๋ ๊ทธ๋ฆผ์ ๋จธ๋ฆฟ ์์ ๊ทธ๋ฆฌ๋ ๋ด ์ด๋ฒคํธ ํธ๋ค๋ง.. ๋ถ๋ถ ์ข ๋ ๊ตฌ์ฒด์ ์ธ ์ค๋ช ๊ฐ๋ฅํ์ ๊ฐ
์ ๋ ์ฌ์์ ๋งค๋์ ํ๋์ ui ์ค๋ธ์ ํธ๋ค์ ๋ด์๋๊ณ , ๊ทธ ui ์ค๋ธ์ ํธ๋ค ํด๋์ค์ ๋์ ์ผ๋ก ์คํฌ ํ ๋นํ๋ ์์ผ๋ก ๋ง๋ค๊ณ ์์ด..
UIํธ๋ค๋ฌ์์ ์ด๋ฒคํธ ํธ๋ค๋ฌ๋ Action ์ ์ธํ๊ณ ๋ฒํผ ํด๋ฆญ ํ์๋ ํธ์ถ๋๊ฒ ๋ง๋ค๋ฉด๋์ง. ์ด๋ฒคํธ ์๊ท๋จผํธ๋ ์ด๋ค ๋ฒํผ ๋๋ ๋์ง ๋๊ฒจ์ฃผ๋ฉด CombatManager์์ ๊ทธ๊ฑธ ์ฒ๋ฆฌํ๊ฒ ํ๋ฉด ๋จ.
๋ง์ฝ์ CombatManager์์ ๊ทธ๊ฑธ ์ฒ๋ฆฌํ๊ธฐ ์ซ๋ค๊ณ ํ๋ฉด CombatController์ด๋ฐ๊ฑฐ ํ๋ ๋ง๋๋๊ฑฐ๊ณ
์ํ ๊ฐ์ฌ๊ฐ์ฌ
์ ๋ dryrain ๋์ด๋ ๋น์ทํ๊ฒ ํจ ใ ใ