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.

304 lines
6.3 KiB
C#

using System;
using System.Collections.Generic;
using UnityEngine;
// Token: 0x02000179 RID: 377
public class UnityInput : MonoBehaviour
{
// Token: 0x17000168 RID: 360
// (get) Token: 0x06000AB2 RID: 2738 RVA: 0x0002F0C4 File Offset: 0x0002D2C4
protected bool IsPush
{
get
{
return this.m_isPush;
}
}
// Token: 0x17000169 RID: 361
// (get) Token: 0x06000AB3 RID: 2739 RVA: 0x0002F0CC File Offset: 0x0002D2CC
protected Vector2 PushPosition
{
get
{
return this.m_posNow;
}
}
// Token: 0x1700016A RID: 362
// (get) Token: 0x06000AB4 RID: 2740 RVA: 0x0002F0D4 File Offset: 0x0002D2D4
protected Vector2 StartPosition
{
get
{
return this.m_posStart;
}
}
// Token: 0x1700016B RID: 363
// (get) Token: 0x06000AB5 RID: 2741 RVA: 0x0002F0DC File Offset: 0x0002D2DC
protected Vector2 EndPosition
{
get
{
return this.m_posEnd;
}
}
// Token: 0x1700016C RID: 364
// (get) Token: 0x06000AB6 RID: 2742 RVA: 0x0002F0E4 File Offset: 0x0002D2E4
protected Vector2 DeltaPosition
{
get
{
if (this.m_posOld.Count < 2)
{
return new Vector2(0f, 0f);
}
Queue<Vector2> queue = new Queue<Vector2>();
bool flag = true;
Vector2 b = new Vector2(0f, 0f);
foreach (Vector2 vector in this.m_posOld)
{
if (flag)
{
flag = false;
}
else
{
queue.Enqueue(vector - b);
}
b = vector;
}
Vector2 a = new Vector2(0f, 0f);
foreach (Vector2 b2 in queue)
{
a += b2;
}
return a / (float)queue.Count;
}
}
// Token: 0x1700016D RID: 365
// (get) Token: 0x06000AB7 RID: 2743 RVA: 0x0002F218 File Offset: 0x0002D418
protected Vector2 StartDeltaPosition
{
get
{
return this.m_posNow - this.m_posStart;
}
}
// Token: 0x1700016E RID: 366
// (get) Token: 0x06000AB8 RID: 2744 RVA: 0x0002F22C File Offset: 0x0002D42C
// (set) Token: 0x06000AB9 RID: 2745 RVA: 0x0002F234 File Offset: 0x0002D434
//private
protected TOUCH_STATE State
{
//protected
get
{
return this.m_eState;
}
//private
set
{
this.m_eState = value;
}
}
// Token: 0x1700016F RID: 367
// (get) Token: 0x06000ABA RID: 2746 RVA: 0x0002F240 File Offset: 0x0002D440
public int Width
{
get
{
return this.m_Width;
}
}
// Token: 0x17000170 RID: 368
// (get) Token: 0x06000ABB RID: 2747 RVA: 0x0002F248 File Offset: 0x0002D448
public int Height
{
get
{
return this.m_Height;
}
}
// Token: 0x17000171 RID: 369
// (get) Token: 0x06000ABC RID: 2748 RVA: 0x0002F250 File Offset: 0x0002D450
// (set) Token: 0x06000ABD RID: 2749 RVA: 0x0002F258 File Offset: 0x0002D458
public bool IsOnePushDelete { get; set; }
// Token: 0x06000ABE RID: 2750 RVA: 0x0002F264 File Offset: 0x0002D464
public void Awake()
{
this.m_Width = Screen.width;
this.m_Height = Screen.height;
Input.simulateMouseWithTouches = true;
this.IsOnePushDelete = false;
}
// Token: 0x06000ABF RID: 2751 RVA: 0x0002F28C File Offset: 0x0002D48C
public void Update()
{
if (this.IsOnePushDelete)
{
this.m_isPush = false;
this.State = TOUCH_STATE.NULL;
if (!Input.GetMouseButton(0))
{
this.IsOnePushDelete = false;
}
return;
}
Vector2 vector = new Vector2(Input.mousePosition.x, (float)this.m_Height - Input.mousePosition.y);
if (Input.GetMouseButton(0))
{
this.UpdateNowPos(vector);
this.m_isPush = true;
if (Input.GetMouseButtonDown(0))
{
this.m_posStart = vector;
this.ResetOld();
this.State = TOUCH_STATE.PUSH;
this.m_fMax = 0f;
}
else
{
float magnitude = this.DeltaPosition.magnitude;
if (magnitude > this.m_fMax)
{
this.m_fMax = magnitude;
}
if (magnitude > 0f)
{
if (this.State != TOUCH_STATE.DRAG)
{
this.State = TOUCH_STATE.DRAG;
}
}
else if (this.State != TOUCH_STATE.DRAG)
{
this.State = TOUCH_STATE.PUSH;
}
}
}
else if (Input.GetMouseButtonUp(0))
{
this.UpdateNowPos(vector);
this.m_isPush = false;
this.CalcEndState();
this.m_fMax = 0f;
}
else
{
this.Clear();
}
}
// Token: 0x06000AC0 RID: 2752 RVA: 0x0002F3D0 File Offset: 0x0002D5D0
private void UpdateNowPos(Vector2 now)
{
this.m_posNow = now;
if (this.m_posOld.Count > 4)
{
this.m_posOld.Dequeue();
}
this.m_posOld.Enqueue(now);
}
// Token: 0x06000AC1 RID: 2753 RVA: 0x0002F410 File Offset: 0x0002D610
private void ResetOld()
{
this.m_posOld.Clear();
}
// Token: 0x06000AC2 RID: 2754 RVA: 0x0002F420 File Offset: 0x0002D620
public void Clear()
{
this.m_posStart = new Vector2(0f, 0f);
this.m_posOld.Clear();
this.m_posNow = new Vector2(0f, 0f);
this.m_posEnd = new Vector2(0f, 0f);
this.m_isPush = false;
this.m_eState = TOUCH_STATE.NULL;
}
// Token: 0x06000AC3 RID: 2755 RVA: 0x0002F488 File Offset: 0x0002D688
private void CalcEndState()
{
float magnitude = this.DeltaPosition.magnitude;
float magnitude2 = this.StartDeltaPosition.magnitude;
if (magnitude > 32f)
{
this.State = TOUCH_STATE.FLICK;
this.m_posEnd = this.m_posNow;
}
else if (magnitude2 < 16f && this.m_fMax < 16f)
{
this.State = TOUCH_STATE.CLICK;
this.m_posEnd = this.m_posNow;
}
else
{
this.State = TOUCH_STATE.DRAG_END;
this.m_posEnd = this.m_posNow;
}
}
// Token: 0x06000AC4 RID: 2756 RVA: 0x0002F51C File Offset: 0x0002D71C
public void ResetStartPosition()
{
if (this.IsPush)
{
this.m_posStart = this.m_posNow;
}
}
// Token: 0x06000AC5 RID: 2757 RVA: 0x0002F538 File Offset: 0x0002D738
private void SetLeaveEvent()
{
this.m_posEnd = this.m_posNow;
this.State = TOUCH_STATE.NULL;
}
// Token: 0x040008A7 RID: 2215
private const int DEF_OLD_BUF = 4;
// Token: 0x040008A8 RID: 2216
private const float DEF_FLICK_DELTA = 32f;
// Token: 0x040008A9 RID: 2217
private const float DEF_CLICK_DELTA = 16f;
// Token: 0x040008AA RID: 2218
private Vector2 m_posStart = default(Vector2);
// Token: 0x040008AB RID: 2219
private Queue<Vector2> m_posOld = new Queue<Vector2>();
// Token: 0x040008AC RID: 2220
private Vector2 m_posNow = default(Vector2);
// Token: 0x040008AD RID: 2221
private Vector2 m_posEnd = default(Vector2);
// Token: 0x040008AE RID: 2222
private float m_fMax;
// Token: 0x040008AF RID: 2223
private bool m_isPush;
// Token: 0x040008B0 RID: 2224
private TOUCH_STATE m_eState;
// Token: 0x040008B1 RID: 2225
private int m_Width;
// Token: 0x040008B2 RID: 2226
private int m_Height;
}