void UpdateMenuItems(GenericMenu menu) { BranchMenuOperations operations = BranchMenuUpdater.GetAvailableMenuOperations( mBranchMenuOperations.GetSelectedBranchesCount()); AddBranchMenuItem( mCreateBranchMenuItemContent, menu, operations, BranchMenuOperations.CreateBranch, CreateBranchMenuItem_Click); AddBranchMenuItem( mSwitchToBranchMenuItemContent, menu, operations, BranchMenuOperations.SwitchToBranch, SwitchToBranchMenuItem_Click); menu.AddSeparator(""); AddBranchMenuItem( mRenameBranchMenuItemContent, menu, operations, BranchMenuOperations.Rename, RenameBranchMenuItem_Click); AddBranchMenuItem( mDeleteBranchMenuItemContent, menu, operations, BranchMenuOperations.Delete, DeleteBranchMenuItem_Click); }
static void AddBranchMenuItem( GUIContent menuItemContent, GenericMenu menu, BranchMenuOperations operations, BranchMenuOperations operationsToCheck, GenericMenu.MenuFunction menuFunction) { if (operations.HasFlag(operationsToCheck)) { menu.AddItem( menuItemContent, false, menuFunction); return; } menu.AddDisabledItem(menuItemContent); }