41 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
		
		
			
		
	
	
			41 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
|  | using UnityEngine.UIElements; | ||
|  | namespace Unity.Multiplayer.Center.Onboarding | ||
|  | { | ||
|  |     /// <summary> | ||
|  |     /// A lot of the getting started content is in the package com.unity.multiplayer.center.quickstart | ||
|  |     /// This class is responsible for handling the package and its installation | ||
|  |     /// </summary> | ||
|  |     internal class QuickstartIsMissingView | ||
|  |     { | ||
|  |         public const string PackageId = "com.unity.multiplayer.center.quickstart"; | ||
|  | 
 | ||
|  |         Button m_Button; | ||
|  |         public VisualElement RootVisualElement { get; private set; } | ||
|  | 
 | ||
|  |         public static bool ShouldShow => !PackageManagement.IsInstalled(PackageId); | ||
|  | 
 | ||
|  |         public QuickstartIsMissingView() | ||
|  |         { | ||
|  |             RootVisualElement = new HelpBox("The Quickstart package is not installed, so not all the content will be available in this view.", HelpBoxMessageType.Warning); | ||
|  |             m_Button = new Button(InstallQuickstart) {text = "Install"}; | ||
|  |             RootVisualElement.style.marginLeft = RootVisualElement.style.marginRight = RootVisualElement.style.marginTop = RootVisualElement.style.marginBottom = 8; | ||
|  |             RootVisualElement.Add(m_Button); | ||
|  |         } | ||
|  | 
 | ||
|  |         void InstallQuickstart() | ||
|  |         { | ||
|  |             PackageManagement.InstallPackage(PackageId, OnInstallFinished); | ||
|  |         } | ||
|  | 
 | ||
|  |         void OnInstallFinished(bool success) | ||
|  |         { | ||
|  |             if (!success) | ||
|  |                 return; | ||
|  | 
 | ||
|  |             if(m_Button != null) | ||
|  |                 m_Button.clicked -= InstallQuickstart; | ||
|  |             RootVisualElement?.RemoveFromHierarchy(); | ||
|  |         } | ||
|  |     } | ||
|  | } |