public class Event { public IEnumerator[] events; }

์šฐ์„  ์ด๋Ÿฐ ์‹์œผ๋กœ ์ด๋ฒคํŠธ๋ฅผ IEnumerator Array๋กœ ๋งŒ๋“ค๊ณ ย  public Event nowEvent; private int _eventNum; private IEnumerator nowCor; public int eventNum { get { return _eventNum; } set { _eventNum = value; if (_eventNum < nowEvent.events.Length) { if (nowCor != null) { StopCoroutine(nowCor); } nowCor = nowEvent.events[_eventNum]; StartCoroutine(nowCor); } else { EndEvent(); } } }


์ด๋ฒคํŠธ ๋งค๋‹ˆ์ €์—์„œ๋Š” ์ง€๊ธˆ ๋™์ž‘์ค‘์ธ ์ด๋ฒคํŠธ๋ฅผ ๋ฐ›๊ณ 

์ˆœ๋ฒˆ ๋ฐ”๋€” ๋•Œ๋งˆ๋‹ค ๊ทธ ์ด๋ฒคํŠธ์˜ n๋ฒˆ์งธ ์ฝ”๋ฃจํ‹ด์„ ํ˜ธ์ถœํ•˜๊ฒŒ ๋งŒ๋“ค์—ˆ์Œ


public IEnumerator DailyTalk(Dialogue newDialogue, Color? textColor = null) { if (string.Equals(newDialogue.name, "-")) { nameObject.SetActive(false); } else { nameObject.SetActive(true); nameText.text = newDialogue.name; } dailyText.color = textColor.HasValue ? textColor.Value : Color.white; contextCache = ""; for (int j = 0; j < newDialogue.contexts.Length; j++) { changeCache = newDialogue.contexts[j].Replace("`", ","); contextCache += changeCache; contextCache += "\n"; } newTalk = contextCache; yield return new WaitUntil(() => isType && Input.GetMouseButtonDown(0)); GameManager.instance.eventManager.eventNum += 1; }


๊ทธ๋ฆฌ๊ณ  ์ด๋ฒคํŠธ์— ์“ฐ์ด๋Š” ์ฝ”๋ฃจํ‹ด์€ ๋‹ค ๋๋‚˜๋ฉด ์ € ์ˆœ๋ฒˆ 1 ์ฆ๊ฐ€์‹œ์ผœ์ฃผ๊ฒŒ ๋งŒ๋“ค์—ˆ๊ณ 

Event makeEvent = new Event(); List<IEnumerator> makeEventList = new List<IEnumerator>(); for (int i = 0; i < callCSV.Length; i++) { makeEventList.Add(GameManager.instance.playerManager2.DailyTalk(callCSV[i])); } makeEvent.events = makeEventList.ToArray();



์ด๋ฒคํŠธ๋ฅผ ๋งŒ๋“ค ๋•Œ ์ €๋ ‡๊ฒŒ IEnumerator๋กœ ๋ฆฌ์ŠคํŠธ๋ฅผ ํ•˜๋‚˜ ๋งŒ๋“ค์–ด์คฌ๊ณ 



public void StartEvent(Event newEvent, int saveNum = 0) { this.nowEvent = newEvent; this.eventNum = saveNum; }


GameManager.instance.eventManager.StartEvent(makeEvent);


์ด๋ฒคํŠธ๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ ์ด๋Ÿฐ ํ•จ์ˆ˜๋ฅผ ์จ์„œ ์ƒˆ ์ด๋ฒคํŠธ ๊ฐฑ์‹ ํ•˜๊ฒŒ ๋งŒ๋“ค์–ด์คฌ์Œ



๊ทผ๋ฐ ์ด๊ฒŒ ๋˜‘๊ฐ™์€ ์ด๋ฒคํŠธ๋ฅผ ์ฒ˜์Œ์— ํ˜ธ์ถœํ•  ๋•Œ๋Š” ์ž‘๋™์„ ์ž˜ ํ•˜๋Š”๋ฐ

๋‘ ๋ฒˆ์งธ๋กœ ํ˜ธ์ถœํ•  ๋•Œ๋Š” ์ด๋ฒคํŠธ ํ˜ธ์ถœ๊นŒ์ง„ ๋˜๋Š”๋ฐ ์ฝ”๋ฃจํ‹ด์ดย ์‹œ์ž‘์„ ์•ˆํ•จ


์ด๊ฒƒ์ €๊ฒƒ ๋ฐ”๊ฟ”๋„ ๋ณด๊ณ  ๊ฒ€์ƒ‰๋„ ํ•ด๋ดค๋Š”๋ฐ ๋น„์Šทํ•œ ์ƒํ™ฉ์ด ์•ˆ ๋‚˜์™€์„œ ๊ณ ๋ฏผํ•˜๋‹ค๊ฐ€ ์—ฌ๊ธฐ์— ๊ธ€ ์˜ฌ๋ ค๋ณด๋Š”๋ฐ ํ˜น์‹œ ๋„์›€๋ฐ›์„ ์ˆ˜ ์žˆ์„๊นŒ