﻿
local roomFlag
local preSoundTime = 0
local interval = 2.2
local soundVol = 1
--local sound = vci.assets.GetTransform("SoundObj")

local youtubeAdress1 = "/vc-official/onecomme/youtube/comment"
local youtubeAdress2 = "/vc-official/onecomme/youtube/super"
local niconicoAdress1 = "/vc-official/onecomme/niconico/comment"
--local niconicoAdress2 = "/vc-official/onecomme/niconico/gift"

--わんコメで「8888」が含まれるコメントを受信すると、拍手SEが鳴る
--「8888」が連投された際、程よく重なるように、SE再生にインターバルを設ける
local function wankomeHakushu(content)
    if roomFlag then
        if vci.state.Get("OwnerID") == vci.vc.room.GetLocalPlayer().GetId() then
            if os.time(sec) - preSoundTime >= interval and string.find(json.parse(content).comment, "8888") ~= nil then
                --sound.GetAudioSources()[1]._ALL_PlayOneShot(soundVol)
                print("拍手SE")
                preSoundTime = os.time(sec)
            end
        end
    end
end

vci.osc.RegisterMethod(youtubeAdress1, wankomeHakushu, {ExportOscType.BlobAsUtf8})
vci.osc.RegisterMethod(youtubeAdress2, wankomeHakushu, {ExportOscType.BlobAsUtf8})
vci.osc.RegisterMethod(niconicoAdress1, wankomeHakushu, {ExportOscType.BlobAsUtf8})
--vci.osc.RegisterMethod(niconicoAdress2, wankomeHakushu, {ExportOscType.BlobAsUtf8})

--ルームでの動作を保証するため、ルームの識別
if vci.vc.GetSpaceType() == ExportVcSpaceType.studio then
    roomFlag = false
else
    roomFlag = true
end

--VCIオーナーをstateに記録
--置き忘れ時の誤動作防止用など
if roomFlag and vci.assets.IsMine then
    if vci.state.Get("OwnerID") == nil then
        vci.state.Set("OwnerID", vci.vc.room.GetLocalPlayer().GetId())
    end
end
