miduo_client/Assets/ManagedResources/~Lua/UnityEngine/Touch.lua

90 lines
1.9 KiB
Lua

--------------------------------------------------------------------------------
-- Copyright (c) 2015 - 2016 , 蒙占志(topameng) topameng@gmail.com
-- All rights reserved.
-- Use, modification and distribution are subject to the "MIT License"
--------------------------------------------------------------------------------
local zero = Vector2.zero
local rawget = rawget
local setmetatable = setmetatable
TouchPhase =
{
Began = 0,
Moved = 1,
Stationary = 2,
Ended = 3,
Canceled = 4,
}
TouchBits =
{
DeltaPosition = 1,
Position = 2,
RawPosition = 4,
ALL = 7,
}
local TouchPhase = TouchPhase
local TouchBits = TouchBits
local Touch = {}
local get = tolua.initget(Touch)
Touch.__index = function(t,k)
local var = rawget(Touch, k)
if var == nil then
var = rawget(get, k)
if var ~= nil then
return var(t)
end
end
return var
end
--c# 创建
function Touch.New(fingerId, position, rawPosition, deltaPosition, deltaTime, tapCount, phase)
return setmetatable({fingerId = fingerId or 0, position = position or zero, rawPosition = rawPosition or zero, deltaPosition = deltaPosition or zero, deltaTime = deltaTime or 0, tapCount = tapCount or 0, phase = phase or 0}, Touch)
end
function Touch:Init(fingerId, position, rawPosition, deltaPosition, deltaTime, tapCount, phase)
self.fingerId = fingerId
self.position = position
self.rawPosition = rawPosition
self.deltaPosition = deltaPosition
self.deltaTime = deltaTime
self.tapCount = tapCount
self.phase = phase
end
function Touch:Destroy()
self.position = nil
self.rawPosition = nil
self.deltaPosition = nil
end
function Touch.GetMask(...)
local arg = {...}
local value = 0
for i = 1, #arg do
local n = TouchBits[arg[i]] or 0
if n ~= 0 then
value = value + n
end
end
if value == 0 then value = TouchBits["all"] end
return value
end
UnityEngine.TouchPhase = TouchPhase
UnityEngine.Touch = Touch
setmetatable(Touch, Touch)
return Touch