blob: 8e1257b3c7025acabc3e3a2b383d63596bc3f1aa (
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
|
using System.Collections;
using System.Collections.Generic;
using UnityEngine.UI;
using UnityEngine;
public class DeveloperMode : MonoBehaviour {
[Header("Options")]
public bool CheatsAllowed;
[Header("Scripting vars")]
public Player Player; // Reference to the player object, should be set in designer
public string Output = "";
public string Stack = "";
private GameObject _pnlCanvas;
private GameObject _pnlCheats;
private Button _btnToggleCheats;
private Button _btnMAdd1000;
private Button _btnMAdd100000;
private Button _btnSAdd10;
private Button _btnSAdd1000;
private Button _btnHpAdd10;
private Button _btnHpAdd100;
private Text _lblConsoleLog;
private bool _developerModeActive;
private bool _cheatMenuOpen;
void Start () {
/* Panels */
_pnlCanvas = this.gameObject.transform.GetChild (0).gameObject;
_pnlCheats = _pnlCanvas.transform.Find ("cheatMenu").gameObject;
/* Buttons */
_btnMAdd1000 = _pnlCheats.transform.Find("btnMAdd1000").gameObject.GetComponent<Button>();
_btnMAdd100000 = _pnlCheats.transform.Find("btnMAdd100000").gameObject.GetComponent<Button>();
_btnSAdd10 = _pnlCheats.transform.Find("btnSAdd10").gameObject.GetComponent<Button>();
_btnSAdd1000 = _pnlCheats.transform.Find("btnSAdd1000").gameObject.GetComponent<Button>();
_btnHpAdd10 = _pnlCheats.transform.Find("btnHPAdd10").gameObject.GetComponent<Button>();
_btnHpAdd100 = _pnlCheats.transform.Find("btnHPAdd100").gameObject.GetComponent<Button>();
/* Button handlers */
if (_btnMAdd1000 != null) { _btnMAdd1000.onClick.AddListener(_btnMAdd1000Handler); }
if (_btnMAdd100000 != null) { _btnMAdd100000.onClick.AddListener(_btnMAdd100000Handler); }
if (_btnSAdd10 != null) { _btnSAdd10.onClick.AddListener(_btnSAdd10Handler); }
if (_btnSAdd1000 != null) { _btnSAdd1000.onClick.AddListener(_btnSAdd1000Handler); }
if (_btnHpAdd10 != null) { _btnHpAdd10.onClick.AddListener(_btnHpAdd10Handler); }
if (_btnHpAdd100 != null) { _btnHpAdd100.onClick.AddListener(_btnHpAdd100Handler); }
/* 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);
}
}
void _btnMAdd1000Handler() {
Player.MoneyAdd(1000);
}
void _btnMAdd100000Handler() {
Player.MoneyAdd(100000);
}
void _btnSAdd10Handler() {
Player.ScoreAdd(10);
}
void _btnSAdd1000Handler() {
Player.ScoreAdd(1000);
}
void _btnHpAdd10Handler() {
Player.IncreaseHealth(10);
}
void _btnHpAdd100Handler() {
Player.IncreaseHealth(100);
}
#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
}
|