Ai
1 Star 0 Fork 3

wayfarer/rongYaoDaLuCode

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
TBDrag.cs 3.33 KB
一键复制 编辑 原始数据 按行查看 历史
liyonghelpme 提交于 2015-05-19 23:14 +08:00 . rong Yao Da Lu Some Code For Game
using System;
using System.Runtime.CompilerServices;
using UnityEngine;
[AddComponentMenu("FingerGestures/Toolbox/Drag")]
public class TBDrag : TBComponent
{
public TBComponent.Message dragBeginMessage = new TBComponent.Message("OnDragBegin");
public TBComponent.Message dragEndMessage = new TBComponent.Message("OnDragEnd");
private bool dragging;
public TBComponent.Message dragMoveMessage = new TBComponent.Message("OnDragMove", false);
private Vector2 moveDelta;
public event TBComponent.EventHandler<TBDrag> OnDragBegin;
public event TBComponent.EventHandler<TBDrag> OnDragEnd;
public event TBComponent.EventHandler<TBDrag> OnDragMove;
public bool BeginDrag(int fingerIndex, Vector2 fingerPos)
{
if (this.Dragging)
{
return false;
}
base.FingerIndex = fingerIndex;
base.FingerPos = fingerPos;
this.Dragging = true;
if (this.OnDragBegin != null)
{
this.OnDragBegin(this);
}
base.Send(this.dragBeginMessage);
return true;
}
public bool EndDrag()
{
if (!this.Dragging)
{
return false;
}
if (this.OnDragEnd != null)
{
this.OnDragEnd(this);
}
base.Send(this.dragEndMessage);
this.Dragging = false;
base.FingerIndex = -1;
return true;
}
private void FingerGestures_OnDragEnd(int fingerIndex, Vector2 fingerPos)
{
if (this.Dragging && (base.FingerIndex == fingerIndex))
{
base.FingerPos = fingerPos;
this.EndDrag();
}
}
private void FingerGestures_OnDragMove(int fingerIndex, Vector2 fingerPos, Vector2 delta)
{
if (this.Dragging && (base.FingerIndex == fingerIndex))
{
base.FingerPos = fingerPos;
this.MoveDelta = delta;
if (this.OnDragMove != null)
{
this.OnDragMove(this);
}
base.Send(this.dragMoveMessage);
}
}
private void OnDisable()
{
if (this.Dragging)
{
this.EndDrag();
}
}
public bool Dragging
{
get
{
return this.dragging;
}
private set
{
if (this.dragging != value)
{
this.dragging = value;
if (this.dragging)
{
FingerGestures.OnFingerDragMove += new FingerGestures.FingerDragMoveEventHandler(this.FingerGestures_OnDragMove);
FingerGestures.OnFingerDragEnd += new FingerGestures.FingerDragEndEventHandler(this.FingerGestures_OnDragEnd);
}
else
{
FingerGestures.OnFingerDragMove -= new FingerGestures.FingerDragMoveEventHandler(this.FingerGestures_OnDragMove);
FingerGestures.OnFingerDragEnd -= new FingerGestures.FingerDragEndEventHandler(this.FingerGestures_OnDragEnd);
}
}
}
}
public Vector2 MoveDelta
{
get
{
return this.moveDelta;
}
private set
{
this.moveDelta = value;
}
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/wayfarer/rongYaoDaLuCode.git
git@gitee.com:wayfarer/rongYaoDaLuCode.git
wayfarer
rongYaoDaLuCode
rongYaoDaLuCode
master

搜索帮助