Initial Commit
This commit is contained in:
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9c7e27799672ce2458de435c31300019
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,22 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7b5c12aa38189a145b2a57baf2a7bf4f
|
||||
AudioImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 6
|
||||
defaultSettings:
|
||||
loadType: 0
|
||||
sampleRateSetting: 0
|
||||
sampleRateOverride: 44100
|
||||
compressionFormat: 1
|
||||
quality: 1
|
||||
conversionMode: 0
|
||||
platformSettingOverrides: {}
|
||||
forceToMono: 0
|
||||
normalize: 1
|
||||
preloadAudioData: 1
|
||||
loadInBackground: 0
|
||||
ambisonic: 0
|
||||
3D: 1
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9e6f8accd4b079d40b3603449f318633
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,451 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ae5a46bda3295124c99b0e6537ac7252, type: 3}
|
||||
m_Name: BuiltIns Timer - WitConfiguration
|
||||
m_EditorClassIdentifier:
|
||||
_clientAccessToken: HOKEABS7HPIQVSRSVWRPTTV75TQJ5QBP
|
||||
_appInfo:
|
||||
name: Built-in Models
|
||||
id: voiceSDK_en
|
||||
lang: en
|
||||
isPrivate: 0
|
||||
createdAt:
|
||||
trainingStatus: 0
|
||||
lastTrainDuration: 0
|
||||
lastTrainedAt:
|
||||
nextTrainAt:
|
||||
intents:
|
||||
- id: 897504424223811
|
||||
name: wit$add_time_timer
|
||||
entities: []
|
||||
- id: 541438527164499
|
||||
name: wit$add_to_playlist
|
||||
entities: []
|
||||
- id: 887283025240109
|
||||
name: wit$cancel
|
||||
entities: []
|
||||
- id: 829935924385746
|
||||
name: wit$check_weather_condition
|
||||
entities: []
|
||||
- id: 306952631193690
|
||||
name: wit$confirmation
|
||||
entities: []
|
||||
- id: 377154377139380
|
||||
name: wit$create_alarm
|
||||
entities: []
|
||||
- id: 418752679692656
|
||||
name: wit$create_playlist
|
||||
entities: []
|
||||
- id: 365611011710102
|
||||
name: wit$create_timer
|
||||
entities: []
|
||||
- id: 1033582527390432
|
||||
name: wit$decrease_volume
|
||||
entities: []
|
||||
- id: 883987129203457
|
||||
name: wit$delete_alarm
|
||||
entities: []
|
||||
- id: 247929240550715
|
||||
name: wit$delete_playlist
|
||||
entities: []
|
||||
- id: 557555652118025
|
||||
name: wit$delete_timer
|
||||
entities: []
|
||||
- id: 421700242885150
|
||||
name: wit$dislike_music
|
||||
entities: []
|
||||
- id: 270102601621744
|
||||
name: wit$fast_forward_track
|
||||
entities: []
|
||||
- id: 387498056115658
|
||||
name: wit$get_alarms
|
||||
entities: []
|
||||
- id: 415840899887272
|
||||
name: wit$get_date
|
||||
entities: []
|
||||
- id: 438703477461413
|
||||
name: wit$get_sunrise
|
||||
entities: []
|
||||
- id: 375415767405106
|
||||
name: wit$get_sunset
|
||||
entities: []
|
||||
- id: 4289162121138059
|
||||
name: wit$get_temperature
|
||||
entities: []
|
||||
- id: 232518205474455
|
||||
name: wit$get_time
|
||||
entities: []
|
||||
- id: 893990681247881
|
||||
name: wit$get_time_until_date
|
||||
entities: []
|
||||
- id: 393845445654783
|
||||
name: wit$get_timer
|
||||
entities: []
|
||||
- id: 549084829680351
|
||||
name: wit$get_track_info
|
||||
entities: []
|
||||
- id: 3011049075798095
|
||||
name: wit$get_weather
|
||||
entities: []
|
||||
- id: 1014318852665058
|
||||
name: wit$go_back
|
||||
entities: []
|
||||
- id: 1031968647622673
|
||||
name: wit$go_forward
|
||||
entities: []
|
||||
- id: 284911926808943
|
||||
name: wit$increase_volume
|
||||
entities: []
|
||||
- id: 547658879873191
|
||||
name: wit$like_music
|
||||
entities: []
|
||||
- id: 236590765151252
|
||||
name: wit$loop_music
|
||||
entities: []
|
||||
- id: 4404756796280183
|
||||
name: wit$negation
|
||||
entities: []
|
||||
- id: 4432284356859008
|
||||
name: wit$nevermind
|
||||
entities: []
|
||||
- id: 831865090860258
|
||||
name: wit$open_resource
|
||||
entities: []
|
||||
- id: 3014340998807022
|
||||
name: wit$pause
|
||||
entities: []
|
||||
- id: 162448539383689
|
||||
name: wit$pause_music
|
||||
entities: []
|
||||
- id: 629110521422335
|
||||
name: wit$pause_timer
|
||||
entities: []
|
||||
- id: 1749588415235689
|
||||
name: wit$play
|
||||
entities: []
|
||||
- id: 866056607377214
|
||||
name: wit$play_music
|
||||
entities: []
|
||||
- id: 258248752970902
|
||||
name: wit$play_podcast
|
||||
entities: []
|
||||
- id: 1030753921087273
|
||||
name: wit$previous_track
|
||||
entities: []
|
||||
- id: 3112795525710499
|
||||
name: wit$remove_from_playlist
|
||||
entities: []
|
||||
- id: 1641652012695476
|
||||
name: wit$repeat_response
|
||||
entities: []
|
||||
- id: 391429655722707
|
||||
name: wit$replay_track
|
||||
entities: []
|
||||
- id: 407662237413103
|
||||
name: wit$resume
|
||||
entities: []
|
||||
- id: 658111892259804
|
||||
name: wit$resume_music
|
||||
entities: []
|
||||
- id: 229892845779856
|
||||
name: wit$resume_timer
|
||||
entities: []
|
||||
- id: 252614883454919
|
||||
name: wit$rewind_track
|
||||
entities: []
|
||||
- id: 4540198562705611
|
||||
name: wit$select_item
|
||||
entities: []
|
||||
- id: 2081412638678468
|
||||
name: wit$share
|
||||
entities: []
|
||||
- id: 588748799212186
|
||||
name: wit$shuffle_playlist
|
||||
entities: []
|
||||
- id: 917880522495837
|
||||
name: wit$silence_alarm
|
||||
entities: []
|
||||
- id: 329368558953931
|
||||
name: wit$skip_track
|
||||
entities: []
|
||||
- id: 2842638329380270
|
||||
name: wit$snooze_alarm
|
||||
entities: []
|
||||
- id: 411892023684057
|
||||
name: wit$stop
|
||||
entities: []
|
||||
- id: 238496474960073
|
||||
name: wit$stop_music
|
||||
entities: []
|
||||
- id: 151481930517141
|
||||
name: wit$subtract_time_timer
|
||||
entities: []
|
||||
- id: 620928052622542
|
||||
name: wit$unloop_music
|
||||
entities: []
|
||||
- id: 1315332902220652
|
||||
name: wit$unshuffle_playlist
|
||||
entities: []
|
||||
entities:
|
||||
- name: wit$amount_of_money
|
||||
id: 535a8110-2ea7-414f-a024-cf928b076d17
|
||||
lookups: []
|
||||
roles:
|
||||
- name: amount_of_money
|
||||
id: 388070769579971
|
||||
keywords: []
|
||||
- name: wit$datetime
|
||||
id: 535a810f-8911-4bfe-976a-6e3c193f1251
|
||||
lookups: []
|
||||
roles:
|
||||
- name: datetime
|
||||
id: 457759871937748
|
||||
keywords: []
|
||||
- name: wit$distance
|
||||
id: 535a80ff-e693-40c1-b67e-6f3e8e7144b8
|
||||
lookups: []
|
||||
roles:
|
||||
- name: distance
|
||||
id: 376395644039832
|
||||
keywords: []
|
||||
- name: wit$duration
|
||||
id: 535a80fb-4be9-4991-a48e-8b2ca4ef6e54
|
||||
lookups: []
|
||||
roles:
|
||||
- name: duration
|
||||
id: 4245444588888025
|
||||
keywords: []
|
||||
- name: wit$email
|
||||
id: 535a8107-7041-417d-b500-670b30d5267e
|
||||
lookups: []
|
||||
roles:
|
||||
- name: email
|
||||
id: 990197371827121
|
||||
keywords: []
|
||||
- name: wit$location
|
||||
id: 535a80ff-6399-4653-8b2a-c770dd014965
|
||||
lookups: []
|
||||
roles:
|
||||
- name: location
|
||||
id: 699151467676773
|
||||
keywords: []
|
||||
- name: wit$phone_number
|
||||
id: 535a810c-3885-41fe-a36f-3adfff96d72c
|
||||
lookups: []
|
||||
roles:
|
||||
- name: phone_number
|
||||
id: 535400004231868
|
||||
keywords: []
|
||||
- name: wit$quantity
|
||||
id: 53d850ab-b009-4da5-9201-180aa916c5d4
|
||||
lookups: []
|
||||
roles:
|
||||
- name: quantity
|
||||
id: 390632932585329
|
||||
keywords: []
|
||||
- name: wit$temperature
|
||||
id: 535a80f3-766b-49e7-bfb9-f4dedafc10aa
|
||||
lookups: []
|
||||
roles:
|
||||
- name: temperature
|
||||
id: 603855104116898
|
||||
keywords: []
|
||||
- name: wit$url
|
||||
id: 535a80e6-23ec-43de-9c60-ed1d7f450157
|
||||
lookups: []
|
||||
roles:
|
||||
- name: url
|
||||
id: 2978877842431482
|
||||
keywords: []
|
||||
- name: wit$volume
|
||||
id: 5a0cd7ec-754d-4ad5-abfa-413275a5f674
|
||||
lookups: []
|
||||
roles:
|
||||
- name: volume
|
||||
id: 358779385927032
|
||||
keywords: []
|
||||
traits:
|
||||
- name: wit$bye
|
||||
id: 5900cc2e-09ed-4764-800c-11e7566acfac
|
||||
values:
|
||||
- id: 955a38ae-f188-46ba-ab6d-4988c5a4bea6
|
||||
value: true
|
||||
- name: wit$greetings
|
||||
id: 5900cc2d-41b7-45b2-b21f-b950d3ae3c5c
|
||||
values:
|
||||
- id: 547401529279585
|
||||
value: true
|
||||
- name: wit$sentiment
|
||||
id: 5ac2b50a-44e4-466e-9d49-bad6bd40092c
|
||||
values:
|
||||
- id: 561371444570330
|
||||
value: negative
|
||||
- id: 1621429681354257
|
||||
value: neutral
|
||||
- id: 2522989351346070
|
||||
value: positive
|
||||
- name: wit$thanks
|
||||
id: 5900cc2d-867c-4bf0-beb6-ef6e6bf45ca5
|
||||
values:
|
||||
- id: e5cce196-9948-420c-a9fb-9c2fd201adaf
|
||||
value: true
|
||||
voices:
|
||||
- name: Cael
|
||||
locale: en_US
|
||||
gender: male
|
||||
styles:
|
||||
- default
|
||||
- soft
|
||||
- formal
|
||||
- fast
|
||||
- projected
|
||||
- name: Cam
|
||||
locale: en_US
|
||||
gender: male
|
||||
styles:
|
||||
- default
|
||||
- soft
|
||||
- formal
|
||||
- fast
|
||||
- projected
|
||||
- name: Carl
|
||||
locale: en_US
|
||||
gender: male
|
||||
styles:
|
||||
- default
|
||||
- soft
|
||||
- formal
|
||||
- fast
|
||||
- projected
|
||||
- name: Charlie
|
||||
locale: en_US
|
||||
gender: male
|
||||
styles:
|
||||
- default
|
||||
- soft
|
||||
- fast
|
||||
- projected
|
||||
- name: Cody
|
||||
locale: en_US
|
||||
gender: male
|
||||
styles:
|
||||
- default
|
||||
- soft
|
||||
- formal
|
||||
- fast
|
||||
- projected
|
||||
- name: Connor
|
||||
locale: en_US
|
||||
gender: male
|
||||
styles:
|
||||
- default
|
||||
- soft
|
||||
- formal
|
||||
- fast
|
||||
- projected
|
||||
- name: Cooper
|
||||
locale: en_US
|
||||
gender: male
|
||||
styles:
|
||||
- default
|
||||
- soft
|
||||
- formal
|
||||
- fast
|
||||
- projected
|
||||
- name: Prospector
|
||||
locale: en_US
|
||||
gender: male
|
||||
styles:
|
||||
- default
|
||||
- name: Railey
|
||||
locale: en_US
|
||||
gender: female
|
||||
styles:
|
||||
- default
|
||||
- soft
|
||||
- formal
|
||||
- fast
|
||||
- projected
|
||||
- name: Rebecca
|
||||
locale: en_US
|
||||
gender: female
|
||||
styles:
|
||||
- default
|
||||
- soft
|
||||
- formal
|
||||
- fast
|
||||
- projected
|
||||
- name: Remi
|
||||
locale: en_US
|
||||
gender: female
|
||||
styles:
|
||||
- default
|
||||
- soft
|
||||
- formal
|
||||
- fast
|
||||
- projected
|
||||
- name: Rubie
|
||||
locale: en_US
|
||||
gender: female
|
||||
styles:
|
||||
- default
|
||||
- soft
|
||||
- formal
|
||||
- fast
|
||||
- projected
|
||||
- name: Vampire
|
||||
locale: en_US
|
||||
gender: male
|
||||
styles:
|
||||
- default
|
||||
- soft
|
||||
- formal
|
||||
- fast
|
||||
- projected
|
||||
- name: Colin
|
||||
locale: en_CA
|
||||
gender: male
|
||||
styles:
|
||||
- default
|
||||
- soft
|
||||
- formal
|
||||
- fast
|
||||
- projected
|
||||
- name: Rosie
|
||||
locale: en_CA
|
||||
gender: female
|
||||
styles:
|
||||
- default
|
||||
- soft
|
||||
- formal
|
||||
- fast
|
||||
- projected
|
||||
composer:
|
||||
canvases: []
|
||||
_configurationId: 74f17110584875d438c76cba2242da14
|
||||
timeoutMS: 10000
|
||||
endpointConfiguration:
|
||||
_uriScheme:
|
||||
_authority:
|
||||
_port: 0
|
||||
_witApiVersion:
|
||||
_message:
|
||||
_speech:
|
||||
_dictation:
|
||||
_synthesize:
|
||||
_event:
|
||||
_converse:
|
||||
isDemoOnly: 1
|
||||
useConduit: 0
|
||||
_manifestLocalPath:
|
||||
excludedAssemblies: []
|
||||
relaxedResolution: 0
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b48b6ce9fd2c0eb448b29ab66a197ef8
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ef1b718734ecc3f44a54c97b4827292c
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,84 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Skybox
|
||||
m_Shader: {fileID: 106, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_ShaderKeywords: _SUNDISK_HIGH_QUALITY
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses: []
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Floats:
|
||||
- _AtmosphereThickness: 1.54
|
||||
- _BumpScale: 1
|
||||
- _Cutoff: 0.5
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 0
|
||||
- _Exposure: 1
|
||||
- _GlossMapScale: 1
|
||||
- _Glossiness: 0.5
|
||||
- _GlossyReflections: 1
|
||||
- _Metallic: 0
|
||||
- _Mode: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _Parallax: 0.02
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _SunDisk: 2
|
||||
- _SunSize: 0
|
||||
- _SunSizeConvergence: 5
|
||||
- _UVSec: 0
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _GroundColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _SkyTint: {r: 0.3773585, g: 0.2076738, b: 0, a: 1}
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b68ed34b82d7ad243968eee45e798c6c
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 480a73091186d9c4f8d9588adca7e45e
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"name": "Meta.Voice.Samples.BuiltInTimer",
|
||||
"references": [
|
||||
"GUID:4504b1a6e0fdcc3498c30b266e4a63bf",
|
||||
"GUID:1c28d8b71ced07540b7c271537363cc6"
|
||||
],
|
||||
"includePlatforms": [],
|
||||
"excludePlatforms": [],
|
||||
"allowUnsafeCode": false,
|
||||
"overrideReferences": false,
|
||||
"precompiledReferences": [],
|
||||
"autoReferenced": true,
|
||||
"defineConstraints": [],
|
||||
"versionDefines": [],
|
||||
"noEngineReferences": false
|
||||
}
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b409cfa88b1012c48b47bf2ac9340e6d
|
||||
AssemblyDefinitionImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,256 @@
|
||||
/*
|
||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Licensed under the Oculus SDK License Agreement (the "License");
|
||||
* you may not use the Oculus SDK except in compliance with the License,
|
||||
* which is provided at the time of installation or download, or which
|
||||
* otherwise accompanies this software in either electronic or hard copy form.
|
||||
*
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://developer.oculus.com/licenses/oculussdk/
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, the Oculus SDK
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
using System;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
using Meta.WitAi;
|
||||
|
||||
namespace Meta.Voice.Samples.BuiltInTimer
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a countdown timer.
|
||||
/// </summary>
|
||||
public class TimerController : MonoBehaviour
|
||||
{
|
||||
private double _time = 0; // [sec] current time of the countdown timer.
|
||||
private bool _timerExist = false;
|
||||
private bool _timerRunning = false;
|
||||
|
||||
[Tooltip("The UI text element to show app messages.")]
|
||||
public Text logText;
|
||||
|
||||
[Tooltip("The timer ring sound.")] public AudioClip[] timesUpSounds;
|
||||
|
||||
// Update is called once per frame
|
||||
void Update()
|
||||
{
|
||||
if (_timerExist && _timerRunning)
|
||||
{
|
||||
_time -= Time.deltaTime;
|
||||
if (_time < 0)
|
||||
{
|
||||
// Raise a ring.
|
||||
OnElapsedTime();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void Log(string msg)
|
||||
{
|
||||
Debug.Log(msg);
|
||||
logText.text = msg;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Buzzes and resets the timer.
|
||||
/// </summary>
|
||||
private void OnElapsedTime()
|
||||
{
|
||||
_time = 0;
|
||||
_timerRunning = false;
|
||||
_timerExist = false;
|
||||
Log("Your timer is complete.");
|
||||
AudioClip timesUpSfx = timesUpSounds[UnityEngine.Random.Range(0, timesUpSounds.Length)];
|
||||
AudioSource.PlayClipAtPoint(timesUpSfx, Vector3.zero);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Deletes the timer. It corresponds to the wit intent "wit$delete_timer"
|
||||
/// </summary>
|
||||
public void DeleteTimer()
|
||||
{
|
||||
if (!_timerExist)
|
||||
{
|
||||
Log("Error: There is no timer to delete.");
|
||||
return;
|
||||
}
|
||||
|
||||
_timerExist = false;
|
||||
_time = 0;
|
||||
_timerRunning = false;
|
||||
Log("Timer deleted.");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Creates a timer. It corresponds to the wit intent "wit$create_timer"
|
||||
/// </summary>
|
||||
/// <param name="entityValues">countdown in minutes.</param>
|
||||
public void CreateTimer(string[] entityValues)
|
||||
{
|
||||
if (_timerExist)
|
||||
{
|
||||
VLog.W("A timer already exist.");
|
||||
return;
|
||||
}
|
||||
|
||||
if (ParseTime(entityValues, out _time))
|
||||
{
|
||||
_timerExist = true;
|
||||
_timerRunning = true;
|
||||
Log($"Countdown Timer is set for {entityValues[0]} {entityValues[1]}(s).");
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Displays current timer value. It corresponds to "wit$get_timer".
|
||||
/// </summary>
|
||||
public void GetTimerIntent()
|
||||
{
|
||||
// Show the remaining time of the countdown timer.
|
||||
var msg = GetFormattedTimeFromSeconds();
|
||||
//Log(msg);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Pauses the timer. It corresponds to the wit intent "wit$pause_timer"
|
||||
/// </summary>
|
||||
public void PauseTimer()
|
||||
{
|
||||
_timerRunning = false;
|
||||
Log("Timer paused.");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// It corresponds to the wit intent "wit$resume_timer"
|
||||
/// </summary>
|
||||
public void ResumeTimer()
|
||||
{
|
||||
_timerRunning = true;
|
||||
Log("Timer resumed.");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Subtracts time from the timer. It corresponds to the wit intent "wit$subtract_time_timer".
|
||||
/// </summary>
|
||||
/// <param name="entityValues"></param>
|
||||
public void SubtractTimeTimer(string[] entityValues)
|
||||
{
|
||||
if (!_timerExist)
|
||||
{
|
||||
Log("Error: No Timer is created.");
|
||||
return;
|
||||
}
|
||||
|
||||
if (ParseTime(entityValues, out var time))
|
||||
{
|
||||
var msg = $"{entityValues[0]} {entityValues[1]}(s) were subtracted from the timer.";
|
||||
_time -= time;
|
||||
if (_time < 0)
|
||||
{
|
||||
_time = 0;
|
||||
Log(msg);
|
||||
return;
|
||||
}
|
||||
|
||||
Log(msg);
|
||||
}
|
||||
else
|
||||
{
|
||||
Log("Error in Subtract_time_timer(): Could not parse the wit reply.");
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Adds time to the timer. It corresponds to the wit intent "wit$add_time_timer".
|
||||
/// </summary>
|
||||
/// <param name="entityValues"></param>
|
||||
public void AddTimeToTimer(string[] entityValues)
|
||||
{
|
||||
if (!_timerExist)
|
||||
{
|
||||
Log("Error: No Timer is created.");
|
||||
return;
|
||||
}
|
||||
|
||||
if (ParseTime(entityValues, out var time))
|
||||
{
|
||||
_time += time;
|
||||
var msg = $"{entityValues[0]} {entityValues[1]}(s) were added to the timer.";
|
||||
Log(msg);
|
||||
}
|
||||
else
|
||||
{
|
||||
Log("Error in AddTimeToTimer(): Could not parse with reply.");
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns the remaining time (in sec) of the countdown timer.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public double GetRemainingTime()
|
||||
{
|
||||
return _time;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns time in the format of min:sec.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public string GetFormattedTimeFromSeconds()
|
||||
{
|
||||
if (_time >= TimeSpan.MaxValue.TotalSeconds)
|
||||
{
|
||||
_time = TimeSpan.MaxValue.TotalSeconds - 1;
|
||||
Log("Error: Hit max time");
|
||||
}
|
||||
TimeSpan span = TimeSpan.FromSeconds(_time);
|
||||
return $"{Math.Floor(span.TotalHours)}:{span.Minutes:00}:{span.Seconds:00}.{Math.Floor(span.Milliseconds/100f)}";
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Parses entity values to get a resulting time value in seconds
|
||||
/// </summary>
|
||||
/// <param name="entityValues">The entity value results from a Response Handler</param>
|
||||
/// <param name="time">The parsed time</param>
|
||||
/// <returns>The parsed time in seconds or the current value of _time</returns>
|
||||
/// <exception cref="ArgumentException"></exception>
|
||||
private bool ParseTime(string[] entityValues, out double time)
|
||||
{
|
||||
time = _time;
|
||||
if (entityValues.Length > 0 && double.TryParse(entityValues[0], out time))
|
||||
{
|
||||
if (entityValues.Length < 2)
|
||||
{
|
||||
throw new ArgumentException("Entities being parsed must include time value and unit.");
|
||||
}
|
||||
|
||||
// If entity was not included in the result it will be empty, but the array will still be size 2
|
||||
if (!string.IsNullOrEmpty(entityValues[1]))
|
||||
{
|
||||
switch (entityValues[1])
|
||||
{
|
||||
case "minute":
|
||||
time *= 60;
|
||||
break;
|
||||
case "hour":
|
||||
time *= 60 * 60;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bf89088f719e0164b9e096a3394188b4
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,45 @@
|
||||
/*
|
||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Licensed under the Oculus SDK License Agreement (the "License");
|
||||
* you may not use the Oculus SDK except in compliance with the License,
|
||||
* which is provided at the time of installation or download, or which
|
||||
* otherwise accompanies this software in either electronic or hard copy form.
|
||||
*
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://developer.oculus.com/licenses/oculussdk/
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, the Oculus SDK
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
namespace Meta.Voice.Samples.BuiltInTimer
|
||||
{
|
||||
public class TimerDisplay : MonoBehaviour
|
||||
{
|
||||
public TimerController timer;
|
||||
|
||||
private Text _uiText;
|
||||
|
||||
// Start is called before the first frame update
|
||||
void Start()
|
||||
{
|
||||
_uiText = GetComponent<Text>();
|
||||
}
|
||||
|
||||
// Update is called once per frame
|
||||
void Update()
|
||||
{
|
||||
// Note: This is not optimized and you should avoid updating time each frame.
|
||||
_uiText.text = timer.GetFormattedTimeFromSeconds();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a5cbeedeedc01b2419d881ef197ef2d7
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in New Issue
Block a user