blob: 4f241cf6730ec2393179444cc96d72c2f2e06e0a (
plain) (
blame)
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
using System.Collections;
using System.Collections.Generic;
using UnityEngine.UI;
using UnityEngine;
public class developerMode : MonoBehaviour {
public string output = "";
public string stack = "";
public bool cheatsAllowed;
GameObject pnlCanvas;
GameObject pnlCheats;
Button btnToggleCheats;
Text lblConsoleLog;
bool developerModeActive;
bool cheatMenuOpen;
void Start () {
/* Panels */
pnlCanvas = this.gameObject.transform.GetChild (0).gameObject;
pnlCheats = pnlCanvas.transform.Find ("cheatMenu").gameObject;
/* Buttons */
/* Button handlers */
/* Lablels */
lblConsoleLog = pnlCanvas.transform.Find ("consoleLog").gameObject.GetComponent <Text>();
/* Do setup */
lblConsoleLog.text = "";
if (cheatsAllowed) {
btnToggleCheats = pnlCanvas.transform.Find ("toggleCheats").gameObject.GetComponent <Button> ();
if (btnToggleCheats != null) { btnToggleCheats.onClick.AddListener (btnToggleCheatsHandler); }
cheatMenuOpen = false;
} else {
pnlCanvas.transform.Find ("toggleCheats").gameObject.SetActive (false);
}
pnlCheats.SetActive (false);
}
void Update () {
if (PlayerPrefs.HasKey ("developerMode")) {
if (PlayerPrefs.GetInt ("developerMode") == 1) { developerModeActive = true; }
else { developerModeActive = false; }
}
if (developerModeActive) {
this.gameObject.transform.GetChild (0).gameObject.SetActive (true);
} else {
this.gameObject.transform.GetChild (0).gameObject.SetActive (false);
}
}
void btnToggleCheatsHandler() {
/* Handler for btnToggleCheats */
if (cheatsAllowed) {
cheatMenuOpen = !cheatMenuOpen;
pnlCheats.SetActive (cheatMenuOpen);
}
}
#region GetDebugLog
void OnEnable() {
Application.logMessageReceived += HandleLog;
}
void OnDisable() {
Application.logMessageReceived -= HandleLog;
}
public void HandleLog(string logString, string stackTrace, LogType type) {
string backLog = lblConsoleLog.text;
lblConsoleLog.text = logString + "\n" + backLog;
}
#endregion
}
|