源战役客户端
Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.
 
 
 
 
 

87 Zeilen
1.6 KiB

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)
local touch = {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}
setmetatable(touch, Touch)
return 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