PageComponent.cs
964 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
using UnityEngine.UIElements;
namespace Unity.Cloud.Collaborate.Components
{
internal abstract class PageComponent : VisualElement
{
/// <summary>
/// Current active status for this page.
/// </summary>
protected bool Active { get; private set; }
/// <summary>
/// Set active status of this page.
/// </summary>
/// <param name="active">True if the page is to be active.</param>
public void SetActive(bool active)
{
Active = active;
if (Active)
{
SetActive();
}
else
{
SetInactive();
}
}
/// <summary>
/// Set this page active.
/// </summary>
protected abstract void SetActive();
/// <summary>
/// Set this page inactive.
/// </summary>
protected abstract void SetInactive();
}
}