Net-Game/Library/PackageCache/com.unity.collab-proxy@50ac96531b63/Editor/Views/Changesets/ChangesetsTab_Operations.cs
2025-03-28 08:33:16 -04:00

64 lines
2.2 KiB
C#

using Codice.CM.Common;
using GluonGui.WorkspaceWindow.Views.WorkspaceExplorer.Explorer;
using Unity.PlasticSCM.Editor.AssetUtils;
using Unity.PlasticSCM.Editor.UI;
namespace Unity.PlasticSCM.Editor.Views.Changesets
{
internal partial class ChangesetsTab
{
void SwitchToChangesetForMode()
{
bool isCancelled;
SaveAssets.UnderWorkspaceWithConfirmation(
mWkInfo.ClientPath, mWorkspaceOperationsMonitor,
out isCancelled);
if (isCancelled)
return;
if (mIsGluonMode)
{
SwitchToChangesetForGluon();
return;
}
SwitchToChangesetForDeveloper();
}
void SwitchToChangesetForDeveloper()
{
mChangesetOperations.SwitchToChangeset(
ChangesetsSelection.GetSelectedRepository(mChangesetsListView),
ChangesetsSelection.GetSelectedChangeset(mChangesetsListView),
RefreshAsset.BeforeLongAssetOperation,
items => RefreshAsset.AfterLongAssetOperation(
ProjectPackages.ShouldBeResolvedFromUpdateReport(mWkInfo, items)));
}
void SwitchToChangesetForGluon()
{
ChangesetExtendedInfo csetInfo = ChangesetsSelection.GetSelectedChangeset(mChangesetsListView);
new SwitchToUIOperation().SwitchToChangeset(
mWkInfo,
PlasticGui.Plastic.API.GetRepositorySpec(mWkInfo),
csetInfo.BranchName,
csetInfo.ChangesetId,
mViewHost,
mGluonNewIncomingChangesUpdater,
new UnityPlasticGuiMessage(),
mProgressControls,
mWorkspaceWindow.GluonProgressOperationHandler,
mGluonUpdateReport,
mWorkspaceWindow,
mShelvePendingChangesQuestionerBuilder,
mShelvedChangesUpdater,
mEnableSwitchAndShelveFeatureDialog,
RefreshAsset.BeforeLongAssetOperation,
items => RefreshAsset.AfterLongAssetOperation(
ProjectPackages.ShouldBeResolvedFromPaths(mWkInfo, items)));
}
}
}