public static List <Expression.Data> Convert( ref string[] args, TextScenario scenario) { List <Expression.Data> dataList = new List <Expression.Data>(); if (args.Length > 1) { int cnt = 0; while (!args.IsNullOrEmpty(cnt)) { string check = (string)null; args.SafeProc(cnt + 1, (Action <string>)(s => check = s)); if (check != null) { int no = int.Parse(args[cnt]); Game.Expression expression1 = Game.GetExpression(scenario.commandController.expDic, check); if (expression1 != null) { dataList.Add(new Expression.Data(no, expression1)); cnt += 2; continue; } CharaData chara = scenario.commandController.GetChara(no); ChaControl chaCtrl = chara.chaCtrl; int personality = 0; if (chara.data != null) { if (chara.data.agentData != null) { VoiceInfo.Param obj; if (Singleton <Manager.Voice> .Instance.voiceInfoDic.TryGetValue(chara.data.chaCtrl.fileParam.personality, out obj)) { personality = obj.No; } } else if (chara.data.merchantData != null) { VoiceInfo.Param obj; if (Singleton <Manager.Voice> .Instance.voiceInfoDic.TryGetValue(-90, out obj)) { personality = obj.No; } } else { VoiceInfo.Param obj; if (chara.data.playerData != null && Singleton <Manager.Voice> .Instance.voiceInfoDic.TryGetValue(-99, out obj)) { personality = obj.No; } } } if (Singleton <Game> .IsInstance()) { Game.Expression expression2 = Singleton <Game> .Instance.GetExpression(personality, check); if (expression2 != null) { dataList.Add(new Expression.Data(no, expression2)); cnt += 2; continue; } } } Expression.Data data = new Expression.Data(args, ref cnt); data.IsChangeSkip = true; dataList.Add(data); } } return(dataList); }
public Data(int no, Game.Expression src) { this.no = no; src.Copy((Game.Expression) this); }