void ParseGameBuildFromOptionValue(string v) { KBlam.Engine.EngineBuildRevision build_revision = KBlam.Engine.EngineRegistry.TryParseExportedBuildName(v); if (build_revision != null) { mGameBuildAndTarget = build_revision.BuildHandle.ToEngineTargetHandle(); mGameEngineBlobSystemRef = KBlam.Engine.EngineRegistry.GetSystem <KBlam.Blob.BlobSystem>(mGameBuildAndTarget.Build); mGameEngineLangystemRef = KBlam.Engine.EngineRegistry.GetSystem <KBlam.Localization.LanguageSystem>(mGameBuildAndTarget.Build); } }
public static MgloBlamGameRequiredSystems GetOrCreateFromSelectableGameBuildName(string name) { MgloBlamGameRequiredSystems instance; lock (gCachedGames) { if (!gCachedGames.TryGetValue(name, out instance)) { KBlam.Engine.EngineBuildRevision build_revision = KBlam.Engine.EngineRegistry.TryParseExportedBuildName(name); if (build_revision == null) { throw new ArgumentOutOfRangeException(nameof(name), name, "Not a valid build name"); } instance = new MgloBlamGameRequiredSystems(build_revision.BuildHandle.ToEngineTargetHandle()); gCachedGames.Add(name, instance); } } return(instance); }