/// <summary> /// チャンクの実行を行う /// </summary> /// <param name="command"></param> public void Execute(CommandInfoChunk chunk, System.Action endCallback = null) { if (chunk == null) { Debug.LogError("chunk is null"); return; } _nowHandlingChunk = chunk; _nextPhase = PStartExecute; _endCallback = endCallback; _isCommandEnd = false; _nowExecutingCommand = null; _nextExecutingCommandIndex = 0; }
/// <summary> /// 指定パスのファイルのコンバートを試み、 /// 成功時にDstFolderPath以下の適切な箇所に生成したファイルを保存します /// </summary> /// <param name="converter">スクリプトコンバータ</param> /// <param name="dstLocalFilePath">出力先パス</param> /// <param name="fullSrcFilePath">コンバート元ファイルのフルパス</param> /// <returns>コンバートを正常に終えたかどうか</returns> static private bool ConvertAndSave(Script2Chunk converter, string dstLocalFilePath, string fullSrcFilePath) { Debug.Log("Target:" + dstLocalFilePath); System.Diagnostics.Stopwatch watch = new System.Diagnostics.Stopwatch(); watch.Start(); var chunk = converter.ParseScript(fullSrcFilePath, LoadTxtFile(fullSrcFilePath)); if (chunk == null) { Debug.LogError(fullSrcFilePath + " : Failure create chunk"); watch.Stop(); Debug.Log("Parse time:" + watch.ElapsedMilliseconds + "ms"); return(false); } watch.Stop(); Debug.Log("Parse time:" + watch.ElapsedMilliseconds + "ms"); watch.Reset(); watch.Start(); // ScriptAssetの生成 CommandInfoChunk targetChunk = TryGetAsset <CommandInfoChunk>(DstScriptFolderPath, dstLocalFilePath, null); if (targetChunk != null) { targetChunk.Setup(chunk); EditorUtility.SetDirty(targetChunk); } else { CreateAsset(chunk, DstScriptFolderPath, dstLocalFilePath, "commandScript/script", null, false); EditorUtility.SetDirty(chunk); } watch.Stop(); Debug.Log("Create script asset:" + watch.ElapsedMilliseconds + "ms"); return(true); }
public void Setup(CommandInfoChunk src) { _scriptName = src._scriptName; _commandInfos = src._commandInfos; _optionDict = src._optionDict; }