687 lines
25 KiB
VB.net
687 lines
25 KiB
VB.net
Imports KeraLua
|
|
|
|
Public Module Lua_Aux
|
|
|
|
Private m_State As Lua
|
|
Friend Sub SetState(state As Lua)
|
|
m_State = state
|
|
End Sub
|
|
|
|
Friend Function LuaClearStack(state As Lua)
|
|
Dim nIndex As Integer = state.GetTop()
|
|
If nIndex > 0 Then
|
|
state.Pop(nIndex)
|
|
End If
|
|
Return True
|
|
End Function
|
|
|
|
Friend Function LuaCheckParam(state As Lua, nIndex As Integer, ByRef bValue As Boolean)
|
|
If Not LuaGetParam(state, nIndex, bValue) Then
|
|
Return state.Error(" Invalid Parameter # " & nIndex)
|
|
End If
|
|
Return True
|
|
End Function
|
|
|
|
Friend Function LuaCheckParam(state As Lua, nIndex As Integer, ByRef nValue As Integer)
|
|
If Not LuaGetParam(state, nIndex, nValue) Then
|
|
Return state.Error(" Invalid Parameter # " & nIndex)
|
|
End If
|
|
Return True
|
|
End Function
|
|
|
|
Friend Function LuaCheckParam(state As Lua, nIndex As Integer, ByRef lValue As Long)
|
|
If Not LuaGetParam(state, nIndex, lValue) Then
|
|
Return state.Error(" Invalid Parameter # " & nIndex)
|
|
End If
|
|
Return True
|
|
End Function
|
|
|
|
Friend Function LuaCheckParam(state As Lua, nIndex As Integer, ByRef dValue As Double)
|
|
If Not LuaGetParam(state, nIndex, dValue) Then
|
|
Return state.Error(" Invalid Parameter # " & nIndex)
|
|
End If
|
|
Return True
|
|
End Function
|
|
|
|
Friend Function LuaCheckParam(state As Lua, nIndex As Integer, ByRef sValue As String)
|
|
If Not LuaGetParam(state, nIndex, sValue) Then
|
|
Return state.Error(" Invalid Parameter # " & nIndex)
|
|
End If
|
|
Return True
|
|
End Function
|
|
|
|
Friend Function LuaGetParam(state As Lua, nIndex As Integer, ByRef bValue As Boolean) As Boolean
|
|
If Not state.IsBoolean(nIndex) Then Return False
|
|
bValue = state.ToBoolean(nIndex)
|
|
Return True
|
|
End Function
|
|
|
|
Friend Function LuaGetParam(state As Lua, nIndex As Integer, ByRef nValue As Integer) As Boolean
|
|
If Not state.IsNumber(nIndex) Then Return False
|
|
nValue = Math.Round(state.ToNumber(nIndex))
|
|
Return True
|
|
End Function
|
|
|
|
Friend Function LuaGetParam(state As Lua, nIndex As Integer, ByRef lValue As Long) As Boolean
|
|
If Not state.IsNumber(nIndex) Then Return False
|
|
lValue = state.ToInteger(nIndex)
|
|
Return True
|
|
End Function
|
|
|
|
Friend Function LuaGetParam(state As Lua, nIndex As Integer, ByRef dValue As Double) As Boolean
|
|
If Not state.IsNumber(nIndex) Then Return False
|
|
dValue = state.ToNumber(nIndex)
|
|
Return True
|
|
End Function
|
|
|
|
Friend Function LuaGetParam(state As Lua, nIndex As Integer, ByRef sValue As String) As Boolean
|
|
If Not state.IsString(nIndex) Then Return False
|
|
sValue = state.ToString(nIndex)
|
|
Return True
|
|
End Function
|
|
|
|
Friend Function LuaSetParam(state As Lua) As Boolean
|
|
Try
|
|
state.PushNil()
|
|
Catch ex As Exception
|
|
Return False
|
|
End Try
|
|
Return True
|
|
End Function
|
|
|
|
Friend Function LuaSetParam(state As Lua, ByRef bValue As Boolean) As Boolean
|
|
Try
|
|
state.PushBoolean(bValue)
|
|
Catch ex As Exception
|
|
Return False
|
|
End Try
|
|
Return True
|
|
End Function
|
|
|
|
Friend Function LuaSetParam(state As Lua, ByRef nValue As Integer) As Boolean
|
|
Try
|
|
state.PushInteger(nValue)
|
|
Catch ex As Exception
|
|
Return False
|
|
End Try
|
|
Return True
|
|
End Function
|
|
|
|
Friend Function LuaSetParam(state As Lua, ByRef lValue As Long) As Boolean
|
|
Try
|
|
state.PushInteger(lValue)
|
|
Catch ex As Exception
|
|
Return False
|
|
End Try
|
|
Return True
|
|
End Function
|
|
|
|
Friend Function LuaSetParam(state As Lua, ByRef dValue As Double) As Boolean
|
|
Try
|
|
state.PushNumber(dValue)
|
|
Catch ex As Exception
|
|
Return False
|
|
End Try
|
|
Return True
|
|
End Function
|
|
|
|
Friend Function LuaSetParam(state As Lua, ByRef sValue As String) As Boolean
|
|
Try
|
|
state.PushString(sValue)
|
|
Catch ex As Exception
|
|
Return False
|
|
End Try
|
|
Return True
|
|
End Function
|
|
|
|
Friend Function LuaGetTabFieldParam(state As Lua, nIndex As Integer, sVarName As String, ByRef bValue As Boolean) As Boolean
|
|
If Not state.IsTable(nIndex) Then Return False
|
|
state.GetField(nIndex, sVarName)
|
|
Dim bResult As Boolean = LuaGetParam(state, -1, bValue)
|
|
state.Pop(1)
|
|
Return bResult
|
|
End Function
|
|
|
|
Friend Function LuaGetTabFieldParam(state As Lua, nIndex As Integer, sVarName As String, ByRef nValue As Integer) As Boolean
|
|
If Not state.IsTable(nIndex) Then Return False
|
|
state.GetField(nIndex, sVarName)
|
|
Dim bResult As Boolean = LuaGetParam(state, -1, nValue)
|
|
state.Pop(1)
|
|
Return bResult
|
|
End Function
|
|
|
|
Friend Function LuaGetTabFieldParam(state As Lua, nIndex As Integer, sVarName As String, ByRef lValue As Long) As Boolean
|
|
If Not state.IsTable(nIndex) Then Return False
|
|
state.GetField(nIndex, sVarName)
|
|
Dim bResult As Boolean = LuaGetParam(state, -1, lValue)
|
|
state.Pop(1)
|
|
Return bResult
|
|
End Function
|
|
|
|
Friend Function LuaGetTabFieldParam(state As Lua, nIndex As Integer, sVarName As String, ByRef dValue As Double) As Boolean
|
|
If Not state.IsTable(nIndex) Then Return False
|
|
state.GetField(nIndex, sVarName)
|
|
Dim bResult As Boolean = LuaGetParam(state, -1, dValue)
|
|
state.Pop(1)
|
|
Return bResult
|
|
End Function
|
|
|
|
Friend Function LuaGetTabFieldParam(state As Lua, nIndex As Integer, sVarName As String, ByRef sValue As String) As Boolean
|
|
If Not state.IsTable(nIndex) Then Return False
|
|
state.GetField(nIndex, sVarName)
|
|
Dim bResult As Boolean = LuaGetParam(state, -1, sValue)
|
|
state.Pop(1)
|
|
Return bResult
|
|
End Function
|
|
|
|
Friend Function LuaGetGlobVar(state As Lua, ByRef sName As String, ByRef bValue As Boolean) As Boolean
|
|
' se variabile standard
|
|
If Not sName.Contains("."c) Then
|
|
state.GetGlobal(sName)
|
|
Dim bResult As Boolean = LuaGetParam(state, -1, bValue)
|
|
state.Pop(1)
|
|
Return bResult
|
|
Else
|
|
Dim sTableName As String = ""
|
|
Dim sParams() As String = sName.Split("."c)
|
|
sTableName = sParams(0)
|
|
state.GetGlobal(sTableName)
|
|
For nParamIndex As Integer = 1 To sParams.Count - 2
|
|
Dim nTableIndex As Integer = -1
|
|
If Integer.TryParse(sParams(nParamIndex), nTableIndex) Then
|
|
state.RawGetInteger(-1, nTableIndex)
|
|
Else
|
|
state.GetField(-1, sParams(nParamIndex))
|
|
End If
|
|
Next
|
|
Dim sVarName As String = sParams(sParams.Count - 1)
|
|
Dim bResult As Boolean = LuaGetTabFieldParam(state, -1, sVarName, bValue)
|
|
state.Pop(sParams.Count - 1)
|
|
Return bResult
|
|
End If
|
|
End Function
|
|
Friend Function LuaGetGlobVar(ByRef sName As String, ByRef bValue As Boolean) As Boolean
|
|
' se variabile standard
|
|
If Not sName.Contains("."c) Then
|
|
m_State.GetGlobal(sName)
|
|
Dim bResult As Boolean = LuaGetParam(m_State, -1, bValue)
|
|
m_State.Pop(1)
|
|
Return bResult
|
|
Else
|
|
Dim sTableName As String = ""
|
|
Dim sParams() As String = sName.Split("."c)
|
|
sTableName = sParams(0)
|
|
m_State.GetGlobal(sTableName)
|
|
For nParamIndex As Integer = 1 To sParams.Count - 2
|
|
Dim nTableIndex As Integer = -1
|
|
If Integer.TryParse(sParams(nParamIndex), nTableIndex) Then
|
|
m_State.RawGetInteger(-1, nTableIndex)
|
|
Else
|
|
m_State.GetField(-1, sParams(nParamIndex))
|
|
End If
|
|
Next
|
|
Dim sVarName As String = sParams(sParams.Count - 1)
|
|
Dim bResult As Boolean = LuaGetTabFieldParam(m_State, -1, sVarName, bValue)
|
|
m_State.Pop(sParams.Count - 1)
|
|
Return bResult
|
|
End If
|
|
End Function
|
|
|
|
Friend Function LuaGetGlobVar(state As Lua, ByRef sName As String, ByRef nValue As Integer) As Boolean
|
|
' se variabile standard
|
|
If Not sName.Contains("."c) Then
|
|
state.GetGlobal(sName)
|
|
Dim bResult As Boolean = LuaGetParam(state, -1, nValue)
|
|
state.Pop(1)
|
|
Return bResult
|
|
Else
|
|
Dim sTableName As String = ""
|
|
Dim sParams() As String = sName.Split("."c)
|
|
sTableName = sParams(0)
|
|
state.GetGlobal(sTableName)
|
|
For nParamIndex As Integer = 1 To sParams.Count - 2
|
|
Dim nTableIndex As Integer = -1
|
|
If Integer.TryParse(sParams(nParamIndex), nTableIndex) Then
|
|
state.RawGetInteger(-1, nTableIndex)
|
|
Else
|
|
state.GetField(-1, sParams(nParamIndex))
|
|
End If
|
|
Next
|
|
Dim sVarName As String = sParams(sParams.Count - 1)
|
|
Dim bResult As Boolean = LuaGetTabFieldParam(state, -1, sVarName, nValue)
|
|
state.Pop(sParams.Count - 1)
|
|
Return bResult
|
|
End If
|
|
End Function
|
|
Friend Function LuaGetGlobVar(ByRef sName As String, ByRef nValue As Integer) As Boolean
|
|
' se variabile standard
|
|
If Not sName.Contains("."c) Then
|
|
m_State.GetGlobal(sName)
|
|
Dim bResult As Boolean = LuaGetParam(m_State, -1, nValue)
|
|
m_State.Pop(1)
|
|
Return bResult
|
|
Else
|
|
Dim sTableName As String = ""
|
|
Dim sParams() As String = sName.Split("."c)
|
|
sTableName = sParams(0)
|
|
m_State.GetGlobal(sTableName)
|
|
For nParamIndex As Integer = 1 To sParams.Count - 2
|
|
Dim nTableIndex As Integer = -1
|
|
If Integer.TryParse(sParams(nParamIndex), nTableIndex) Then
|
|
m_State.RawGetInteger(-1, nTableIndex)
|
|
Else
|
|
m_State.GetField(-1, sParams(nParamIndex))
|
|
End If
|
|
Next
|
|
Dim sVarName As String = sParams(sParams.Count - 1)
|
|
Dim bResult As Boolean = LuaGetTabFieldParam(m_State, -1, sVarName, nValue)
|
|
m_State.Pop(sParams.Count - 1)
|
|
Return bResult
|
|
End If
|
|
End Function
|
|
|
|
Friend Function LuaGetGlobVar(state As Lua, ByRef sName As String, ByRef lValue As Long) As Boolean
|
|
' se variabile standard
|
|
If Not sName.Contains("."c) Then
|
|
state.GetGlobal(sName)
|
|
Dim bResult As Boolean = LuaGetParam(state, -1, lValue)
|
|
state.Pop(1)
|
|
Return bResult
|
|
Else
|
|
Dim sTableName As String = ""
|
|
Dim sParams() As String = sName.Split("."c)
|
|
sTableName = sParams(0)
|
|
state.GetGlobal(sTableName)
|
|
For nParamIndex As Integer = 1 To sParams.Count - 2
|
|
Dim nTableIndex As Integer = -1
|
|
If Integer.TryParse(sParams(nParamIndex), nTableIndex) Then
|
|
state.RawGetInteger(-1, nTableIndex)
|
|
Else
|
|
state.GetField(-1, sParams(nParamIndex))
|
|
End If
|
|
Next
|
|
Dim sVarName As String = sParams(sParams.Count - 1)
|
|
Dim bResult As Boolean = LuaGetTabFieldParam(state, -1, sVarName, lValue)
|
|
state.Pop(sParams.Count - 1)
|
|
Return bResult
|
|
End If
|
|
End Function
|
|
Friend Function LuaGetGlobVar(ByRef sName As String, ByRef lValue As Long) As Boolean
|
|
' se variabile standard
|
|
If Not sName.Contains("."c) Then
|
|
m_State.GetGlobal(sName)
|
|
Dim bResult As Boolean = LuaGetParam(m_State, -1, lValue)
|
|
m_State.Pop(1)
|
|
Return bResult
|
|
Else
|
|
Dim sTableName As String = ""
|
|
Dim sParams() As String = sName.Split("."c)
|
|
sTableName = sParams(0)
|
|
m_State.GetGlobal(sTableName)
|
|
For nParamIndex As Integer = 1 To sParams.Count - 2
|
|
Dim nTableIndex As Integer = -1
|
|
If Integer.TryParse(sParams(nParamIndex), nTableIndex) Then
|
|
m_State.RawGetInteger(-1, nTableIndex)
|
|
Else
|
|
m_State.GetField(-1, sParams(nParamIndex))
|
|
End If
|
|
Next
|
|
Dim sVarName As String = sParams(sParams.Count - 1)
|
|
Dim bResult As Boolean = LuaGetTabFieldParam(m_State, -1, sVarName, lValue)
|
|
m_State.Pop(sParams.Count - 1)
|
|
Return bResult
|
|
End If
|
|
End Function
|
|
|
|
Friend Function LuaGetGlobVar(state As Lua, ByRef sName As String, ByRef dValue As Double) As Boolean
|
|
' se variabile standard
|
|
If Not sName.Contains("."c) Then
|
|
state.GetGlobal(sName)
|
|
Dim bResult As Boolean = LuaGetParam(state, -1, dValue)
|
|
state.Pop(1)
|
|
Return bResult
|
|
Else
|
|
Dim sTableName As String = ""
|
|
Dim sParams() As String = sName.Split("."c)
|
|
sTableName = sParams(0)
|
|
state.GetGlobal(sTableName)
|
|
For nParamIndex As Integer = 1 To sParams.Count - 2
|
|
Dim nTableIndex As Integer = -1
|
|
If Integer.TryParse(sParams(nParamIndex), nTableIndex) Then
|
|
state.RawGetInteger(-1, nTableIndex)
|
|
Else
|
|
state.GetField(-1, sParams(nParamIndex))
|
|
End If
|
|
Next
|
|
Dim sVarName As String = sParams(sParams.Count - 1)
|
|
Dim bResult As Boolean = LuaGetTabFieldParam(state, -1, sVarName, dValue)
|
|
state.Pop(sParams.Count - 1)
|
|
Return bResult
|
|
End If
|
|
End Function
|
|
Friend Function LuaGetGlobVar(ByRef sName As String, ByRef dValue As Double) As Boolean
|
|
' se variabile standard
|
|
If Not sName.Contains("."c) Then
|
|
m_State.GetGlobal(sName)
|
|
Dim bResult As Boolean = LuaGetParam(m_State, -1, dValue)
|
|
m_State.Pop(1)
|
|
Return bResult
|
|
Else
|
|
Dim sTableName As String = ""
|
|
Dim sParams() As String = sName.Split("."c)
|
|
sTableName = sParams(0)
|
|
m_State.GetGlobal(sTableName)
|
|
For nParamIndex As Integer = 1 To sParams.Count - 2
|
|
Dim nTableIndex As Integer = -1
|
|
If Integer.TryParse(sParams(nParamIndex), nTableIndex) Then
|
|
m_State.RawGetInteger(-1, nTableIndex)
|
|
Else
|
|
m_State.GetField(-1, sParams(nParamIndex))
|
|
End If
|
|
Next
|
|
Dim sVarName As String = sParams(sParams.Count - 1)
|
|
Dim bResult As Boolean = LuaGetTabFieldParam(m_State, -1, sVarName, dValue)
|
|
m_State.Pop(sParams.Count - 1)
|
|
Return bResult
|
|
End If
|
|
End Function
|
|
|
|
Friend Function LuaGetGlobVar(state As Lua, ByRef sName As String, ByRef sValue As String) As Boolean
|
|
' se variabile standard
|
|
If Not sName.Contains("."c) Then
|
|
state.GetGlobal(sName)
|
|
Dim bResult As Boolean = LuaGetParam(state, -1, sValue)
|
|
state.Pop(1)
|
|
Return bResult
|
|
Else
|
|
Dim sTableName As String = ""
|
|
Dim sParams() As String = sName.Split("."c)
|
|
sTableName = sParams(0)
|
|
state.GetGlobal(sTableName)
|
|
For nParamIndex As Integer = 1 To sParams.Count - 2
|
|
Dim nTableIndex As Integer = -1
|
|
If Integer.TryParse(sParams(nParamIndex), nTableIndex) Then
|
|
state.RawGetInteger(-1, nTableIndex)
|
|
Else
|
|
state.GetField(-1, sParams(nParamIndex))
|
|
End If
|
|
Next
|
|
Dim sVarName As String = sParams(sParams.Count - 1)
|
|
Dim bResult As Boolean = LuaGetTabFieldParam(state, -1, sVarName, sValue)
|
|
state.Pop(sParams.Count - 1)
|
|
Return bResult
|
|
End If
|
|
End Function
|
|
Friend Function LuaGetGlobVar(ByRef sName As String, ByRef sValue As String) As Boolean
|
|
' se variabile standard
|
|
If Not sName.Contains("."c) Then
|
|
m_State.GetGlobal(sName)
|
|
Dim bResult As Boolean = LuaGetParam(m_State, -1, sValue)
|
|
m_State.Pop(1)
|
|
Return bResult
|
|
Else
|
|
Dim sTableName As String = ""
|
|
Dim sParams() As String = sName.Split("."c)
|
|
sTableName = sParams(0)
|
|
m_State.GetGlobal(sTableName)
|
|
For nParamIndex As Integer = 1 To sParams.Count - 2
|
|
Dim nTableIndex As Integer = -1
|
|
If Integer.TryParse(sParams(nParamIndex), nTableIndex) Then
|
|
m_State.RawGetInteger(-1, nTableIndex)
|
|
Else
|
|
m_State.GetField(-1, sParams(nParamIndex))
|
|
End If
|
|
Next
|
|
Dim sVarName As String = sParams(sParams.Count - 1)
|
|
Dim bResult As Boolean = LuaGetTabFieldParam(m_State, -1, sVarName, sValue)
|
|
m_State.Pop(sParams.Count - 1)
|
|
Return bResult
|
|
End If
|
|
End Function
|
|
|
|
Friend Function LuaSetTabFieldParam(state As Lua, nIndex As Integer, sVarName As String) As Boolean
|
|
If Not state.IsTable(nIndex) Then Return False
|
|
If Not LuaSetParam(state) Then Return False
|
|
Dim nPos As Integer = (If(nIndex > 0, nIndex, nIndex - 1))
|
|
state.SetField(nPos, sVarName)
|
|
Return True
|
|
End Function
|
|
|
|
Friend Function LuaSetTabFieldParam(state As Lua, nIndex As Integer, sVarName As String, ByRef bValue As Boolean) As Boolean
|
|
If Not state.IsTable(nIndex) Then Return False
|
|
If Not LuaSetParam(state, bValue) Then Return False
|
|
Dim nPos As Integer = (If(nIndex > 0, nIndex, nIndex - 1))
|
|
state.SetField(nPos, sVarName)
|
|
Return True
|
|
End Function
|
|
|
|
Friend Function LuaSetTabFieldParam(state As Lua, nIndex As Integer, sVarName As String, ByRef nValue As Integer) As Boolean
|
|
If Not state.IsTable(nIndex) Then Return False
|
|
If Not LuaSetParam(state, nValue) Then Return False
|
|
Dim nPos As Integer = (If(nIndex > 0, nIndex, nIndex - 1))
|
|
state.SetField(nPos, sVarName)
|
|
Return True
|
|
End Function
|
|
|
|
Friend Function LuaSetTabFieldParam(state As Lua, nIndex As Integer, sVarName As String, ByRef dValue As Double) As Boolean
|
|
If Not state.IsTable(nIndex) Then Return False
|
|
If Not LuaSetParam(state, dValue) Then Return False
|
|
Dim nPos As Integer = (If(nIndex > 0, nIndex, nIndex - 1))
|
|
state.SetField(nPos, sVarName)
|
|
Return True
|
|
End Function
|
|
|
|
Friend Function LuaSetTabFieldParam(state As Lua, nIndex As Integer, sVarName As String, ByRef sValue As String) As Boolean
|
|
If Not state.IsTable(nIndex) Then Return False
|
|
If Not LuaSetParam(state, sValue) Then Return False
|
|
Dim nPos As Integer = (If(nIndex > 0, nIndex, nIndex - 1))
|
|
state.SetField(nPos, sVarName)
|
|
Return True
|
|
End Function
|
|
|
|
Friend Function LuaSetGlobVar(state As Lua, ByRef sName As String, ByRef bValue As Boolean) As Boolean
|
|
' se variabile standard
|
|
If Not sName.Contains("."c) Then
|
|
If Not LuaSetParam(state, bValue) Then Return False
|
|
state.SetGlobal(sName)
|
|
Return True
|
|
' altrimenti campo di tabella
|
|
Else
|
|
Dim sTableName As String = "", sVarName As String = ""
|
|
Dim sParams() As String = sName.Split("."c)
|
|
sTableName = sParams(0)
|
|
sVarName = sParams(1)
|
|
state.GetGlobal(sTableName)
|
|
Dim bResult As Boolean = LuaSetTabFieldParam(state, -1, sVarName, bValue)
|
|
state.Pop(1)
|
|
Return bResult
|
|
End If
|
|
End Function
|
|
Friend Function LuaSetGlobVar(ByRef sName As String, ByRef bValue As Boolean) As Boolean
|
|
' se variabile standard
|
|
If Not sName.Contains("."c) Then
|
|
If Not LuaSetParam(m_State, bValue) Then Return False
|
|
m_State.SetGlobal(sName)
|
|
Return True
|
|
' altrimenti campo di tabella
|
|
Else
|
|
Dim sTableName As String = "", sVarName As String = ""
|
|
Dim sParams() As String = sName.Split("."c)
|
|
sTableName = sParams(0)
|
|
sVarName = sParams(1)
|
|
m_State.GetGlobal(sTableName)
|
|
Dim bResult As Boolean = LuaSetTabFieldParam(m_State, -1, sVarName, bValue)
|
|
m_State.Pop(1)
|
|
Return bResult
|
|
End If
|
|
End Function
|
|
|
|
Friend Function LuaSetGlobVar(state As Lua, ByRef sName As String, ByRef nValue As Integer) As Boolean
|
|
' se variabile standard
|
|
If Not sName.Contains("."c) Then
|
|
If Not LuaSetParam(state, nValue) Then Return False
|
|
state.SetGlobal(sName)
|
|
Return True
|
|
' altrimenti campo di tabella
|
|
Else
|
|
Dim sTableName As String = "", sVarName As String = ""
|
|
Dim sParams() As String = sName.Split("."c)
|
|
sTableName = sParams(0)
|
|
sVarName = sParams(1)
|
|
state.GetGlobal(sTableName)
|
|
Dim bResult As Boolean = LuaSetTabFieldParam(state, -1, sVarName, nValue)
|
|
state.Pop(1)
|
|
Return bResult
|
|
End If
|
|
End Function
|
|
Friend Function LuaSetGlobVar(ByRef sName As String, ByRef nValue As Integer) As Boolean
|
|
' se variabile standard
|
|
If Not sName.Contains("."c) Then
|
|
If Not LuaSetParam(m_State, nValue) Then Return False
|
|
m_State.SetGlobal(sName)
|
|
Return True
|
|
' altrimenti campo di tabella
|
|
Else
|
|
Dim sTableName As String = "", sVarName As String = ""
|
|
Dim sParams() As String = sName.Split("."c)
|
|
sTableName = sParams(0)
|
|
sVarName = sParams(1)
|
|
m_State.GetGlobal(sTableName)
|
|
Dim bResult As Boolean = LuaSetTabFieldParam(m_State, -1, sVarName, nValue)
|
|
m_State.Pop(1)
|
|
Return bResult
|
|
End If
|
|
End Function
|
|
|
|
Friend Function LuaSetGlobVar(state As Lua, ByRef sName As String, ByRef dValue As Double) As Boolean
|
|
' se variabile standard
|
|
If Not sName.Contains("."c) Then
|
|
If Not LuaSetParam(state, dValue) Then Return False
|
|
state.SetGlobal(sName)
|
|
Return True
|
|
' altrimenti campo di tabella
|
|
Else
|
|
Dim sTableName As String = "", sVarName As String = ""
|
|
Dim sParams() As String = sName.Split("."c)
|
|
sTableName = sParams(0)
|
|
sVarName = sParams(1)
|
|
state.GetGlobal(sTableName)
|
|
Dim bResult As Boolean = LuaSetTabFieldParam(state, -1, sVarName, dValue)
|
|
state.Pop(1)
|
|
Return bResult
|
|
End If
|
|
End Function
|
|
Friend Function LuaSetGlobVar(ByRef sName As String, ByRef dValue As Double) As Boolean
|
|
' se variabile standard
|
|
If Not sName.Contains("."c) Then
|
|
If Not LuaSetParam(m_State, dValue) Then Return False
|
|
m_State.SetGlobal(sName)
|
|
Return True
|
|
' altrimenti campo di tabella
|
|
Else
|
|
Dim sTableName As String = "", sVarName As String = ""
|
|
Dim sParams() As String = sName.Split("."c)
|
|
sTableName = sParams(0)
|
|
sVarName = sParams(1)
|
|
m_State.GetGlobal(sTableName)
|
|
Dim bResult As Boolean = LuaSetTabFieldParam(m_State, -1, sVarName, dValue)
|
|
m_State.Pop(1)
|
|
Return bResult
|
|
End If
|
|
End Function
|
|
|
|
Friend Function LuaSetGlobVar(state As Lua, ByRef sName As String, ByRef sValue As String) As Boolean
|
|
' se variabile standard
|
|
If Not sName.Contains("."c) Then
|
|
If Not LuaSetParam(state, sValue) Then Return False
|
|
state.SetGlobal(sName)
|
|
Return True
|
|
' altrimenti campo di tabella
|
|
Else
|
|
Dim sTableName As String = "", sVarName As String = ""
|
|
Dim sParams() As String = sName.Split("."c)
|
|
sTableName = sParams(0)
|
|
sVarName = sParams(1)
|
|
state.GetGlobal(sTableName)
|
|
Dim bResult As Boolean = LuaSetTabFieldParam(state, -1, sVarName, sValue)
|
|
state.Pop(1)
|
|
Return bResult
|
|
End If
|
|
End Function
|
|
Friend Function LuaSetGlobVar(ByRef sName As String, ByRef sValue As String) As Boolean
|
|
' se variabile standard
|
|
If Not sName.Contains("."c) Then
|
|
If Not LuaSetParam(m_State, sValue) Then Return False
|
|
m_State.SetGlobal(sName)
|
|
Return True
|
|
' altrimenti campo di tabella
|
|
Else
|
|
Dim sTableName As String = "", sVarName As String = ""
|
|
Dim sParams() As String = sName.Split("."c)
|
|
sTableName = sParams(0)
|
|
sVarName = sParams(1)
|
|
m_State.GetGlobal(sTableName)
|
|
Dim bResult As Boolean = LuaSetTabFieldParam(m_State, -1, sVarName, sValue)
|
|
m_State.Pop(1)
|
|
Return bResult
|
|
End If
|
|
End Function
|
|
|
|
Friend Function LuaResetGlobVar(state As Lua, ByRef sName As String) As Boolean
|
|
' se variabile standard
|
|
If Not sName.Contains("."c) Then
|
|
If Not LuaSetParam(state) Then Return False
|
|
state.SetGlobal(sName)
|
|
Return True
|
|
' altrimenti campo di tabella
|
|
Else
|
|
Dim sTableName As String = "", sVarName As String = ""
|
|
Dim sParams() As String = sName.Split("."c)
|
|
sTableName = sParams(0)
|
|
sVarName = sParams(1)
|
|
state.GetGlobal(sTableName)
|
|
Dim bResult As Boolean = LuaSetTabFieldParam(state, -1, sVarName)
|
|
state.Pop(1)
|
|
Return bResult
|
|
End If
|
|
End Function
|
|
Friend Function LuaResetGlobVar(ByRef sName As String) As Boolean
|
|
' se variabile standard
|
|
If Not sName.Contains("."c) Then
|
|
If Not LuaSetParam(m_State) Then Return False
|
|
m_State.SetGlobal(sName)
|
|
Return True
|
|
' altrimenti campo di tabella
|
|
Else
|
|
Dim sTableName As String = "", sVarName As String = ""
|
|
Dim sParams() As String = sName.Split("."c)
|
|
sTableName = sParams(0)
|
|
sVarName = sParams(1)
|
|
m_State.GetGlobal(sTableName)
|
|
Dim bResult As Boolean = LuaSetTabFieldParam(m_State, -1, sVarName)
|
|
m_State.Pop(1)
|
|
Return bResult
|
|
End If
|
|
End Function
|
|
|
|
Friend Function LuaCreateGlobTable(state As Lua, ByRef sName As String) As Boolean
|
|
Try
|
|
state.NewTable()
|
|
state.SetGlobal(sName)
|
|
Catch ex As Exception
|
|
Return False
|
|
End Try
|
|
Return True
|
|
End Function
|
|
Friend Function LuaCreateGlobTable(ByRef sName As String) As Boolean
|
|
Try
|
|
m_State.NewTable()
|
|
m_State.SetGlobal(sName)
|
|
Catch ex As Exception
|
|
Return False
|
|
End Try
|
|
Return True
|
|
End Function
|
|
|
|
End Module
|