~~NOTOC~~
====== ExportVc/ExportRoom(ルーム情報) ======
このページは過去の情報となります。\\
新しいスクリプトリファレンスは**[[https://developer.virtualcast.jp/vci-docs/api/|こちら]]**になります。
ルーム情報を取得するのに必要なクラスです。
* **UniVCI v0.35** 以降で Export される VCI で使用できます。
* **バーチャルキャスト v2.3.0** 以降で動作します。
* 現在、この API は**ルーム上でのみ動作します**。
===== メンバ変数・関数一覧 =====
^ ExportVc ^^
^ 名前 ^ 説明 ^
| [[vci/script/reference/exportvc#room ]] | ExportRoomを取得 |
| [[vci/script/reference/exportvc#GetSpaceType ]] | VCIが出された空間の種別( ''Studio'', ''Room'' )を取得 |
| [[vci/script/reference/exportvc#spaceTypes ]] | 空間種別の静的な列挙子のテーブル|
^ ExportRoom ^^
^ 名前 ^ 説明 ^
| [[vci/script/reference/exportvc#GetGravity ]] | ルームの重力加速度ベクトルを取得 |
| [[vci/script/reference/exportvc#GetWalkSpeed ]] | ルームの移動速度を取得 |
| [[vci/script/reference/exportvc#GetJumpSpeed ]] | ルームのジャンプ力の初速度を取得 |
| [[vci/script/reference/exportvc#GetRoomKey ]] | ルームキーを取得 |
| [[vci/script/reference/exportvc#GetAllPlayers ]] | ルームに参加中のすべてのプレイヤーを取得 |
| [[vci/script/reference/exportvc#GetLocalPlayer ]] | ローカルのプレイヤーを取得 |
| [[vci/script/reference/exportvc#GetPlayerById ]] | IDを指定してルームに参加中のプレイヤーを取得 |
| [[vci/script/reference/exportvc#OnPlayerJoined ]] | ルームにプレイヤーが参加した時に呼ばれるコールバックを登録 |
| [[vci/script/reference/exportvc#OnPlayerLeft ]] | ルームからプレイヤーが去った時に呼ばれるコールバックを登録 |
===== room =====
ExportVc.**room ExportRoom**\\
ExportRoomを取得する。
※次項のサンプルを参照のこと。
===== GetSpaceType =====
ExportVc.**GetSpaceType() fun(): ExportVcSpaceType**\\
VCIが出された空間の種別( ''Studio'', ''Room'' )を取得する。
※次項のサンプルを参照のこと。
===== spaceTypes =====
ExportVc.**spaceTypes ExportVcSpaceType**\\
空間種別の静的な列挙子のテーブル。
=== サンプル ===
local spaceType = vci.vc.GetSpaceType()
print(spaceType == vci.vc.spaceTypes.room) -- Room: true, Studio: false
print(spaceType == vci.vc.spaceTypes.studio) -- Room: false, Studio: true
print(spaceType == vci.vc.spaceTypes.unknown) -- Room: false, Studio: false
===== GetGravity =====
ExportRoom.**GetGravity fun(): Vector3**\\
ルームの重力加速度ベクトル [m/s2] を取得する。
=== サンプル ===
print("Gravity: "..tostring(vci.vc.room.GetGravity()))
===== GetWalkSpeed =====
ExportRoom.**GetWalkSpeed fun(): number**\\
ルームの移動速度 [m/s] を取得する。
=== サンプル ===
print("WalkSpeed: "..vci.vc.room.GetWalkSpeed())
===== GetJumpSpeed =====
ExportRoom.**GetJumpSpeed fun(): number**\\
ルームのジャンプ力の初速度 [m/s] を取得する。
=== サンプル ===
print("JumpSpeed: "..vci.vc.room.GetJumpSpeed())
===== GetRoomKey =====
ExportRoom.**GetRoomKey fun(): string**\\
ルームキーを取得する。
=== サンプル ===
print("RoomKey: "..vci.vc.room.GetRoomKey())
===== GetAllPlayers =====
ExportRoom.**GetAllPlayers fun(): [[https://developer.virtualcast.jp/vci-docs/api/classes/ExportRoomPlayer/index.html|ExportRoomPlayer]][]**\\
ルームに参加中のすべてのプレイヤーを取得する。\\
※取得した配列内の ExportRoomPlayer の順番は、各プレイヤーの環境上で異なります。
=== サンプル ===
-- プレイヤー情報の取得
local players = vci.vc.room.GetAllPlayers()
local currentPlayersString = "Current Players: "
local idToNameMap = {}
for k, v in pairs(players) do
local name = v.GetName()
idToNameMap[v.GetId()] = name
currentPlayersString = currentPlayersString..name..", "
end
print(string.sub(currentPlayersString, 1, -3))
===== GetLocalPlayer =====
ExportRoom.**GetLocalPlayer fun(): [[https://developer.virtualcast.jp/vci-docs/api/classes/ExportRoomPlayer/index.html|ExportRoomPlayer]]**\\
ローカルのプレイヤーを取得する。
=== サンプル ===
-- ローカルプレイヤーの取得
local localPlayer = vci.vc.room.GetLocalPlayer()
print("local player: "..localPlayer.GetName())
===== GetPlayerById =====
ExportRoom.**GetPlayerById fun(playerId: string): [[https://developer.virtualcast.jp/vci-docs/api/classes/ExportRoomPlayer/index.html|ExportRoomPlayer]]**\\
IDを指定してルームに参加中のプレイヤーを取得する。
※次項のサンプルを参照のこと。
===== OnPlayerJoined =====
ExportRoom.**OnPlayerJoined fun(callback: usertype)**\\
ルームにプレイヤーが参加した時に呼ばれるコールバックを登録する。
=== 引数 ===
''callback:'' : ''fun(joinEvent: table{"PlayerId": string})''
=== サンプル ===
-- 入室時コールバックの登録
vci.vc.room.OnPlayerJoined(
function (joinEvent) -- {"PlayerId": string}
local id = joinEvent["PlayerId"]
local name = vci.vc.room.GetPlayerById(id).GetName()
if name ~= nil then print(name.." joined.") end
idToNameMap[id] = name
end
)
===== OnPlayerLeft =====
ExportRoom.**OnPlayerLeft fun(callback: usertype)**\\
ルームからプレイヤーが去った時に呼ばれるコールバックを登録する。
=== 引数 ===
''callback:'' : ''fun(joinEvent: table{"PlayerId": string})''
=== サンプル ===
-- 退出時コールバックの登録
vci.vc.room.OnPlayerLeft(
function (leftEvent) -- {"PlayerId": string}
local id = leftEvent["PlayerId"]
local name = idToNameMap[id]
if name ~= nil then print(name.." has left.") end
idToNameMap[id] = nil
end
)