public void SetEventData(EventCodeScriptable data) { if (data == null) { Debug.Log("SetEventData: data is null"); return; } _nowScriptable = data; var dataList = TextConverter.Convert(data.GetData()); CodeData nowCode = new EndCode(); while (dataList.Count != 0) { var target = dataList.Dequeue(); var nextCode = nowCode.CreateCodeData(target, data); if (nextCode.Equals(nowCode)) { continue; } nowCode = nextCode; _codeList.Enqueue(nextCode); } }
public CodeData CreateCodeData(TextCovertedData data, EventCodeScriptable scr) { if (data == null) { return(new EndCode()); } if (CheckChain(data)) { return(this); } CodeData result = null; switch (data._head) { case "": case "name": //name[name] result = new TextData(data); break; case "branch": //branch \nbranchName \n $#1... result = new BranchCode(data); break; case "flag": //flag[flagName] 5 result = new FlagCode(data); break; case "item": //item[itemName] 1 result = new ItemCode(data); break; case "map": //map[mapName] result = new MapCode(data); break; case "image": //image[setName,num] back (center) result = new ImageCode(data); break; case "music": //music[setName,0] result = new AudioCode(data); break; case "battle": //battle[enemySetName] result = new BattleCode(data); break; case "load": //load[black] 500 result = new LoadCode(data); break; case "wait": //wait[500] result = new WaitCode(data); break; default: return(null); } result._targetScr = scr; return(result); }
bool SetEventData() { _eventData = EventController.Instance.GetEventData(_eventDataId); return(_eventData != null); }