You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
212 lines
6.3 KiB
C#
212 lines
6.3 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Text;
|
|
using UnityEngine;
|
|
|
|
namespace Prime31
|
|
{
|
|
// Token: 0x0200000C RID: 12
|
|
public class MonoBehaviourGUI : MonoBehaviour
|
|
{
|
|
// Token: 0x0600003E RID: 62 RVA: 0x00003DF8 File Offset: 0x00001FF8
|
|
private bool isRetinaOrLargeScreen()
|
|
{
|
|
return this._isWindowsPhone || Screen.width >= 960 || Screen.height >= 960;
|
|
}
|
|
|
|
// Token: 0x0600003F RID: 63 RVA: 0x00003E3C File Offset: 0x0000203C
|
|
private void paintWindow(int id)
|
|
{
|
|
GUI.skin.label.alignment = TextAnchor.UpperLeft;
|
|
this._logScrollPosition = GUILayout.BeginScrollView(this._logScrollPosition, new GUILayoutOption[0]);
|
|
if (GUILayout.Button("Clear Console", new GUILayoutOption[0]))
|
|
{
|
|
this._logBuilder.Remove(0, this._logBuilder.Length);
|
|
}
|
|
GUILayout.Label(this._logBuilder.ToString(), new GUILayoutOption[0]);
|
|
GUILayout.EndScrollView();
|
|
}
|
|
|
|
// Token: 0x06000040 RID: 64 RVA: 0x00003EB9 File Offset: 0x000020B9
|
|
private void handleLog(string logString, string stackTrace, LogType type)
|
|
{
|
|
this._logBuilder.AppendFormat("{0}\n", logString);
|
|
}
|
|
|
|
// Token: 0x06000041 RID: 65 RVA: 0x00003ECE File Offset: 0x000020CE
|
|
private void OnDestroy()
|
|
{
|
|
Application.RegisterLogCallback(null);
|
|
}
|
|
|
|
// Token: 0x06000042 RID: 66 RVA: 0x00003ED8 File Offset: 0x000020D8
|
|
private void Update()
|
|
{
|
|
if (!this._logRegistered)
|
|
{
|
|
Application.RegisterLogCallback(new Application.LogCallback(this.handleLog));
|
|
this._logRegistered = true;
|
|
this._isWindowsPhone = Application.platform.ToString().ToLower().Contains("wp8");
|
|
}
|
|
bool flag = false;
|
|
if (Input.GetMouseButtonDown(0))
|
|
{
|
|
float num = Time.time - this._previousClickTime;
|
|
if (num < this._doubleClickDelay)
|
|
{
|
|
flag = true;
|
|
}
|
|
else
|
|
{
|
|
this._previousClickTime = Time.time;
|
|
}
|
|
}
|
|
if (Input.touchCount == 2 || flag)
|
|
{
|
|
this._isShowingLogConsole = !this._isShowingLogConsole;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06000043 RID: 67 RVA: 0x00003F8C File Offset: 0x0000218C
|
|
protected void beginColumn()
|
|
{
|
|
this._width = (float)(Screen.width / 2 - 15);
|
|
this._buttonHeight = (float)((!this.isRetinaOrLargeScreen()) ? 30 : 70);
|
|
GUI.skin.button.margin = new RectOffset(0, 0, 10, 0);
|
|
GUI.skin.button.stretchWidth = true;
|
|
GUI.skin.button.fixedHeight = this._buttonHeight;
|
|
GUI.skin.button.wordWrap = false;
|
|
if (this._isShowingLogConsole)
|
|
{
|
|
GUILayout.BeginArea(new Rect(0f, 0f, 0f, 0f));
|
|
}
|
|
else
|
|
{
|
|
GUILayout.BeginArea(new Rect(10f, 10f, this._width, (float)Screen.height));
|
|
}
|
|
GUILayout.BeginVertical(new GUILayoutOption[0]);
|
|
}
|
|
|
|
// Token: 0x06000044 RID: 68 RVA: 0x0000406D File Offset: 0x0000226D
|
|
protected void endColumn()
|
|
{
|
|
this.endColumn(false);
|
|
}
|
|
|
|
// Token: 0x06000045 RID: 69 RVA: 0x00004078 File Offset: 0x00002278
|
|
protected void endColumn(bool hasSecondColumn)
|
|
{
|
|
GUILayout.EndVertical();
|
|
GUILayout.EndArea();
|
|
if (this._isShowingLogConsole)
|
|
{
|
|
GUILayout.Window(1, new Rect(0f, 0f, (float)Screen.width, (float)Screen.height), new GUI.WindowFunction(this.paintWindow), "prime[31] Log Console - double tap to dismiss", new GUILayoutOption[0]);
|
|
}
|
|
if (hasSecondColumn)
|
|
{
|
|
this.beginRightColumn();
|
|
}
|
|
}
|
|
|
|
// Token: 0x06000046 RID: 70 RVA: 0x000040E0 File Offset: 0x000022E0
|
|
private void beginRightColumn()
|
|
{
|
|
if (this._isShowingLogConsole)
|
|
{
|
|
GUILayout.BeginArea(new Rect(0f, 0f, 0f, 0f));
|
|
}
|
|
else
|
|
{
|
|
GUILayout.BeginArea(new Rect((float)Screen.width - this._width - 10f, 10f, this._width, (float)Screen.height));
|
|
}
|
|
GUILayout.BeginVertical(new GUILayoutOption[0]);
|
|
}
|
|
|
|
// Token: 0x06000047 RID: 71 RVA: 0x00004158 File Offset: 0x00002358
|
|
protected bool bottomRightButton(string text, float width = 150f)
|
|
{
|
|
return GUI.Button(new Rect((float)Screen.width - width - 10f, (float)Screen.height - this._buttonHeight - 10f, width, this._buttonHeight), text);
|
|
}
|
|
|
|
// Token: 0x06000048 RID: 72 RVA: 0x000041A0 File Offset: 0x000023A0
|
|
protected bool bottomLeftButton(string text, float width = 150f)
|
|
{
|
|
return GUI.Button(new Rect(10f, (float)Screen.height - this._buttonHeight - 10f, width, this._buttonHeight), text);
|
|
}
|
|
|
|
// Token: 0x06000049 RID: 73 RVA: 0x000041E0 File Offset: 0x000023E0
|
|
protected bool bottomCenterButton(string text, float width = 150f)
|
|
{
|
|
float left = (float)(Screen.width / 2) - width / 2f;
|
|
return GUI.Button(new Rect(left, (float)Screen.height - this._buttonHeight - 10f, width, this._buttonHeight), text);
|
|
}
|
|
|
|
// Token: 0x0600004A RID: 74 RVA: 0x0000422C File Offset: 0x0000242C
|
|
protected bool toggleButton(string defaultText, string selectedText)
|
|
{
|
|
if (!this._toggleButtons.ContainsKey(defaultText))
|
|
{
|
|
this._toggleButtons[defaultText] = true;
|
|
}
|
|
string text = (!this._toggleButtons[defaultText]) ? selectedText : defaultText;
|
|
if (!this._toggleButtons[defaultText])
|
|
{
|
|
GUI.skin.button.fontStyle = FontStyle.BoldAndItalic;
|
|
GUI.contentColor = Color.yellow;
|
|
}
|
|
else
|
|
{
|
|
GUI.skin.button.fontStyle = FontStyle.Bold;
|
|
GUI.contentColor = Color.red;
|
|
}
|
|
if (GUILayout.Button(text, new GUILayoutOption[0]))
|
|
{
|
|
this._toggleButtons[defaultText] = (text != defaultText);
|
|
}
|
|
GUI.skin.button.fontStyle = FontStyle.Normal;
|
|
GUI.contentColor = Color.white;
|
|
return this._toggleButtons[defaultText];
|
|
}
|
|
|
|
// Token: 0x0600004B RID: 75 RVA: 0x00004314 File Offset: 0x00002514
|
|
protected bool toggleButtonState(string defaultText)
|
|
{
|
|
if (!this._toggleButtons.ContainsKey(defaultText))
|
|
{
|
|
this._toggleButtons[defaultText] = true;
|
|
}
|
|
return this._toggleButtons[defaultText];
|
|
}
|
|
|
|
// Token: 0x04000015 RID: 21
|
|
protected float _width;
|
|
|
|
// Token: 0x04000016 RID: 22
|
|
protected float _buttonHeight;
|
|
|
|
// Token: 0x04000017 RID: 23
|
|
protected Dictionary<string, bool> _toggleButtons = new Dictionary<string, bool>();
|
|
|
|
// Token: 0x04000018 RID: 24
|
|
protected StringBuilder _logBuilder = new StringBuilder();
|
|
|
|
// Token: 0x04000019 RID: 25
|
|
private bool _logRegistered;
|
|
|
|
// Token: 0x0400001A RID: 26
|
|
private Vector2 _logScrollPosition;
|
|
|
|
// Token: 0x0400001B RID: 27
|
|
private bool _isShowingLogConsole;
|
|
|
|
// Token: 0x0400001C RID: 28
|
|
private float _doubleClickDelay = 0.15f;
|
|
|
|
// Token: 0x0400001D RID: 29
|
|
private float _previousClickTime;
|
|
|
|
// Token: 0x0400001E RID: 30
|
|
private bool _isWindowsPhone;
|
|
}
|
|
}
|