aboutsummaryrefslogtreecommitdiff
path: root/td/Assets/Scripts/developerMode.cs
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

}