====== vci.me(ExportMe)(Local machine information) ======
You can access the local information of the user who spawned the VCI.
===== List of member variables and functions =====
**For the complete list, refer to "types.lua" file in "EmbeddedScriptWorkspace" folder. **
--- Local machine information
---@class ExportMe
---@field GetAxisInput fun(): Vector3
---@field GetButtonInput fun(id: number): bool
---@field GetSystemVersion fun(): string
---@field CompareSystemVersion fun(version: string): number
---@field GetHeadMountedDisplayType fun(): string
---@field GetHeadMountedDisplayName fun(): string
---@field GetLanguageCode fun(): string
---@field FrameCount number
---@field Time TimeSpan
---@field UnscaledTime TimeSpan
^ Method ^ Description ^ VC version ^
| GetAxisInput fun() | Receives key input for VCI |
| GetButtonInput fun() | Receives key input for VCI |
| FrameCount | Number of frames elapsed since the client launch |
| Time | The time elapsed from the client launch |
| UnscaledTime | Its the same as Time, but this value is not affected by [[https://docs.unity3d.com/jp/current/ScriptReference/Time-timeScale.html|timeScale]]. |
| GetHeadMountedDisplayType fun() | Get the type of the HMD being used | 1.9.2a and later |
| GetHeadMountedDisplayName fun() | Get the name of the HMD being used | 1.9.2a and later |
| GetLanguageCode fun()| Get the selected language | 1.9.2a and later |
| GetSystemVersion fun()| Get the version of VirtualCast | 1.9.2d and later |
| CompareSystemVersion fun(version: string) | Compare versions | 1.9.2d and later |
===== Acquire the time of Virtual Cast =====
サンプル
function update()
print(vci.me.Time)
print("H : "..vci.me.Time.Hours)
print("M : "..vci.me.Time.Minutes)
print("S : "..vci.me.Time.Seconds)
end
The result
00:00:03.6820000
H : 0
M : 0
S : 3
By adding the methods after the "Time," you can get the detailed information separately.\\
This time displays the time defined by the VCI script.
===== Acquire the current time of the OS =====
Example
print(os.date("%Y-%m-%d %H:%M:%S"))
print(os.date("%m%d"))
print(os.date("%H"))
print(os.date("%M"))
print(os.date("%S"))
The result
2/26/2019 5:14:25 PM
0226
17
14
25
By using "os.date", which is a function of Lua itself, you can acquire the current time of the OS.\\
For details, refer to [[http://www.lua.org/manual/5.3/manual.html#pdf-os.date|os.date ()]].\\
Example
today = os.date("%m%d")
function onGrab()
-- today is a string type
if today == "1225" then
print("Merry Christmas!")
end
end
By storing a date in a variable, you can use a specific date as a condition.\\
The example above is only run on the day of Christmas.\\
The return value of ''os.date()'' is a string type, not a number type, so make sure to specify the condition with a string.
===== Conversion from string type to number type =====
Example
day = tonumber(os.date("%d"))
function onGrab()
if (day % 2) == 0 then
print("Today is an even number date")
end
end
By using ''tonumber()'' you can convert from string type to number type.\\
The example above determines if the date is an even number by judging if the reminder of the day divided by 2 is 0.
===== Get the information on HMD and language =====
VC version: 1.9.2a and later
You can get the information on HMD and the language selected.
Example
print("HMD Type: "..vci.me.GetHeadMountedDisplayType())
print("HMD Name: "..vci.me.GetHeadMountedDisplayName())
print("Language Code: "..vci.me.GetLanguageCode())
** Values you can get with GetHeadMountedDisplayType **
* Vive
* Index (1.9.3a and later)
* Oculus
* WindowsMR
* ViveCosmos
* Unknown: Others
** Values you can get with GetLanguageCode **
* ja: Japanese
* en: English
* zh: Simplified Chinese
* zhtw: Traditional Chinese
** About GetHeadMountedDisplayName **
The result is acquired from [[https://valvesoftware.github.io/steamvr_unity_plugin/api/Valve.VR.SteamVR.html|hmd_ModelNumber property]] in SteamVR.\\
This value conforms to SteamVR specifications and may change in future updates.
===== Version information =====
VC version: 1.9.2d and later
You can get the version information of VirtualCast with GetSystemVersion. CompareSystemVersion returns 0 when the version string specified in the arguments is the same as the current version. It returns a positive value if the version is older and it returns a negative value when the version is newer.
Example
print(vci.me.GetSystemVersion()) -- 1.9.2d
local result = vci.me.CompareSystemVersion("1.9.2d")
print("Result: "..result) -- Result: 0
result = vci.me.CompareSystemVersion("1.9.2c")
print("Result: "..result) -- Result: 1
result = vci.me.CompareSystemVersion("1.9.3")
print("Result: "..result) -- Result: -1