Tanoda
CanvasManager.cs
Go to the documentation of this file.
1using System.Collections;
2using System.Collections.Generic;
3using GILES;
4using UnityEngine;
5using UnityEngine.UI;
6
7public class CanvasManager : MonoBehaviour
8{
9 #region Static Instance
10 public static CanvasManager instance;
11
12 private void Awake()
13 {
14 if (!instance)
15 instance = this;
16 else
17 Destroy(this);
18 }
19 #endregion
20
21 public GameObject MainCanvas, ModelEditorCanvas;
22
23 void CopyComponent<T>(T original) where T : Component
24 {
25 System.Type type = original.GetType();
26 Component copy = original.gameObject.AddComponent(type);
27 System.Reflection.FieldInfo[] fields = type.GetFields();
28 foreach (System.Reflection.FieldInfo field in fields)
29 {
30 field.SetValue(copy, field.GetValue(original));
31 }
32 Destroy(original);
33 }
34
35 public void SwitchToMain()
36 {
37 ModelEditorCanvas?.SetActive(false);
38 MainCanvas?.SetActive(true);
39 pb_InputManager.instance.currentEditor.skipOnGUI = false;
40 }
41
42 public void SwitchToModelEditor()
43 {
44 MainCanvas?.SetActive(false);
45 ModelEditorCanvas?.SetActive(true);
46 }
47}
UnityEngine.Component Component
GameObject ModelEditorCanvas
void SwitchToMain()
void SwitchToModelEditor()
static CanvasManager instance
GameObject MainCanvas