public override void Update() { if (Context == null || mCompiler == null) { // Either an error, or nothing to do. return; } NavmeshBuild build = Context.Build; if (!build) { return; } if (Context.Build.BuildState == NavmeshBuildState.Invalid && mCompiler != null) { Logger.PostError("Build has become invalid. Discarded input compile.", Context.Build); mCompiler = null; return; } if (!mCompiler.IsFinished) { mCompiler.Update(); return; } if (!mCompiler.HasData) { Logger.PostError("Input data compile failed.", null); mCompiler = null; } else if (build.HasInputData) { // Note: Don't apply the changes if it will cause // a state transition. It creates GUI control issues. ApplyData(); } }
public override void Update() { base.Update(); if (Context == null || mInputCompile == null) { return; } mInputCompile.Update(); if (!mInputCompile.IsFinished) { return; } NavmeshBuild build = Context.Build; if (!build) { return; } UnityBuildContext mLogger = new UnityBuildContext(); if (mInputCompile.HasData) { if (!build.SetInputData(mLogger, mInputCompile.Geometry , mInputCompile.Info, mInputCompile.Processors, mInputCompile.Connections , true)) { mLogger.PostError("Could not apply input data.", build); } } else { mLogger.PostError("Input compile did not produce anything.", build); } mInputCompile = null; }