Game đua xe 3D
30.513 lượt xem;
- MobileControlRig.cs
- Scripts /
- CrossPlatformInput /
- Standard Assets /
- Assets /
- project /
1 using System;
2 #if UNITY_EDITOR
3 using UnityEditor;
4 #endif
5 using UnityEngine;
6
7
8 namespace UnityStandardAssets.CrossPlatformInput
9 {
10 [ExecuteInEditMode]
11 public class MobileControlRig : MonoBehaviour
12 {
13 // this script enables or disables the child objects of a control rig
14 // depending on whether the USE_MOBILE_INPUT define is declared.
15
16 // This define is set or unset by a menu item that is included with
17 // the Cross Platform Input package.
18
19 #if !UNITY_EDITOR
20 void OnEnable()
21 {
22 CheckEnableControlRig();
23 }
24 #endif
25
26 private void Start()
27 {
28 #if UNITY_EDITOR
29 if (Application.isPlaying) //if in the editor, need to check if we are playing, as start is also called just after exiting play
30 #endif
31 {
32 UnityEngine.EventSystems.EventSystem system = GameObject.FindObjectOfType<UnityEngine.EventSystems.EventSystem>();
33
34 if (system == null)
35 {//the scene have no event system, spawn one
36 GameObject o = new GameObject("EventSystem");
37
38 o.AddComponent<UnityEngine.EventSystems.EventSystem>();
39 o.AddComponent<UnityEngine.EventSystems.StandaloneInputModule>();
40 }
41 }
42 }
43
44 #if UNITY_EDITOR
45
46 private void OnEnable()
47 {
48 EditorUserBuildSettings.activeBuildTargetChanged += Update;
49 EditorApplication.update += Update;
50 }
51
52
53 private void OnDisable()
54 {
55 EditorUserBuildSettings.activeBuildTargetChanged -= Update;
56 EditorApplication.update -= Update;
57 }
58
59
60 private void Update()
61 {
62 CheckEnableControlRig();
63 }
64 #endif
65
66
67 private void CheckEnableControlRig()
68 {
69 #if MOBILE_INPUT
70 EnableControlRig(true);
71 #else
72 EnableControlRig(false);
73 #endif
74 }
75
76
77 private void EnableControlRig(bool enabled)
78 {
79 foreach (Transform t in transform)
80 {
81 t.gameObject.SetActive(enabled);
82 }
83 }
84 }
85 }
2 #if UNITY_EDITOR
3 using UnityEditor;
4 #endif
5 using UnityEngine;
6
7
8 namespace UnityStandardAssets.CrossPlatformInput
9 {
10 [ExecuteInEditMode]
11 public class MobileControlRig : MonoBehaviour
12 {
13 // this script enables or disables the child objects of a control rig
14 // depending on whether the USE_MOBILE_INPUT define is declared.
15
16 // This define is set or unset by a menu item that is included with
17 // the Cross Platform Input package.
18
19 #if !UNITY_EDITOR
20 void OnEnable()
21 {
22 CheckEnableControlRig();
23 }
24 #endif
25
26 private void Start()
27 {
28 #if UNITY_EDITOR
29 if (Application.isPlaying) //if in the editor, need to check if we are playing, as start is also called just after exiting play
30 #endif
31 {
32 UnityEngine.EventSystems.EventSystem system = GameObject.FindObjectOfType<UnityEngine.EventSystems.EventSystem>();
33
34 if (system == null)
35 {//the scene have no event system, spawn one
36 GameObject o = new GameObject("EventSystem");
37
38 o.AddComponent<UnityEngine.EventSystems.EventSystem>();
39 o.AddComponent<UnityEngine.EventSystems.StandaloneInputModule>();
40 }
41 }
42 }
43
44 #if UNITY_EDITOR
45
46 private void OnEnable()
47 {
48 EditorUserBuildSettings.activeBuildTargetChanged += Update;
49 EditorApplication.update += Update;
50 }
51
52
53 private void OnDisable()
54 {
55 EditorUserBuildSettings.activeBuildTargetChanged -= Update;
56 EditorApplication.update -= Update;
57 }
58
59
60 private void Update()
61 {
62 CheckEnableControlRig();
63 }
64 #endif
65
66
67 private void CheckEnableControlRig()
68 {
69 #if MOBILE_INPUT
70 EnableControlRig(true);
71 #else
72 EnableControlRig(false);
73 #endif
74 }
75
76
77 private void EnableControlRig(bool enabled)
78 {
79 foreach (Transform t in transform)
80 {
81 t.gameObject.SetActive(enabled);
82 }
83 }
84 }
85 }