예제 #1
0
        private async Task InstallPluginInGameIfRequired(Lifetime lifetime,
                                                         UnrealPluginInstallInfo unrealPluginInstallInfo,
                                                         Property <double> progress, ForceInstall forceInstall)
        {
            if (forceInstall == ForceInstall.No && unrealPluginInstallInfo.ProjectPlugins.All(description =>
                                                                                              description.IsPluginAvailable && description.PluginVersion == myPathsProvider.CurrentPluginVersion))
            {
                myLogger.Info("[UnrealLink] Plugin is up to date");
                foreach (var installDescription in unrealPluginInstallInfo.ProjectPlugins)
                {
                    myLogger.Info(
                        $"[UnrealLInk] Installed in {installDescription.UprojectFilePath.NameWithoutExtension} plugin version: {unrealPluginInstallInfo.EnginePlugin.PluginVersion}");
                }

                return;
            }

            await InstallPluginInGame(lifetime, unrealPluginInstallInfo, progress);
        }
예제 #2
0
        private async Task InstallPluginInEngineIfRequired(Lifetime lifetime,
                                                           UnrealPluginInstallInfo unrealPluginInstallInfo,
                                                           IProperty <double> progress, ForceInstall forceInstall)
        {
            if (forceInstall == ForceInstall.No && unrealPluginInstallInfo.EnginePlugin.IsPluginAvailable &&
                unrealPluginInstallInfo.EnginePlugin.PluginVersion == myPathsProvider.CurrentPluginVersion)
            {
                myLogger.Info("[UnrealLink] Plugin is up to date");
                myLogger.Info(
                    $"[UnrealLInk] Installed in Engine plugin version: {unrealPluginInstallInfo.EnginePlugin.PluginVersion}");
                return;
            }

            await InstallPluginInEngine(lifetime, unrealPluginInstallInfo, progress);
        }