少年修仙传客户端代码仓库
client_Wu Xijin
2019-06-13 033958214c0b16d7e7b93cc821b018c295251867
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
using System;
using UnityEngine;
using UnityEngine.EventSystems;
 
public class ButtonExtend : ButtonEx
{
    public int intInfo = 0;
 
    public Action<int> onceClick;
 
    public override void OnPointerClick(PointerEventData eventData)
    {
        base.OnPointerClick(eventData);
        if (IsDoubleClick())
        {
            return;
        }
        if (onceClick != null) onceClick(intInfo);
    }
 
    #region 双击
 
    private float doubleClickInterval = 0.3f;
    private bool m_IsOnDoubleClick = false;
    private bool m_FreezeDbClick = false;
    public Action doubleClick;
 
    private bool IsDoubleClick()
    {
        if (doubleClick == null)
        {
            return false;
        }
 
        if (m_IsOnDoubleClick)
        {
            if (!m_FreezeDbClick)
            {
                doubleClick();
                m_IsOnDoubleClick = false;
                m_FreezeDbClick = true;
            }
        }
        else
        {
            m_FreezeDbClick = false;
            m_IsOnDoubleClick = true;
        }
 
        TimeMgr.Instance.Register(this, OnDoubleClickCallback, doubleClickInterval);
        return true;
    }
 
    private void OnDoubleClickCallback(Component comp)
    {
        if (!m_FreezeDbClick)
        {
            if (onceClick != null) onceClick(intInfo);
        }
 
        m_FreezeDbClick = false;
        m_IsOnDoubleClick = false;
    }
    #endregion
 
    protected override void OnDisable()
    {
        if (Application.isPlaying)
        {
            TimeMgr.Instance.UnRegister(this);
        }
    }
}