diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index 98ae20547fedc6bef7aac2f65a6aff3865f3100c..0000000000000000000000000000000000000000
--- a/.gitignore
+++ /dev/null
@@ -1,72 +0,0 @@
-# This .gitignore file should be placed at the root of your Unity project directory
-#
-# Get latest from https://github.com/github/gitignore/blob/main/Unity.gitignore
-#
-/[Ll]ibrary/
-/[Tt]emp/
-/[Oo]bj/
-/[Bb]uild/
-/[Bb]uilds/
-/[Ll]ogs/
-/[Uu]ser[Ss]ettings/
-
-# MemoryCaptures can get excessive in size.
-# They also could contain extremely sensitive data
-/[Mm]emoryCaptures/
-
-# Recordings can get excessive in size
-/[Rr]ecordings/
-
-# Uncomment this line if you wish to ignore the asset store tools plugin
-# /[Aa]ssets/AssetStoreTools*
-
-# Autogenerated Jetbrains Rider plugin
-/[Aa]ssets/Plugins/Editor/JetBrains*
-
-# Visual Studio cache directory
-.vs/
-
-# Gradle cache directory
-.gradle/
-
-# Autogenerated VS/MD/Consulo solution and project files
-ExportedObj/
-.consulo/
-*.csproj
-*.unityproj
-*.sln
-*.suo
-*.tmp
-*.user
-*.userprefs
-*.pidb
-*.booproj
-*.svd
-*.pdb
-*.mdb
-*.opendb
-*.VC.db
-
-# Unity3D generated meta files
-*.pidb.meta
-*.pdb.meta
-*.mdb.meta
-
-# Unity3D generated file on crash reports
-sysinfo.txt
-
-# Builds
-*.apk
-*.aab
-*.unitypackage
-*.app
-
-# Crashlytics generated file
-crashlytics-build.properties
-
-# Packed Addressables
-/[Aa]ssets/[Aa]ddressable[Aa]ssets[Dd]ata/*/*.bin*
-
-# Temporary auto-generated Android Assets
-/[Aa]ssets/[Ss]treamingAssets/aa.meta
-/[Aa]ssets/[Ss]treamingAssets/aa/*
\ No newline at end of file
diff --git a/.vsconfig b/.vsconfig
deleted file mode 100644
index d70cd98b77b4984d6943f1ee8d64b111f4847b24..0000000000000000000000000000000000000000
--- a/.vsconfig
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "version": "1.0",
- "components": [
- "Microsoft.VisualStudio.Workload.ManagedGame"
- ]
-}
diff --git a/Assembly-CSharp-Editor.csproj.meta b/Assembly-CSharp-Editor.csproj.meta
deleted file mode 100644
index a66b9b24a375598f2ddec33c17887e4de0d49f6f..0000000000000000000000000000000000000000
--- a/Assembly-CSharp-Editor.csproj.meta
+++ /dev/null
@@ -1,7 +0,0 @@
-fileFormatVersion: 2
-guid: 7987893fc3b6d32488b65b5a84e75740
-DefaultImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assembly-CSharp.csproj.meta b/Assembly-CSharp.csproj.meta
deleted file mode 100644
index 7ddb8f62830cedb056c8081934b9ec26f9894d60..0000000000000000000000000000000000000000
--- a/Assembly-CSharp.csproj.meta
+++ /dev/null
@@ -1,7 +0,0 @@
-fileFormatVersion: 2
-guid: 9b2f2debfde6d284b81c33e572b137c7
-DefaultImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Plugins/JsonSubTypes.dll b/Assets/Plugins/JsonSubTypes.dll
deleted file mode 100644
index 71fe39b7ff18fac5dbfd2185f353e1aab5db005d..0000000000000000000000000000000000000000
Binary files a/Assets/Plugins/JsonSubTypes.dll and /dev/null differ
diff --git a/Assets/Plugins/JsonSubTypes.dll.meta b/Assets/Plugins/JsonSubTypes.dll.meta
deleted file mode 100644
index 3025c8ddfda6913154444d4adf80d329b9e9daa9..0000000000000000000000000000000000000000
--- a/Assets/Plugins/JsonSubTypes.dll.meta
+++ /dev/null
@@ -1,33 +0,0 @@
-fileFormatVersion: 2
-guid: 5d8884e5b43d30c44a0dd7f6d04e4930
-PluginImporter:
- externalObjects: {}
- serializedVersion: 2
- iconMap: {}
- executionOrder: {}
- defineConstraints: []
- isPreloaded: 0
- isOverridable: 0
- isExplicitlyReferenced: 0
- validateReferences: 1
- platformData:
- - first:
- Any:
- second:
- enabled: 1
- settings: {}
- - first:
- Editor: Editor
- second:
- enabled: 0
- settings:
- DefaultValueInitialized: true
- - first:
- Windows Store Apps: WindowsStoreApps
- second:
- enabled: 0
- settings:
- CPU: AnyCPU
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Plugins/Newtonsoft.Json.dll b/Assets/Plugins/Newtonsoft.Json.dll
deleted file mode 100644
index e4a63399d0d92764c849df273d5cff4bf1cd829a..0000000000000000000000000000000000000000
Binary files a/Assets/Plugins/Newtonsoft.Json.dll and /dev/null differ
diff --git a/Assets/Plugins/Newtonsoft.Json.dll.meta b/Assets/Plugins/Newtonsoft.Json.dll.meta
deleted file mode 100644
index b98603e67c0b248a1b998802766faea3aeb49f83..0000000000000000000000000000000000000000
--- a/Assets/Plugins/Newtonsoft.Json.dll.meta
+++ /dev/null
@@ -1,33 +0,0 @@
-fileFormatVersion: 2
-guid: 8e129f0a00a01af4e9687332997ac12e
-PluginImporter:
- externalObjects: {}
- serializedVersion: 2
- iconMap: {}
- executionOrder: {}
- defineConstraints: []
- isPreloaded: 0
- isOverridable: 0
- isExplicitlyReferenced: 0
- validateReferences: 1
- platformData:
- - first:
- Any:
- second:
- enabled: 1
- settings: {}
- - first:
- Editor: Editor
- second:
- enabled: 0
- settings:
- DefaultValueInitialized: true
- - first:
- Windows Store Apps: WindowsStoreApps
- second:
- enabled: 0
- settings:
- CPU: AnyCPU
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Plugins/Org.OpenAPITools.dll b/Assets/Plugins/Org.OpenAPITools.dll
deleted file mode 100644
index 08853b7fcc62536f192d6716bbed7dfc3fe82bc3..0000000000000000000000000000000000000000
Binary files a/Assets/Plugins/Org.OpenAPITools.dll and /dev/null differ
diff --git a/Assets/Plugins/Org.OpenAPITools.dll.meta b/Assets/Plugins/Org.OpenAPITools.dll.meta
deleted file mode 100644
index 5fdc847178b556c18edf4172bd10d3b6c14c520a..0000000000000000000000000000000000000000
--- a/Assets/Plugins/Org.OpenAPITools.dll.meta
+++ /dev/null
@@ -1,33 +0,0 @@
-fileFormatVersion: 2
-guid: 6a54ead1df0e6334aa8d4520cae26cab
-PluginImporter:
- externalObjects: {}
- serializedVersion: 2
- iconMap: {}
- executionOrder: {}
- defineConstraints: []
- isPreloaded: 0
- isOverridable: 0
- isExplicitlyReferenced: 0
- validateReferences: 1
- platformData:
- - first:
- Any:
- second:
- enabled: 1
- settings: {}
- - first:
- Editor: Editor
- second:
- enabled: 0
- settings:
- DefaultValueInitialized: true
- - first:
- Windows Store Apps: WindowsStoreApps
- second:
- enabled: 0
- settings:
- CPU: AnyCPU
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Plugins/Org.OpenAPITools.xml b/Assets/Plugins/Org.OpenAPITools.xml
deleted file mode 100644
index 748dfe1ba81001daf100f1a596a418f03082da55..0000000000000000000000000000000000000000
--- a/Assets/Plugins/Org.OpenAPITools.xml
+++ /dev/null
@@ -1,2960 +0,0 @@
-
-
-
- Org.OpenAPITools
-
-
-
-
- Represents a collection of functions to interact with the API endpoints
-
-
-
-
- Represents configuration aspects required to interact with the API endpoints.
-
-
-
-
- Gets the base path of the API client.
-
- The base path
-
-
-
- Gets or sets the configuration object
-
- An instance of the Configuration
-
-
-
- Provides a factory method hook for the creation of exceptions.
-
-
-
-
- Get the state of the server.
-
-
-
-
- Thrown when fails to make API call
- string
-
-
-
- Get the state of the server.
-
-
-
-
- Thrown when fails to make API call
- ApiResponse of string
-
-
-
- Test the server availability.
-
-
-
-
- Thrown when fails to make API call
- string
-
-
-
- Test the server availability.
-
-
-
-
- Thrown when fails to make API call
- ApiResponse of string
-
-
-
- Get the version of the ARF API.
-
-
-
-
- Thrown when fails to make API call
- string
-
-
-
- Get the version of the ARF API.
-
-
-
-
- Thrown when fails to make API call
- ApiResponse of string
-
-
-
- Get the state of the server.
-
-
-
-
- Thrown when fails to make API call
- Cancellation Token to cancel request (optional)
- Task of string
-
-
-
- Get the state of the server.
-
-
-
-
- Thrown when fails to make API call
- Cancellation Token to cancel request (optional)
- Task of ApiResponse (string)
-
-
-
- Test the server availability.
-
-
-
-
- Thrown when fails to make API call
- Cancellation Token to cancel request (optional)
- Task of string
-
-
-
- Test the server availability.
-
-
-
-
- Thrown when fails to make API call
- Cancellation Token to cancel request (optional)
- Task of ApiResponse (string)
-
-
-
- Get the version of the ARF API.
-
-
-
-
- Thrown when fails to make API call
- Cancellation Token to cancel request (optional)
- Task of string
-
-
-
- Get the version of the ARF API.
-
-
-
-
- Thrown when fails to make API call
- Cancellation Token to cancel request (optional)
- Task of ApiResponse (string)
-
-
-
- Represents a collection of functions to interact with the API endpoints
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
-
- Initializes a new instance of the class
-
-
-
-
-
- Initializes a new instance of the class
- using Configuration object
-
- An instance of Configuration
-
-
-
-
- Gets the base path of the API client.
-
- The base path
-
-
-
- Sets the base path of the API client.
-
- The base path
-
-
-
- Gets the default header.
-
- Dictionary of HTTP header
-
-
-
- Add default header.
-
- Header field name.
- Header field value.
-
-
-
-
- Get the state of the server.
-
- Thrown when fails to make API call
- string
-
-
-
- Get the state of the server.
-
- Thrown when fails to make API call
- ApiResponse of string
-
-
-
- Get the state of the server.
-
- Thrown when fails to make API call
- Cancellation Token to cancel request (optional)
- Task of string
-
-
-
- Get the state of the server.
-
- Thrown when fails to make API call
- Cancellation Token to cancel request (optional)
- Task of ApiResponse (string)
-
-
-
- Test the server availability.
-
- Thrown when fails to make API call
- string
-
-
-
- Test the server availability.
-
- Thrown when fails to make API call
- ApiResponse of string
-
-
-
- Test the server availability.
-
- Thrown when fails to make API call
- Cancellation Token to cancel request (optional)
- Task of string
-
-
-
- Test the server availability.
-
- Thrown when fails to make API call
- Cancellation Token to cancel request (optional)
- Task of ApiResponse (string)
-
-
-
- Get the version of the ARF API.
-
- Thrown when fails to make API call
- string
-
-
-
- Get the version of the ARF API.
-
- Thrown when fails to make API call
- ApiResponse of string
-
-
-
- Get the version of the ARF API.
-
- Thrown when fails to make API call
- Cancellation Token to cancel request (optional)
- Task of string
-
-
-
- Get the version of the ARF API.
-
- Thrown when fails to make API call
- Cancellation Token to cancel request (optional)
- Task of ApiResponse (string)
-
-
-
- Gets or sets the configuration object
-
- An instance of the Configuration
-
-
-
- Provides a factory method hook for the creation of exceptions.
-
-
-
-
- Represents a collection of functions to interact with the API endpoints
-
-
-
-
- Create a Trackable.
-
-
- Create a new Trackable from a json object containing all the required informations and add it to the world storage. <br>As a result you will get the ID of the newly created Trackable.
-
- Thrown when fails to make API call
- The Trackable to be added to the world storage.
- string
-
-
-
- Create a Trackable.
-
-
- Create a new Trackable from a json object containing all the required informations and add it to the world storage. <br>As a result you will get the ID of the newly created Trackable.
-
- Thrown when fails to make API call
- The Trackable to be added to the world storage.
- ApiResponse of string
-
-
-
- Delete a Trackable.
-
-
- Delete a single Trackable stored in the world storage from its ID.
-
- Thrown when fails to make API call
- Trackable UUID to delete.
- string
-
-
-
- Delete a Trackable.
-
-
- Delete a single Trackable stored in the world storage from its ID.
-
- Thrown when fails to make API call
- Trackable UUID to delete.
- ApiResponse of string
-
-
-
- Find a Trackable by its UUID.
-
-
- Get a single Trackable stored in the world storage from its ID.
-
- Thrown when fails to make API call
- UUID of the Trackable to retrieve.
- Trackable
-
-
-
- Find a Trackable by its UUID.
-
-
- Get a single Trackable stored in the world storage from its ID.
-
- Thrown when fails to make API call
- UUID of the Trackable to retrieve.
- ApiResponse of Trackable
-
-
-
- Return all the Trackables.
-
-
- Get all the Trackables currently being stored in the world storage.
-
- Thrown when fails to make API call
- List<Trackable>
-
-
-
- Return all the Trackables.
-
-
- Get all the Trackables currently being stored in the world storage.
-
- Thrown when fails to make API call
- ApiResponse of List<Trackable>
-
-
-
- Modify a Trackable.
-
-
- Modify an existing Trackable given a json object containing all the required informations. <br> **Please note that ID of the object is required in the JSON**
-
- Thrown when fails to make API call
- The Trackable to be modified in the world storage.
- string
-
-
-
- Modify a Trackable.
-
-
- Modify an existing Trackable given a json object containing all the required informations. <br> **Please note that ID of the object is required in the JSON**
-
- Thrown when fails to make API call
- The Trackable to be modified in the world storage.
- ApiResponse of string
-
-
-
- Create a Trackable.
-
-
- Create a new Trackable from a json object containing all the required informations and add it to the world storage. <br>As a result you will get the ID of the newly created Trackable.
-
- Thrown when fails to make API call
- The Trackable to be added to the world storage.
- Cancellation Token to cancel request (optional)
- Task of string
-
-
-
- Create a Trackable.
-
-
- Create a new Trackable from a json object containing all the required informations and add it to the world storage. <br>As a result you will get the ID of the newly created Trackable.
-
- Thrown when fails to make API call
- The Trackable to be added to the world storage.
- Cancellation Token to cancel request (optional)
- Task of ApiResponse (string)
-
-
-
- Delete a Trackable.
-
-
- Delete a single Trackable stored in the world storage from its ID.
-
- Thrown when fails to make API call
- Trackable UUID to delete.
- Cancellation Token to cancel request (optional)
- Task of string
-
-
-
- Delete a Trackable.
-
-
- Delete a single Trackable stored in the world storage from its ID.
-
- Thrown when fails to make API call
- Trackable UUID to delete.
- Cancellation Token to cancel request (optional)
- Task of ApiResponse (string)
-
-
-
- Find a Trackable by its UUID.
-
-
- Get a single Trackable stored in the world storage from its ID.
-
- Thrown when fails to make API call
- UUID of the Trackable to retrieve.
- Cancellation Token to cancel request (optional)
- Task of Trackable
-
-
-
- Find a Trackable by its UUID.
-
-
- Get a single Trackable stored in the world storage from its ID.
-
- Thrown when fails to make API call
- UUID of the Trackable to retrieve.
- Cancellation Token to cancel request (optional)
- Task of ApiResponse (Trackable)
-
-
-
- Return all the Trackables.
-
-
- Get all the Trackables currently being stored in the world storage.
-
- Thrown when fails to make API call
- Cancellation Token to cancel request (optional)
- Task of List<Trackable>
-
-
-
- Return all the Trackables.
-
-
- Get all the Trackables currently being stored in the world storage.
-
- Thrown when fails to make API call
- Cancellation Token to cancel request (optional)
- Task of ApiResponse (List<Trackable>)
-
-
-
- Modify a Trackable.
-
-
- Modify an existing Trackable given a json object containing all the required informations. <br> **Please note that ID of the object is required in the JSON**
-
- Thrown when fails to make API call
- The Trackable to be modified in the world storage.
- Cancellation Token to cancel request (optional)
- Task of string
-
-
-
- Modify a Trackable.
-
-
- Modify an existing Trackable given a json object containing all the required informations. <br> **Please note that ID of the object is required in the JSON**
-
- Thrown when fails to make API call
- The Trackable to be modified in the world storage.
- Cancellation Token to cancel request (optional)
- Task of ApiResponse (string)
-
-
-
- Represents a collection of functions to interact with the API endpoints
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
-
- Initializes a new instance of the class
-
-
-
-
-
- Initializes a new instance of the class
- using Configuration object
-
- An instance of Configuration
-
-
-
-
- Gets the base path of the API client.
-
- The base path
-
-
-
- Sets the base path of the API client.
-
- The base path
-
-
-
- Gets the default header.
-
- Dictionary of HTTP header
-
-
-
- Add default header.
-
- Header field name.
- Header field value.
-
-
-
-
- Create a Trackable. Create a new Trackable from a json object containing all the required informations and add it to the world storage. <br>As a result you will get the ID of the newly created Trackable.
-
- Thrown when fails to make API call
- The Trackable to be added to the world storage.
- string
-
-
-
- Create a Trackable. Create a new Trackable from a json object containing all the required informations and add it to the world storage. <br>As a result you will get the ID of the newly created Trackable.
-
- Thrown when fails to make API call
- The Trackable to be added to the world storage.
- ApiResponse of string
-
-
-
- Create a Trackable. Create a new Trackable from a json object containing all the required informations and add it to the world storage. <br>As a result you will get the ID of the newly created Trackable.
-
- Thrown when fails to make API call
- The Trackable to be added to the world storage.
- Cancellation Token to cancel request (optional)
- Task of string
-
-
-
- Create a Trackable. Create a new Trackable from a json object containing all the required informations and add it to the world storage. <br>As a result you will get the ID of the newly created Trackable.
-
- Thrown when fails to make API call
- The Trackable to be added to the world storage.
- Cancellation Token to cancel request (optional)
- Task of ApiResponse (string)
-
-
-
- Delete a Trackable. Delete a single Trackable stored in the world storage from its ID.
-
- Thrown when fails to make API call
- Trackable UUID to delete.
- string
-
-
-
- Delete a Trackable. Delete a single Trackable stored in the world storage from its ID.
-
- Thrown when fails to make API call
- Trackable UUID to delete.
- ApiResponse of string
-
-
-
- Delete a Trackable. Delete a single Trackable stored in the world storage from its ID.
-
- Thrown when fails to make API call
- Trackable UUID to delete.
- Cancellation Token to cancel request (optional)
- Task of string
-
-
-
- Delete a Trackable. Delete a single Trackable stored in the world storage from its ID.
-
- Thrown when fails to make API call
- Trackable UUID to delete.
- Cancellation Token to cancel request (optional)
- Task of ApiResponse (string)
-
-
-
- Find a Trackable by its UUID. Get a single Trackable stored in the world storage from its ID.
-
- Thrown when fails to make API call
- UUID of the Trackable to retrieve.
- Trackable
-
-
-
- Find a Trackable by its UUID. Get a single Trackable stored in the world storage from its ID.
-
- Thrown when fails to make API call
- UUID of the Trackable to retrieve.
- ApiResponse of Trackable
-
-
-
- Find a Trackable by its UUID. Get a single Trackable stored in the world storage from its ID.
-
- Thrown when fails to make API call
- UUID of the Trackable to retrieve.
- Cancellation Token to cancel request (optional)
- Task of Trackable
-
-
-
- Find a Trackable by its UUID. Get a single Trackable stored in the world storage from its ID.
-
- Thrown when fails to make API call
- UUID of the Trackable to retrieve.
- Cancellation Token to cancel request (optional)
- Task of ApiResponse (Trackable)
-
-
-
- Return all the Trackables. Get all the Trackables currently being stored in the world storage.
-
- Thrown when fails to make API call
- List<Trackable>
-
-
-
- Return all the Trackables. Get all the Trackables currently being stored in the world storage.
-
- Thrown when fails to make API call
- ApiResponse of List<Trackable>
-
-
-
- Return all the Trackables. Get all the Trackables currently being stored in the world storage.
-
- Thrown when fails to make API call
- Cancellation Token to cancel request (optional)
- Task of List<Trackable>
-
-
-
- Return all the Trackables. Get all the Trackables currently being stored in the world storage.
-
- Thrown when fails to make API call
- Cancellation Token to cancel request (optional)
- Task of ApiResponse (List<Trackable>)
-
-
-
- Modify a Trackable. Modify an existing Trackable given a json object containing all the required informations. <br> **Please note that ID of the object is required in the JSON**
-
- Thrown when fails to make API call
- The Trackable to be modified in the world storage.
- string
-
-
-
- Modify a Trackable. Modify an existing Trackable given a json object containing all the required informations. <br> **Please note that ID of the object is required in the JSON**
-
- Thrown when fails to make API call
- The Trackable to be modified in the world storage.
- ApiResponse of string
-
-
-
- Modify a Trackable. Modify an existing Trackable given a json object containing all the required informations. <br> **Please note that ID of the object is required in the JSON**
-
- Thrown when fails to make API call
- The Trackable to be modified in the world storage.
- Cancellation Token to cancel request (optional)
- Task of string
-
-
-
- Modify a Trackable. Modify an existing Trackable given a json object containing all the required informations. <br> **Please note that ID of the object is required in the JSON**
-
- Thrown when fails to make API call
- The Trackable to be modified in the world storage.
- Cancellation Token to cancel request (optional)
- Task of ApiResponse (string)
-
-
-
- Gets or sets the configuration object
-
- An instance of the Configuration
-
-
-
- Provides a factory method hook for the creation of exceptions.
-
-
-
-
- Represents a collection of functions to interact with the API endpoints
-
-
-
-
- Create a World Anchor.
-
-
- Create a new World Anchor from a json object containing all the required informations and add it to the world storage. <br>As a result you will get the ID of the newly created World Anchor.
-
- Thrown when fails to make API call
- The World Anchor to be added to the world storage.
- string
-
-
-
- Create a World Anchor.
-
-
- Create a new World Anchor from a json object containing all the required informations and add it to the world storage. <br>As a result you will get the ID of the newly created World Anchor.
-
- Thrown when fails to make API call
- The World Anchor to be added to the world storage.
- ApiResponse of string
-
-
-
- Delete a World Anchor.
-
-
- Delete a single World Anchor stored in the world storage from its ID.
-
- Thrown when fails to make API call
- World Anchor UUID to delete.
- string
-
-
-
- Delete a World Anchor.
-
-
- Delete a single World Anchor stored in the world storage from its ID.
-
- Thrown when fails to make API call
- World Anchor UUID to delete.
- ApiResponse of string
-
-
-
- Find a World Anchor by its UUID.
-
-
- Get a single World Anchor stored in the world storage from its ID.
-
- Thrown when fails to make API call
- UUID of the World Anchor to retrieve.
- WorldAnchor
-
-
-
- Find a World Anchor by its UUID.
-
-
- Get a single World Anchor stored in the world storage from its ID.
-
- Thrown when fails to make API call
- UUID of the World Anchor to retrieve.
- ApiResponse of WorldAnchor
-
-
-
- Return all the World Anchors.
-
-
- Get all the World Anchors currently being stored in the world storage.
-
- Thrown when fails to make API call
- List<WorldAnchor>
-
-
-
- Return all the World Anchors.
-
-
- Get all the World Anchors currently being stored in the world storage.
-
- Thrown when fails to make API call
- ApiResponse of List<WorldAnchor>
-
-
-
- Modify a World Anchor.
-
-
- Modify an existing World Anchor given a json object containing all the required informations. <br> **Please note that ID of the object is required in the JSON**
-
- Thrown when fails to make API call
- The World Anchor to be modified in the world storage.
- string
-
-
-
- Modify a World Anchor.
-
-
- Modify an existing World Anchor given a json object containing all the required informations. <br> **Please note that ID of the object is required in the JSON**
-
- Thrown when fails to make API call
- The World Anchor to be modified in the world storage.
- ApiResponse of string
-
-
-
- Create a World Anchor.
-
-
- Create a new World Anchor from a json object containing all the required informations and add it to the world storage. <br>As a result you will get the ID of the newly created World Anchor.
-
- Thrown when fails to make API call
- The World Anchor to be added to the world storage.
- Cancellation Token to cancel request (optional)
- Task of string
-
-
-
- Create a World Anchor.
-
-
- Create a new World Anchor from a json object containing all the required informations and add it to the world storage. <br>As a result you will get the ID of the newly created World Anchor.
-
- Thrown when fails to make API call
- The World Anchor to be added to the world storage.
- Cancellation Token to cancel request (optional)
- Task of ApiResponse (string)
-
-
-
- Delete a World Anchor.
-
-
- Delete a single World Anchor stored in the world storage from its ID.
-
- Thrown when fails to make API call
- World Anchor UUID to delete.
- Cancellation Token to cancel request (optional)
- Task of string
-
-
-
- Delete a World Anchor.
-
-
- Delete a single World Anchor stored in the world storage from its ID.
-
- Thrown when fails to make API call
- World Anchor UUID to delete.
- Cancellation Token to cancel request (optional)
- Task of ApiResponse (string)
-
-
-
- Find a World Anchor by its UUID.
-
-
- Get a single World Anchor stored in the world storage from its ID.
-
- Thrown when fails to make API call
- UUID of the World Anchor to retrieve.
- Cancellation Token to cancel request (optional)
- Task of WorldAnchor
-
-
-
- Find a World Anchor by its UUID.
-
-
- Get a single World Anchor stored in the world storage from its ID.
-
- Thrown when fails to make API call
- UUID of the World Anchor to retrieve.
- Cancellation Token to cancel request (optional)
- Task of ApiResponse (WorldAnchor)
-
-
-
- Return all the World Anchors.
-
-
- Get all the World Anchors currently being stored in the world storage.
-
- Thrown when fails to make API call
- Cancellation Token to cancel request (optional)
- Task of List<WorldAnchor>
-
-
-
- Return all the World Anchors.
-
-
- Get all the World Anchors currently being stored in the world storage.
-
- Thrown when fails to make API call
- Cancellation Token to cancel request (optional)
- Task of ApiResponse (List<WorldAnchor>)
-
-
-
- Modify a World Anchor.
-
-
- Modify an existing World Anchor given a json object containing all the required informations. <br> **Please note that ID of the object is required in the JSON**
-
- Thrown when fails to make API call
- The World Anchor to be modified in the world storage.
- Cancellation Token to cancel request (optional)
- Task of string
-
-
-
- Modify a World Anchor.
-
-
- Modify an existing World Anchor given a json object containing all the required informations. <br> **Please note that ID of the object is required in the JSON**
-
- Thrown when fails to make API call
- The World Anchor to be modified in the world storage.
- Cancellation Token to cancel request (optional)
- Task of ApiResponse (string)
-
-
-
- Represents a collection of functions to interact with the API endpoints
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
-
- Initializes a new instance of the class
-
-
-
-
-
- Initializes a new instance of the class
- using Configuration object
-
- An instance of Configuration
-
-
-
-
- Gets the base path of the API client.
-
- The base path
-
-
-
- Sets the base path of the API client.
-
- The base path
-
-
-
- Gets the default header.
-
- Dictionary of HTTP header
-
-
-
- Add default header.
-
- Header field name.
- Header field value.
-
-
-
-
- Create a World Anchor. Create a new World Anchor from a json object containing all the required informations and add it to the world storage. <br>As a result you will get the ID of the newly created World Anchor.
-
- Thrown when fails to make API call
- The World Anchor to be added to the world storage.
- string
-
-
-
- Create a World Anchor. Create a new World Anchor from a json object containing all the required informations and add it to the world storage. <br>As a result you will get the ID of the newly created World Anchor.
-
- Thrown when fails to make API call
- The World Anchor to be added to the world storage.
- ApiResponse of string
-
-
-
- Create a World Anchor. Create a new World Anchor from a json object containing all the required informations and add it to the world storage. <br>As a result you will get the ID of the newly created World Anchor.
-
- Thrown when fails to make API call
- The World Anchor to be added to the world storage.
- Cancellation Token to cancel request (optional)
- Task of string
-
-
-
- Create a World Anchor. Create a new World Anchor from a json object containing all the required informations and add it to the world storage. <br>As a result you will get the ID of the newly created World Anchor.
-
- Thrown when fails to make API call
- The World Anchor to be added to the world storage.
- Cancellation Token to cancel request (optional)
- Task of ApiResponse (string)
-
-
-
- Delete a World Anchor. Delete a single World Anchor stored in the world storage from its ID.
-
- Thrown when fails to make API call
- World Anchor UUID to delete.
- string
-
-
-
- Delete a World Anchor. Delete a single World Anchor stored in the world storage from its ID.
-
- Thrown when fails to make API call
- World Anchor UUID to delete.
- ApiResponse of string
-
-
-
- Delete a World Anchor. Delete a single World Anchor stored in the world storage from its ID.
-
- Thrown when fails to make API call
- World Anchor UUID to delete.
- Cancellation Token to cancel request (optional)
- Task of string
-
-
-
- Delete a World Anchor. Delete a single World Anchor stored in the world storage from its ID.
-
- Thrown when fails to make API call
- World Anchor UUID to delete.
- Cancellation Token to cancel request (optional)
- Task of ApiResponse (string)
-
-
-
- Find a World Anchor by its UUID. Get a single World Anchor stored in the world storage from its ID.
-
- Thrown when fails to make API call
- UUID of the World Anchor to retrieve.
- WorldAnchor
-
-
-
- Find a World Anchor by its UUID. Get a single World Anchor stored in the world storage from its ID.
-
- Thrown when fails to make API call
- UUID of the World Anchor to retrieve.
- ApiResponse of WorldAnchor
-
-
-
- Find a World Anchor by its UUID. Get a single World Anchor stored in the world storage from its ID.
-
- Thrown when fails to make API call
- UUID of the World Anchor to retrieve.
- Cancellation Token to cancel request (optional)
- Task of WorldAnchor
-
-
-
- Find a World Anchor by its UUID. Get a single World Anchor stored in the world storage from its ID.
-
- Thrown when fails to make API call
- UUID of the World Anchor to retrieve.
- Cancellation Token to cancel request (optional)
- Task of ApiResponse (WorldAnchor)
-
-
-
- Return all the World Anchors. Get all the World Anchors currently being stored in the world storage.
-
- Thrown when fails to make API call
- List<WorldAnchor>
-
-
-
- Return all the World Anchors. Get all the World Anchors currently being stored in the world storage.
-
- Thrown when fails to make API call
- ApiResponse of List<WorldAnchor>
-
-
-
- Return all the World Anchors. Get all the World Anchors currently being stored in the world storage.
-
- Thrown when fails to make API call
- Cancellation Token to cancel request (optional)
- Task of List<WorldAnchor>
-
-
-
- Return all the World Anchors. Get all the World Anchors currently being stored in the world storage.
-
- Thrown when fails to make API call
- Cancellation Token to cancel request (optional)
- Task of ApiResponse (List<WorldAnchor>)
-
-
-
- Modify a World Anchor. Modify an existing World Anchor given a json object containing all the required informations. <br> **Please note that ID of the object is required in the JSON**
-
- Thrown when fails to make API call
- The World Anchor to be modified in the world storage.
- string
-
-
-
- Modify a World Anchor. Modify an existing World Anchor given a json object containing all the required informations. <br> **Please note that ID of the object is required in the JSON**
-
- Thrown when fails to make API call
- The World Anchor to be modified in the world storage.
- ApiResponse of string
-
-
-
- Modify a World Anchor. Modify an existing World Anchor given a json object containing all the required informations. <br> **Please note that ID of the object is required in the JSON**
-
- Thrown when fails to make API call
- The World Anchor to be modified in the world storage.
- Cancellation Token to cancel request (optional)
- Task of string
-
-
-
- Modify a World Anchor. Modify an existing World Anchor given a json object containing all the required informations. <br> **Please note that ID of the object is required in the JSON**
-
- Thrown when fails to make API call
- The World Anchor to be modified in the world storage.
- Cancellation Token to cancel request (optional)
- Task of ApiResponse (string)
-
-
-
- Gets or sets the configuration object
-
- An instance of the Configuration
-
-
-
- Provides a factory method hook for the creation of exceptions.
-
-
-
-
- Represents a collection of functions to interact with the API endpoints
-
-
-
-
- Create a World Link between elements (world anchors and/or trackables).
-
-
- Create a new World Link from a json object containing all the required informations and add it to the world storage. <br>As a result you will get the ID of the newly created World Link.
-
- Thrown when fails to make API call
- The link to be added to the world storage.
- string
-
-
-
- Create a World Link between elements (world anchors and/or trackables).
-
-
- Create a new World Link from a json object containing all the required informations and add it to the world storage. <br>As a result you will get the ID of the newly created World Link.
-
- Thrown when fails to make API call
- The link to be added to the world storage.
- ApiResponse of string
-
-
-
- Delete a World Link.
-
-
- Delete a single World Link stored in the world storage from its ID.
-
- Thrown when fails to make API call
- World Link id to delete.
- string
-
-
-
- Delete a World Link.
-
-
- Delete a single World Link stored in the world storage from its ID.
-
- Thrown when fails to make API call
- World Link id to delete.
- ApiResponse of string
-
-
-
- Find a World Link by its UUID.
-
-
- Get a single World Link stored in the world storage from its ID.
-
- Thrown when fails to make API call
- UUID of the World Link to retrieve.
- WorldLink
-
-
-
- Find a World Link by its UUID.
-
-
- Get a single World Link stored in the world storage from its ID.
-
- Thrown when fails to make API call
- UUID of the World Link to retrieve.
- ApiResponse of WorldLink
-
-
-
- Return all World Links.
-
-
- Get all the World Links currently being stored in the world storage.
-
- Thrown when fails to make API call
- List<WorldLink>
-
-
-
- Return all World Links.
-
-
- Get all the World Links currently being stored in the world storage.
-
- Thrown when fails to make API call
- ApiResponse of List<WorldLink>
-
-
-
- Modify a World Link.
-
-
- Modify an existing World Link given a json object containing all the required informations. <br> **Please note that ID of the object is required in the JSON**
-
- Thrown when fails to make API call
- The World Link to be modified in the world storage.
- string
-
-
-
- Modify a World Link.
-
-
- Modify an existing World Link given a json object containing all the required informations. <br> **Please note that ID of the object is required in the JSON**
-
- Thrown when fails to make API call
- The World Link to be modified in the world storage.
- ApiResponse of string
-
-
-
- Create a World Link between elements (world anchors and/or trackables).
-
-
- Create a new World Link from a json object containing all the required informations and add it to the world storage. <br>As a result you will get the ID of the newly created World Link.
-
- Thrown when fails to make API call
- The link to be added to the world storage.
- Cancellation Token to cancel request (optional)
- Task of string
-
-
-
- Create a World Link between elements (world anchors and/or trackables).
-
-
- Create a new World Link from a json object containing all the required informations and add it to the world storage. <br>As a result you will get the ID of the newly created World Link.
-
- Thrown when fails to make API call
- The link to be added to the world storage.
- Cancellation Token to cancel request (optional)
- Task of ApiResponse (string)
-
-
-
- Delete a World Link.
-
-
- Delete a single World Link stored in the world storage from its ID.
-
- Thrown when fails to make API call
- World Link id to delete.
- Cancellation Token to cancel request (optional)
- Task of string
-
-
-
- Delete a World Link.
-
-
- Delete a single World Link stored in the world storage from its ID.
-
- Thrown when fails to make API call
- World Link id to delete.
- Cancellation Token to cancel request (optional)
- Task of ApiResponse (string)
-
-
-
- Find a World Link by its UUID.
-
-
- Get a single World Link stored in the world storage from its ID.
-
- Thrown when fails to make API call
- UUID of the World Link to retrieve.
- Cancellation Token to cancel request (optional)
- Task of WorldLink
-
-
-
- Find a World Link by its UUID.
-
-
- Get a single World Link stored in the world storage from its ID.
-
- Thrown when fails to make API call
- UUID of the World Link to retrieve.
- Cancellation Token to cancel request (optional)
- Task of ApiResponse (WorldLink)
-
-
-
- Return all World Links.
-
-
- Get all the World Links currently being stored in the world storage.
-
- Thrown when fails to make API call
- Cancellation Token to cancel request (optional)
- Task of List<WorldLink>
-
-
-
- Return all World Links.
-
-
- Get all the World Links currently being stored in the world storage.
-
- Thrown when fails to make API call
- Cancellation Token to cancel request (optional)
- Task of ApiResponse (List<WorldLink>)
-
-
-
- Modify a World Link.
-
-
- Modify an existing World Link given a json object containing all the required informations. <br> **Please note that ID of the object is required in the JSON**
-
- Thrown when fails to make API call
- The World Link to be modified in the world storage.
- Cancellation Token to cancel request (optional)
- Task of string
-
-
-
- Modify a World Link.
-
-
- Modify an existing World Link given a json object containing all the required informations. <br> **Please note that ID of the object is required in the JSON**
-
- Thrown when fails to make API call
- The World Link to be modified in the world storage.
- Cancellation Token to cancel request (optional)
- Task of ApiResponse (string)
-
-
-
- Represents a collection of functions to interact with the API endpoints
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
-
- Initializes a new instance of the class
-
-
-
-
-
- Initializes a new instance of the class
- using Configuration object
-
- An instance of Configuration
-
-
-
-
- Gets the base path of the API client.
-
- The base path
-
-
-
- Sets the base path of the API client.
-
- The base path
-
-
-
- Gets the default header.
-
- Dictionary of HTTP header
-
-
-
- Add default header.
-
- Header field name.
- Header field value.
-
-
-
-
- Create a World Link between elements (world anchors and/or trackables). Create a new World Link from a json object containing all the required informations and add it to the world storage. <br>As a result you will get the ID of the newly created World Link.
-
- Thrown when fails to make API call
- The link to be added to the world storage.
- string
-
-
-
- Create a World Link between elements (world anchors and/or trackables). Create a new World Link from a json object containing all the required informations and add it to the world storage. <br>As a result you will get the ID of the newly created World Link.
-
- Thrown when fails to make API call
- The link to be added to the world storage.
- ApiResponse of string
-
-
-
- Create a World Link between elements (world anchors and/or trackables). Create a new World Link from a json object containing all the required informations and add it to the world storage. <br>As a result you will get the ID of the newly created World Link.
-
- Thrown when fails to make API call
- The link to be added to the world storage.
- Cancellation Token to cancel request (optional)
- Task of string
-
-
-
- Create a World Link between elements (world anchors and/or trackables). Create a new World Link from a json object containing all the required informations and add it to the world storage. <br>As a result you will get the ID of the newly created World Link.
-
- Thrown when fails to make API call
- The link to be added to the world storage.
- Cancellation Token to cancel request (optional)
- Task of ApiResponse (string)
-
-
-
- Delete a World Link. Delete a single World Link stored in the world storage from its ID.
-
- Thrown when fails to make API call
- World Link id to delete.
- string
-
-
-
- Delete a World Link. Delete a single World Link stored in the world storage from its ID.
-
- Thrown when fails to make API call
- World Link id to delete.
- ApiResponse of string
-
-
-
- Delete a World Link. Delete a single World Link stored in the world storage from its ID.
-
- Thrown when fails to make API call
- World Link id to delete.
- Cancellation Token to cancel request (optional)
- Task of string
-
-
-
- Delete a World Link. Delete a single World Link stored in the world storage from its ID.
-
- Thrown when fails to make API call
- World Link id to delete.
- Cancellation Token to cancel request (optional)
- Task of ApiResponse (string)
-
-
-
- Find a World Link by its UUID. Get a single World Link stored in the world storage from its ID.
-
- Thrown when fails to make API call
- UUID of the World Link to retrieve.
- WorldLink
-
-
-
- Find a World Link by its UUID. Get a single World Link stored in the world storage from its ID.
-
- Thrown when fails to make API call
- UUID of the World Link to retrieve.
- ApiResponse of WorldLink
-
-
-
- Find a World Link by its UUID. Get a single World Link stored in the world storage from its ID.
-
- Thrown when fails to make API call
- UUID of the World Link to retrieve.
- Cancellation Token to cancel request (optional)
- Task of WorldLink
-
-
-
- Find a World Link by its UUID. Get a single World Link stored in the world storage from its ID.
-
- Thrown when fails to make API call
- UUID of the World Link to retrieve.
- Cancellation Token to cancel request (optional)
- Task of ApiResponse (WorldLink)
-
-
-
- Return all World Links. Get all the World Links currently being stored in the world storage.
-
- Thrown when fails to make API call
- List<WorldLink>
-
-
-
- Return all World Links. Get all the World Links currently being stored in the world storage.
-
- Thrown when fails to make API call
- ApiResponse of List<WorldLink>
-
-
-
- Return all World Links. Get all the World Links currently being stored in the world storage.
-
- Thrown when fails to make API call
- Cancellation Token to cancel request (optional)
- Task of List<WorldLink>
-
-
-
- Return all World Links. Get all the World Links currently being stored in the world storage.
-
- Thrown when fails to make API call
- Cancellation Token to cancel request (optional)
- Task of ApiResponse (List<WorldLink>)
-
-
-
- Modify a World Link. Modify an existing World Link given a json object containing all the required informations. <br> **Please note that ID of the object is required in the JSON**
-
- Thrown when fails to make API call
- The World Link to be modified in the world storage.
- string
-
-
-
- Modify a World Link. Modify an existing World Link given a json object containing all the required informations. <br> **Please note that ID of the object is required in the JSON**
-
- Thrown when fails to make API call
- The World Link to be modified in the world storage.
- ApiResponse of string
-
-
-
- Modify a World Link. Modify an existing World Link given a json object containing all the required informations. <br> **Please note that ID of the object is required in the JSON**
-
- Thrown when fails to make API call
- The World Link to be modified in the world storage.
- Cancellation Token to cancel request (optional)
- Task of string
-
-
-
- Modify a World Link. Modify an existing World Link given a json object containing all the required informations. <br> **Please note that ID of the object is required in the JSON**
-
- Thrown when fails to make API call
- The World Link to be modified in the world storage.
- Cancellation Token to cancel request (optional)
- Task of ApiResponse (string)
-
-
-
- Gets or sets the configuration object
-
- An instance of the Configuration
-
-
-
- Provides a factory method hook for the creation of exceptions.
-
-
-
-
- API client is mainly responsible for making the HTTP call to the API backend.
-
-
-
-
- Initializes a new instance of the class
- with default configuration.
-
-
-
-
- Initializes a new instance of the class
- with default base path (http://localhost:8080).
-
- An instance of Configuration.
-
-
-
- Initializes a new instance of the class
- with default configuration.
-
- The base path.
-
-
-
- Gets or sets the default API client for making HTTP calls.
-
- The default API client.
-
-
-
- Makes the HTTP request (Sync).
-
- URL path.
- HTTP method.
- Query parameters.
- HTTP body (POST request).
- Header parameters.
- Form parameters.
- File parameters.
- Path parameters.
- Content Type of the request
- Object
-
-
-
- Makes the asynchronous HTTP request.
-
- URL path.
- HTTP method.
- Query parameters.
- HTTP body (POST request).
- Header parameters.
- Form parameters.
- File parameters.
- Path parameters.
- Content type.
- Cancellation Token.
- The Task instance.
-
-
-
- Escape string (url-encoded).
-
- String to be escaped.
- Escaped string.
-
-
-
- Create FileParameter based on Stream.
-
- Parameter name.
- Input stream.
- FileParameter.
-
-
-
- If parameter is DateTime, output in a formatted string (default ISO 8601), customizable with Configuration.DateTime.
- If parameter is a list, join the list with ",".
- Otherwise just return the string.
-
- The parameter (header, path, query, form).
- Formatted string.
-
-
-
- Deserialize the JSON string into a proper object.
-
- The HTTP response.
- Object type.
- Object representation of the JSON string.
-
-
-
- Serialize an input (model) into JSON string
-
- Object.
- JSON string.
-
-
-
- Check if the given MIME is a JSON MIME.
- JSON MIME examples:
- application/json
- application/json; charset=UTF8
- APPLICATION/JSON
- application/vnd.company+json
-
- MIME
- Returns True if MIME type is json.
-
-
-
- Select the Content-Type header's value from the given content-type array:
- if JSON type exists in the given array, use it;
- otherwise use the first one defined in 'consumes'
-
- The Content-Type array to select from.
- The Content-Type header to use.
-
-
-
- Select the Accept header's value from the given accepts array:
- if JSON exists in the given array, use it;
- otherwise use all of them (joining into a string)
-
- The accepts array to select from.
- The Accept header to use.
-
-
-
- Encode string in base64 format.
-
- String to be encoded.
- Encoded string.
-
-
-
- Dynamically cast the object into target type.
-
- Object to be casted
- Target type
- Casted object
-
-
-
- Convert stream to byte array
-
- Input stream to be converted
- Byte array
-
-
-
- URL encode a string
- Credit/Ref: https://github.com/restsharp/RestSharp/blob/master/RestSharp/Extensions/StringExtensions.cs#L50
-
- String to be URL encoded
- Byte array
-
-
-
- Sanitize filename by removing the path
-
- Filename
- Filename
-
-
-
- Convert params to key/value pairs.
- Use collectionFormat to properly format lists and collections.
-
- Collection format.
- Key name.
- Value object.
- A list of KeyValuePairs
-
-
-
- Check if generic object is a collection.
-
-
- True if object is a collection type
-
-
-
- Gets or sets an instance of the IReadableConfiguration.
-
- An instance of the IReadableConfiguration.
-
- helps us to avoid modifying possibly global
- configuration values from within a given client. It does not guarantee thread-safety
- of the instance in any way.
-
-
-
-
- Gets or sets the RestClient.
-
- An instance of the RestClient
-
-
-
- API Exception
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Initializes a new instance of the class.
-
- HTTP status code.
- Error message.
-
-
-
- Initializes a new instance of the class.
-
- HTTP status code.
- Error message.
- Error content.
-
-
-
- Gets or sets the error code (HTTP status code)
-
- The error code (HTTP status code).
-
-
-
- Gets or sets the error content (body json object)
-
- The error content (Http response body).
-
-
-
- API Response
-
-
-
-
- Initializes a new instance of the class.
-
- HTTP status code.
- HTTP headers.
- Data (parsed HTTP body)
-
-
-
- Gets or sets the status code (HTTP status code)
-
- The status code.
-
-
-
- Gets or sets the HTTP headers
-
- HTTP headers
-
-
-
- Gets or sets the data (parsed HTTP body)
-
- The data.
-
-
-
- Represents a set of configuration settings
-
-
-
-
- Represents a readable-only configuration contract.
-
-
-
-
- Gets the API key with prefix.
-
- API key identifier (authentication scheme).
- API key with prefix.
-
-
-
- Gets the access token.
-
- Access token.
-
-
-
- Gets the API key.
-
- API key.
-
-
-
- Gets the API key prefix.
-
- API key prefix.
-
-
-
- Gets the base path.
-
- Base path.
-
-
-
- Gets the date time format.
-
- Date time format.
-
-
-
- Gets the default header.
-
- Default header.
-
-
-
- Gets the temp folder path.
-
- Temp folder path.
-
-
-
- Gets the HTTP connection timeout (in milliseconds)
-
- HTTP connection timeout.
-
-
-
- Gets the user agent.
-
- User agent.
-
-
-
- Gets the username.
-
- Username.
-
-
-
- Gets the password.
-
- Password.
-
-
-
- Version of the package.
-
- Version of the package.
-
-
-
- Identifier for ISO 8601 DateTime Format
-
- See https://msdn.microsoft.com/en-us/library/az4se3k1(v=vs.110).aspx#Anchor_8 for more information.
-
-
-
- Default creation of exceptions for a given method name and response object
-
-
-
-
- Gets or sets the API key based on the authentication name.
-
- The API key.
-
-
-
- Gets or sets the prefix (e.g. Token) of the API key based on the authentication name.
-
- The prefix of the API key.
-
-
-
- Initializes a new instance of the class
-
-
-
-
- Initializes a new instance of the class
-
-
-
-
- Initializes a new instance of the class with different settings
-
- Api client
- Dictionary of default HTTP header
- Username
- Password
- accessToken
- Dictionary of API key
- Dictionary of API key prefix
- Temp folder path
- DateTime format string
- HTTP connection timeout (in milliseconds)
- HTTP user agent
-
-
-
- Initializes a new instance of the Configuration class.
-
- Api client.
-
-
-
- Gets the API key with prefix.
-
- API key identifier (authentication scheme).
- API key with prefix.
-
-
-
- Add default header.
-
- Header field name.
- Header field value.
-
-
-
-
- Creates a new based on this instance.
-
-
-
-
-
- Returns a string with essential information for debugging.
-
-
-
-
- Add Api Key Header.
-
- Api Key name.
- Api Key value.
-
-
-
-
- Sets the API key prefix.
-
- Api Key name.
- Api Key value.
-
-
-
- Gets or sets the default Configuration.
-
- Configuration.
-
-
-
- Gets an instance of an ApiClient for this configuration
-
-
-
-
- Gets or sets the base path for API access.
-
-
-
-
- Gets or sets the default header.
-
-
-
-
- Gets or sets the HTTP timeout (milliseconds) of ApiClient. Default to 100000 milliseconds.
-
-
-
-
- Gets or sets the HTTP user agent.
-
- Http user agent.
-
-
-
- Gets or sets the username (HTTP basic authentication).
-
- The username.
-
-
-
- Gets or sets the password (HTTP basic authentication).
-
- The password.
-
-
-
- Gets or sets the access token for OAuth2 authentication.
-
- The access token.
-
-
-
- Gets or sets the temporary folder path to store the files downloaded from the server.
-
- Folder path.
-
-
-
- Gets or sets the date time format used when serializing in the ApiClient
- By default, it's set to ISO 8601 - "o", for others see:
- https://msdn.microsoft.com/en-us/library/az4se3k1(v=vs.110).aspx
- and https://msdn.microsoft.com/en-us/library/8kb3ddd4(v=vs.110).aspx
- No validation is done to ensure that the string you're providing is valid
-
- The DateTimeFormat string
-
-
-
- Gets or sets the prefix (e.g. Token) of the API key based on the authentication name.
-
- The prefix of the API key.
-
-
-
- Gets or sets the API key based on the authentication name.
-
- The API key.
-
-
-
- A delegate to ExceptionFactory method
-
- Method name
- Response
- Exceptions
-
-
-
- provides a compile-time extension point for globally configuring
- API Clients.
-
-
- A customized implementation via partial class may reside in another file and may
- be excluded from automatic generation via a .openapi-generator-ignore file.
-
-
-
-
- Formatter for 'date' openapi formats ss defined by full-date - RFC3339
- see https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.0.md#data-types
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- AttachedObjects
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Initializes a new instance of the class.
-
- A Universally Unique IDentifier identifying the link. (required).
- A Universally Unique IDentifier identifying a world anchor or trackable. (required).
- A Universally Unique IDentifier identifying a world anchor or trackable. (required).
- typeFrom (required).
- typeTo (required).
-
-
-
- Returns the string presentation of the object
-
- String presentation of the object
-
-
-
- Returns the JSON string presentation of the object
-
- JSON string presentation of the object
-
-
-
- Returns true if objects are equal
-
- Object to be compared
- Boolean
-
-
-
- Returns true if AttachedObjects instances are equal
-
- Instance of AttachedObjects to be compared
- Boolean
-
-
-
- Gets the hash code
-
- Hash code
-
-
-
- To validate all properties of the instance
-
- Validation context
- Validation Result
-
-
-
- Gets or Sets TypeFrom
-
-
-
-
- Gets or Sets TypeTo
-
-
-
-
- A Universally Unique IDentifier identifying the link.
-
- A Universally Unique IDentifier identifying the link.
-
-
-
- A Universally Unique IDentifier identifying a world anchor or trackable.
-
- A Universally Unique IDentifier identifying a world anchor or trackable.
-
-
-
- A Universally Unique IDentifier identifying a world anchor or trackable.
-
- A Universally Unique IDentifier identifying a world anchor or trackable.
-
-
-
- An object holding the info of a Trackable`'`s encoding informations `:` the data format and the version.
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Initializes a new instance of the class.
-
- Identifier of the target framework. (required).
- The version of the format (required).
-
-
-
- Returns the string presentation of the object
-
- String presentation of the object
-
-
-
- Returns the JSON string presentation of the object
-
- JSON string presentation of the object
-
-
-
- Returns true if objects are equal
-
- Object to be compared
- Boolean
-
-
-
- Returns true if EncodingInformationStructure instances are equal
-
- Instance of EncodingInformationStructure to be compared
- Boolean
-
-
-
- Gets the hash code
-
- Hash code
-
-
-
- To validate all properties of the instance
-
- Validation context
- Validation Result
-
-
-
- Identifier of the target framework.
-
- Identifier of the target framework.
-
-
-
- The version of the format
-
- The version of the format
-
-
-
- Identifier of the target framework.
-
- Identifier of the target framework.
-
-
-
- Enum HOLOLENS for value: HOLOLENS
-
-
-
-
- Enum ARKIT for value: ARKIT
-
-
-
-
- Enum ARCORE for value: ARCORE
-
-
-
-
- Enum VUFORIA for value: VUFORIA
-
-
-
-
- Enum ARUCO for value: ARUCO
-
-
-
-
- Enum OTHER for value: OTHER
-
-
-
-
- Error
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Initializes a new instance of the class.
-
- code (required).
- message (required).
-
-
-
- Returns the string presentation of the object
-
- String presentation of the object
-
-
-
- Returns the JSON string presentation of the object
-
- JSON string presentation of the object
-
-
-
- Returns true if objects are equal
-
- Object to be compared
- Boolean
-
-
-
- Returns true if Error instances are equal
-
- Instance of Error to be compared
- Boolean
-
-
-
- Gets the hash code
-
- Hash code
-
-
-
- To validate all properties of the instance
-
- Validation context
- Validation Result
-
-
-
- Gets or Sets Code
-
-
-
-
- Gets or Sets Message
-
-
-
-
- Type of a world representaion object.
-
- Type of a world representaion object.
-
-
-
- Enum Trackable for value: Trackable
-
-
-
-
- Enum WorldAnchor for value: WorldAnchor
-
-
-
-
- Enum NotIdentified for value: NotIdentified
-
-
-
-
- An element representing a Trackable object in the real world.
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Initializes a new instance of the class.
-
- An Universally Unique IDentifier identifying the Trackable (RFC 4122)..
- A human readable name for the Trackable. (required).
- An Universally Unique IDentifier identifying the creator of the Trackable (a person, a team or a company). (required).
- Extensible list of Trackable types, possibly handled by complient world storage implementation. (required).
- trackableEncodingInformation (required).
- The data provided to create the Trackable in a specific format handled by the world storage service. (required).
- Coordinate reference system of the world anchor, a 4*4 matrix (rowmajor) represented by a float vector. (required).
- unit (required).
- Size object in format {width, length, depth}. (required).
- List of additional parameters to be stored with the object. (required).
-
-
-
- Returns the string presentation of the object
-
- String presentation of the object
-
-
-
- Returns the JSON string presentation of the object
-
- JSON string presentation of the object
-
-
-
- Returns true if objects are equal
-
- Object to be compared
- Boolean
-
-
-
- Returns true if Trackable instances are equal
-
- Instance of Trackable to be compared
- Boolean
-
-
-
- Gets the hash code
-
- Hash code
-
-
-
- To validate all properties of the instance
-
- Validation context
- Validation Result
-
-
-
- Extensible list of Trackable types, possibly handled by complient world storage implementation.
-
- Extensible list of Trackable types, possibly handled by complient world storage implementation.
-
-
-
- Gets or Sets Unit
-
-
-
-
- An Universally Unique IDentifier identifying the Trackable (RFC 4122).
-
- An Universally Unique IDentifier identifying the Trackable (RFC 4122).
-
-
-
- A human readable name for the Trackable.
-
- A human readable name for the Trackable.
-
-
-
- An Universally Unique IDentifier identifying the creator of the Trackable (a person, a team or a company).
-
- An Universally Unique IDentifier identifying the creator of the Trackable (a person, a team or a company).
-
-
-
- Gets or Sets TrackableEncodingInformation
-
-
-
-
- The data provided to create the Trackable in a specific format handled by the world storage service.
-
- The data provided to create the Trackable in a specific format handled by the world storage service.
-
-
-
- Coordinate reference system of the world anchor, a 4*4 matrix (rowmajor) represented by a float vector.
-
- Coordinate reference system of the world anchor, a 4*4 matrix (rowmajor) represented by a float vector.
-
-
-
- Size object in format {width, length, depth}.
-
- Size object in format {width, length, depth}.
-
-
-
- List of additional parameters to be stored with the object.
-
- List of additional parameters to be stored with the object.
-
-
-
- Extensible list of Trackable types, possibly handled by complient world storage implementation.
-
- Extensible list of Trackable types, possibly handled by complient world storage implementation.
-
-
-
- Enum FIDUCIALMARKER for value: FIDUCIAL_MARKER
-
-
-
-
- Enum IMAGEMARKER for value: IMAGE_MARKER
-
-
-
-
- Enum MAP for value: MAP
-
-
-
-
- Enum GEOPOSE for value: GEOPOSE
-
-
-
-
- Enum OTHER for value: OTHER
-
-
-
-
- Unit of length.
-
- Unit of length.
-
-
-
- Enum MM for value: MM
-
-
-
-
- Enum CM for value: CM
-
-
-
-
- Enum DM for value: DM
-
-
-
-
- Enum M for value: M
-
-
-
-
- Enum DAM for value: DAM
-
-
-
-
- Enum HM for value: HM
-
-
-
-
- Enum KM for value: KM
-
-
-
-
- Enum INCH for value: INCH
-
-
-
-
- Enum FOOT for value: FOOT
-
-
-
-
- Enum YARD for value: YARD
-
-
-
-
- Enum MILE for value: MILE
-
-
-
-
- An element describing a pose in the world graph.
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Initializes a new instance of the class.
-
- An Universally Unique IDentifier identifying the World Anchor (RFC 4122)..
- A human readable name for the World Anchor. (required).
- An Universally Unique IDentifier identifying the creator of the World Anchor. (required).
- Coordinate reference system of the world anchor, a 4*4 matrix (rowmajor) represented by a float vector. (required).
- unit (required).
- Size object in format {width, length, depth}. (required).
- List of additional parameters to be stored with the object. (required).
-
-
-
- Returns the string presentation of the object
-
- String presentation of the object
-
-
-
- Returns the JSON string presentation of the object
-
- JSON string presentation of the object
-
-
-
- Returns true if objects are equal
-
- Object to be compared
- Boolean
-
-
-
- Returns true if WorldAnchor instances are equal
-
- Instance of WorldAnchor to be compared
- Boolean
-
-
-
- Gets the hash code
-
- Hash code
-
-
-
- To validate all properties of the instance
-
- Validation context
- Validation Result
-
-
-
- Gets or Sets Unit
-
-
-
-
- An Universally Unique IDentifier identifying the World Anchor (RFC 4122).
-
- An Universally Unique IDentifier identifying the World Anchor (RFC 4122).
-
-
-
- A human readable name for the World Anchor.
-
- A human readable name for the World Anchor.
-
-
-
- An Universally Unique IDentifier identifying the creator of the World Anchor.
-
- An Universally Unique IDentifier identifying the creator of the World Anchor.
-
-
-
- Coordinate reference system of the world anchor, a 4*4 matrix (rowmajor) represented by a float vector.
-
- Coordinate reference system of the world anchor, a 4*4 matrix (rowmajor) represented by a float vector.
-
-
-
- Size object in format {width, length, depth}.
-
- Size object in format {width, length, depth}.
-
-
-
- List of additional parameters to be stored with the object.
-
- List of additional parameters to be stored with the object.
-
-
-
- An object holding the info of a transform between two elements.
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Initializes a new instance of the class.
-
- An Universally Unique IDentifier identifying the World Link (RFC 4122)..
- An Universally Unique IDentifier identifying the creator of the World Link. (required).
- An Universally Unique IDentifier identifying a World Anchor or Trackable. (required).
- An Universally Unique IDentifier identifying a World Anchor or Trackable. (required).
- typeFrom (required).
- typeTo (required).
- Coordinate reference system of the world anchor, a 4*4 matrix (rowmajor) represented by a float vector. (required).
- unit (required).
- List of additional parameters to be stored with the object. (required).
-
-
-
- Returns the string presentation of the object
-
- String presentation of the object
-
-
-
- Returns the JSON string presentation of the object
-
- JSON string presentation of the object
-
-
-
- Returns true if objects are equal
-
- Object to be compared
- Boolean
-
-
-
- Returns true if WorldLink instances are equal
-
- Instance of WorldLink to be compared
- Boolean
-
-
-
- Gets the hash code
-
- Hash code
-
-
-
- To validate all properties of the instance
-
- Validation context
- Validation Result
-
-
-
- Gets or Sets TypeFrom
-
-
-
-
- Gets or Sets TypeTo
-
-
-
-
- Gets or Sets Unit
-
-
-
-
- An Universally Unique IDentifier identifying the World Link (RFC 4122).
-
- An Universally Unique IDentifier identifying the World Link (RFC 4122).
-
-
-
- An Universally Unique IDentifier identifying the creator of the World Link.
-
- An Universally Unique IDentifier identifying the creator of the World Link.
-
-
-
- An Universally Unique IDentifier identifying a World Anchor or Trackable.
-
- An Universally Unique IDentifier identifying a World Anchor or Trackable.
-
-
-
- An Universally Unique IDentifier identifying a World Anchor or Trackable.
-
- An Universally Unique IDentifier identifying a World Anchor or Trackable.
-
-
-
- Coordinate reference system of the world anchor, a 4*4 matrix (rowmajor) represented by a float vector.
-
- Coordinate reference system of the world anchor, a 4*4 matrix (rowmajor) represented by a float vector.
-
-
-
- List of additional parameters to be stored with the object.
-
- List of additional parameters to be stored with the object.
-
-
-
diff --git a/Assets/Plugins/RestSharp.dll b/Assets/Plugins/RestSharp.dll
deleted file mode 100644
index 59d82f94198e053a62d648c27671eaf45fff0dad..0000000000000000000000000000000000000000
Binary files a/Assets/Plugins/RestSharp.dll and /dev/null differ
diff --git a/Assets/Plugins/RestSharp.dll.meta b/Assets/Plugins/RestSharp.dll.meta
deleted file mode 100644
index ad5dfc89734ed152983843bbf0c302b96b3a9f5d..0000000000000000000000000000000000000000
--- a/Assets/Plugins/RestSharp.dll.meta
+++ /dev/null
@@ -1,33 +0,0 @@
-fileFormatVersion: 2
-guid: 434491b56b23fa2449fb310cafa1ddef
-PluginImporter:
- externalObjects: {}
- serializedVersion: 2
- iconMap: {}
- executionOrder: {}
- defineConstraints: []
- isPreloaded: 0
- isOverridable: 0
- isExplicitlyReferenced: 0
- validateReferences: 1
- platformData:
- - first:
- Any:
- second:
- enabled: 1
- settings: {}
- - first:
- Editor: Editor
- second:
- enabled: 0
- settings:
- DefaultValueInitialized: true
- - first:
- Windows Store Apps: WindowsStoreApps
- second:
- enabled: 0
- settings:
- CPU: AnyCPU
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Runtime/REST/AdminRequest.cs b/Assets/Runtime/REST/AdminRequest.cs
deleted file mode 100644
index 9cfdb2d369d661b8bb331afa73e49f8bf6fdb3b7..0000000000000000000000000000000000000000
--- a/Assets/Runtime/REST/AdminRequest.cs
+++ /dev/null
@@ -1,61 +0,0 @@
-//
-// ARF - Augmented Reality Framework (ETSI ISG ARF)
-//
-// Copyright 2022 ETSI
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// 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.
-//
-// Last change: June 2022
-//
-
-#define USING_OPENAPI_GENERATOR // alt. is Swagger
-
-using UnityEngine;
-
-#if USING_OPENAPI_GENERATOR
-using Org.OpenAPITools.Api;
-#else
-using IO.Swagger.Api;
-using IO.Swagger.Model;
-#endif
-
-//#if UNITY_EDITOR
-namespace ETSI.ARF.WorldStorage.REST
-{
- public class AdminRequest
- {
- static public string GetAdminInfo(WorldStorageServer ws)
- {
- DefaultApi api = new DefaultApi(ws.URI);
- string state = api.GetAdmin();
- Debug.Log("Server State: " + state);
- return state;
- }
-
- static public string GetVersion(WorldStorageServer ws)
- {
- DefaultApi api = new DefaultApi(ws.URI);
- string vers = api.GetVersion();
- Debug.Log("Using API Version: " + vers);
- return vers;
- }
-
- static public string Ping(WorldStorageServer ws)
- {
- DefaultApi api = new DefaultApi(ws.URI);
- api.GetPing();
- return "IsAlive";
- }
- }
-}
-//#endif
\ No newline at end of file
diff --git a/Assets/Runtime/REST/TrackableRequest.cs b/Assets/Runtime/REST/TrackableRequest.cs
deleted file mode 100644
index f55b4b1f956e4802b619d9b80e6770b2d33c1e0c..0000000000000000000000000000000000000000
--- a/Assets/Runtime/REST/TrackableRequest.cs
+++ /dev/null
@@ -1,80 +0,0 @@
-//
-// ARF - Augmented Reality Framework (ETSI ISG ARF)
-//
-// Copyright 2022 ETSI
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// 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.
-//
-// Last change: June 2022
-//
-
-#define USING_OPENAPI_GENERATOR // alt. is Swagger
-
-using System.Collections.Generic;
-using UnityEngine;
-
-#if USING_OPENAPI_GENERATOR
-using Org.OpenAPITools.Api;
-using Org.OpenAPITools.Model;
-#else
-using IO.Swagger.Api;
-using IO.Swagger.Model;
-#endif
-
-//#if UNITY_EDITOR
-namespace ETSI.ARF.WorldStorage.REST
-{
- public class TrackableRequest
- {
- static public string AddTrackable(WorldStorageServer ws, Trackable trackable)
- {
- Debug.Log("Posting Add Trackable to Server");
- TrackablesApi api = new TrackablesApi(ws.URI);
- string result = api.AddTrackable(trackable);
- Debug.Log(result);
- return result;
- }
-
- static public string UpdateTrackable(WorldStorageServer ws, Trackable trackable)
- {
- Debug.Log("Posting Add Trackable to Server");
- TrackablesApi api = new TrackablesApi(ws.URI);
- string result = api.ModifyTrackable(trackable);
- Debug.Log(result);
- return result;
- }
-
- static public List GetAllTrackables(WorldStorageServer ws)
- {
- TrackablesApi api = new TrackablesApi(ws.URI);
- List result = api.GetTrackables();
- return result;
- }
-
- static public Trackable GetTrackable(WorldStorageServer ws, string uuid)
- {
- System.Guid _uuid = System.Guid.Parse(uuid);
- TrackablesApi api = new TrackablesApi(ws.URI);
- Trackable result = api.GetTrackableById(_uuid);
- return result;
- }
-
- static public void DeleteTrackable(WorldStorageServer ws, string uuid)
- {
- System.Guid _uuid = System.Guid.Parse(uuid);
- TrackablesApi api = new TrackablesApi(ws.URI);
- api.DeleteTrackable(_uuid);
- }
- }
-}
-//#endif
\ No newline at end of file
diff --git a/Assets/Runtime/REST/WorldAnchorRequest.cs b/Assets/Runtime/REST/WorldAnchorRequest.cs
deleted file mode 100644
index 82faff86c4050acc9d47db461054f18c0c59c940..0000000000000000000000000000000000000000
--- a/Assets/Runtime/REST/WorldAnchorRequest.cs
+++ /dev/null
@@ -1,80 +0,0 @@
-//
-// ARF - Augmented Reality Framework (ETSI ISG ARF)
-//
-// Copyright 2022 ETSI
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// 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.
-//
-// Last change: June 2022
-//
-
-#define USING_OPENAPI_GENERATOR // alt. is Swagger
-
-using System.Collections.Generic;
-using UnityEngine;
-
-#if USING_OPENAPI_GENERATOR
-using Org.OpenAPITools.Api;
-using Org.OpenAPITools.Model;
-#else
-using IO.Swagger.Api;
-using IO.Swagger.Model;
-#endif
-
-//#if UNITY_EDITOR
-namespace ETSI.ARF.WorldStorage.REST
-{
- public class WorldAnchorRequest
- {
- static public string AddWorldAnchor(WorldStorageServer ws, WorldAnchor anchor)
- {
- Debug.Log("Posting Add World Anchor to Server");
- WorldAnchorsApi api = new WorldAnchorsApi(ws.URI);
- string result = api.AddWorldAnchor(anchor);
- Debug.Log(result);
- return result;
- }
-
- static public string UpdateWorldAnchor(WorldStorageServer ws, WorldAnchor anchor)
- {
- Debug.Log("Posting Add World Anchor to Server");
- WorldAnchorsApi api = new WorldAnchorsApi(ws.URI);
- string result = api.ModifyWorldAnchor(anchor);
- Debug.Log(result);
- return result;
- }
-
- static public List GetAllWorldAnchors(WorldStorageServer ws)
- {
- WorldAnchorsApi api = new WorldAnchorsApi(ws.URI);
- List result = api.GetWorldAnchors();
- return result;
- }
-
- static public WorldAnchor GetWorldAnchor(WorldStorageServer ws, string uuid)
- {
- System.Guid _uuid = System.Guid.Parse(uuid);
- WorldAnchorsApi api = new WorldAnchorsApi(ws.URI);
- WorldAnchor result = api.GetWorldAnchorById(_uuid);
- return result;
- }
-
- static public void DeleteWorldAnchor(WorldStorageServer ws, string uuid)
- {
- System.Guid _uuid = System.Guid.Parse(uuid);
- WorldAnchorsApi api = new WorldAnchorsApi(ws.URI);
- api.DeleteWorldAnchor(_uuid);
- }
- }
-}
-//#endif
\ No newline at end of file
diff --git a/Assets/Runtime/REST/WorldLinkRequest.cs b/Assets/Runtime/REST/WorldLinkRequest.cs
deleted file mode 100644
index bb2790773bef68f9c1f5079acc3c710098acacf6..0000000000000000000000000000000000000000
--- a/Assets/Runtime/REST/WorldLinkRequest.cs
+++ /dev/null
@@ -1,80 +0,0 @@
-//
-// ARF - Augmented Reality Framework (ETSI ISG ARF)
-//
-// Copyright 2022 ETSI
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// 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.
-//
-// Last change: June 2022
-//
-
-#define USING_OPENAPI_GENERATOR // alt. is Swagger
-
-using System.Collections.Generic;
-using UnityEngine;
-
-#if USING_OPENAPI_GENERATOR
-using Org.OpenAPITools.Api;
-using Org.OpenAPITools.Model;
-#else
-using IO.Swagger.Api;
-using IO.Swagger.Model;
-#endif
-
-//#if UNITY_EDITOR
-namespace ETSI.ARF.WorldStorage.REST
-{
- public class WorldLinkRequest
- {
- static public string AddWorldLink(WorldStorageServer ws, WorldLink link)
- {
- Debug.Log("Posting Add Trackable to Server");
- WorldLinksApi api = new WorldLinksApi(ws.URI);
- string result = api.AddWorldLink(link);
- Debug.Log(result);
- return result;
- }
-
- static public string UpdateWorldLink(WorldStorageServer ws, WorldLink link)
- {
- Debug.Log("Posting Add Trackable to Server");
- WorldLinksApi api = new WorldLinksApi(ws.URI);
- string result = api.ModifyWorldLink(link);
- Debug.Log(result);
- return result;
- }
-
- static public List GetAllWorldLinks(WorldStorageServer ws)
- {
- WorldLinksApi api = new WorldLinksApi(ws.URI);
- List result = api.GetWorldLinks();
- return result;
- }
-
- static public WorldLink GetWorldLink(WorldStorageServer ws, string uuid)
- {
- System.Guid _uuid = System.Guid.Parse(uuid);
- WorldLinksApi api = new WorldLinksApi(ws.URI);
- WorldLink result = api.GetWorldLinkById(_uuid);
- return result;
- }
-
- static public void DeleteWorldLink(WorldStorageServer ws, string uuid)
- {
- System.Guid _uuid = System.Guid.Parse(uuid);
- WorldLinksApi api = new WorldLinksApi(ws.URI);
- api.DeleteWorldLink(_uuid);
- }
- }
-}
-//#endif
\ No newline at end of file
diff --git a/Assets/Scenes/test.unity b/Assets/Scenes/test.unity
deleted file mode 100644
index 0515cd0a4c409c2173781a9f7f50ebb86b14cfae..0000000000000000000000000000000000000000
--- a/Assets/Scenes/test.unity
+++ /dev/null
@@ -1,303 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!29 &1
-OcclusionCullingSettings:
- m_ObjectHideFlags: 0
- serializedVersion: 2
- m_OcclusionBakeSettings:
- smallestOccluder: 5
- smallestHole: 0.25
- backfaceThreshold: 100
- m_SceneGUID: 00000000000000000000000000000000
- m_OcclusionCullingData: {fileID: 0}
---- !u!104 &2
-RenderSettings:
- m_ObjectHideFlags: 0
- serializedVersion: 9
- m_Fog: 0
- m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
- m_FogMode: 3
- m_FogDensity: 0.01
- m_LinearFogStart: 0
- m_LinearFogEnd: 300
- m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
- m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
- m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
- m_AmbientIntensity: 1
- m_AmbientMode: 0
- m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
- m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
- m_HaloStrength: 0.5
- m_FlareStrength: 1
- m_FlareFadeSpeed: 3
- m_HaloTexture: {fileID: 0}
- m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
- m_DefaultReflectionMode: 0
- m_DefaultReflectionResolution: 128
- m_ReflectionBounces: 1
- m_ReflectionIntensity: 1
- m_CustomReflection: {fileID: 0}
- m_Sun: {fileID: 0}
- m_IndirectSpecularColor: {r: 0.44657844, g: 0.49641222, b: 0.57481694, a: 1}
- m_UseRadianceAmbientProbe: 0
---- !u!157 &3
-LightmapSettings:
- m_ObjectHideFlags: 0
- serializedVersion: 12
- m_GIWorkflowMode: 1
- m_GISettings:
- serializedVersion: 2
- m_BounceScale: 1
- m_IndirectOutputScale: 1
- m_AlbedoBoost: 1
- m_EnvironmentLightingMode: 0
- m_EnableBakedLightmaps: 1
- m_EnableRealtimeLightmaps: 0
- m_LightmapEditorSettings:
- serializedVersion: 12
- m_Resolution: 2
- m_BakeResolution: 40
- m_AtlasSize: 1024
- m_AO: 0
- m_AOMaxDistance: 1
- m_CompAOExponent: 1
- m_CompAOExponentDirect: 0
- m_ExtractAmbientOcclusion: 0
- m_Padding: 2
- m_LightmapParameters: {fileID: 0}
- m_LightmapsBakeMode: 1
- m_TextureCompression: 1
- m_FinalGather: 0
- m_FinalGatherFiltering: 1
- m_FinalGatherRayCount: 256
- m_ReflectionCompression: 2
- m_MixedBakeMode: 2
- m_BakeBackend: 1
- m_PVRSampling: 1
- m_PVRDirectSampleCount: 32
- m_PVRSampleCount: 512
- m_PVRBounces: 2
- m_PVREnvironmentSampleCount: 256
- m_PVREnvironmentReferencePointCount: 2048
- m_PVRFilteringMode: 1
- m_PVRDenoiserTypeDirect: 1
- m_PVRDenoiserTypeIndirect: 1
- m_PVRDenoiserTypeAO: 1
- m_PVRFilterTypeDirect: 0
- m_PVRFilterTypeIndirect: 0
- m_PVRFilterTypeAO: 0
- m_PVREnvironmentMIS: 1
- m_PVRCulling: 1
- m_PVRFilteringGaussRadiusDirect: 1
- m_PVRFilteringGaussRadiusIndirect: 5
- m_PVRFilteringGaussRadiusAO: 2
- m_PVRFilteringAtrousPositionSigmaDirect: 0.5
- m_PVRFilteringAtrousPositionSigmaIndirect: 2
- m_PVRFilteringAtrousPositionSigmaAO: 1
- m_ExportTrainingData: 0
- m_TrainingDataDestination: TrainingData
- m_LightProbeSampleCountMultiplier: 4
- m_LightingDataAsset: {fileID: 0}
- m_LightingSettings: {fileID: 0}
---- !u!196 &4
-NavMeshSettings:
- serializedVersion: 2
- m_ObjectHideFlags: 0
- m_BuildSettings:
- serializedVersion: 2
- agentTypeID: 0
- agentRadius: 0.5
- agentHeight: 2
- agentSlope: 45
- agentClimb: 0.4
- ledgeDropHeight: 0
- maxJumpAcrossDistance: 0
- minRegionArea: 2
- manualCellSize: 0
- cellSize: 0.16666667
- manualTileSize: 0
- tileSize: 256
- accuratePlacement: 0
- maxJobWorkers: 0
- preserveTilesOutsideBounds: 0
- debug:
- m_Flags: 0
- m_NavMeshData: {fileID: 0}
---- !u!1 &1900725046
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 1900725049}
- - component: {fileID: 1900725048}
- - component: {fileID: 1900725047}
- m_Layer: 0
- m_Name: Main Camera
- m_TagString: MainCamera
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!81 &1900725047
-AudioListener:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1900725046}
- m_Enabled: 1
---- !u!20 &1900725048
-Camera:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1900725046}
- m_Enabled: 1
- serializedVersion: 2
- m_ClearFlags: 1
- m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
- m_projectionMatrixMode: 1
- m_GateFitMode: 2
- m_FOVAxisMode: 0
- m_SensorSize: {x: 36, y: 24}
- m_LensShift: {x: 0, y: 0}
- m_FocalLength: 50
- m_NormalizedViewPortRect:
- serializedVersion: 2
- x: 0
- y: 0
- width: 1
- height: 1
- near clip plane: 0.3
- far clip plane: 1000
- field of view: 60
- orthographic: 0
- orthographic size: 5
- m_Depth: -1
- m_CullingMask:
- serializedVersion: 2
- m_Bits: 4294967295
- m_RenderingPath: -1
- m_TargetTexture: {fileID: 0}
- m_TargetDisplay: 0
- m_TargetEye: 3
- m_HDR: 1
- m_AllowMSAA: 1
- m_AllowDynamicResolution: 0
- m_ForceIntoRT: 0
- m_OcclusionCulling: 1
- m_StereoConvergence: 10
- m_StereoSeparation: 0.022
---- !u!4 &1900725049
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1900725046}
- m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
- m_LocalPosition: {x: 0, y: 1, z: -10}
- m_LocalScale: {x: 1, y: 1, z: 1}
- m_ConstrainProportionsScale: 0
- m_Children: []
- m_Father: {fileID: 0}
- m_RootOrder: 0
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!1 &1900725526
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 1900725528}
- - component: {fileID: 1900725527}
- m_Layer: 0
- m_Name: Directional Light
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!108 &1900725527
-Light:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1900725526}
- m_Enabled: 1
- serializedVersion: 10
- m_Type: 1
- m_Shape: 0
- m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
- m_Intensity: 1
- m_Range: 10
- m_SpotAngle: 30
- m_InnerSpotAngle: 21.80208
- m_CookieSize: 10
- m_Shadows:
- m_Type: 2
- m_Resolution: -1
- m_CustomResolution: -1
- m_Strength: 1
- m_Bias: 0.05
- m_NormalBias: 0.4
- m_NearPlane: 0.2
- m_CullingMatrixOverride:
- e00: 1
- e01: 0
- e02: 0
- e03: 0
- e10: 0
- e11: 1
- e12: 0
- e13: 0
- e20: 0
- e21: 0
- e22: 1
- e23: 0
- e30: 0
- e31: 0
- e32: 0
- e33: 1
- m_UseCullingMatrixOverride: 0
- m_Cookie: {fileID: 0}
- m_DrawHalo: 0
- m_Flare: {fileID: 0}
- m_RenderMode: 0
- m_CullingMask:
- serializedVersion: 2
- m_Bits: 4294967295
- m_RenderingLayerMask: 1
- m_Lightmapping: 4
- m_LightShadowCasterMode: 0
- m_AreaSize: {x: 1, y: 1}
- m_BounceIntensity: 1
- m_ColorTemperature: 6570
- m_UseColorTemperature: 0
- m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
- m_UseBoundingSphereOverride: 0
- m_UseViewFrustumForShadowCasterCull: 1
- m_ShadowRadius: 0
- m_ShadowAngle: 0
---- !u!4 &1900725528
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1900725526}
- m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
- m_LocalPosition: {x: 0, y: 3, z: 0}
- m_LocalScale: {x: 1, y: 1, z: 1}
- m_ConstrainProportionsScale: 0
- m_Children: []
- m_Father: {fileID: 0}
- m_RootOrder: 1
- m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
diff --git a/Assets/Editor.meta b/Editor.meta
similarity index 77%
rename from Assets/Editor.meta
rename to Editor.meta
index d7d338a23de205579ff8b149d4bcbb548a421d37..938ce2d5f5b483cef1128dace5e6347fef6258b9 100644
--- a/Assets/Editor.meta
+++ b/Editor.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 653e904517771514ab9628529a0317d7
+guid: 4bdff1d20d233e446bb0bd64c0632b84
folderAsset: yes
DefaultImporter:
externalObjects: {}
diff --git a/Assets.meta b/Editor/Scripts.meta
similarity index 77%
rename from Assets.meta
rename to Editor/Scripts.meta
index 6b2059d31d22293bff595998c1fb20d9e080f0ea..89470afa5dec937f604b767e2cf91962a301c347 100644
--- a/Assets.meta
+++ b/Editor/Scripts.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 78306bf200d797d43b085b7da02b346e
+guid: 09b162b93ead16e4fbbd063462ebc568
folderAsset: yes
DefaultImporter:
externalObjects: {}
diff --git a/Assets/Editor/WorldStorageInfoEditor.cs b/Editor/Scripts/WorldStorageInfoEditor.cs
similarity index 91%
rename from Assets/Editor/WorldStorageInfoEditor.cs
rename to Editor/Scripts/WorldStorageInfoEditor.cs
index 6ac82e6d08546aec8bf9271ff4b89c70fdc08420..7d7e422b0becfcdf4863964beb1167be692de1a3 100644
--- a/Assets/Editor/WorldStorageInfoEditor.cs
+++ b/Editor/Scripts/WorldStorageInfoEditor.cs
@@ -30,10 +30,10 @@ public class WorldStorageInfoEditor : Editor
EditorGUILayout.Space();
WorldStorageInfo srv = (WorldStorageInfo)target;
- string state = srv.GetServerState();
+ string state = "";// srv.GetServerState();
EditorGUILayout.LabelField("Server State", state);
- string api = srv.GetAPIVersion();
+ string api = "";// srv.GetAPIVersion();
EditorGUILayout.LabelField("OpenAPI Version", api);
}
}
diff --git a/Assets/Editor/WorldStorageInfoEditor.cs.meta b/Editor/Scripts/WorldStorageInfoEditor.cs.meta
similarity index 100%
rename from Assets/Editor/WorldStorageInfoEditor.cs.meta
rename to Editor/Scripts/WorldStorageInfoEditor.cs.meta
diff --git a/Editor/etsi.isg.arf.worldstorage.Editor.asmdef b/Editor/etsi.isg.arf.worldstorage.Editor.asmdef
new file mode 100644
index 0000000000000000000000000000000000000000..ab260154237e432fadf27bda76e5036f4045ed51
--- /dev/null
+++ b/Editor/etsi.isg.arf.worldstorage.Editor.asmdef
@@ -0,0 +1,18 @@
+{
+ "name": "etsi.isg.arf.worldstorage.editor",
+ "rootNamespace": "",
+ "references": [
+ "GUID:99fdaa6f193b69346bfc8863615f98f0"
+ ],
+ "includePlatforms": [
+ "Editor"
+ ],
+ "excludePlatforms": [],
+ "allowUnsafeCode": false,
+ "overrideReferences": false,
+ "precompiledReferences": [],
+ "autoReferenced": true,
+ "defineConstraints": [],
+ "versionDefines": [],
+ "noEngineReferences": false
+}
\ No newline at end of file
diff --git a/Packages/manifest.json.meta b/Editor/etsi.isg.arf.worldstorage.Editor.asmdef.meta
similarity index 59%
rename from Packages/manifest.json.meta
rename to Editor/etsi.isg.arf.worldstorage.Editor.asmdef.meta
index a1235ecf399c90c592924d791429780515a4300c..e11d626b229ee13bdeb0c9c3e1b369c5432aeab1 100644
--- a/Packages/manifest.json.meta
+++ b/Editor/etsi.isg.arf.worldstorage.Editor.asmdef.meta
@@ -1,6 +1,6 @@
fileFormatVersion: 2
-guid: 20c1432c68590134dbecd0038949274d
-TextScriptImporter:
+guid: 214b25ab5db7b194eb73c17450187c03
+AssemblyDefinitionImporter:
externalObjects: {}
userData:
assetBundleName:
diff --git a/Packages/manifest.json b/Packages/manifest.json
deleted file mode 100644
index 81e0da05e064e368c2b2bfa65a754a8f05850602..0000000000000000000000000000000000000000
--- a/Packages/manifest.json
+++ /dev/null
@@ -1,43 +0,0 @@
-{
- "dependencies": {
- "com.unity.ide.rider": "3.0.13",
- "com.unity.ide.visualstudio": "2.0.14",
- "com.unity.ide.vscode": "1.2.5",
- "com.unity.test-framework": "1.1.31",
- "com.unity.textmeshpro": "3.0.6",
- "com.unity.timeline": "1.6.4",
- "com.unity.ugui": "1.0.0",
- "com.unity.visualscripting": "1.7.6",
- "com.unity.modules.ai": "1.0.0",
- "com.unity.modules.androidjni": "1.0.0",
- "com.unity.modules.animation": "1.0.0",
- "com.unity.modules.assetbundle": "1.0.0",
- "com.unity.modules.audio": "1.0.0",
- "com.unity.modules.cloth": "1.0.0",
- "com.unity.modules.director": "1.0.0",
- "com.unity.modules.imageconversion": "1.0.0",
- "com.unity.modules.imgui": "1.0.0",
- "com.unity.modules.jsonserialize": "1.0.0",
- "com.unity.modules.particlesystem": "1.0.0",
- "com.unity.modules.physics": "1.0.0",
- "com.unity.modules.physics2d": "1.0.0",
- "com.unity.modules.screencapture": "1.0.0",
- "com.unity.modules.terrain": "1.0.0",
- "com.unity.modules.terrainphysics": "1.0.0",
- "com.unity.modules.tilemap": "1.0.0",
- "com.unity.modules.ui": "1.0.0",
- "com.unity.modules.uielements": "1.0.0",
- "com.unity.modules.umbra": "1.0.0",
- "com.unity.modules.unityanalytics": "1.0.0",
- "com.unity.modules.unitywebrequest": "1.0.0",
- "com.unity.modules.unitywebrequestassetbundle": "1.0.0",
- "com.unity.modules.unitywebrequestaudio": "1.0.0",
- "com.unity.modules.unitywebrequesttexture": "1.0.0",
- "com.unity.modules.unitywebrequestwww": "1.0.0",
- "com.unity.modules.vehicles": "1.0.0",
- "com.unity.modules.video": "1.0.0",
- "com.unity.modules.vr": "1.0.0",
- "com.unity.modules.wind": "1.0.0",
- "com.unity.modules.xr": "1.0.0"
- }
-}
diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json
deleted file mode 100644
index 4dc693a88332aa9fc5a7f9070d16859509c3a8c1..0000000000000000000000000000000000000000
--- a/Packages/packages-lock.json
+++ /dev/null
@@ -1,341 +0,0 @@
-{
- "dependencies": {
- "com.unity.ext.nunit": {
- "version": "1.0.6",
- "depth": 1,
- "source": "registry",
- "dependencies": {},
- "url": "https://packages.unity.com"
- },
- "com.unity.ide.rider": {
- "version": "3.0.13",
- "depth": 0,
- "source": "registry",
- "dependencies": {
- "com.unity.ext.nunit": "1.0.6"
- },
- "url": "https://packages.unity.com"
- },
- "com.unity.ide.visualstudio": {
- "version": "2.0.14",
- "depth": 0,
- "source": "registry",
- "dependencies": {
- "com.unity.test-framework": "1.1.9"
- },
- "url": "https://packages.unity.com"
- },
- "com.unity.ide.vscode": {
- "version": "1.2.5",
- "depth": 0,
- "source": "registry",
- "dependencies": {},
- "url": "https://packages.unity.com"
- },
- "com.unity.test-framework": {
- "version": "1.1.31",
- "depth": 0,
- "source": "registry",
- "dependencies": {
- "com.unity.ext.nunit": "1.0.6",
- "com.unity.modules.imgui": "1.0.0",
- "com.unity.modules.jsonserialize": "1.0.0"
- },
- "url": "https://packages.unity.com"
- },
- "com.unity.textmeshpro": {
- "version": "3.0.6",
- "depth": 0,
- "source": "registry",
- "dependencies": {
- "com.unity.ugui": "1.0.0"
- },
- "url": "https://packages.unity.com"
- },
- "com.unity.timeline": {
- "version": "1.6.4",
- "depth": 0,
- "source": "registry",
- "dependencies": {
- "com.unity.modules.director": "1.0.0",
- "com.unity.modules.animation": "1.0.0",
- "com.unity.modules.audio": "1.0.0",
- "com.unity.modules.particlesystem": "1.0.0"
- },
- "url": "https://packages.unity.com"
- },
- "com.unity.ugui": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {
- "com.unity.modules.ui": "1.0.0",
- "com.unity.modules.imgui": "1.0.0"
- }
- },
- "com.unity.visualscripting": {
- "version": "1.7.6",
- "depth": 0,
- "source": "registry",
- "dependencies": {
- "com.unity.ugui": "1.0.0",
- "com.unity.modules.jsonserialize": "1.0.0"
- },
- "url": "https://packages.unity.com"
- },
- "com.unity.modules.ai": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {}
- },
- "com.unity.modules.androidjni": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {}
- },
- "com.unity.modules.animation": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {}
- },
- "com.unity.modules.assetbundle": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {}
- },
- "com.unity.modules.audio": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {}
- },
- "com.unity.modules.cloth": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {
- "com.unity.modules.physics": "1.0.0"
- }
- },
- "com.unity.modules.director": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {
- "com.unity.modules.audio": "1.0.0",
- "com.unity.modules.animation": "1.0.0"
- }
- },
- "com.unity.modules.imageconversion": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {}
- },
- "com.unity.modules.imgui": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {}
- },
- "com.unity.modules.jsonserialize": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {}
- },
- "com.unity.modules.particlesystem": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {}
- },
- "com.unity.modules.physics": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {}
- },
- "com.unity.modules.physics2d": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {}
- },
- "com.unity.modules.screencapture": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {
- "com.unity.modules.imageconversion": "1.0.0"
- }
- },
- "com.unity.modules.subsystems": {
- "version": "1.0.0",
- "depth": 1,
- "source": "builtin",
- "dependencies": {
- "com.unity.modules.jsonserialize": "1.0.0"
- }
- },
- "com.unity.modules.terrain": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {}
- },
- "com.unity.modules.terrainphysics": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {
- "com.unity.modules.physics": "1.0.0",
- "com.unity.modules.terrain": "1.0.0"
- }
- },
- "com.unity.modules.tilemap": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {
- "com.unity.modules.physics2d": "1.0.0"
- }
- },
- "com.unity.modules.ui": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {}
- },
- "com.unity.modules.uielements": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {
- "com.unity.modules.ui": "1.0.0",
- "com.unity.modules.imgui": "1.0.0",
- "com.unity.modules.jsonserialize": "1.0.0",
- "com.unity.modules.uielementsnative": "1.0.0"
- }
- },
- "com.unity.modules.uielementsnative": {
- "version": "1.0.0",
- "depth": 1,
- "source": "builtin",
- "dependencies": {
- "com.unity.modules.ui": "1.0.0",
- "com.unity.modules.imgui": "1.0.0",
- "com.unity.modules.jsonserialize": "1.0.0"
- }
- },
- "com.unity.modules.umbra": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {}
- },
- "com.unity.modules.unityanalytics": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {
- "com.unity.modules.unitywebrequest": "1.0.0",
- "com.unity.modules.jsonserialize": "1.0.0"
- }
- },
- "com.unity.modules.unitywebrequest": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {}
- },
- "com.unity.modules.unitywebrequestassetbundle": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {
- "com.unity.modules.assetbundle": "1.0.0",
- "com.unity.modules.unitywebrequest": "1.0.0"
- }
- },
- "com.unity.modules.unitywebrequestaudio": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {
- "com.unity.modules.unitywebrequest": "1.0.0",
- "com.unity.modules.audio": "1.0.0"
- }
- },
- "com.unity.modules.unitywebrequesttexture": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {
- "com.unity.modules.unitywebrequest": "1.0.0",
- "com.unity.modules.imageconversion": "1.0.0"
- }
- },
- "com.unity.modules.unitywebrequestwww": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {
- "com.unity.modules.unitywebrequest": "1.0.0",
- "com.unity.modules.unitywebrequestassetbundle": "1.0.0",
- "com.unity.modules.unitywebrequestaudio": "1.0.0",
- "com.unity.modules.audio": "1.0.0",
- "com.unity.modules.assetbundle": "1.0.0",
- "com.unity.modules.imageconversion": "1.0.0"
- }
- },
- "com.unity.modules.vehicles": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {
- "com.unity.modules.physics": "1.0.0"
- }
- },
- "com.unity.modules.video": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {
- "com.unity.modules.audio": "1.0.0",
- "com.unity.modules.ui": "1.0.0",
- "com.unity.modules.unitywebrequest": "1.0.0"
- }
- },
- "com.unity.modules.vr": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {
- "com.unity.modules.jsonserialize": "1.0.0",
- "com.unity.modules.physics": "1.0.0",
- "com.unity.modules.xr": "1.0.0"
- }
- },
- "com.unity.modules.wind": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {}
- },
- "com.unity.modules.xr": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {
- "com.unity.modules.physics": "1.0.0",
- "com.unity.modules.jsonserialize": "1.0.0",
- "com.unity.modules.subsystems": "1.0.0"
- }
- }
- }
-}
diff --git a/Packages/packages-lock.json.meta b/Packages/packages-lock.json.meta
deleted file mode 100644
index 849b8b97577c59c44f8c455565e8d0c3a0ca9714..0000000000000000000000000000000000000000
--- a/Packages/packages-lock.json.meta
+++ /dev/null
@@ -1,7 +0,0 @@
-fileFormatVersion: 2
-guid: 8d06aa9610feb184390a6be97a66f3b3
-TextScriptImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Plugins.meta b/Plugins.meta
deleted file mode 100644
index 6300d402ae8c9f3789b6b14f902c65b64cbbbc0f..0000000000000000000000000000000000000000
--- a/Plugins.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 9b41a6c85d75773499fee865a0a245e6
-folderAsset: yes
-DefaultImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/ProjectSettings.meta b/ProjectSettings.meta
deleted file mode 100644
index e53d957e13569139f0be68f18ef3f64987a9584a..0000000000000000000000000000000000000000
--- a/ProjectSettings.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 0b4f2eac1a9634d48a5407664b678c17
-folderAsset: yes
-DefaultImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/ProjectSettings/AudioManager.asset b/ProjectSettings/AudioManager.asset
deleted file mode 100644
index df1e8090a2e78c7b20cd5f10777df77422c780b9..0000000000000000000000000000000000000000
--- a/ProjectSettings/AudioManager.asset
+++ /dev/null
@@ -1,20 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!11 &1
-AudioManager:
- m_ObjectHideFlags: 0
- serializedVersion: 2
- m_Volume: 1
- Rolloff Scale: 1
- Doppler Factor: 1
- Default Speaker Mode: 2
- m_SampleRate: 0
- m_DSPBufferSize: 1024
- m_VirtualVoiceCount: 512
- m_RealVoiceCount: 32
- m_EnableOutputSuspension: 1
- m_SpatializerPlugin:
- m_AmbisonicDecoderPlugin:
- m_DisableAudio: 0
- m_VirtualizeEffects: 1
- m_RequestedDSPBufferSize: 0
diff --git a/ProjectSettings/ClusterInputManager.asset b/ProjectSettings/ClusterInputManager.asset
deleted file mode 100644
index e7886b266a005f4d9d80f2fef8d1649dcfd3ed2b..0000000000000000000000000000000000000000
--- a/ProjectSettings/ClusterInputManager.asset
+++ /dev/null
@@ -1,6 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!236 &1
-ClusterInputManager:
- m_ObjectHideFlags: 0
- m_Inputs: []
diff --git a/ProjectSettings/DynamicsManager.asset b/ProjectSettings/DynamicsManager.asset
deleted file mode 100644
index abb382fcbb6818cbc77257f82edcc5d8093a3314..0000000000000000000000000000000000000000
--- a/ProjectSettings/DynamicsManager.asset
+++ /dev/null
@@ -1,38 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!55 &1
-PhysicsManager:
- m_ObjectHideFlags: 0
- serializedVersion: 13
- m_Gravity: {x: 0, y: -9.81, z: 0}
- m_DefaultMaterial: {fileID: 0}
- m_BounceThreshold: 2
- m_DefaultMaxDepenetrationVelocity: 10
- m_SleepThreshold: 0.005
- m_DefaultContactOffset: 0.01
- m_DefaultSolverIterations: 6
- m_DefaultSolverVelocityIterations: 1
- m_QueriesHitBackfaces: 0
- m_QueriesHitTriggers: 1
- m_EnableAdaptiveForce: 0
- m_ClothInterCollisionDistance: 0.1
- m_ClothInterCollisionStiffness: 0.2
- m_ContactsGeneration: 1
- m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
- m_AutoSimulation: 1
- m_AutoSyncTransforms: 0
- m_ReuseCollisionCallbacks: 0
- m_ClothInterCollisionSettingsToggle: 0
- m_ClothGravity: {x: 0, y: -9.81, z: 0}
- m_ContactPairsMode: 0
- m_BroadphaseType: 0
- m_WorldBounds:
- m_Center: {x: 0, y: 0, z: 0}
- m_Extent: {x: 250, y: 250, z: 250}
- m_WorldSubdivisions: 8
- m_FrictionType: 0
- m_EnableEnhancedDeterminism: 0
- m_EnableUnifiedHeightmaps: 1
- m_ImprovedPatchFriction: 0
- m_SolverType: 0
- m_DefaultMaxAngularSpeed: 50
diff --git a/ProjectSettings/DynamicsManager.asset.meta b/ProjectSettings/DynamicsManager.asset.meta
deleted file mode 100644
index 147f363b726c49e440dd2a1dac8b378aad71711f..0000000000000000000000000000000000000000
--- a/ProjectSettings/DynamicsManager.asset.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: fa4f40c448e9ea7468e60ea8e4c60c3f
-NativeFormatImporter:
- externalObjects: {}
- mainObjectFileID: 0
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/ProjectSettings/EditorBuildSettings.asset b/ProjectSettings/EditorBuildSettings.asset
deleted file mode 100644
index 0147887ef4b113c3a3b8da44ef30e3208f1e9120..0000000000000000000000000000000000000000
--- a/ProjectSettings/EditorBuildSettings.asset
+++ /dev/null
@@ -1,8 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!1045 &1
-EditorBuildSettings:
- m_ObjectHideFlags: 0
- serializedVersion: 2
- m_Scenes: []
- m_configObjects: {}
diff --git a/ProjectSettings/EditorBuildSettings.asset.meta b/ProjectSettings/EditorBuildSettings.asset.meta
deleted file mode 100644
index 66e5ddbd4792ab08bfd31e95d22d10853032a4da..0000000000000000000000000000000000000000
--- a/ProjectSettings/EditorBuildSettings.asset.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 8aad7b2a081620b4a8e184b61189f5db
-NativeFormatImporter:
- externalObjects: {}
- mainObjectFileID: 0
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/ProjectSettings/EditorSettings.asset b/ProjectSettings/EditorSettings.asset
deleted file mode 100644
index db8991dd13a5c590dab9b0ff283fdadc6ac94a72..0000000000000000000000000000000000000000
--- a/ProjectSettings/EditorSettings.asset
+++ /dev/null
@@ -1,42 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!159 &1
-EditorSettings:
- m_ObjectHideFlags: 0
- serializedVersion: 11
- m_SerializationMode: 2
- m_LineEndingsForNewScripts: 2
- m_DefaultBehaviorMode: 0
- m_PrefabRegularEnvironment: {fileID: 0}
- m_PrefabUIEnvironment: {fileID: 0}
- m_SpritePackerMode: 0
- m_SpritePackerPaddingPower: 1
- m_Bc7TextureCompressor: 0
- m_EtcTextureCompressorBehavior: 1
- m_EtcTextureFastCompressor: 1
- m_EtcTextureNormalCompressor: 2
- m_EtcTextureBestCompressor: 4
- m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;asmref;rsp;java;cpp;c;mm;m;h
- m_ProjectGenerationRootNamespace:
- m_EnableTextureStreamingInEditMode: 1
- m_EnableTextureStreamingInPlayMode: 1
- m_AsyncShaderCompilation: 1
- m_CachingShaderPreprocessor: 1
- m_PrefabModeAllowAutoSave: 1
- m_EnterPlayModeOptionsEnabled: 0
- m_EnterPlayModeOptions: 3
- m_GameObjectNamingDigits: 1
- m_GameObjectNamingScheme: 0
- m_AssetNamingUsesSpace: 1
- m_UseLegacyProbeSampleCount: 0
- m_SerializeInlineMappingsOnOneLine: 1
- m_DisableCookiesInLightmapper: 0
- m_AssetPipelineMode: 1
- m_RefreshImportMode: 0
- m_CacheServerMode: 0
- m_CacheServerEndpoint:
- m_CacheServerNamespacePrefix: default
- m_CacheServerEnableDownload: 1
- m_CacheServerEnableUpload: 1
- m_CacheServerEnableAuth: 0
- m_CacheServerEnableTls: 0
diff --git a/ProjectSettings/EditorSettings.asset.meta b/ProjectSettings/EditorSettings.asset.meta
deleted file mode 100644
index 9507234b2ecb7b9d103b91f8d5661b4b55bbf11c..0000000000000000000000000000000000000000
--- a/ProjectSettings/EditorSettings.asset.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: d6aeabb832bb360498d00725f4052eb6
-NativeFormatImporter:
- externalObjects: {}
- mainObjectFileID: 0
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/ProjectSettings/GraphicsSettings.asset b/ProjectSettings/GraphicsSettings.asset
deleted file mode 100644
index 6652e428d2d99601eee1187ac3bc6797326b02cf..0000000000000000000000000000000000000000
--- a/ProjectSettings/GraphicsSettings.asset
+++ /dev/null
@@ -1,66 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!30 &1
-GraphicsSettings:
- m_ObjectHideFlags: 0
- serializedVersion: 14
- m_Deferred:
- m_Mode: 1
- m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0}
- m_DeferredReflections:
- m_Mode: 1
- m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0}
- m_ScreenSpaceShadows:
- m_Mode: 1
- m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0}
- m_LegacyDeferred:
- m_Mode: 1
- m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0}
- m_DepthNormals:
- m_Mode: 1
- m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0}
- m_MotionVectors:
- m_Mode: 1
- m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0}
- m_LightHalo:
- m_Mode: 1
- m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0}
- m_LensFlare:
- m_Mode: 1
- m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0}
- m_VideoShadersIncludeMode: 2
- m_AlwaysIncludedShaders:
- - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0}
- - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0}
- - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0}
- - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0}
- - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0}
- - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0}
- - {fileID: 10783, guid: 0000000000000000f000000000000000, type: 0}
- m_PreloadedShaders: []
- m_PreloadShadersBatchTimeLimit: -1
- m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
- m_CustomRenderPipeline: {fileID: 0}
- m_TransparencySortMode: 0
- m_TransparencySortAxis: {x: 0, y: 0, z: 1}
- m_DefaultRenderingPath: 1
- m_DefaultMobileRenderingPath: 1
- m_TierSettings: []
- m_LightmapStripping: 0
- m_FogStripping: 0
- m_InstancingStripping: 0
- m_LightmapKeepPlain: 1
- m_LightmapKeepDirCombined: 1
- m_LightmapKeepDynamicPlain: 1
- m_LightmapKeepDynamicDirCombined: 1
- m_LightmapKeepShadowMask: 1
- m_LightmapKeepSubtractive: 1
- m_FogKeepLinear: 1
- m_FogKeepExp: 1
- m_FogKeepExp2: 1
- m_AlbedoSwatchInfos: []
- m_LightsUseLinearIntensity: 0
- m_LightsUseColorTemperature: 0
- m_DefaultRenderingLayerMask: 1
- m_LogWhenShaderIsCompiled: 0
- m_SRPDefaultSettings: {}
diff --git a/ProjectSettings/GraphicsSettings.asset.meta b/ProjectSettings/GraphicsSettings.asset.meta
deleted file mode 100644
index 3eef82528aebdbde4eda4785be0651a909f3b00a..0000000000000000000000000000000000000000
--- a/ProjectSettings/GraphicsSettings.asset.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 6cbcd0d2d3be8554391862cd2ad2f216
-NativeFormatImporter:
- externalObjects: {}
- mainObjectFileID: 0
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/ProjectSettings/InputManager.asset b/ProjectSettings/InputManager.asset
deleted file mode 100644
index b00cb7976eff97f405c4b00f6c11f70eb37dc2e6..0000000000000000000000000000000000000000
--- a/ProjectSettings/InputManager.asset
+++ /dev/null
@@ -1,296 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!13 &1
-InputManager:
- m_ObjectHideFlags: 0
- serializedVersion: 2
- m_Axes:
- - serializedVersion: 3
- m_Name: Horizontal
- descriptiveName:
- descriptiveNegativeName:
- negativeButton: left
- positiveButton: right
- altNegativeButton: a
- altPositiveButton: d
- gravity: 3
- dead: 0.001
- sensitivity: 3
- snap: 1
- invert: 0
- type: 0
- axis: 0
- joyNum: 0
- - serializedVersion: 3
- m_Name: Vertical
- descriptiveName:
- descriptiveNegativeName:
- negativeButton: down
- positiveButton: up
- altNegativeButton: s
- altPositiveButton: w
- gravity: 3
- dead: 0.001
- sensitivity: 3
- snap: 1
- invert: 0
- type: 0
- axis: 0
- joyNum: 0
- - serializedVersion: 3
- m_Name: Fire1
- descriptiveName:
- descriptiveNegativeName:
- negativeButton:
- positiveButton: left ctrl
- altNegativeButton:
- altPositiveButton: mouse 0
- gravity: 1000
- dead: 0.001
- sensitivity: 1000
- snap: 0
- invert: 0
- type: 0
- axis: 0
- joyNum: 0
- - serializedVersion: 3
- m_Name: Fire2
- descriptiveName:
- descriptiveNegativeName:
- negativeButton:
- positiveButton: left alt
- altNegativeButton:
- altPositiveButton: mouse 1
- gravity: 1000
- dead: 0.001
- sensitivity: 1000
- snap: 0
- invert: 0
- type: 0
- axis: 0
- joyNum: 0
- - serializedVersion: 3
- m_Name: Fire3
- descriptiveName:
- descriptiveNegativeName:
- negativeButton:
- positiveButton: left shift
- altNegativeButton:
- altPositiveButton: mouse 2
- gravity: 1000
- dead: 0.001
- sensitivity: 1000
- snap: 0
- invert: 0
- type: 0
- axis: 0
- joyNum: 0
- - serializedVersion: 3
- m_Name: Jump
- descriptiveName:
- descriptiveNegativeName:
- negativeButton:
- positiveButton: space
- altNegativeButton:
- altPositiveButton:
- gravity: 1000
- dead: 0.001
- sensitivity: 1000
- snap: 0
- invert: 0
- type: 0
- axis: 0
- joyNum: 0
- - serializedVersion: 3
- m_Name: Mouse X
- descriptiveName:
- descriptiveNegativeName:
- negativeButton:
- positiveButton:
- altNegativeButton:
- altPositiveButton:
- gravity: 0
- dead: 0
- sensitivity: 0.1
- snap: 0
- invert: 0
- type: 1
- axis: 0
- joyNum: 0
- - serializedVersion: 3
- m_Name: Mouse Y
- descriptiveName:
- descriptiveNegativeName:
- negativeButton:
- positiveButton:
- altNegativeButton:
- altPositiveButton:
- gravity: 0
- dead: 0
- sensitivity: 0.1
- snap: 0
- invert: 0
- type: 1
- axis: 1
- joyNum: 0
- - serializedVersion: 3
- m_Name: Mouse ScrollWheel
- descriptiveName:
- descriptiveNegativeName:
- negativeButton:
- positiveButton:
- altNegativeButton:
- altPositiveButton:
- gravity: 0
- dead: 0
- sensitivity: 0.1
- snap: 0
- invert: 0
- type: 1
- axis: 2
- joyNum: 0
- - serializedVersion: 3
- m_Name: Horizontal
- descriptiveName:
- descriptiveNegativeName:
- negativeButton:
- positiveButton:
- altNegativeButton:
- altPositiveButton:
- gravity: 0
- dead: 0.19
- sensitivity: 1
- snap: 0
- invert: 0
- type: 2
- axis: 0
- joyNum: 0
- - serializedVersion: 3
- m_Name: Vertical
- descriptiveName:
- descriptiveNegativeName:
- negativeButton:
- positiveButton:
- altNegativeButton:
- altPositiveButton:
- gravity: 0
- dead: 0.19
- sensitivity: 1
- snap: 0
- invert: 1
- type: 2
- axis: 1
- joyNum: 0
- - serializedVersion: 3
- m_Name: Fire1
- descriptiveName:
- descriptiveNegativeName:
- negativeButton:
- positiveButton: joystick button 0
- altNegativeButton:
- altPositiveButton:
- gravity: 1000
- dead: 0.001
- sensitivity: 1000
- snap: 0
- invert: 0
- type: 0
- axis: 0
- joyNum: 0
- - serializedVersion: 3
- m_Name: Fire2
- descriptiveName:
- descriptiveNegativeName:
- negativeButton:
- positiveButton: joystick button 1
- altNegativeButton:
- altPositiveButton:
- gravity: 1000
- dead: 0.001
- sensitivity: 1000
- snap: 0
- invert: 0
- type: 0
- axis: 0
- joyNum: 0
- - serializedVersion: 3
- m_Name: Fire3
- descriptiveName:
- descriptiveNegativeName:
- negativeButton:
- positiveButton: joystick button 2
- altNegativeButton:
- altPositiveButton:
- gravity: 1000
- dead: 0.001
- sensitivity: 1000
- snap: 0
- invert: 0
- type: 0
- axis: 0
- joyNum: 0
- - serializedVersion: 3
- m_Name: Jump
- descriptiveName:
- descriptiveNegativeName:
- negativeButton:
- positiveButton: joystick button 3
- altNegativeButton:
- altPositiveButton:
- gravity: 1000
- dead: 0.001
- sensitivity: 1000
- snap: 0
- invert: 0
- type: 0
- axis: 0
- joyNum: 0
- - serializedVersion: 3
- m_Name: Submit
- descriptiveName:
- descriptiveNegativeName:
- negativeButton:
- positiveButton: return
- altNegativeButton:
- altPositiveButton: joystick button 0
- gravity: 1000
- dead: 0.001
- sensitivity: 1000
- snap: 0
- invert: 0
- type: 0
- axis: 0
- joyNum: 0
- - serializedVersion: 3
- m_Name: Submit
- descriptiveName:
- descriptiveNegativeName:
- negativeButton:
- positiveButton: enter
- altNegativeButton:
- altPositiveButton: space
- gravity: 1000
- dead: 0.001
- sensitivity: 1000
- snap: 0
- invert: 0
- type: 0
- axis: 0
- joyNum: 0
- - serializedVersion: 3
- m_Name: Cancel
- descriptiveName:
- descriptiveNegativeName:
- negativeButton:
- positiveButton: escape
- altNegativeButton:
- altPositiveButton: joystick button 1
- gravity: 1000
- dead: 0.001
- sensitivity: 1000
- snap: 0
- invert: 0
- type: 0
- axis: 0
- joyNum: 0
- m_UsePhysicalKeys: 0
diff --git a/ProjectSettings/InputManager.asset.meta b/ProjectSettings/InputManager.asset.meta
deleted file mode 100644
index b844eeee48d919cb43ba7f1626cc876c9d842d37..0000000000000000000000000000000000000000
--- a/ProjectSettings/InputManager.asset.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 65097835f2c3e1141a4ac3a8c68a8454
-NativeFormatImporter:
- externalObjects: {}
- mainObjectFileID: 0
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/ProjectSettings/MemorySettings.asset b/ProjectSettings/MemorySettings.asset
deleted file mode 100644
index 5b5facecace9276319b6e497953ab0429de65b61..0000000000000000000000000000000000000000
--- a/ProjectSettings/MemorySettings.asset
+++ /dev/null
@@ -1,35 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!387306366 &1
-MemorySettings:
- m_ObjectHideFlags: 0
- m_EditorMemorySettings:
- m_MainAllocatorBlockSize: -1
- m_ThreadAllocatorBlockSize: -1
- m_MainGfxBlockSize: -1
- m_ThreadGfxBlockSize: -1
- m_CacheBlockSize: -1
- m_TypetreeBlockSize: -1
- m_ProfilerBlockSize: -1
- m_ProfilerEditorBlockSize: -1
- m_BucketAllocatorGranularity: -1
- m_BucketAllocatorBucketsCount: -1
- m_BucketAllocatorBlockSize: -1
- m_BucketAllocatorBlockCount: -1
- m_ProfilerBucketAllocatorGranularity: -1
- m_ProfilerBucketAllocatorBucketsCount: -1
- m_ProfilerBucketAllocatorBlockSize: -1
- m_ProfilerBucketAllocatorBlockCount: -1
- m_TempAllocatorSizeMain: -1
- m_JobTempAllocatorBlockSize: -1
- m_BackgroundJobTempAllocatorBlockSize: -1
- m_JobTempAllocatorReducedBlockSize: -1
- m_TempAllocatorSizeGIBakingWorker: -1
- m_TempAllocatorSizeNavMeshWorker: -1
- m_TempAllocatorSizeAudioWorker: -1
- m_TempAllocatorSizeCloudWorker: -1
- m_TempAllocatorSizeGfx: -1
- m_TempAllocatorSizeJobWorker: -1
- m_TempAllocatorSizeBackgroundWorker: -1
- m_TempAllocatorSizePreloadManager: -1
- m_PlatformMemorySettings: {}
diff --git a/ProjectSettings/MemorySettings.asset.meta b/ProjectSettings/MemorySettings.asset.meta
deleted file mode 100644
index 21cde6c3ccbf5e98d4c8c1a1fbe9a7b0d0b8f3fa..0000000000000000000000000000000000000000
--- a/ProjectSettings/MemorySettings.asset.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 98a7e16ca990bfb4a9bfb3448771353b
-NativeFormatImporter:
- externalObjects: {}
- mainObjectFileID: 0
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/ProjectSettings/NavMeshAreas.asset b/ProjectSettings/NavMeshAreas.asset
deleted file mode 100644
index ad2654e02e000515a8169d42168a7a4e6f07ee57..0000000000000000000000000000000000000000
--- a/ProjectSettings/NavMeshAreas.asset
+++ /dev/null
@@ -1,93 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!126 &1
-NavMeshProjectSettings:
- m_ObjectHideFlags: 0
- serializedVersion: 2
- areas:
- - name: Walkable
- cost: 1
- - name: Not Walkable
- cost: 1
- - name: Jump
- cost: 2
- - name:
- cost: 1
- - name:
- cost: 1
- - name:
- cost: 1
- - name:
- cost: 1
- - name:
- cost: 1
- - name:
- cost: 1
- - name:
- cost: 1
- - name:
- cost: 1
- - name:
- cost: 1
- - name:
- cost: 1
- - name:
- cost: 1
- - name:
- cost: 1
- - name:
- cost: 1
- - name:
- cost: 1
- - name:
- cost: 1
- - name:
- cost: 1
- - name:
- cost: 1
- - name:
- cost: 1
- - name:
- cost: 1
- - name:
- cost: 1
- - name:
- cost: 1
- - name:
- cost: 1
- - name:
- cost: 1
- - name:
- cost: 1
- - name:
- cost: 1
- - name:
- cost: 1
- - name:
- cost: 1
- - name:
- cost: 1
- - name:
- cost: 1
- m_LastAgentTypeID: -887442657
- m_Settings:
- - serializedVersion: 2
- agentTypeID: 0
- agentRadius: 0.5
- agentHeight: 2
- agentSlope: 45
- agentClimb: 0.75
- ledgeDropHeight: 0
- maxJumpAcrossDistance: 0
- minRegionArea: 2
- manualCellSize: 0
- cellSize: 0.16666667
- manualTileSize: 0
- tileSize: 256
- accuratePlacement: 0
- maxJobWorkers: 0
- preserveTilesOutsideBounds: 0
- debug:
- m_Flags: 0
- m_SettingNames:
- - Humanoid
diff --git a/ProjectSettings/NavMeshAreas.asset.meta b/ProjectSettings/NavMeshAreas.asset.meta
deleted file mode 100644
index 548a5d7550a652f771c877056519724145fd66d7..0000000000000000000000000000000000000000
--- a/ProjectSettings/NavMeshAreas.asset.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 961ec3fe567553c449dbf85a3603025f
-NativeFormatImporter:
- externalObjects: {}
- mainObjectFileID: 0
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/ProjectSettings/PackageManagerSettings.asset b/ProjectSettings/PackageManagerSettings.asset
deleted file mode 100644
index 06c51af3451040d08e1a7ac2a6acdd13dc8befd9..0000000000000000000000000000000000000000
--- a/ProjectSettings/PackageManagerSettings.asset
+++ /dev/null
@@ -1,35 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!114 &1
-MonoBehaviour:
- m_ObjectHideFlags: 61
- 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: 13964, guid: 0000000000000000e000000000000000, type: 0}
- m_Name:
- m_EditorClassIdentifier:
- m_EnablePreReleasePackages: 0
- m_EnablePackageDependencies: 0
- m_AdvancedSettingsExpanded: 1
- m_ScopedRegistriesSettingsExpanded: 1
- m_SeeAllPackageVersions: 0
- oneTimeWarningShown: 0
- m_Registries:
- - m_Id: main
- m_Name:
- m_Url: https://packages.unity.com
- m_Scopes: []
- m_IsDefault: 1
- m_Capabilities: 7
- m_UserSelectedRegistryName:
- m_UserAddingNewScopedRegistry: 0
- m_RegistryInfoDraft:
- m_Modified: 0
- m_ErrorMessage:
- m_UserModificationsInstanceId: -882
- m_OriginalInstanceId: -884
- m_LoadAssets: 0
diff --git a/ProjectSettings/PackageManagerSettings.asset.meta b/ProjectSettings/PackageManagerSettings.asset.meta
deleted file mode 100644
index b6d711392f4094fb7a20639f2276ee386e826a72..0000000000000000000000000000000000000000
--- a/ProjectSettings/PackageManagerSettings.asset.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 5d835a74883d0a24b839711dc56edc85
-NativeFormatImporter:
- externalObjects: {}
- mainObjectFileID: 0
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/ProjectSettings/Physics2DSettings.asset b/ProjectSettings/Physics2DSettings.asset
deleted file mode 100644
index 34e83283323c76977aab012ffb35a2c329064756..0000000000000000000000000000000000000000
--- a/ProjectSettings/Physics2DSettings.asset
+++ /dev/null
@@ -1,56 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!19 &1
-Physics2DSettings:
- m_ObjectHideFlags: 0
- serializedVersion: 5
- m_Gravity: {x: 0, y: -9.81}
- m_DefaultMaterial: {fileID: 0}
- m_VelocityIterations: 8
- m_PositionIterations: 3
- m_VelocityThreshold: 1
- m_MaxLinearCorrection: 0.2
- m_MaxAngularCorrection: 8
- m_MaxTranslationSpeed: 100
- m_MaxRotationSpeed: 360
- m_BaumgarteScale: 0.2
- m_BaumgarteTimeOfImpactScale: 0.75
- m_TimeToSleep: 0.5
- m_LinearSleepTolerance: 0.01
- m_AngularSleepTolerance: 2
- m_DefaultContactOffset: 0.01
- m_JobOptions:
- serializedVersion: 2
- useMultithreading: 0
- useConsistencySorting: 0
- m_InterpolationPosesPerJob: 100
- m_NewContactsPerJob: 30
- m_CollideContactsPerJob: 100
- m_ClearFlagsPerJob: 200
- m_ClearBodyForcesPerJob: 200
- m_SyncDiscreteFixturesPerJob: 50
- m_SyncContinuousFixturesPerJob: 50
- m_FindNearestContactsPerJob: 100
- m_UpdateTriggerContactsPerJob: 100
- m_IslandSolverCostThreshold: 100
- m_IslandSolverBodyCostScale: 1
- m_IslandSolverContactCostScale: 10
- m_IslandSolverJointCostScale: 10
- m_IslandSolverBodiesPerJob: 50
- m_IslandSolverContactsPerJob: 50
- m_SimulationMode: 0
- m_QueriesHitTriggers: 1
- m_QueriesStartInColliders: 1
- m_CallbacksOnDisable: 1
- m_ReuseCollisionCallbacks: 0
- m_AutoSyncTransforms: 0
- m_AlwaysShowColliders: 0
- m_ShowColliderSleep: 1
- m_ShowColliderContacts: 0
- m_ShowColliderAABB: 0
- m_ContactArrowScale: 0.2
- m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412}
- m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432}
- m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745}
- m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804}
- m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
diff --git a/ProjectSettings/Physics2DSettings.asset.meta b/ProjectSettings/Physics2DSettings.asset.meta
deleted file mode 100644
index ee65b50d5c8892da7062bd850035145f804d0c66..0000000000000000000000000000000000000000
--- a/ProjectSettings/Physics2DSettings.asset.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 42be9777ca97fb041be60548b8b90c43
-NativeFormatImporter:
- externalObjects: {}
- mainObjectFileID: 0
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/ProjectSettings/PresetManager.asset b/ProjectSettings/PresetManager.asset
deleted file mode 100644
index 67a94daefe2e6bce3ec73546ad7cda94f702ad22..0000000000000000000000000000000000000000
--- a/ProjectSettings/PresetManager.asset
+++ /dev/null
@@ -1,7 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!1386491679 &1
-PresetManager:
- m_ObjectHideFlags: 0
- serializedVersion: 2
- m_DefaultPresets: {}
diff --git a/ProjectSettings/PresetManager.asset.meta b/ProjectSettings/PresetManager.asset.meta
deleted file mode 100644
index 96d64730b0dc4a214d311cb888124c7907a01e40..0000000000000000000000000000000000000000
--- a/ProjectSettings/PresetManager.asset.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: af86a66d59629bf44a0bd6debef6dc21
-NativeFormatImporter:
- externalObjects: {}
- mainObjectFileID: 0
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset
deleted file mode 100644
index e46af3a944ffa5d7bba2d7d3ae086c860186b942..0000000000000000000000000000000000000000
--- a/ProjectSettings/ProjectSettings.asset
+++ /dev/null
@@ -1,628 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!129 &1
-PlayerSettings:
- m_ObjectHideFlags: 0
- serializedVersion: 23
- productGUID: dc82d4868a5e3a6449911e19969014df
- AndroidProfiler: 0
- AndroidFilterTouchesWhenObscured: 0
- AndroidEnableSustainedPerformanceMode: 0
- defaultScreenOrientation: 4
- targetDevice: 2
- useOnDemandResources: 0
- accelerometerFrequency: 60
- companyName: DefaultCompany
- productName: unity-world-storage-package
- defaultCursor: {fileID: 0}
- cursorHotspot: {x: 0, y: 0}
- m_SplashScreenBackgroundColor: {r: 0.12156863, g: 0.12156863, b: 0.1254902, a: 1}
- m_ShowUnitySplashScreen: 1
- m_ShowUnitySplashLogo: 1
- m_SplashScreenOverlayOpacity: 1
- m_SplashScreenAnimation: 1
- m_SplashScreenLogoStyle: 1
- m_SplashScreenDrawMode: 0
- m_SplashScreenBackgroundAnimationZoom: 1
- m_SplashScreenLogoAnimationZoom: 1
- m_SplashScreenBackgroundLandscapeAspect: 1
- m_SplashScreenBackgroundPortraitAspect: 1
- m_SplashScreenBackgroundLandscapeUvs:
- serializedVersion: 2
- x: 0
- y: 0
- width: 1
- height: 1
- m_SplashScreenBackgroundPortraitUvs:
- serializedVersion: 2
- x: 0
- y: 0
- width: 1
- height: 1
- m_SplashScreenLogos: []
- m_VirtualRealitySplashScreen: {fileID: 0}
- m_HolographicTrackingLossScreen: {fileID: 0}
- defaultScreenWidth: 1920
- defaultScreenHeight: 1080
- defaultScreenWidthWeb: 960
- defaultScreenHeightWeb: 600
- m_StereoRenderingPath: 0
- m_ActiveColorSpace: 0
- m_MTRendering: 1
- mipStripping: 0
- numberOfMipsStripped: 0
- m_StackTraceTypes: 010000000100000001000000010000000100000001000000
- iosShowActivityIndicatorOnLoading: -1
- androidShowActivityIndicatorOnLoading: -1
- iosUseCustomAppBackgroundBehavior: 0
- iosAllowHTTPDownload: 1
- allowedAutorotateToPortrait: 1
- allowedAutorotateToPortraitUpsideDown: 1
- allowedAutorotateToLandscapeRight: 1
- allowedAutorotateToLandscapeLeft: 1
- useOSAutorotation: 1
- use32BitDisplayBuffer: 1
- preserveFramebufferAlpha: 0
- disableDepthAndStencilBuffers: 0
- androidStartInFullscreen: 1
- androidRenderOutsideSafeArea: 1
- androidUseSwappy: 1
- androidBlitType: 0
- androidResizableWindow: 0
- androidDefaultWindowWidth: 1920
- androidDefaultWindowHeight: 1080
- androidMinimumWindowWidth: 400
- androidMinimumWindowHeight: 300
- androidFullscreenMode: 1
- defaultIsNativeResolution: 1
- macRetinaSupport: 1
- runInBackground: 0
- captureSingleScreen: 0
- muteOtherAudioSources: 0
- Prepare IOS For Recording: 0
- Force IOS Speakers When Recording: 0
- deferSystemGesturesMode: 0
- hideHomeButton: 0
- submitAnalytics: 1
- usePlayerLog: 1
- bakeCollisionMeshes: 0
- forceSingleInstance: 0
- useFlipModelSwapchain: 1
- resizableWindow: 0
- useMacAppStoreValidation: 0
- macAppStoreCategory: public.app-category.games
- gpuSkinning: 0
- xboxPIXTextureCapture: 0
- xboxEnableAvatar: 0
- xboxEnableKinect: 0
- xboxEnableKinectAutoTracking: 0
- xboxEnableFitness: 0
- visibleInBackground: 1
- allowFullscreenSwitch: 1
- fullscreenMode: 1
- xboxSpeechDB: 0
- xboxEnableHeadOrientation: 0
- xboxEnableGuest: 0
- xboxEnablePIXSampling: 0
- metalFramebufferOnly: 0
- xboxOneResolution: 0
- xboxOneSResolution: 0
- xboxOneXResolution: 3
- xboxOneMonoLoggingLevel: 0
- xboxOneLoggingLevel: 1
- xboxOneDisableEsram: 0
- xboxOneEnableTypeOptimization: 0
- xboxOnePresentImmediateThreshold: 0
- switchQueueCommandMemory: 1048576
- switchQueueControlMemory: 16384
- switchQueueComputeMemory: 262144
- switchNVNShaderPoolsGranularity: 33554432
- switchNVNDefaultPoolsGranularity: 16777216
- switchNVNOtherPoolsGranularity: 16777216
- switchNVNMaxPublicTextureIDCount: 0
- switchNVNMaxPublicSamplerIDCount: 0
- stadiaPresentMode: 0
- stadiaTargetFramerate: 0
- vulkanNumSwapchainBuffers: 3
- vulkanEnableSetSRGBWrite: 0
- vulkanEnablePreTransform: 0
- vulkanEnableLateAcquireNextImage: 0
- vulkanEnableCommandBufferRecycling: 1
- m_SupportedAspectRatios:
- 4:3: 1
- 5:4: 1
- 16:10: 1
- 16:9: 1
- Others: 1
- bundleVersion: 1.0
- preloadedAssets: []
- metroInputSource: 0
- wsaTransparentSwapchain: 0
- m_HolographicPauseOnTrackingLoss: 1
- xboxOneDisableKinectGpuReservation: 1
- xboxOneEnable7thCore: 1
- vrSettings:
- enable360StereoCapture: 0
- isWsaHolographicRemotingEnabled: 0
- enableFrameTimingStats: 0
- useHDRDisplay: 0
- D3DHDRBitDepth: 0
- m_ColorGamuts: 00000000
- targetPixelDensity: 0
- resolutionScalingMode: 0
- androidSupportedAspectRatio: 1
- androidMaxAspectRatio: 2.1
- applicationIdentifier: {}
- buildNumber: {}
- overrideDefaultApplicationIdentifier: 0
- AndroidBundleVersionCode: 1
- AndroidMinSdkVersion: 22
- AndroidTargetSdkVersion: 0
- AndroidPreferredInstallLocation: 1
- aotOptions:
- stripEngineCode: 1
- iPhoneStrippingLevel: 0
- iPhoneScriptCallOptimization: 0
- ForceInternetPermission: 0
- ForceSDCardPermission: 0
- CreateWallpaper: 0
- APKExpansionFiles: 0
- keepLoadedShadersAlive: 0
- StripUnusedMeshComponents: 0
- VertexChannelCompressionMask: 4054
- iPhoneSdkVersion: 988
- iOSTargetOSVersionString:
- tvOSSdkVersion: 0
- tvOSRequireExtendedGameController: 0
- tvOSTargetOSVersionString:
- uIPrerenderedIcon: 0
- uIRequiresPersistentWiFi: 0
- uIRequiresFullScreen: 1
- uIStatusBarHidden: 1
- uIExitOnSuspend: 0
- uIStatusBarStyle: 0
- appleTVSplashScreen: {fileID: 0}
- appleTVSplashScreen2x: {fileID: 0}
- tvOSSmallIconLayers: []
- tvOSSmallIconLayers2x: []
- tvOSLargeIconLayers: []
- tvOSLargeIconLayers2x: []
- tvOSTopShelfImageLayers: []
- tvOSTopShelfImageLayers2x: []
- tvOSTopShelfImageWideLayers: []
- tvOSTopShelfImageWideLayers2x: []
- iOSLaunchScreenType: 0
- iOSLaunchScreenPortrait: {fileID: 0}
- iOSLaunchScreenLandscape: {fileID: 0}
- iOSLaunchScreenBackgroundColor:
- serializedVersion: 2
- rgba: 0
- iOSLaunchScreenFillPct: 100
- iOSLaunchScreenSize: 100
- iOSLaunchScreenCustomXibPath:
- iOSLaunchScreeniPadType: 0
- iOSLaunchScreeniPadImage: {fileID: 0}
- iOSLaunchScreeniPadBackgroundColor:
- serializedVersion: 2
- rgba: 0
- iOSLaunchScreeniPadFillPct: 100
- iOSLaunchScreeniPadSize: 100
- iOSLaunchScreeniPadCustomXibPath:
- iOSLaunchScreenCustomStoryboardPath:
- iOSLaunchScreeniPadCustomStoryboardPath:
- iOSDeviceRequirements: []
- iOSURLSchemes: []
- macOSURLSchemes: []
- iOSBackgroundModes: 0
- iOSMetalForceHardShadows: 0
- metalEditorSupport: 1
- metalAPIValidation: 1
- iOSRenderExtraFrameOnPause: 0
- iosCopyPluginsCodeInsteadOfSymlink: 0
- appleDeveloperTeamID:
- iOSManualSigningProvisioningProfileID:
- tvOSManualSigningProvisioningProfileID:
- iOSManualSigningProvisioningProfileType: 0
- tvOSManualSigningProvisioningProfileType: 0
- appleEnableAutomaticSigning: 0
- iOSRequireARKit: 0
- iOSAutomaticallyDetectAndAddCapabilities: 1
- appleEnableProMotion: 0
- shaderPrecisionModel: 0
- clonedFromGUID: 00000000000000000000000000000000
- templatePackageId:
- templateDefaultScene:
- useCustomMainManifest: 0
- useCustomLauncherManifest: 0
- useCustomMainGradleTemplate: 0
- useCustomLauncherGradleManifest: 0
- useCustomBaseGradleTemplate: 0
- useCustomGradlePropertiesTemplate: 0
- useCustomProguardFile: 0
- AndroidTargetArchitectures: 1
- AndroidTargetDevices: 0
- AndroidSplashScreenScale: 0
- androidSplashScreen: {fileID: 0}
- AndroidKeystoreName:
- AndroidKeyaliasName:
- AndroidBuildApkPerCpuArchitecture: 0
- AndroidTVCompatibility: 0
- AndroidIsGame: 1
- AndroidEnableTango: 0
- androidEnableBanner: 1
- androidUseLowAccuracyLocation: 0
- androidUseCustomKeystore: 0
- m_AndroidBanners:
- - width: 320
- height: 180
- banner: {fileID: 0}
- androidGamepadSupportLevel: 0
- chromeosInputEmulation: 1
- AndroidMinifyWithR8: 0
- AndroidMinifyRelease: 0
- AndroidMinifyDebug: 0
- AndroidValidateAppBundleSize: 1
- AndroidAppBundleSizeToValidate: 150
- m_BuildTargetIcons: []
- m_BuildTargetPlatformIcons: []
- m_BuildTargetBatching: []
- m_BuildTargetGraphicsJobs: []
- m_BuildTargetGraphicsJobMode: []
- m_BuildTargetGraphicsAPIs: []
- m_BuildTargetVRSettings: []
- openGLRequireES31: 0
- openGLRequireES31AEP: 0
- openGLRequireES32: 0
- m_TemplateCustomTags: {}
- mobileMTRendering:
- Android: 1
- iPhone: 1
- tvOS: 1
- m_BuildTargetGroupLightmapEncodingQuality: []
- m_BuildTargetGroupLightmapSettings: []
- m_BuildTargetNormalMapEncoding: []
- m_BuildTargetDefaultTextureCompressionFormat: []
- playModeTestRunnerEnabled: 0
- runPlayModeTestAsEditModeTest: 0
- actionOnDotNetUnhandledException: 1
- enableInternalProfiler: 0
- logObjCUncaughtExceptions: 1
- enableCrashReportAPI: 0
- cameraUsageDescription:
- locationUsageDescription:
- microphoneUsageDescription:
- bluetoothUsageDescription:
- switchNMETAOverride:
- switchNetLibKey:
- switchSocketMemoryPoolSize: 6144
- switchSocketAllocatorPoolSize: 128
- switchSocketConcurrencyLimit: 14
- switchScreenResolutionBehavior: 2
- switchUseCPUProfiler: 0
- switchUseGOLDLinker: 0
- switchLTOSetting: 0
- switchApplicationID: 0x01004b9000490000
- switchNSODependencies:
- switchTitleNames_0:
- switchTitleNames_1:
- switchTitleNames_2:
- switchTitleNames_3:
- switchTitleNames_4:
- switchTitleNames_5:
- switchTitleNames_6:
- switchTitleNames_7:
- switchTitleNames_8:
- switchTitleNames_9:
- switchTitleNames_10:
- switchTitleNames_11:
- switchTitleNames_12:
- switchTitleNames_13:
- switchTitleNames_14:
- switchTitleNames_15:
- switchPublisherNames_0:
- switchPublisherNames_1:
- switchPublisherNames_2:
- switchPublisherNames_3:
- switchPublisherNames_4:
- switchPublisherNames_5:
- switchPublisherNames_6:
- switchPublisherNames_7:
- switchPublisherNames_8:
- switchPublisherNames_9:
- switchPublisherNames_10:
- switchPublisherNames_11:
- switchPublisherNames_12:
- switchPublisherNames_13:
- switchPublisherNames_14:
- switchPublisherNames_15:
- switchIcons_0: {fileID: 0}
- switchIcons_1: {fileID: 0}
- switchIcons_2: {fileID: 0}
- switchIcons_3: {fileID: 0}
- switchIcons_4: {fileID: 0}
- switchIcons_5: {fileID: 0}
- switchIcons_6: {fileID: 0}
- switchIcons_7: {fileID: 0}
- switchIcons_8: {fileID: 0}
- switchIcons_9: {fileID: 0}
- switchIcons_10: {fileID: 0}
- switchIcons_11: {fileID: 0}
- switchIcons_12: {fileID: 0}
- switchIcons_13: {fileID: 0}
- switchIcons_14: {fileID: 0}
- switchIcons_15: {fileID: 0}
- switchSmallIcons_0: {fileID: 0}
- switchSmallIcons_1: {fileID: 0}
- switchSmallIcons_2: {fileID: 0}
- switchSmallIcons_3: {fileID: 0}
- switchSmallIcons_4: {fileID: 0}
- switchSmallIcons_5: {fileID: 0}
- switchSmallIcons_6: {fileID: 0}
- switchSmallIcons_7: {fileID: 0}
- switchSmallIcons_8: {fileID: 0}
- switchSmallIcons_9: {fileID: 0}
- switchSmallIcons_10: {fileID: 0}
- switchSmallIcons_11: {fileID: 0}
- switchSmallIcons_12: {fileID: 0}
- switchSmallIcons_13: {fileID: 0}
- switchSmallIcons_14: {fileID: 0}
- switchSmallIcons_15: {fileID: 0}
- switchManualHTML:
- switchAccessibleURLs:
- switchLegalInformation:
- switchMainThreadStackSize: 1048576
- switchPresenceGroupId:
- switchLogoHandling: 0
- switchReleaseVersion: 0
- switchDisplayVersion: 1.0.0
- switchStartupUserAccount: 0
- switchTouchScreenUsage: 0
- switchSupportedLanguagesMask: 0
- switchLogoType: 0
- switchApplicationErrorCodeCategory:
- switchUserAccountSaveDataSize: 0
- switchUserAccountSaveDataJournalSize: 0
- switchApplicationAttribute: 0
- switchCardSpecSize: -1
- switchCardSpecClock: -1
- switchRatingsMask: 0
- switchRatingsInt_0: 0
- switchRatingsInt_1: 0
- switchRatingsInt_2: 0
- switchRatingsInt_3: 0
- switchRatingsInt_4: 0
- switchRatingsInt_5: 0
- switchRatingsInt_6: 0
- switchRatingsInt_7: 0
- switchRatingsInt_8: 0
- switchRatingsInt_9: 0
- switchRatingsInt_10: 0
- switchRatingsInt_11: 0
- switchRatingsInt_12: 0
- switchLocalCommunicationIds_0:
- switchLocalCommunicationIds_1:
- switchLocalCommunicationIds_2:
- switchLocalCommunicationIds_3:
- switchLocalCommunicationIds_4:
- switchLocalCommunicationIds_5:
- switchLocalCommunicationIds_6:
- switchLocalCommunicationIds_7:
- switchParentalControl: 0
- switchAllowsScreenshot: 1
- switchAllowsVideoCapturing: 1
- switchAllowsRuntimeAddOnContentInstall: 0
- switchDataLossConfirmation: 0
- switchUserAccountLockEnabled: 0
- switchSystemResourceMemory: 16777216
- switchSupportedNpadStyles: 22
- switchNativeFsCacheSize: 32
- switchIsHoldTypeHorizontal: 0
- switchSupportedNpadCount: 8
- switchSocketConfigEnabled: 0
- switchTcpInitialSendBufferSize: 32
- switchTcpInitialReceiveBufferSize: 64
- switchTcpAutoSendBufferSizeMax: 256
- switchTcpAutoReceiveBufferSizeMax: 256
- switchUdpSendBufferSize: 9
- switchUdpReceiveBufferSize: 42
- switchSocketBufferEfficiency: 4
- switchSocketInitializeEnabled: 1
- switchNetworkInterfaceManagerInitializeEnabled: 1
- switchPlayerConnectionEnabled: 1
- switchUseNewStyleFilepaths: 0
- switchUseMicroSleepForYield: 1
- switchEnableRamDiskSupport: 0
- switchMicroSleepForYieldTime: 25
- switchRamDiskSpaceSize: 12
- ps4NPAgeRating: 12
- ps4NPTitleSecret:
- ps4NPTrophyPackPath:
- ps4ParentalLevel: 11
- ps4ContentID: ED1633-NPXX51362_00-0000000000000000
- ps4Category: 0
- ps4MasterVersion: 01.00
- ps4AppVersion: 01.00
- ps4AppType: 0
- ps4ParamSfxPath:
- ps4VideoOutPixelFormat: 0
- ps4VideoOutInitialWidth: 1920
- ps4VideoOutBaseModeInitialWidth: 1920
- ps4VideoOutReprojectionRate: 60
- ps4PronunciationXMLPath:
- ps4PronunciationSIGPath:
- ps4BackgroundImagePath:
- ps4StartupImagePath:
- ps4StartupImagesFolder:
- ps4IconImagesFolder:
- ps4SaveDataImagePath:
- ps4SdkOverride:
- ps4BGMPath:
- ps4ShareFilePath:
- ps4ShareOverlayImagePath:
- ps4PrivacyGuardImagePath:
- ps4ExtraSceSysFile:
- ps4NPtitleDatPath:
- ps4RemotePlayKeyAssignment: -1
- ps4RemotePlayKeyMappingDir:
- ps4PlayTogetherPlayerCount: 0
- ps4EnterButtonAssignment: 2
- ps4ApplicationParam1: 0
- ps4ApplicationParam2: 0
- ps4ApplicationParam3: 0
- ps4ApplicationParam4: 0
- ps4DownloadDataSize: 0
- ps4GarlicHeapSize: 2048
- ps4ProGarlicHeapSize: 2560
- playerPrefsMaxSize: 32768
- ps4Passcode: frAQBc8Wsa1xVPfvJcrgRYwTiizs2trQ
- ps4pnSessions: 1
- ps4pnPresence: 1
- ps4pnFriends: 1
- ps4pnGameCustomData: 1
- playerPrefsSupport: 0
- enableApplicationExit: 0
- resetTempFolder: 1
- restrictedAudioUsageRights: 0
- ps4UseResolutionFallback: 0
- ps4ReprojectionSupport: 0
- ps4UseAudio3dBackend: 0
- ps4UseLowGarlicFragmentationMode: 1
- ps4SocialScreenEnabled: 0
- ps4ScriptOptimizationLevel: 2
- ps4Audio3dVirtualSpeakerCount: 14
- ps4attribCpuUsage: 0
- ps4PatchPkgPath:
- ps4PatchLatestPkgPath:
- ps4PatchChangeinfoPath:
- ps4PatchDayOne: 0
- ps4attribUserManagement: 0
- ps4attribMoveSupport: 0
- ps4attrib3DSupport: 0
- ps4attribShareSupport: 0
- ps4attribExclusiveVR: 0
- ps4disableAutoHideSplash: 0
- ps4videoRecordingFeaturesUsed: 0
- ps4contentSearchFeaturesUsed: 0
- ps4CompatibilityPS5: 0
- ps4GPU800MHz: 1
- ps4attribEyeToEyeDistanceSettingVR: 0
- ps4IncludedModules: []
- ps4attribVROutputEnabled: 0
- monoEnv:
- splashScreenBackgroundSourceLandscape: {fileID: 0}
- splashScreenBackgroundSourcePortrait: {fileID: 0}
- blurSplashScreenBackground: 1
- spritePackerPolicy:
- webGLMemorySize: 32
- webGLExceptionSupport: 1
- webGLNameFilesAsHashes: 0
- webGLDataCaching: 1
- webGLDebugSymbols: 0
- webGLEmscriptenArgs:
- webGLModulesDirectory:
- webGLTemplate: APPLICATION:Default
- webGLAnalyzeBuildSize: 0
- webGLUseEmbeddedResources: 0
- webGLCompressionFormat: 0
- webGLWasmArithmeticExceptions: 0
- webGLLinkerTarget: 1
- webGLThreadsSupport: 0
- webGLDecompressionFallback: 0
- scriptingDefineSymbols: {}
- additionalCompilerArguments: {}
- platformArchitecture: {}
- scriptingBackend: {}
- il2cppCompilerConfiguration: {}
- managedStrippingLevel: {}
- incrementalIl2cppBuild: {}
- suppressCommonWarnings: 1
- allowUnsafeCode: 0
- useDeterministicCompilation: 1
- enableRoslynAnalyzers: 1
- additionalIl2CppArgs:
- scriptingRuntimeVersion: 1
- gcIncremental: 1
- assemblyVersionValidation: 1
- gcWBarrierValidation: 0
- apiCompatibilityLevelPerPlatform: {}
- m_RenderingPath: 1
- m_MobileRenderingPath: 1
- metroPackageName: unity-world-storage-package
- metroPackageVersion:
- metroCertificatePath:
- metroCertificatePassword:
- metroCertificateSubject:
- metroCertificateIssuer:
- metroCertificateNotAfter: 0000000000000000
- metroApplicationDescription: unity-world-storage-package
- wsaImages: {}
- metroTileShortName:
- metroTileShowName: 0
- metroMediumTileShowName: 0
- metroLargeTileShowName: 0
- metroWideTileShowName: 0
- metroSupportStreamingInstall: 0
- metroLastRequiredScene: 0
- metroDefaultTileSize: 1
- metroTileForegroundText: 2
- metroTileBackgroundColor: {r: 0.13333334, g: 0.17254902, b: 0.21568628, a: 0}
- metroSplashScreenBackgroundColor: {r: 0.12941177, g: 0.17254902, b: 0.21568628, a: 1}
- metroSplashScreenUseBackgroundColor: 0
- platformCapabilities: {}
- metroTargetDeviceFamilies: {}
- metroFTAName:
- metroFTAFileTypes: []
- metroProtocolName:
- vcxProjDefaultLanguage:
- XboxOneProductId:
- XboxOneUpdateKey:
- XboxOneSandboxId:
- XboxOneContentId:
- XboxOneTitleId:
- XboxOneSCId:
- XboxOneGameOsOverridePath:
- XboxOnePackagingOverridePath:
- XboxOneAppManifestOverridePath:
- XboxOneVersion: 1.0.0.0
- XboxOnePackageEncryption: 0
- XboxOnePackageUpdateGranularity: 2
- XboxOneDescription:
- XboxOneLanguage:
- - enus
- XboxOneCapability: []
- XboxOneGameRating: {}
- XboxOneIsContentPackage: 0
- XboxOneEnhancedXboxCompatibilityMode: 0
- XboxOneEnableGPUVariability: 1
- XboxOneSockets: {}
- XboxOneSplashScreen: {fileID: 0}
- XboxOneAllowedProductIds: []
- XboxOnePersistentLocalStorageSize: 0
- XboxOneXTitleMemory: 8
- XboxOneOverrideIdentityName:
- XboxOneOverrideIdentityPublisher:
- vrEditorSettings: {}
- cloudServicesEnabled: {}
- luminIcon:
- m_Name:
- m_ModelFolderPath:
- m_PortalFolderPath:
- luminCert:
- m_CertPath:
- m_SignPackage: 1
- luminIsChannelApp: 0
- luminVersion:
- m_VersionCode: 1
- m_VersionName:
- apiCompatibilityLevel: 6
- activeInputHandler: 0
- cloudProjectId:
- framebufferDepthMemorylessMode: 0
- qualitySettingsNames: []
- projectName:
- organizationId:
- cloudEnabled: 0
- legacyClampBlendShapeWeights: 0
- playerDataPath:
- forceSRGBBlit: 1
- virtualTexturingSupportEnabled: 0
diff --git a/ProjectSettings/ProjectSettings.asset.meta b/ProjectSettings/ProjectSettings.asset.meta
deleted file mode 100644
index 01e6204063d0c13564d1ea6612a1e2af529646c9..0000000000000000000000000000000000000000
--- a/ProjectSettings/ProjectSettings.asset.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: b834f14af1033ee49b38a7f80098aa15
-NativeFormatImporter:
- externalObjects: {}
- mainObjectFileID: 0
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/ProjectSettings/ProjectVersion.txt b/ProjectSettings/ProjectVersion.txt
deleted file mode 100644
index 3384268ebddb437465655054f97b53bfe32f026b..0000000000000000000000000000000000000000
--- a/ProjectSettings/ProjectVersion.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-m_EditorVersion: 2021.3.0f1
-m_EditorVersionWithRevision: 2021.3.0f1 (6eacc8284459)
diff --git a/ProjectSettings/ProjectVersion.txt.meta b/ProjectSettings/ProjectVersion.txt.meta
deleted file mode 100644
index 972d5d26d135676131ac6ad7bd36619633c5ca6f..0000000000000000000000000000000000000000
--- a/ProjectSettings/ProjectVersion.txt.meta
+++ /dev/null
@@ -1,7 +0,0 @@
-fileFormatVersion: 2
-guid: 0970d7255bb27c743bdb3e22caa9305c
-TextScriptImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/ProjectSettings/QualitySettings.asset b/ProjectSettings/QualitySettings.asset
deleted file mode 100644
index 70e3e0b46074e65322cff2ff00240dbb2ac8c21f..0000000000000000000000000000000000000000
--- a/ProjectSettings/QualitySettings.asset
+++ /dev/null
@@ -1,242 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!47 &1
-QualitySettings:
- m_ObjectHideFlags: 0
- serializedVersion: 5
- m_CurrentQuality: 5
- m_QualitySettings:
- - serializedVersion: 2
- name: Very Low
- pixelLightCount: 0
- shadows: 0
- shadowResolution: 0
- shadowProjection: 1
- shadowCascades: 1
- shadowDistance: 15
- shadowNearPlaneOffset: 3
- shadowCascade2Split: 0.33333334
- shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
- shadowmaskMode: 0
- skinWeights: 1
- textureQuality: 1
- anisotropicTextures: 0
- antiAliasing: 0
- softParticles: 0
- softVegetation: 0
- realtimeReflectionProbes: 0
- billboardsFaceCameraPosition: 0
- vSyncCount: 0
- lodBias: 0.3
- maximumLODLevel: 0
- streamingMipmapsActive: 0
- streamingMipmapsAddAllCameras: 1
- streamingMipmapsMemoryBudget: 512
- streamingMipmapsRenderersPerFrame: 512
- streamingMipmapsMaxLevelReduction: 2
- streamingMipmapsMaxFileIORequests: 1024
- particleRaycastBudget: 4
- asyncUploadTimeSlice: 2
- asyncUploadBufferSize: 16
- asyncUploadPersistentBuffer: 1
- resolutionScalingFixedDPIFactor: 1
- customRenderPipeline: {fileID: 0}
- excludedTargetPlatforms: []
- - serializedVersion: 2
- name: Low
- pixelLightCount: 0
- shadows: 0
- shadowResolution: 0
- shadowProjection: 1
- shadowCascades: 1
- shadowDistance: 20
- shadowNearPlaneOffset: 3
- shadowCascade2Split: 0.33333334
- shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
- shadowmaskMode: 0
- skinWeights: 2
- textureQuality: 0
- anisotropicTextures: 0
- antiAliasing: 0
- softParticles: 0
- softVegetation: 0
- realtimeReflectionProbes: 0
- billboardsFaceCameraPosition: 0
- vSyncCount: 0
- lodBias: 0.4
- maximumLODLevel: 0
- streamingMipmapsActive: 0
- streamingMipmapsAddAllCameras: 1
- streamingMipmapsMemoryBudget: 512
- streamingMipmapsRenderersPerFrame: 512
- streamingMipmapsMaxLevelReduction: 2
- streamingMipmapsMaxFileIORequests: 1024
- particleRaycastBudget: 16
- asyncUploadTimeSlice: 2
- asyncUploadBufferSize: 16
- asyncUploadPersistentBuffer: 1
- resolutionScalingFixedDPIFactor: 1
- customRenderPipeline: {fileID: 0}
- excludedTargetPlatforms: []
- - serializedVersion: 2
- name: Medium
- pixelLightCount: 1
- shadows: 1
- shadowResolution: 0
- shadowProjection: 1
- shadowCascades: 1
- shadowDistance: 20
- shadowNearPlaneOffset: 3
- shadowCascade2Split: 0.33333334
- shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
- shadowmaskMode: 0
- skinWeights: 2
- textureQuality: 0
- anisotropicTextures: 1
- antiAliasing: 0
- softParticles: 0
- softVegetation: 0
- realtimeReflectionProbes: 0
- billboardsFaceCameraPosition: 0
- vSyncCount: 1
- lodBias: 0.7
- maximumLODLevel: 0
- streamingMipmapsActive: 0
- streamingMipmapsAddAllCameras: 1
- streamingMipmapsMemoryBudget: 512
- streamingMipmapsRenderersPerFrame: 512
- streamingMipmapsMaxLevelReduction: 2
- streamingMipmapsMaxFileIORequests: 1024
- particleRaycastBudget: 64
- asyncUploadTimeSlice: 2
- asyncUploadBufferSize: 16
- asyncUploadPersistentBuffer: 1
- resolutionScalingFixedDPIFactor: 1
- customRenderPipeline: {fileID: 0}
- excludedTargetPlatforms: []
- - serializedVersion: 2
- name: High
- pixelLightCount: 2
- shadows: 2
- shadowResolution: 1
- shadowProjection: 1
- shadowCascades: 2
- shadowDistance: 40
- shadowNearPlaneOffset: 3
- shadowCascade2Split: 0.33333334
- shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
- shadowmaskMode: 1
- skinWeights: 2
- textureQuality: 0
- anisotropicTextures: 1
- antiAliasing: 0
- softParticles: 0
- softVegetation: 1
- realtimeReflectionProbes: 1
- billboardsFaceCameraPosition: 1
- vSyncCount: 1
- lodBias: 1
- maximumLODLevel: 0
- streamingMipmapsActive: 0
- streamingMipmapsAddAllCameras: 1
- streamingMipmapsMemoryBudget: 512
- streamingMipmapsRenderersPerFrame: 512
- streamingMipmapsMaxLevelReduction: 2
- streamingMipmapsMaxFileIORequests: 1024
- particleRaycastBudget: 256
- asyncUploadTimeSlice: 2
- asyncUploadBufferSize: 16
- asyncUploadPersistentBuffer: 1
- resolutionScalingFixedDPIFactor: 1
- customRenderPipeline: {fileID: 0}
- excludedTargetPlatforms: []
- - serializedVersion: 2
- name: Very High
- pixelLightCount: 3
- shadows: 2
- shadowResolution: 2
- shadowProjection: 1
- shadowCascades: 2
- shadowDistance: 70
- shadowNearPlaneOffset: 3
- shadowCascade2Split: 0.33333334
- shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
- shadowmaskMode: 1
- skinWeights: 4
- textureQuality: 0
- anisotropicTextures: 2
- antiAliasing: 2
- softParticles: 1
- softVegetation: 1
- realtimeReflectionProbes: 1
- billboardsFaceCameraPosition: 1
- vSyncCount: 1
- lodBias: 1.5
- maximumLODLevel: 0
- streamingMipmapsActive: 0
- streamingMipmapsAddAllCameras: 1
- streamingMipmapsMemoryBudget: 512
- streamingMipmapsRenderersPerFrame: 512
- streamingMipmapsMaxLevelReduction: 2
- streamingMipmapsMaxFileIORequests: 1024
- particleRaycastBudget: 1024
- asyncUploadTimeSlice: 2
- asyncUploadBufferSize: 16
- asyncUploadPersistentBuffer: 1
- resolutionScalingFixedDPIFactor: 1
- customRenderPipeline: {fileID: 0}
- excludedTargetPlatforms: []
- - serializedVersion: 2
- name: Ultra
- pixelLightCount: 4
- shadows: 2
- shadowResolution: 2
- shadowProjection: 1
- shadowCascades: 4
- shadowDistance: 150
- shadowNearPlaneOffset: 3
- shadowCascade2Split: 0.33333334
- shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
- shadowmaskMode: 1
- skinWeights: 255
- textureQuality: 0
- anisotropicTextures: 2
- antiAliasing: 2
- softParticles: 1
- softVegetation: 1
- realtimeReflectionProbes: 1
- billboardsFaceCameraPosition: 1
- vSyncCount: 1
- lodBias: 2
- maximumLODLevel: 0
- streamingMipmapsActive: 0
- streamingMipmapsAddAllCameras: 1
- streamingMipmapsMemoryBudget: 512
- streamingMipmapsRenderersPerFrame: 512
- streamingMipmapsMaxLevelReduction: 2
- streamingMipmapsMaxFileIORequests: 1024
- particleRaycastBudget: 4096
- asyncUploadTimeSlice: 2
- asyncUploadBufferSize: 16
- asyncUploadPersistentBuffer: 1
- resolutionScalingFixedDPIFactor: 1
- customRenderPipeline: {fileID: 0}
- excludedTargetPlatforms: []
- m_PerPlatformDefaultQuality:
- Android: 2
- CloudRendering: 5
- EmbeddedLinux: 5
- GameCoreScarlett: 5
- GameCoreXboxOne: 5
- Lumin: 5
- Nintendo Switch: 5
- PS4: 5
- PS5: 5
- Server: 5
- Stadia: 5
- Standalone: 5
- WebGL: 3
- Windows Store Apps: 5
- XboxOne: 5
- iPhone: 2
- tvOS: 2
diff --git a/ProjectSettings/QualitySettings.asset.meta b/ProjectSettings/QualitySettings.asset.meta
deleted file mode 100644
index d538d66e463f1bcded057be804d1596e0208612a..0000000000000000000000000000000000000000
--- a/ProjectSettings/QualitySettings.asset.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: dee396c9debf3dd43a8953cf71e626c5
-NativeFormatImporter:
- externalObjects: {}
- mainObjectFileID: 0
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/ProjectSettings/SceneTemplateSettings.json b/ProjectSettings/SceneTemplateSettings.json
deleted file mode 100644
index 6f3e60fd8b7178b90a74640de7a6006d7a2b6565..0000000000000000000000000000000000000000
--- a/ProjectSettings/SceneTemplateSettings.json
+++ /dev/null
@@ -1,167 +0,0 @@
-{
- "templatePinStates": [],
- "dependencyTypeInfos": [
- {
- "userAdded": false,
- "type": "UnityEngine.AnimationClip",
- "ignore": false,
- "defaultInstantiationMode": 0,
- "supportsModification": true
- },
- {
- "userAdded": false,
- "type": "UnityEditor.Animations.AnimatorController",
- "ignore": false,
- "defaultInstantiationMode": 0,
- "supportsModification": true
- },
- {
- "userAdded": false,
- "type": "UnityEngine.AnimatorOverrideController",
- "ignore": false,
- "defaultInstantiationMode": 0,
- "supportsModification": true
- },
- {
- "userAdded": false,
- "type": "UnityEditor.Audio.AudioMixerController",
- "ignore": false,
- "defaultInstantiationMode": 0,
- "supportsModification": true
- },
- {
- "userAdded": false,
- "type": "UnityEngine.ComputeShader",
- "ignore": true,
- "defaultInstantiationMode": 1,
- "supportsModification": true
- },
- {
- "userAdded": false,
- "type": "UnityEngine.Cubemap",
- "ignore": false,
- "defaultInstantiationMode": 0,
- "supportsModification": true
- },
- {
- "userAdded": false,
- "type": "UnityEngine.GameObject",
- "ignore": false,
- "defaultInstantiationMode": 0,
- "supportsModification": true
- },
- {
- "userAdded": false,
- "type": "UnityEditor.LightingDataAsset",
- "ignore": false,
- "defaultInstantiationMode": 0,
- "supportsModification": false
- },
- {
- "userAdded": false,
- "type": "UnityEngine.LightingSettings",
- "ignore": false,
- "defaultInstantiationMode": 0,
- "supportsModification": true
- },
- {
- "userAdded": false,
- "type": "UnityEngine.Material",
- "ignore": false,
- "defaultInstantiationMode": 0,
- "supportsModification": true
- },
- {
- "userAdded": false,
- "type": "UnityEditor.MonoScript",
- "ignore": true,
- "defaultInstantiationMode": 1,
- "supportsModification": true
- },
- {
- "userAdded": false,
- "type": "UnityEngine.PhysicMaterial",
- "ignore": false,
- "defaultInstantiationMode": 0,
- "supportsModification": true
- },
- {
- "userAdded": false,
- "type": "UnityEngine.PhysicsMaterial2D",
- "ignore": false,
- "defaultInstantiationMode": 0,
- "supportsModification": true
- },
- {
- "userAdded": false,
- "type": "UnityEngine.Rendering.PostProcessing.PostProcessProfile",
- "ignore": false,
- "defaultInstantiationMode": 0,
- "supportsModification": true
- },
- {
- "userAdded": false,
- "type": "UnityEngine.Rendering.PostProcessing.PostProcessResources",
- "ignore": false,
- "defaultInstantiationMode": 0,
- "supportsModification": true
- },
- {
- "userAdded": false,
- "type": "UnityEngine.Rendering.VolumeProfile",
- "ignore": false,
- "defaultInstantiationMode": 0,
- "supportsModification": true
- },
- {
- "userAdded": false,
- "type": "UnityEditor.SceneAsset",
- "ignore": false,
- "defaultInstantiationMode": 0,
- "supportsModification": false
- },
- {
- "userAdded": false,
- "type": "UnityEngine.Shader",
- "ignore": true,
- "defaultInstantiationMode": 1,
- "supportsModification": true
- },
- {
- "userAdded": false,
- "type": "UnityEngine.ShaderVariantCollection",
- "ignore": true,
- "defaultInstantiationMode": 1,
- "supportsModification": true
- },
- {
- "userAdded": false,
- "type": "UnityEngine.Texture",
- "ignore": false,
- "defaultInstantiationMode": 0,
- "supportsModification": true
- },
- {
- "userAdded": false,
- "type": "UnityEngine.Texture2D",
- "ignore": false,
- "defaultInstantiationMode": 0,
- "supportsModification": true
- },
- {
- "userAdded": false,
- "type": "UnityEngine.Timeline.TimelineAsset",
- "ignore": false,
- "defaultInstantiationMode": 0,
- "supportsModification": true
- }
- ],
- "defaultDependencyTypeInfo": {
- "userAdded": false,
- "type": "",
- "ignore": false,
- "defaultInstantiationMode": 1,
- "supportsModification": true
- },
- "newSceneOverride": 0
-}
\ No newline at end of file
diff --git a/ProjectSettings/SceneTemplateSettings.json.meta b/ProjectSettings/SceneTemplateSettings.json.meta
deleted file mode 100644
index ea87f999e9907b5994eca06a6a005e46ed0921e1..0000000000000000000000000000000000000000
--- a/ProjectSettings/SceneTemplateSettings.json.meta
+++ /dev/null
@@ -1,7 +0,0 @@
-fileFormatVersion: 2
-guid: 99aae57f092ac4546a06c814060a4d0a
-TextScriptImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/ProjectSettings/TagManager.asset b/ProjectSettings/TagManager.asset
deleted file mode 100644
index 1c92a7840ec11895c76785f65d949a3d20d53355..0000000000000000000000000000000000000000
--- a/ProjectSettings/TagManager.asset
+++ /dev/null
@@ -1,43 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!78 &1
-TagManager:
- serializedVersion: 2
- tags: []
- layers:
- - Default
- - TransparentFX
- - Ignore Raycast
- -
- - Water
- - UI
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- m_SortingLayers:
- - name: Default
- uniqueID: 0
- locked: 0
diff --git a/ProjectSettings/TagManager.asset.meta b/ProjectSettings/TagManager.asset.meta
deleted file mode 100644
index f68381884ec9a33876a56e0b7e4ee9f0e4fe6b2e..0000000000000000000000000000000000000000
--- a/ProjectSettings/TagManager.asset.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 99047c0f9b8cc454984b1daf7d81690b
-NativeFormatImporter:
- externalObjects: {}
- mainObjectFileID: 0
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/ProjectSettings/TimeManager.asset b/ProjectSettings/TimeManager.asset
deleted file mode 100644
index 558a017e1f50b2db73414a1abad3c033922774f8..0000000000000000000000000000000000000000
--- a/ProjectSettings/TimeManager.asset
+++ /dev/null
@@ -1,9 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!5 &1
-TimeManager:
- m_ObjectHideFlags: 0
- Fixed Timestep: 0.02
- Maximum Allowed Timestep: 0.33333334
- m_TimeScale: 1
- Maximum Particle Timestep: 0.03
diff --git a/ProjectSettings/TimeManager.asset.meta b/ProjectSettings/TimeManager.asset.meta
deleted file mode 100644
index 05020f6b9ecb4a9eb07dc3d49223c863e7bfa496..0000000000000000000000000000000000000000
--- a/ProjectSettings/TimeManager.asset.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 295cb699fa6598548b767516df564222
-NativeFormatImporter:
- externalObjects: {}
- mainObjectFileID: 0
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/ProjectSettings/UnityConnectSettings.asset b/ProjectSettings/UnityConnectSettings.asset
deleted file mode 100644
index 6125b308af4d7e7649a33ce7facf541ff7e3ec47..0000000000000000000000000000000000000000
--- a/ProjectSettings/UnityConnectSettings.asset
+++ /dev/null
@@ -1,35 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!310 &1
-UnityConnectSettings:
- m_ObjectHideFlags: 0
- serializedVersion: 1
- m_Enabled: 0
- m_TestMode: 0
- m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events
- m_EventUrl: https://cdp.cloud.unity3d.com/v1/events
- m_ConfigUrl: https://config.uca.cloud.unity3d.com
- m_DashboardUrl: https://dashboard.unity3d.com
- m_TestInitMode: 0
- CrashReportingSettings:
- m_EventUrl: https://perf-events.cloud.unity3d.com
- m_Enabled: 0
- m_LogBufferSize: 10
- m_CaptureEditorExceptions: 1
- UnityPurchasingSettings:
- m_Enabled: 0
- m_TestMode: 0
- UnityAnalyticsSettings:
- m_Enabled: 0
- m_TestMode: 0
- m_InitializeOnStartup: 1
- UnityAdsSettings:
- m_Enabled: 0
- m_InitializeOnStartup: 1
- m_TestMode: 0
- m_IosGameId:
- m_AndroidGameId:
- m_GameIds: {}
- m_GameId:
- PerformanceReportingSettings:
- m_Enabled: 0
diff --git a/ProjectSettings/UnityConnectSettings.asset.meta b/ProjectSettings/UnityConnectSettings.asset.meta
deleted file mode 100644
index 066af0498194b91fbe0c796695bed70432643c66..0000000000000000000000000000000000000000
--- a/ProjectSettings/UnityConnectSettings.asset.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 991311cb0f8c432438799551ee5d1de6
-NativeFormatImporter:
- externalObjects: {}
- mainObjectFileID: 0
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/ProjectSettings/VFXManager.asset b/ProjectSettings/VFXManager.asset
deleted file mode 100644
index 82b46d93b83edc055c75f2670ccffdcb655de64e..0000000000000000000000000000000000000000
--- a/ProjectSettings/VFXManager.asset
+++ /dev/null
@@ -1,15 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!937362698 &1
-VFXManager:
- m_ObjectHideFlags: 0
- m_IndirectShader: {fileID: 0}
- m_CopyBufferShader: {fileID: 0}
- m_SortShader: {fileID: 0}
- m_StripUpdateShader: {fileID: 0}
- m_RenderPipeSettingsPath:
- m_FixedTimeStep: 0.016666668
- m_MaxDeltaTime: 0.05
- m_CompiledVersion: 0
- m_RuntimeVersion: 0
- m_RuntimeResources: {fileID: 0}
diff --git a/ProjectSettings/VFXManager.asset.meta b/ProjectSettings/VFXManager.asset.meta
deleted file mode 100644
index 77e2bbfa3291269d154d4fe2698dfe598c7a410d..0000000000000000000000000000000000000000
--- a/ProjectSettings/VFXManager.asset.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 48f761eea97e70a4ebf73feef40bd3ce
-NativeFormatImporter:
- externalObjects: {}
- mainObjectFileID: 0
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/ProjectSettings/VersionControlSettings.asset b/ProjectSettings/VersionControlSettings.asset
deleted file mode 100644
index dca288142fc043d5a749e9058fe625505008834f..0000000000000000000000000000000000000000
--- a/ProjectSettings/VersionControlSettings.asset
+++ /dev/null
@@ -1,8 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!890905787 &1
-VersionControlSettings:
- m_ObjectHideFlags: 0
- m_Mode: Visible Meta Files
- m_CollabEditorSettings:
- inProgressEnabled: 1
diff --git a/ProjectSettings/VersionControlSettings.asset.meta b/ProjectSettings/VersionControlSettings.asset.meta
deleted file mode 100644
index 07a40832c1dacaff6cc61af936d53757963bf3f9..0000000000000000000000000000000000000000
--- a/ProjectSettings/VersionControlSettings.asset.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 37fb0e904d0aacb4498aa0239edff596
-NativeFormatImporter:
- externalObjects: {}
- mainObjectFileID: 0
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/ProjectSettings/boot.config b/ProjectSettings/boot.config
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/ProjectSettings/boot.config.meta b/ProjectSettings/boot.config.meta
deleted file mode 100644
index 49833f495e0c494d99723d2b8d3f0199e5292821..0000000000000000000000000000000000000000
--- a/ProjectSettings/boot.config.meta
+++ /dev/null
@@ -1,32 +0,0 @@
-fileFormatVersion: 2
-guid: 7b029a9dc17f85a4a83fc149e9183573
-PluginImporter:
- externalObjects: {}
- serializedVersion: 2
- iconMap: {}
- executionOrder: {}
- defineConstraints: []
- isPreloaded: 0
- isOverridable: 1
- isExplicitlyReferenced: 0
- validateReferences: 1
- platformData:
- - first:
- Any:
- second:
- enabled: 0
- settings: {}
- - first:
- Editor: Editor
- second:
- enabled: 0
- settings:
- DefaultValueInitialized: true
- - first:
- Windows Store Apps: WindowsStoreApps
- second:
- enabled: 1
- settings: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/README.md b/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..8aee8fd855eb6f6d959b475297d5ccfc3263d5e0
--- /dev/null
+++ b/README.md
@@ -0,0 +1,57 @@
+*This repository is part of the outcomes of the Specialist Task Force 620 focusing on the authoring of a World Representation as part of the ETSI ISG Augmented Reality Framework architecture (https://www.etsi.org/deliver/etsi_gs/ARF/001_099/003/01.01.01_60/gs_ARF003v010101p.pdf).*
+*The set of the World Representation authoring components includes:*
+
+*• The C++ and C# source code for servers and clients generated from OpenAPI available here (https://forge.etsi.org/rep/arf/arf005)*
+
+*• A Unity plugin and a Unity editor for authoring and accessing a World Representation hosted on a World Storage server.*
+
+*All these components are available under the ETSI Labs group “World Storage API Helpers”: https://labs.etsi.org/rep/arf/world-storage-api-helpers*
+
+*If you wish to contribute to this project or any other projects in the context of the [ETSI ISG Augmented Reality Framework architecture](https://www.etsi.org/committee/1420-arf), please refer to the ["How to get involved in an ISG" section on the ETSI website](https://www.etsi.org/how-to-get-involved-in-an-isg)*
+
+---
+
+# Preliminary
+
+Up now, January 2024, the Unity version supoorted by the ARF is 2022 LTS.
+
+# Description
+
+This is a Unity package to be included in Unity projects for accessing the ISG ARF World Storage (and/or WorldAnalysis) data. It contains the c# modules generated from the ISG ARF World Storage C# Client available at https://labs.etsi.org/rep/arf/world-storage-api-helpers/world-storage-csharp-client.
+
+This package also contains some examplary runtime scripts. They demonstrate how to use the API in combination with scriptable objects to set up various servers and users.
+
+# How to checkout
+
+This project should be directly added as package to a Unity project. This can either be done
+
+- by checking it out into the `Packages` folder of the Unity project using the `git clone` command or
+- by directly referencing the repository using the Package Manager integrated in Unity.
+
+The second variant is recommended. It has been available since Unity 2020.
+
+When cloning the package into the `Packages` folder of a Unity project which itself is a git project, then the package should be referenced as git submodule. How this is done is documented in the https://git-scm.com/book/en/v2/Git-Tools-Submodules. An example project provided by the ISG ARF using this approach is available at https://labs.etsi.org/rep/arf/world-storage-api-helpers/unity-world-storage-editor.
+
+# Setting up Unity
+
+Add the NewtonSoft package. Go in the package manager from Unity and add a package by name:
+
+ Name: com.unity.nuget.newtonsoft-json
+ version: 3.2.1
+
+Change the Unity prefs to use the NET Framework (not only 2.1)
+
+Add a file "csc.rsp":
+
+ -r:System.ComponentModel.DataAnnotations.dll
+
+# How to update the client DLLs
+
+To update the client API module(s)
+
+- checkout the ISG ARF World Storage C# Client available at https://labs.etsi.org/rep/arf/world-storage-api-helpers/world-storage-csharp-client,
+- build the ISG ARF World Storage C# Client as indicated in the corresponding `README.md` file,
+- copy the content of the folder client\csharp-nswag` of that project into the `Plugins` folder of this project,
+- commit the changes of this project to the repository.
+
+Please ensure always to use the newest version of the ISG ARF World Storage C# Client.
diff --git a/Assets/Plugins/Org.OpenAPITools.xml.meta b/README.md.meta
similarity index 75%
rename from Assets/Plugins/Org.OpenAPITools.xml.meta
rename to README.md.meta
index 257c25d2f6b08af150aeb787d7759fd38a99148c..cc5df26ecef3f2358d4b302eff1a5824ecf10603 100644
--- a/Assets/Plugins/Org.OpenAPITools.xml.meta
+++ b/README.md.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: b91ec31882c185d4e9da9441ebe609e2
+guid: e951b6071cddc9c4d9c9bbf60507be73
TextScriptImporter:
externalObjects: {}
userData:
diff --git a/Assets/Plugins.meta b/Runtime.meta
similarity index 77%
rename from Assets/Plugins.meta
rename to Runtime.meta
index b1e3b19ff9e30afbbfc97d8e36cca5246ca5538a..6c0bbe0368a8f6ec3f13c4c533458ae6cd83d627 100644
--- a/Assets/Plugins.meta
+++ b/Runtime.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 7428887401623a946a71e87a3e6fb843
+guid: 13d4680d153876341a60fb2d5f2a006a
folderAsset: yes
DefaultImporter:
externalObjects: {}
diff --git a/Assets/Scenes.meta b/Runtime/Scenes.meta
similarity index 100%
rename from Assets/Scenes.meta
rename to Runtime/Scenes.meta
diff --git a/Runtime/Scenes/ARFWorldStorageServer_HHI.asset b/Runtime/Scenes/ARFWorldStorageServer_HHI.asset
new file mode 100644
index 0000000000000000000000000000000000000000..2ce1ede22d70111b306bf310753ef69b8caa50c6
--- /dev/null
+++ b/Runtime/Scenes/ARFWorldStorageServer_HHI.asset
@@ -0,0 +1,19 @@
+%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: e4b7be4c33f68d0418c3b4e1a7053d91, type: 3}
+ m_Name: ARFWorldStorageServer_HHI
+ m_EditorClassIdentifier:
+ serverName: ETSI STF
+ company: Fraunhofer HHI
+ basePath: https://etsi.hhi.fraunhofer.de
+ port: 0
+ currentUser: {fileID: 0}
diff --git a/ProjectSettings/AudioManager.asset.meta b/Runtime/Scenes/ARFWorldStorageServer_HHI.asset.meta
similarity index 64%
rename from ProjectSettings/AudioManager.asset.meta
rename to Runtime/Scenes/ARFWorldStorageServer_HHI.asset.meta
index d8c8c30530d8f84e479fc8c58f11d2e0e60b4fcf..64518ff6c7bbbf4687b7414bdcfc89a886261dfc 100644
--- a/ProjectSettings/AudioManager.asset.meta
+++ b/Runtime/Scenes/ARFWorldStorageServer_HHI.asset.meta
@@ -1,8 +1,8 @@
fileFormatVersion: 2
-guid: d1d8810df4a87114fa5d8eeb14b80d8d
+guid: e58ba3b536eb26a4d899273c538c88e7
NativeFormatImporter:
externalObjects: {}
- mainObjectFileID: 0
+ mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
diff --git a/Runtime/Scenes/ARFWorldStorageServer_Local.asset b/Runtime/Scenes/ARFWorldStorageServer_Local.asset
new file mode 100644
index 0000000000000000000000000000000000000000..f44b121a3d62bfaee4d96e533c0013d9ef4e8f9f
--- /dev/null
+++ b/Runtime/Scenes/ARFWorldStorageServer_Local.asset
@@ -0,0 +1,19 @@
+%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: e4b7be4c33f68d0418c3b4e1a7053d91, type: 3}
+ m_Name: ARFWorldStorageServer_Local
+ m_EditorClassIdentifier:
+ serverName: VisualStudio IIS
+ company: Fraunhofer HHI
+ basePath: https://localhost
+ port: 44301
+ currentUser: {fileID: 0}
diff --git a/ProjectSettings/ClusterInputManager.asset.meta b/Runtime/Scenes/ARFWorldStorageServer_Local.asset.meta
similarity index 64%
rename from ProjectSettings/ClusterInputManager.asset.meta
rename to Runtime/Scenes/ARFWorldStorageServer_Local.asset.meta
index 8e9a917478c4d6dbef2f788434b6889ff3257416..941e4b81567ae2f481a123724a7dcd095d9cf088 100644
--- a/ProjectSettings/ClusterInputManager.asset.meta
+++ b/Runtime/Scenes/ARFWorldStorageServer_Local.asset.meta
@@ -1,8 +1,8 @@
fileFormatVersion: 2
-guid: 7c724d990762a3d468d28a5eb0b16eb3
+guid: f9a60da7e2e6288438cdf1a6c0b1d74c
NativeFormatImporter:
externalObjects: {}
- mainObjectFileID: 0
+ mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
diff --git a/Runtime/Scenes/OpenAPITest.cs b/Runtime/Scenes/OpenAPITest.cs
new file mode 100644
index 0000000000000000000000000000000000000000..a9f75a636b6caaf923b5867876a66d434f96be03
--- /dev/null
+++ b/Runtime/Scenes/OpenAPITest.cs
@@ -0,0 +1,178 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using TMPro;
+using UnityEngine;
+
+using ETSI.ARF.OpenAPI;
+using ETSI.ARF.OpenAPI.WorldStorage;
+using ETSI.ARF.WorldStorage;
+using ETSI.ARF.WorldStorage.REST;
+
+public class OpenAPITest : MonoBehaviour
+{
+ public WorldStorageServer server;
+ public TMP_Text servername;
+ public TMP_Text output;
+
+ private string msg = null;
+ private Queue handleResponseQ = new Queue();
+
+ private Guid lastUUID = Guid.Empty;
+
+ // Start is called before the first frame update
+ void Start()
+ {
+ if (servername) servername.text = "ARF Server: " + server.basePath + "";
+ }
+
+ // Update is called once per frame
+ void Update()
+ {
+ if (msg != null)
+ {
+ output.text = msg;
+ msg = null;
+ }
+
+ if (handleResponseQ.Count > 0)
+ {
+ object o = handleResponseQ.Dequeue();
+ if (o is ResponseObject)
+ {
+ ResponseObject response = o as ResponseObject;
+ output.text = $"Request Time: { response.requestTime.ToLongTimeString() } / Total Time: { response.DeltaTime.TotalMilliseconds }ms\n\nContent:\n{ response.result }";
+ }
+ else if (o is ResponseObject)
+ {
+ ResponseObject response = o as ResponseObject;
+ output.text = $"Request Time: { response.requestTime.ToLongTimeString() } / Total Time: { response.DeltaTime.TotalMilliseconds }ms\n\nContent:\nUUID={ response.result.UUID}\nName={ response.result.Name }\nType={ response.result.TrackableType }";
+ }
+ else if (o is ResponseObject>)
+ {
+ ResponseObject> response = o as ResponseObject>;
+ output.text = $"Request Time: { response.requestTime.ToLongTimeString() } / Total Time: { response.DeltaTime.TotalMilliseconds }ms\n\nContent:\nNum of trackable objects={ response.result.Count }";
+ int i = 0;
+ foreach (var t in response.result)
+ {
+ output.text += $"\n{ i++ }: UUID={ t.UUID }";
+ lastUUID = t.UUID;
+ }
+ }
+ }
+ }
+
+ public void OnButtonClick_TestPing()
+ {
+ if (server == null)
+ {
+ output.text = "Error: No server defined!";
+ return;
+ }
+
+ ResponseObject token = AdminRequest.PingAsync(server, (response) =>
+ {
+ handleResponseQ.Enqueue(response);
+ });
+ output.text = "Starting request @ time: " + token.requestTime.ToLongTimeString() + "...";
+ }
+
+ public void OnButtonClick_GetLastTrackable()
+ {
+ if (server == null)
+ {
+ output.text = "Error: No server defined!";
+ return;
+ }
+
+ if (lastUUID == Guid.Empty)
+ {
+ output.text = "Error: Please, load first a list!";
+ return;
+ }
+
+ ResponseObject token = TrackableRequest.GetTrackableAsync(server, lastUUID, (response) =>
+ {
+ handleResponseQ.Enqueue(response);
+ });
+ output.text = "Starting request @ time: " + token.requestTime.ToLongTimeString() + "...";
+ }
+
+ public void OnButtonClick_GetAllTrackables()
+ {
+ if (server == null)
+ {
+ output.text = "Error: No server defined!";
+ return;
+ }
+
+ ResponseObject> token = TrackableRequest.GetTrackablesAsync(server, (response) =>
+ {
+ handleResponseQ.Enqueue(response);
+ });
+ output.text = "Starting request @ time: " + token.requestTime.ToLongTimeString() + "...";
+ }
+
+ public void OnButtonClick_CreateTrackable()
+ {
+ if (server == null)
+ {
+ output.text = "Error: No server defined!";
+ return;
+ }
+
+ Trackable tr = new Trackable(DateTime.Now.ToFileTime().ToString());
+ tr.TrackableType = TrackableType.OTHER;
+ ResponseObject token = TrackableRequest.CreateTrackableAsync(server, tr, (response) =>
+ {
+ lastUUID = Guid.Parse(response.result);
+ handleResponseQ.Enqueue(response);
+ });
+ lastUUID = Guid.Empty;
+ }
+
+ public void OnButtonClick_UpdateLastTrackable()
+ {
+ if (server == null)
+ {
+ output.text = "Error: No server defined!";
+ return;
+ }
+
+ if (lastUUID == Guid.Empty)
+ {
+ output.text = "Error: Please, load first a list!";
+ return;
+ }
+
+ ResponseObject token = TrackableRequest.GetTrackableAsync(server, lastUUID, (response) =>
+ {
+ response.result.Name += "'";
+ ResponseObject token = TrackableRequest.UpdateTrackableAsync(server, response.result, (response) =>
+ {
+ handleResponseQ.Enqueue(response);
+ });
+ });
+ }
+
+ public void OnButtonClick_DeleteLastTrackable()
+ {
+ if (server == null)
+ {
+ output.text = "Error: No server defined!";
+ return;
+ }
+
+ if (lastUUID == Guid.Empty)
+ {
+ output.text = "Error: Please, load first a list!";
+ return;
+ }
+
+ ResponseObject token = TrackableRequest.DeleteTrackableAsync(server, lastUUID, (response) =>
+ {
+ handleResponseQ.Enqueue(response);
+ lastUUID = Guid.Empty;
+ });
+ }
+}
\ No newline at end of file
diff --git a/Runtime/Scenes/OpenAPITest.cs.meta b/Runtime/Scenes/OpenAPITest.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..5648e2b4764619fe9094132b4ba057fb2770c00e
--- /dev/null
+++ b/Runtime/Scenes/OpenAPITest.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 8d8b78014fb03e94c90db2fa1a2fde7b
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Runtime/Scenes/Package Test.unity b/Runtime/Scenes/Package Test.unity
new file mode 100644
index 0000000000000000000000000000000000000000..607faa70b9331a2829b5cd4e1879460aa1a110b6
--- /dev/null
+++ b/Runtime/Scenes/Package Test.unity
@@ -0,0 +1,2823 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_OcclusionBakeSettings:
+ smallestOccluder: 5
+ smallestHole: 0.25
+ backfaceThreshold: 100
+ m_SceneGUID: 00000000000000000000000000000000
+ m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 9
+ m_Fog: 0
+ m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+ m_FogMode: 3
+ m_FogDensity: 0.01
+ m_LinearFogStart: 0
+ m_LinearFogEnd: 300
+ m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
+ m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
+ m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
+ m_AmbientIntensity: 1
+ m_AmbientMode: 0
+ m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
+ m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
+ m_HaloStrength: 0.5
+ m_FlareStrength: 1
+ m_FlareFadeSpeed: 3
+ m_HaloTexture: {fileID: 0}
+ m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
+ m_DefaultReflectionMode: 0
+ m_DefaultReflectionResolution: 128
+ m_ReflectionBounces: 1
+ m_ReflectionIntensity: 1
+ m_CustomReflection: {fileID: 0}
+ m_Sun: {fileID: 0}
+ m_IndirectSpecularColor: {r: 0.44402242, g: 0.49316543, b: 0.5722324, a: 1}
+ m_UseRadianceAmbientProbe: 0
+--- !u!157 &3
+LightmapSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 12
+ m_GIWorkflowMode: 1
+ m_GISettings:
+ serializedVersion: 2
+ m_BounceScale: 1
+ m_IndirectOutputScale: 1
+ m_AlbedoBoost: 1
+ m_EnvironmentLightingMode: 0
+ m_EnableBakedLightmaps: 1
+ m_EnableRealtimeLightmaps: 0
+ m_LightmapEditorSettings:
+ serializedVersion: 12
+ m_Resolution: 2
+ m_BakeResolution: 40
+ m_AtlasSize: 1024
+ m_AO: 0
+ m_AOMaxDistance: 1
+ m_CompAOExponent: 1
+ m_CompAOExponentDirect: 0
+ m_ExtractAmbientOcclusion: 0
+ m_Padding: 2
+ m_LightmapParameters: {fileID: 0}
+ m_LightmapsBakeMode: 1
+ m_TextureCompression: 1
+ m_FinalGather: 0
+ m_FinalGatherFiltering: 1
+ m_FinalGatherRayCount: 256
+ m_ReflectionCompression: 2
+ m_MixedBakeMode: 2
+ m_BakeBackend: 1
+ m_PVRSampling: 1
+ m_PVRDirectSampleCount: 32
+ m_PVRSampleCount: 512
+ m_PVRBounces: 2
+ m_PVREnvironmentSampleCount: 256
+ m_PVREnvironmentReferencePointCount: 2048
+ m_PVRFilteringMode: 1
+ m_PVRDenoiserTypeDirect: 1
+ m_PVRDenoiserTypeIndirect: 1
+ m_PVRDenoiserTypeAO: 1
+ m_PVRFilterTypeDirect: 0
+ m_PVRFilterTypeIndirect: 0
+ m_PVRFilterTypeAO: 0
+ m_PVREnvironmentMIS: 1
+ m_PVRCulling: 1
+ m_PVRFilteringGaussRadiusDirect: 1
+ m_PVRFilteringGaussRadiusIndirect: 5
+ m_PVRFilteringGaussRadiusAO: 2
+ m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+ m_PVRFilteringAtrousPositionSigmaIndirect: 2
+ m_PVRFilteringAtrousPositionSigmaAO: 1
+ m_ExportTrainingData: 0
+ m_TrainingDataDestination: TrainingData
+ m_LightProbeSampleCountMultiplier: 4
+ m_LightingDataAsset: {fileID: 0}
+ m_LightingSettings: {fileID: 0}
+--- !u!196 &4
+NavMeshSettings:
+ serializedVersion: 2
+ m_ObjectHideFlags: 0
+ m_BuildSettings:
+ serializedVersion: 3
+ agentTypeID: 0
+ agentRadius: 0.5
+ agentHeight: 2
+ agentSlope: 45
+ agentClimb: 0.4
+ ledgeDropHeight: 0
+ maxJumpAcrossDistance: 0
+ minRegionArea: 2
+ manualCellSize: 0
+ cellSize: 0.16666667
+ manualTileSize: 0
+ tileSize: 256
+ buildHeightMesh: 0
+ maxJobWorkers: 0
+ preserveTilesOutsideBounds: 0
+ debug:
+ m_Flags: 0
+ m_NavMeshData: {fileID: 0}
+--- !u!1 &67681887
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 67681888}
+ - component: {fileID: 67681890}
+ - component: {fileID: 67681889}
+ m_Layer: 5
+ m_Name: Text (TMP)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &67681888
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 67681887}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 1996377111}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &67681889
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 67681887}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_text: Delete last trackable
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 4281479730
+ m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_StyleSheet: {fileID: 0}
+ m_TextStyleHashCode: -1183493901
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontSize: 36
+ m_fontSizeBase: 36
+ m_fontWeight: 400
+ m_enableAutoSizing: 0
+ m_fontSizeMin: 0
+ m_fontSizeMax: 0
+ m_fontStyle: 0
+ m_HorizontalAlignment: 2
+ m_VerticalAlignment: 512
+ m_textAlignment: 65535
+ m_characterSpacing: 0
+ m_wordSpacing: 0
+ m_lineSpacing: 0
+ m_lineSpacingMax: 0
+ m_paragraphSpacing: 0
+ m_charWidthMaxAdj: 0
+ m_enableWordWrapping: 0
+ m_wordWrappingRatios: 0.4
+ m_overflowMode: 0
+ m_linkedTextComponent: {fileID: 0}
+ parentLinkedComponent: {fileID: 0}
+ m_enableKerning: 0
+ m_enableExtraPadding: 0
+ checkPaddingRequired: 0
+ m_isRichText: 1
+ m_parseCtrlCharacters: 1
+ m_isOrthographic: 1
+ m_isCullingEnabled: 0
+ m_horizontalMapping: 0
+ m_verticalMapping: 0
+ m_uvLineOffset: 0
+ m_geometrySortingOrder: 0
+ m_IsTextObjectScaleStatic: 0
+ m_VertexBufferAutoSizeReduction: 0
+ m_useMaxVisibleDescender: 1
+ m_pageToDisplay: 1
+ m_margin: {x: 0, y: 0, z: 0, w: 0}
+ m_isUsingLegacyAnimationComponent: 0
+ m_isVolumetricText: 0
+ m_hasFontAssetChanged: 0
+ m_baseMaterial: {fileID: 0}
+ m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!222 &67681890
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 67681887}
+ m_CullTransparentMesh: 1
+--- !u!1 &395487864
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 395487865}
+ - component: {fileID: 395487867}
+ - component: {fileID: 395487866}
+ m_Layer: 5
+ m_Name: Panel
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &395487865
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 395487864}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 1973593796}
+ m_Father: {fileID: 491226576}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 1000}
+ m_Pivot: {x: 0, y: 1}
+--- !u!114 &395487866
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 395487864}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 0.392}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 0.25
+--- !u!222 &395487867
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 395487864}
+ m_CullTransparentMesh: 1
+--- !u!1 &440844000
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 440844001}
+ - component: {fileID: 440844003}
+ - component: {fileID: 440844002}
+ m_Layer: 5
+ m_Name: Text (TMP)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &440844001
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 440844000}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 517791555}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &440844002
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 440844000}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_text: Create trackable (will be the last)
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 4281479730
+ m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_StyleSheet: {fileID: 0}
+ m_TextStyleHashCode: -1183493901
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontSize: 36
+ m_fontSizeBase: 36
+ m_fontWeight: 400
+ m_enableAutoSizing: 0
+ m_fontSizeMin: 0
+ m_fontSizeMax: 0
+ m_fontStyle: 0
+ m_HorizontalAlignment: 2
+ m_VerticalAlignment: 512
+ m_textAlignment: 65535
+ m_characterSpacing: 0
+ m_wordSpacing: 0
+ m_lineSpacing: 0
+ m_lineSpacingMax: 0
+ m_paragraphSpacing: 0
+ m_charWidthMaxAdj: 0
+ m_enableWordWrapping: 0
+ m_wordWrappingRatios: 0.4
+ m_overflowMode: 0
+ m_linkedTextComponent: {fileID: 0}
+ parentLinkedComponent: {fileID: 0}
+ m_enableKerning: 0
+ m_enableExtraPadding: 0
+ checkPaddingRequired: 0
+ m_isRichText: 1
+ m_parseCtrlCharacters: 1
+ m_isOrthographic: 1
+ m_isCullingEnabled: 0
+ m_horizontalMapping: 0
+ m_verticalMapping: 0
+ m_uvLineOffset: 0
+ m_geometrySortingOrder: 0
+ m_IsTextObjectScaleStatic: 0
+ m_VertexBufferAutoSizeReduction: 0
+ m_useMaxVisibleDescender: 1
+ m_pageToDisplay: 1
+ m_margin: {x: 0, y: 0, z: 0, w: 0}
+ m_isUsingLegacyAnimationComponent: 0
+ m_isVolumetricText: 0
+ m_hasFontAssetChanged: 0
+ m_baseMaterial: {fileID: 0}
+ m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!222 &440844003
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 440844000}
+ m_CullTransparentMesh: 1
+--- !u!1 &485599437
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 485599438}
+ - component: {fileID: 485599441}
+ - component: {fileID: 485599440}
+ - component: {fileID: 485599439}
+ m_Layer: 5
+ m_Name: Button Ping
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &485599438
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 485599437}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 1
+ m_Children:
+ - {fileID: 2095380538}
+ m_Father: {fileID: 491226576}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 80}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &485599439
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 485599437}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_WrapAround: 0
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Selected
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 485599440}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 2123268211}
+ m_TargetAssemblyTypeName: OpenAPITest, Assembly-CSharp
+ m_MethodName: OnButtonClick_TestPing
+ m_Mode: 1
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument:
+ m_BoolArgument: 0
+ m_CallState: 2
+--- !u!114 &485599440
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 485599437}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 0.25
+--- !u!222 &485599441
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 485599437}
+ m_CullTransparentMesh: 1
+--- !u!1 &491226575
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 491226576}
+ - component: {fileID: 491226577}
+ m_Layer: 5
+ m_Name: Buttons
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &491226576
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 491226575}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 1
+ m_Children:
+ - {fileID: 1270536909}
+ - {fileID: 1809658684}
+ - {fileID: 485599438}
+ - {fileID: 492157028}
+ - {fileID: 925389934}
+ - {fileID: 517791555}
+ - {fileID: 1534925207}
+ - {fileID: 1996377111}
+ - {fileID: 1144814802}
+ - {fileID: 395487865}
+ m_Father: {fileID: 846631106}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 32, y: -200}
+ m_SizeDelta: {x: -64, y: 400}
+ m_Pivot: {x: 0, y: 1}
+--- !u!114 &491226577
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 491226575}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Padding:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_ChildAlignment: 1
+ m_Spacing: 0
+ m_ChildForceExpandWidth: 1
+ m_ChildForceExpandHeight: 0
+ m_ChildControlWidth: 1
+ m_ChildControlHeight: 0
+ m_ChildScaleWidth: 0
+ m_ChildScaleHeight: 0
+ m_ReverseArrangement: 0
+--- !u!1 &492157027
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 492157028}
+ - component: {fileID: 492157031}
+ - component: {fileID: 492157030}
+ - component: {fileID: 492157029}
+ m_Layer: 5
+ m_Name: Button List of trackables
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &492157028
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 492157027}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 1
+ m_Children:
+ - {fileID: 768727574}
+ m_Father: {fileID: 491226576}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 80}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &492157029
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 492157027}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_WrapAround: 0
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Selected
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 492157030}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 2123268211}
+ m_TargetAssemblyTypeName: OpenAPITest, Assembly-CSharp
+ m_MethodName: OnButtonClick_GetAllTrackables
+ m_Mode: 1
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument:
+ m_BoolArgument: 0
+ m_CallState: 2
+--- !u!114 &492157030
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 492157027}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 0.25
+--- !u!222 &492157031
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 492157027}
+ m_CullTransparentMesh: 1
+--- !u!1 &517791554
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 517791555}
+ - component: {fileID: 517791558}
+ - component: {fileID: 517791557}
+ - component: {fileID: 517791556}
+ m_Layer: 5
+ m_Name: Button Create trackable
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &517791555
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 517791554}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 1
+ m_Children:
+ - {fileID: 440844001}
+ m_Father: {fileID: 491226576}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 80}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &517791556
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 517791554}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_WrapAround: 0
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Selected
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 517791557}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 2123268211}
+ m_TargetAssemblyTypeName: OpenAPITest, Assembly-CSharp
+ m_MethodName: OnButtonClick_CreateTrackable
+ m_Mode: 1
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument:
+ m_BoolArgument: 0
+ m_CallState: 2
+--- !u!114 &517791557
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 517791554}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 0.25
+--- !u!222 &517791558
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 517791554}
+ m_CullTransparentMesh: 1
+--- !u!1 &768727573
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 768727574}
+ - component: {fileID: 768727576}
+ - component: {fileID: 768727575}
+ m_Layer: 5
+ m_Name: Text (TMP)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &768727574
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 768727573}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 492157028}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &768727575
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 768727573}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_text: Request trackables
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 4281479730
+ m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_StyleSheet: {fileID: 0}
+ m_TextStyleHashCode: -1183493901
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontSize: 36
+ m_fontSizeBase: 36
+ m_fontWeight: 400
+ m_enableAutoSizing: 0
+ m_fontSizeMin: 0
+ m_fontSizeMax: 0
+ m_fontStyle: 0
+ m_HorizontalAlignment: 2
+ m_VerticalAlignment: 512
+ m_textAlignment: 65535
+ m_characterSpacing: 0
+ m_wordSpacing: 0
+ m_lineSpacing: 0
+ m_lineSpacingMax: 0
+ m_paragraphSpacing: 0
+ m_charWidthMaxAdj: 0
+ m_enableWordWrapping: 0
+ m_wordWrappingRatios: 0.4
+ m_overflowMode: 0
+ m_linkedTextComponent: {fileID: 0}
+ parentLinkedComponent: {fileID: 0}
+ m_enableKerning: 0
+ m_enableExtraPadding: 0
+ checkPaddingRequired: 0
+ m_isRichText: 1
+ m_parseCtrlCharacters: 1
+ m_isOrthographic: 1
+ m_isCullingEnabled: 0
+ m_horizontalMapping: 0
+ m_verticalMapping: 0
+ m_uvLineOffset: 0
+ m_geometrySortingOrder: 0
+ m_IsTextObjectScaleStatic: 0
+ m_VertexBufferAutoSizeReduction: 0
+ m_useMaxVisibleDescender: 1
+ m_pageToDisplay: 1
+ m_margin: {x: 0, y: 0, z: 0, w: 0}
+ m_isUsingLegacyAnimationComponent: 0
+ m_isVolumetricText: 0
+ m_hasFontAssetChanged: 0
+ m_baseMaterial: {fileID: 0}
+ m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!222 &768727576
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 768727573}
+ m_CullTransparentMesh: 1
+--- !u!1 &846631102
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 846631106}
+ - component: {fileID: 846631105}
+ - component: {fileID: 846631104}
+ - component: {fileID: 846631103}
+ m_Layer: 5
+ m_Name: Canvas
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &846631103
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 846631102}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IgnoreReversedGraphics: 1
+ m_BlockingObjects: 0
+ m_BlockingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+--- !u!114 &846631104
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 846631102}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_UiScaleMode: 0
+ m_ReferencePixelsPerUnit: 100
+ m_ScaleFactor: 1
+ m_ReferenceResolution: {x: 800, y: 600}
+ m_ScreenMatchMode: 0
+ m_MatchWidthOrHeight: 0
+ m_PhysicalUnit: 3
+ m_FallbackScreenDPI: 96
+ m_DefaultSpriteDPI: 96
+ m_DynamicPixelsPerUnit: 1
+ m_PresetInfoIsWorld: 0
+--- !u!223 &846631105
+Canvas:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 846631102}
+ m_Enabled: 1
+ serializedVersion: 3
+ m_RenderMode: 0
+ m_Camera: {fileID: 0}
+ m_PlaneDistance: 100
+ m_PixelPerfect: 0
+ m_ReceivesEvents: 1
+ m_OverrideSorting: 0
+ m_OverridePixelPerfect: 0
+ m_SortingBucketNormalizedSize: 0
+ m_VertexColorAlwaysGammaSpace: 0
+ m_AdditionalShaderChannelsFlag: 25
+ m_UpdateRectTransformForStandalone: 0
+ m_SortingLayerID: 0
+ m_SortingOrder: 0
+ m_TargetDisplay: 0
+--- !u!224 &846631106
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 846631102}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 0, y: 0, z: 0}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 491226576}
+ m_Father: {fileID: 0}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0, y: 0}
+--- !u!1 &925389933
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 925389934}
+ - component: {fileID: 925389937}
+ - component: {fileID: 925389936}
+ - component: {fileID: 925389935}
+ m_Layer: 5
+ m_Name: Button Last trackable
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &925389934
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 925389933}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 1
+ m_Children:
+ - {fileID: 1064828075}
+ m_Father: {fileID: 491226576}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 80}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &925389935
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 925389933}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_WrapAround: 0
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Selected
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 925389936}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 2123268211}
+ m_TargetAssemblyTypeName: OpenAPITest, Assembly-CSharp
+ m_MethodName: OnButtonClick_GetLastTrackable
+ m_Mode: 1
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument:
+ m_BoolArgument: 0
+ m_CallState: 2
+--- !u!114 &925389936
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 925389933}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 0.25
+--- !u!222 &925389937
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 925389933}
+ m_CullTransparentMesh: 1
+--- !u!1 &1064828074
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1064828075}
+ - component: {fileID: 1064828077}
+ - component: {fileID: 1064828076}
+ m_Layer: 5
+ m_Name: Text (TMP)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1064828075
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1064828074}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 925389934}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1064828076
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1064828074}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_text: Request one trackable (last one)
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 4281479730
+ m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_StyleSheet: {fileID: 0}
+ m_TextStyleHashCode: -1183493901
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontSize: 36
+ m_fontSizeBase: 36
+ m_fontWeight: 400
+ m_enableAutoSizing: 0
+ m_fontSizeMin: 0
+ m_fontSizeMax: 0
+ m_fontStyle: 0
+ m_HorizontalAlignment: 2
+ m_VerticalAlignment: 512
+ m_textAlignment: 65535
+ m_characterSpacing: 0
+ m_wordSpacing: 0
+ m_lineSpacing: 0
+ m_lineSpacingMax: 0
+ m_paragraphSpacing: 0
+ m_charWidthMaxAdj: 0
+ m_enableWordWrapping: 0
+ m_wordWrappingRatios: 0.4
+ m_overflowMode: 0
+ m_linkedTextComponent: {fileID: 0}
+ parentLinkedComponent: {fileID: 0}
+ m_enableKerning: 0
+ m_enableExtraPadding: 0
+ checkPaddingRequired: 0
+ m_isRichText: 1
+ m_parseCtrlCharacters: 1
+ m_isOrthographic: 1
+ m_isCullingEnabled: 0
+ m_horizontalMapping: 0
+ m_verticalMapping: 0
+ m_uvLineOffset: 0
+ m_geometrySortingOrder: 0
+ m_IsTextObjectScaleStatic: 0
+ m_VertexBufferAutoSizeReduction: 0
+ m_useMaxVisibleDescender: 1
+ m_pageToDisplay: 1
+ m_margin: {x: 0, y: 0, z: 0, w: 0}
+ m_isUsingLegacyAnimationComponent: 0
+ m_isVolumetricText: 0
+ m_hasFontAssetChanged: 0
+ m_baseMaterial: {fileID: 0}
+ m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!222 &1064828077
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1064828074}
+ m_CullTransparentMesh: 1
+--- !u!1 &1144814801
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1144814802}
+ - component: {fileID: 1144814804}
+ - component: {fileID: 1144814803}
+ m_Layer: 5
+ m_Name: Label
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1144814802
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1144814801}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 491226576}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 100}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1144814803
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1144814801}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_text: 'Response:'
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontColor: {r: 1, g: 1, b: 1, a: 1}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_StyleSheet: {fileID: 0}
+ m_TextStyleHashCode: -1183493901
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontSize: 36
+ m_fontSizeBase: 36
+ m_fontWeight: 400
+ m_enableAutoSizing: 0
+ m_fontSizeMin: 18
+ m_fontSizeMax: 72
+ m_fontStyle: 4
+ m_HorizontalAlignment: 1
+ m_VerticalAlignment: 512
+ m_textAlignment: 65535
+ m_characterSpacing: 0
+ m_wordSpacing: 0
+ m_lineSpacing: 0
+ m_lineSpacingMax: 0
+ m_paragraphSpacing: 0
+ m_charWidthMaxAdj: 0
+ m_enableWordWrapping: 1
+ m_wordWrappingRatios: 0.4
+ m_overflowMode: 0
+ m_linkedTextComponent: {fileID: 0}
+ parentLinkedComponent: {fileID: 0}
+ m_enableKerning: 1
+ m_enableExtraPadding: 0
+ checkPaddingRequired: 0
+ m_isRichText: 1
+ m_parseCtrlCharacters: 1
+ m_isOrthographic: 1
+ m_isCullingEnabled: 0
+ m_horizontalMapping: 0
+ m_verticalMapping: 0
+ m_uvLineOffset: 0
+ m_geometrySortingOrder: 0
+ m_IsTextObjectScaleStatic: 0
+ m_VertexBufferAutoSizeReduction: 0
+ m_useMaxVisibleDescender: 1
+ m_pageToDisplay: 1
+ m_margin: {x: 0, y: 0, z: 0, w: 0}
+ m_isUsingLegacyAnimationComponent: 0
+ m_isVolumetricText: 0
+ m_hasFontAssetChanged: 0
+ m_baseMaterial: {fileID: 0}
+ m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!222 &1144814804
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1144814801}
+ m_CullTransparentMesh: 1
+--- !u!1 &1270536908
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1270536909}
+ - component: {fileID: 1270536911}
+ - component: {fileID: 1270536910}
+ m_Layer: 5
+ m_Name: Server
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1270536909
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1270536908}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 491226576}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 100}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1270536910
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1270536908}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_text: 'ARF Server: -'
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontColor: {r: 1, g: 1, b: 1, a: 1}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_StyleSheet: {fileID: 0}
+ m_TextStyleHashCode: -1183493901
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontSize: 36
+ m_fontSizeBase: 36
+ m_fontWeight: 400
+ m_enableAutoSizing: 0
+ m_fontSizeMin: 18
+ m_fontSizeMax: 72
+ m_fontStyle: 1
+ m_HorizontalAlignment: 1
+ m_VerticalAlignment: 512
+ m_textAlignment: 65535
+ m_characterSpacing: 0
+ m_wordSpacing: 0
+ m_lineSpacing: 0
+ m_lineSpacingMax: 0
+ m_paragraphSpacing: 0
+ m_charWidthMaxAdj: 0
+ m_enableWordWrapping: 1
+ m_wordWrappingRatios: 0.4
+ m_overflowMode: 0
+ m_linkedTextComponent: {fileID: 0}
+ parentLinkedComponent: {fileID: 0}
+ m_enableKerning: 1
+ m_enableExtraPadding: 0
+ checkPaddingRequired: 0
+ m_isRichText: 1
+ m_parseCtrlCharacters: 1
+ m_isOrthographic: 1
+ m_isCullingEnabled: 0
+ m_horizontalMapping: 0
+ m_verticalMapping: 0
+ m_uvLineOffset: 0
+ m_geometrySortingOrder: 0
+ m_IsTextObjectScaleStatic: 0
+ m_VertexBufferAutoSizeReduction: 0
+ m_useMaxVisibleDescender: 1
+ m_pageToDisplay: 1
+ m_margin: {x: 0, y: 0, z: 0, w: 0}
+ m_isUsingLegacyAnimationComponent: 0
+ m_isVolumetricText: 0
+ m_hasFontAssetChanged: 0
+ m_baseMaterial: {fileID: 0}
+ m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!222 &1270536911
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1270536908}
+ m_CullTransparentMesh: 1
+--- !u!1 &1534925206
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1534925207}
+ - component: {fileID: 1534925210}
+ - component: {fileID: 1534925209}
+ - component: {fileID: 1534925208}
+ m_Layer: 5
+ m_Name: Button Update trackable
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1534925207
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1534925206}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 1
+ m_Children:
+ - {fileID: 1864481863}
+ m_Father: {fileID: 491226576}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 80}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1534925208
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1534925206}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_WrapAround: 0
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Selected
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 1534925209}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 2123268211}
+ m_TargetAssemblyTypeName: OpenAPITest, Assembly-CSharp
+ m_MethodName: OnButtonClick_UpdateLastTrackable
+ m_Mode: 1
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument:
+ m_BoolArgument: 0
+ m_CallState: 2
+--- !u!114 &1534925209
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1534925206}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 0.25
+--- !u!222 &1534925210
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1534925206}
+ m_CullTransparentMesh: 1
+--- !u!1 &1809658683
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1809658684}
+ - component: {fileID: 1809658686}
+ - component: {fileID: 1809658685}
+ m_Layer: 5
+ m_Name: Title
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1809658684
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1809658683}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 491226576}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 100}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1809658685
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1809658683}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_text: 'Select a REST request:'
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontColor: {r: 1, g: 1, b: 1, a: 1}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_StyleSheet: {fileID: 0}
+ m_TextStyleHashCode: -1183493901
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontSize: 36
+ m_fontSizeBase: 36
+ m_fontWeight: 400
+ m_enableAutoSizing: 0
+ m_fontSizeMin: 18
+ m_fontSizeMax: 72
+ m_fontStyle: 4
+ m_HorizontalAlignment: 1
+ m_VerticalAlignment: 512
+ m_textAlignment: 65535
+ m_characterSpacing: 0
+ m_wordSpacing: 0
+ m_lineSpacing: 0
+ m_lineSpacingMax: 0
+ m_paragraphSpacing: 0
+ m_charWidthMaxAdj: 0
+ m_enableWordWrapping: 1
+ m_wordWrappingRatios: 0.4
+ m_overflowMode: 0
+ m_linkedTextComponent: {fileID: 0}
+ parentLinkedComponent: {fileID: 0}
+ m_enableKerning: 1
+ m_enableExtraPadding: 0
+ checkPaddingRequired: 0
+ m_isRichText: 1
+ m_parseCtrlCharacters: 1
+ m_isOrthographic: 1
+ m_isCullingEnabled: 0
+ m_horizontalMapping: 0
+ m_verticalMapping: 0
+ m_uvLineOffset: 0
+ m_geometrySortingOrder: 0
+ m_IsTextObjectScaleStatic: 0
+ m_VertexBufferAutoSizeReduction: 0
+ m_useMaxVisibleDescender: 1
+ m_pageToDisplay: 1
+ m_margin: {x: 0, y: 0, z: 0, w: 0}
+ m_isUsingLegacyAnimationComponent: 0
+ m_isVolumetricText: 0
+ m_hasFontAssetChanged: 0
+ m_baseMaterial: {fileID: 0}
+ m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!222 &1809658686
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1809658683}
+ m_CullTransparentMesh: 1
+--- !u!1 &1864481862
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1864481863}
+ - component: {fileID: 1864481865}
+ - component: {fileID: 1864481864}
+ m_Layer: 5
+ m_Name: Text (TMP)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1864481863
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1864481862}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 1534925207}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1864481864
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1864481862}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_text: Update last trackable
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 4281479730
+ m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_StyleSheet: {fileID: 0}
+ m_TextStyleHashCode: -1183493901
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontSize: 36
+ m_fontSizeBase: 36
+ m_fontWeight: 400
+ m_enableAutoSizing: 0
+ m_fontSizeMin: 0
+ m_fontSizeMax: 0
+ m_fontStyle: 0
+ m_HorizontalAlignment: 2
+ m_VerticalAlignment: 512
+ m_textAlignment: 65535
+ m_characterSpacing: 0
+ m_wordSpacing: 0
+ m_lineSpacing: 0
+ m_lineSpacingMax: 0
+ m_paragraphSpacing: 0
+ m_charWidthMaxAdj: 0
+ m_enableWordWrapping: 0
+ m_wordWrappingRatios: 0.4
+ m_overflowMode: 0
+ m_linkedTextComponent: {fileID: 0}
+ parentLinkedComponent: {fileID: 0}
+ m_enableKerning: 0
+ m_enableExtraPadding: 0
+ checkPaddingRequired: 0
+ m_isRichText: 1
+ m_parseCtrlCharacters: 1
+ m_isOrthographic: 1
+ m_isCullingEnabled: 0
+ m_horizontalMapping: 0
+ m_verticalMapping: 0
+ m_uvLineOffset: 0
+ m_geometrySortingOrder: 0
+ m_IsTextObjectScaleStatic: 0
+ m_VertexBufferAutoSizeReduction: 0
+ m_useMaxVisibleDescender: 1
+ m_pageToDisplay: 1
+ m_margin: {x: 0, y: 0, z: 0, w: 0}
+ m_isUsingLegacyAnimationComponent: 0
+ m_isVolumetricText: 0
+ m_hasFontAssetChanged: 0
+ m_baseMaterial: {fileID: 0}
+ m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!222 &1864481865
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1864481862}
+ m_CullTransparentMesh: 1
+--- !u!1 &1900725046
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1900725049}
+ - component: {fileID: 1900725048}
+ - component: {fileID: 1900725047}
+ m_Layer: 0
+ m_Name: Main Camera
+ m_TagString: MainCamera
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!81 &1900725047
+AudioListener:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1900725046}
+ m_Enabled: 1
+--- !u!20 &1900725048
+Camera:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1900725046}
+ m_Enabled: 1
+ serializedVersion: 2
+ m_ClearFlags: 1
+ m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
+ m_projectionMatrixMode: 1
+ m_GateFitMode: 2
+ m_FOVAxisMode: 0
+ m_Iso: 200
+ m_ShutterSpeed: 0.005
+ m_Aperture: 16
+ m_FocusDistance: 10
+ m_FocalLength: 50
+ m_BladeCount: 5
+ m_Curvature: {x: 2, y: 11}
+ m_BarrelClipping: 0.25
+ m_Anamorphism: 0
+ m_SensorSize: {x: 36, y: 24}
+ m_LensShift: {x: 0, y: 0}
+ m_NormalizedViewPortRect:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 1
+ height: 1
+ near clip plane: 0.3
+ far clip plane: 1000
+ field of view: 60
+ orthographic: 0
+ orthographic size: 5
+ m_Depth: -1
+ m_CullingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+ m_RenderingPath: -1
+ m_TargetTexture: {fileID: 0}
+ m_TargetDisplay: 0
+ m_TargetEye: 3
+ m_HDR: 1
+ m_AllowMSAA: 1
+ m_AllowDynamicResolution: 0
+ m_ForceIntoRT: 0
+ m_OcclusionCulling: 1
+ m_StereoConvergence: 10
+ m_StereoSeparation: 0.022
+--- !u!4 &1900725049
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1900725046}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 1, z: -10}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1900725526
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1900725528}
+ - component: {fileID: 1900725527}
+ m_Layer: 0
+ m_Name: Directional Light
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!108 &1900725527
+Light:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1900725526}
+ m_Enabled: 1
+ serializedVersion: 10
+ m_Type: 1
+ m_Shape: 0
+ m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
+ m_Intensity: 1
+ m_Range: 10
+ m_SpotAngle: 30
+ m_InnerSpotAngle: 21.80208
+ m_CookieSize: 10
+ m_Shadows:
+ m_Type: 2
+ m_Resolution: -1
+ m_CustomResolution: -1
+ m_Strength: 1
+ m_Bias: 0.05
+ m_NormalBias: 0.4
+ m_NearPlane: 0.2
+ m_CullingMatrixOverride:
+ e00: 1
+ e01: 0
+ e02: 0
+ e03: 0
+ e10: 0
+ e11: 1
+ e12: 0
+ e13: 0
+ e20: 0
+ e21: 0
+ e22: 1
+ e23: 0
+ e30: 0
+ e31: 0
+ e32: 0
+ e33: 1
+ m_UseCullingMatrixOverride: 0
+ m_Cookie: {fileID: 0}
+ m_DrawHalo: 0
+ m_Flare: {fileID: 0}
+ m_RenderMode: 0
+ m_CullingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+ m_RenderingLayerMask: 1
+ m_Lightmapping: 4
+ m_LightShadowCasterMode: 0
+ m_AreaSize: {x: 1, y: 1}
+ m_BounceIntensity: 1
+ m_ColorTemperature: 6570
+ m_UseColorTemperature: 0
+ m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
+ m_UseBoundingSphereOverride: 0
+ m_UseViewFrustumForShadowCasterCull: 1
+ m_ShadowRadius: 0
+ m_ShadowAngle: 0
+--- !u!4 &1900725528
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1900725526}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
+ m_LocalPosition: {x: 0, y: 3, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
+--- !u!1 &1973593795
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1973593796}
+ - component: {fileID: 1973593798}
+ - component: {fileID: 1973593797}
+ m_Layer: 5
+ m_Name: Output
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1973593796
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1973593795}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 1
+ m_Children: []
+ m_Father: {fileID: 395487865}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: -32, y: -32}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1973593797
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1973593795}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_text: '-'
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 4278190080
+ m_fontColor: {r: 0, g: 0, b: 0, a: 1}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_StyleSheet: {fileID: 0}
+ m_TextStyleHashCode: -1183493901
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontSize: 36
+ m_fontSizeBase: 36
+ m_fontWeight: 400
+ m_enableAutoSizing: 0
+ m_fontSizeMin: 18
+ m_fontSizeMax: 72
+ m_fontStyle: 0
+ m_HorizontalAlignment: 1
+ m_VerticalAlignment: 256
+ m_textAlignment: 65535
+ m_characterSpacing: 0
+ m_wordSpacing: 0
+ m_lineSpacing: 0
+ m_lineSpacingMax: 0
+ m_paragraphSpacing: 0
+ m_charWidthMaxAdj: 0
+ m_enableWordWrapping: 1
+ m_wordWrappingRatios: 0.4
+ m_overflowMode: 0
+ m_linkedTextComponent: {fileID: 0}
+ parentLinkedComponent: {fileID: 0}
+ m_enableKerning: 1
+ m_enableExtraPadding: 0
+ checkPaddingRequired: 0
+ m_isRichText: 1
+ m_parseCtrlCharacters: 1
+ m_isOrthographic: 1
+ m_isCullingEnabled: 0
+ m_horizontalMapping: 0
+ m_verticalMapping: 0
+ m_uvLineOffset: 0
+ m_geometrySortingOrder: 0
+ m_IsTextObjectScaleStatic: 0
+ m_VertexBufferAutoSizeReduction: 0
+ m_useMaxVisibleDescender: 1
+ m_pageToDisplay: 1
+ m_margin: {x: 0, y: 0, z: 0, w: 0}
+ m_isUsingLegacyAnimationComponent: 0
+ m_isVolumetricText: 0
+ m_hasFontAssetChanged: 0
+ m_baseMaterial: {fileID: 0}
+ m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!222 &1973593798
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1973593795}
+ m_CullTransparentMesh: 1
+--- !u!1 &1996377110
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1996377111}
+ - component: {fileID: 1996377114}
+ - component: {fileID: 1996377113}
+ - component: {fileID: 1996377112}
+ m_Layer: 5
+ m_Name: Button Delete trackable
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1996377111
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1996377110}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 1
+ m_Children:
+ - {fileID: 67681888}
+ m_Father: {fileID: 491226576}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 80}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1996377112
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1996377110}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_WrapAround: 0
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Selected
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 1996377113}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 2123268211}
+ m_TargetAssemblyTypeName: OpenAPITest, Assembly-CSharp
+ m_MethodName: OnButtonClick_DeleteLastTrackable
+ m_Mode: 1
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument:
+ m_BoolArgument: 0
+ m_CallState: 2
+--- !u!114 &1996377113
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1996377110}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 0.25
+--- !u!222 &1996377114
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1996377110}
+ m_CullTransparentMesh: 1
+--- !u!1 &2040736466
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2040736469}
+ - component: {fileID: 2040736468}
+ - component: {fileID: 2040736467}
+ m_Layer: 0
+ m_Name: EventSystem
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &2040736467
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2040736466}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_SendPointerHoverToParent: 1
+ m_HorizontalAxis: Horizontal
+ m_VerticalAxis: Vertical
+ m_SubmitButton: Submit
+ m_CancelButton: Cancel
+ m_InputActionsPerSecond: 10
+ m_RepeatDelay: 0.5
+ m_ForceModuleActive: 0
+--- !u!114 &2040736468
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2040736466}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_FirstSelected: {fileID: 0}
+ m_sendNavigationEvents: 1
+ m_DragThreshold: 10
+--- !u!4 &2040736469
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2040736466}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &2095380537
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2095380538}
+ - component: {fileID: 2095380540}
+ - component: {fileID: 2095380539}
+ m_Layer: 5
+ m_Name: Text (TMP)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &2095380538
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2095380537}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 485599438}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &2095380539
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2095380537}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_text: Ping
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 4281479730
+ m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_StyleSheet: {fileID: 0}
+ m_TextStyleHashCode: -1183493901
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontSize: 36
+ m_fontSizeBase: 36
+ m_fontWeight: 400
+ m_enableAutoSizing: 0
+ m_fontSizeMin: 0
+ m_fontSizeMax: 0
+ m_fontStyle: 0
+ m_HorizontalAlignment: 2
+ m_VerticalAlignment: 512
+ m_textAlignment: 65535
+ m_characterSpacing: 0
+ m_wordSpacing: 0
+ m_lineSpacing: 0
+ m_lineSpacingMax: 0
+ m_paragraphSpacing: 0
+ m_charWidthMaxAdj: 0
+ m_enableWordWrapping: 0
+ m_wordWrappingRatios: 0.4
+ m_overflowMode: 0
+ m_linkedTextComponent: {fileID: 0}
+ parentLinkedComponent: {fileID: 0}
+ m_enableKerning: 0
+ m_enableExtraPadding: 0
+ checkPaddingRequired: 0
+ m_isRichText: 1
+ m_parseCtrlCharacters: 1
+ m_isOrthographic: 1
+ m_isCullingEnabled: 0
+ m_horizontalMapping: 0
+ m_verticalMapping: 0
+ m_uvLineOffset: 0
+ m_geometrySortingOrder: 0
+ m_IsTextObjectScaleStatic: 0
+ m_VertexBufferAutoSizeReduction: 0
+ m_useMaxVisibleDescender: 1
+ m_pageToDisplay: 1
+ m_margin: {x: 0, y: 0, z: 0, w: 0}
+ m_isUsingLegacyAnimationComponent: 0
+ m_isVolumetricText: 0
+ m_hasFontAssetChanged: 0
+ m_baseMaterial: {fileID: 0}
+ m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!222 &2095380540
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2095380537}
+ m_CullTransparentMesh: 1
+--- !u!1 &2123268210
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2123268212}
+ - component: {fileID: 2123268211}
+ m_Layer: 0
+ m_Name: OpenAPI Test
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &2123268211
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2123268210}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 8d8b78014fb03e94c90db2fa1a2fde7b, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ server: {fileID: 11400000, guid: e58ba3b536eb26a4d899273c538c88e7, type: 2}
+ servername: {fileID: 1270536910}
+ output: {fileID: 1973593797}
+--- !u!4 &2123268212
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2123268210}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 611.94275, y: 1032.1666, z: -1.7015415}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1660057539 &9223372036854775807
+SceneRoots:
+ m_ObjectHideFlags: 0
+ m_Roots:
+ - {fileID: 1900725049}
+ - {fileID: 1900725528}
+ - {fileID: 2040736469}
+ - {fileID: 2123268212}
+ - {fileID: 846631106}
diff --git a/Assets/Scenes/test.unity.meta b/Runtime/Scenes/Package Test.unity.meta
similarity index 100%
rename from Assets/Scenes/test.unity.meta
rename to Runtime/Scenes/Package Test.unity.meta
diff --git a/Assets/Scriptables.meta b/Runtime/Scriptables.meta
similarity index 100%
rename from Assets/Scriptables.meta
rename to Runtime/Scriptables.meta
diff --git a/Assets/Scriptables/WorldStorageServer.cs b/Runtime/Scriptables/WorldStorageServer.cs
similarity index 93%
rename from Assets/Scriptables/WorldStorageServer.cs
rename to Runtime/Scriptables/WorldStorageServer.cs
index ce305b17a3306d8d6ab94420640a428fa4a3e7a5..8b09622c9f69c1303323b762b3f273b7badd7d00 100644
--- a/Assets/Scriptables/WorldStorageServer.cs
+++ b/Runtime/Scriptables/WorldStorageServer.cs
@@ -34,6 +34,6 @@ namespace ETSI.ARF.WorldStorage
[Space(8)]
[SerializeField] public WorldStorageUser currentUser = null;
- public string URI => basePath + ":" + port.ToString();
+ public string URI => port == 0 ? basePath : basePath + ":" + port.ToString();
}
}
\ No newline at end of file
diff --git a/Assets/Scriptables/WorldStorageServer.cs.meta b/Runtime/Scriptables/WorldStorageServer.cs.meta
similarity index 100%
rename from Assets/Scriptables/WorldStorageServer.cs.meta
rename to Runtime/Scriptables/WorldStorageServer.cs.meta
diff --git a/Assets/Scriptables/WorldStorageUser.cs b/Runtime/Scriptables/WorldStorageUser.cs
similarity index 100%
rename from Assets/Scriptables/WorldStorageUser.cs
rename to Runtime/Scriptables/WorldStorageUser.cs
diff --git a/Assets/Scriptables/WorldStorageUser.cs.meta b/Runtime/Scriptables/WorldStorageUser.cs.meta
similarity index 100%
rename from Assets/Scriptables/WorldStorageUser.cs.meta
rename to Runtime/Scriptables/WorldStorageUser.cs.meta
diff --git a/Assets/Runtime.meta b/Runtime/Scripts.meta
similarity index 100%
rename from Assets/Runtime.meta
rename to Runtime/Scripts.meta
diff --git a/Logs.meta b/Runtime/Scripts/OpenAPI.meta
similarity index 77%
rename from Logs.meta
rename to Runtime/Scripts/OpenAPI.meta
index c31a9f1b662b7e9e025454c2aab580f2b8384727..78baa8b5739e9df7dc1998082d79d7934d13eefb 100644
--- a/Logs.meta
+++ b/Runtime/Scripts/OpenAPI.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 9a8ab6909a6fb8e4e90f4f1da5dd9f80
+guid: ab559568a816d2249859f15aab5beaf5
folderAsset: yes
DefaultImporter:
externalObjects: {}
diff --git a/Runtime/Scripts/OpenAPI/DataModels.cs b/Runtime/Scripts/OpenAPI/DataModels.cs
new file mode 100644
index 0000000000000000000000000000000000000000..d017018f2a55c03d3380daaf4354d6c8d5d1a32e
--- /dev/null
+++ b/Runtime/Scripts/OpenAPI/DataModels.cs
@@ -0,0 +1,41 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace ETSI.ARF.OpenAPI.WorldStorage
+{
+ public interface IModel
+ {
+ public System.Guid UUID { get; set; }
+ }
+
+ //
+ // Implement here some constructors
+ //
+ public partial class Trackable : IModel
+ {
+ public Trackable(string name)
+ {
+ UUID = Guid.NewGuid();
+ Name = name;
+ }
+ }
+
+ public partial class WorldAnchor : IModel
+ {
+ public WorldAnchor(string name)
+ {
+ UUID = Guid.NewGuid();
+ Name = name;
+ }
+ }
+
+ public partial class WorldLink : IModel
+ {
+ public WorldLink()
+ {
+ UUID = Guid.NewGuid();
+ }
+ }
+}
\ No newline at end of file
diff --git a/Runtime/Scripts/OpenAPI/DataModels.cs.meta b/Runtime/Scripts/OpenAPI/DataModels.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..9c09d378305dd7e6825b638c9a741a3d822a1bc6
--- /dev/null
+++ b/Runtime/Scripts/OpenAPI/DataModels.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 01be611ab05b75b42a3b176770fe33ae
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Packages.meta b/Runtime/Scripts/OpenAPI/Generated.meta
similarity index 77%
rename from Packages.meta
rename to Runtime/Scripts/OpenAPI/Generated.meta
index 0dec714da396a1feebfb9a831e296c3455e3eaf5..05f59fc49d49f362c9e23b0e36024b4ae54d5674 100644
--- a/Packages.meta
+++ b/Runtime/Scripts/OpenAPI/Generated.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 3225bc0367298c045889b1ae6e8891e9
+guid: 0b55aeff11c61a34e9fbaaeaeb1c9efc
folderAsset: yes
DefaultImporter:
externalObjects: {}
diff --git a/Runtime/Scripts/OpenAPI/Generated/WorldStorageOpenAPI.cs b/Runtime/Scripts/OpenAPI/Generated/WorldStorageOpenAPI.cs
new file mode 100644
index 0000000000000000000000000000000000000000..a61b2ae2fe85ebdba436fac4c3dfb7cafaf0152a
--- /dev/null
+++ b/Runtime/Scripts/OpenAPI/Generated/WorldStorageOpenAPI.cs
@@ -0,0 +1,3039 @@
+//----------------------
+//
+// Generated using the NSwag toolchain v14.0.7.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0)) (http://NSwag.org)
+//
+//----------------------
+
+#pragma warning disable 108 // Disable "CS0108 '{derivedDto}.ToJson()' hides inherited member '{dtoBase}.ToJson()'. Use the new keyword if hiding was intended."
+#pragma warning disable 114 // Disable "CS0114 '{derivedDto}.RaisePropertyChanged(String)' hides inherited member 'dtoBase.RaisePropertyChanged(String)'. To make the current member override that implementation, add the override keyword. Otherwise add the new keyword."
+#pragma warning disable 472 // Disable "CS0472 The result of the expression is always 'false' since a value of type 'Int32' is never equal to 'null' of type 'Int32?'
+#pragma warning disable 612 // Disable "CS0612 '...' is obsolete"
+#pragma warning disable 1573 // Disable "CS1573 Parameter '...' has no matching param tag in the XML comment for ...
+#pragma warning disable 1591 // Disable "CS1591 Missing XML comment for publicly visible type or member ..."
+#pragma warning disable 8073 // Disable "CS8073 The result of the expression is always 'false' since a value of type 'T' is never equal to 'null' of type 'T?'"
+#pragma warning disable 3016 // Disable "CS3016 Arrays as attribute arguments is not CLS-compliant"
+#pragma warning disable 8603 // Disable "CS8603 Possible null reference return"
+#pragma warning disable 8604 // Disable "CS8604 Possible null reference argument for parameter"
+#pragma warning disable 8625 // Disable "CS8625 Cannot convert null literal to non-nullable reference type"
+#pragma warning disable CS8765 // Nullability of type of parameter doesn't match overridden member (possibly because of nullability attributes).
+
+namespace ETSI.ARF.OpenAPI.WorldStorage
+{
+ using System = global::System;
+
+ [System.CodeDom.Compiler.GeneratedCode("NSwag", "14.0.7.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class WorldStorageClient
+ {
+ private ETSI.ARF.OpenAPI.IHttpClient _httpClient;
+ private static System.Lazy _settings = new System.Lazy(CreateSerializerSettings, true);
+
+ #pragma warning disable CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable.
+ public WorldStorageClient(ETSI.ARF.OpenAPI.IHttpClient httpClient)
+ #pragma warning restore CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable.
+ {
+ _httpClient = httpClient;
+ }
+
+ private static Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
+ {
+ var settings = new Newtonsoft.Json.JsonSerializerSettings();
+ UpdateJsonSerializerSettings(settings);
+ return settings;
+ }
+
+ protected Newtonsoft.Json.JsonSerializerSettings JsonSerializerSettings { get { return _settings.Value; } }
+
+ static partial void UpdateJsonSerializerSettings(Newtonsoft.Json.JsonSerializerSettings settings);
+
+ partial void PrepareRequest(ETSI.ARF.OpenAPI.IHttpClient client, System.Net.Http.HttpRequestMessage request, string url);
+ partial void PrepareRequest(ETSI.ARF.OpenAPI.IHttpClient client, System.Net.Http.HttpRequestMessage request, System.Text.StringBuilder urlBuilder);
+ partial void ProcessResponse(ETSI.ARF.OpenAPI.IHttpClient client, System.Net.Http.HttpResponseMessage response);
+
+ ///
+ /// Test the server availability.
+ ///
+ /// Ok, returns a string message.
+ /// A server side error occurred.
+ public virtual System.Threading.Tasks.Task GetPingAsync()
+ {
+ return GetPingAsync(System.Threading.CancellationToken.None);
+ }
+
+ ///
+ /// Test the server availability.
+ ///
+ /// Ok, returns a string message.
+ /// A server side error occurred.
+ public virtual string GetPing()
+ {
+ return System.Threading.Tasks.Task.Run(async () => await GetPingAsync(System.Threading.CancellationToken.None)).GetAwaiter().GetResult();
+ }
+
+ /// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ ///
+ /// Test the server availability.
+ ///
+ /// Ok, returns a string message.
+ /// A server side error occurred.
+ public virtual async System.Threading.Tasks.Task GetPingAsync(System.Threading.CancellationToken cancellationToken)
+ {
+ var client_ = _httpClient;
+ var disposeClient_ = false;
+ try
+ {
+ using (var request_ = new System.Net.Http.HttpRequestMessage())
+ {
+ request_.Method = new System.Net.Http.HttpMethod("GET");
+ request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("text/plain"));
+
+ var urlBuilder_ = new System.Text.StringBuilder();
+
+ // Operation Path: "ping"
+ urlBuilder_.Append("ping");
+
+ PrepareRequest(client_, request_, urlBuilder_);
+
+ var url_ = urlBuilder_.ToString();
+ request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute);
+
+ PrepareRequest(client_, request_, url_);
+
+ var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false);
+ var disposeResponse_ = true;
+ try
+ {
+ var headers_ = new System.Collections.Generic.Dictionary>();
+ foreach (var item_ in response_.Headers)
+ headers_[item_.Key] = item_.Value;
+ if (response_.Content != null && response_.Content.Headers != null)
+ {
+ foreach (var item_ in response_.Content.Headers)
+ headers_[item_.Key] = item_.Value;
+ }
+
+ ProcessResponse(client_, response_);
+
+ var status_ = (int)response_.StatusCode;
+ if (status_ == 200)
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+ return result_;
+ }
+ else
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ throw new ApiException("The HTTP status code of the response was not expected (" + status_ + ").", status_, responseData_, headers_, null);
+ }
+ }
+ finally
+ {
+ if (disposeResponse_)
+ response_.Dispose();
+ }
+ }
+ }
+ finally
+ {
+ if (disposeClient_)
+ client_.Dispose();
+ }
+ }
+
+ ///
+ /// Get the state of the server.
+ ///
+ /// OK, world storage server ready.
+ /// A server side error occurred.
+ public virtual System.Threading.Tasks.Task GetAdminAsync()
+ {
+ return GetAdminAsync(System.Threading.CancellationToken.None);
+ }
+
+ ///
+ /// Get the state of the server.
+ ///
+ /// OK, world storage server ready.
+ /// A server side error occurred.
+ public virtual string GetAdmin()
+ {
+ return System.Threading.Tasks.Task.Run(async () => await GetAdminAsync(System.Threading.CancellationToken.None)).GetAwaiter().GetResult();
+ }
+
+ /// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ ///
+ /// Get the state of the server.
+ ///
+ /// OK, world storage server ready.
+ /// A server side error occurred.
+ public virtual async System.Threading.Tasks.Task GetAdminAsync(System.Threading.CancellationToken cancellationToken)
+ {
+ var client_ = _httpClient;
+ var disposeClient_ = false;
+ try
+ {
+ using (var request_ = new System.Net.Http.HttpRequestMessage())
+ {
+ request_.Method = new System.Net.Http.HttpMethod("GET");
+ request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("text/plain"));
+
+ var urlBuilder_ = new System.Text.StringBuilder();
+
+ // Operation Path: "admin"
+ urlBuilder_.Append("admin");
+
+ PrepareRequest(client_, request_, urlBuilder_);
+
+ var url_ = urlBuilder_.ToString();
+ request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute);
+
+ PrepareRequest(client_, request_, url_);
+
+ var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false);
+ var disposeResponse_ = true;
+ try
+ {
+ var headers_ = new System.Collections.Generic.Dictionary>();
+ foreach (var item_ in response_.Headers)
+ headers_[item_.Key] = item_.Value;
+ if (response_.Content != null && response_.Content.Headers != null)
+ {
+ foreach (var item_ in response_.Content.Headers)
+ headers_[item_.Key] = item_.Value;
+ }
+
+ ProcessResponse(client_, response_);
+
+ var status_ = (int)response_.StatusCode;
+ if (status_ == 200)
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+ return result_;
+ }
+ else
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ throw new ApiException("The HTTP status code of the response was not expected (" + status_ + ").", status_, responseData_, headers_, null);
+ }
+ }
+ finally
+ {
+ if (disposeResponse_)
+ response_.Dispose();
+ }
+ }
+ }
+ finally
+ {
+ if (disposeClient_)
+ client_.Dispose();
+ }
+ }
+
+ ///
+ /// Get the version of the ARF API.
+ ///
+ /// Current version.
+ /// A server side error occurred.
+ public virtual System.Threading.Tasks.Task GetVersionAsync()
+ {
+ return GetVersionAsync(System.Threading.CancellationToken.None);
+ }
+
+ ///
+ /// Get the version of the ARF API.
+ ///
+ /// Current version.
+ /// A server side error occurred.
+ public virtual string GetVersion()
+ {
+ return System.Threading.Tasks.Task.Run(async () => await GetVersionAsync(System.Threading.CancellationToken.None)).GetAwaiter().GetResult();
+ }
+
+ /// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ ///
+ /// Get the version of the ARF API.
+ ///
+ /// Current version.
+ /// A server side error occurred.
+ public virtual async System.Threading.Tasks.Task GetVersionAsync(System.Threading.CancellationToken cancellationToken)
+ {
+ var client_ = _httpClient;
+ var disposeClient_ = false;
+ try
+ {
+ using (var request_ = new System.Net.Http.HttpRequestMessage())
+ {
+ request_.Method = new System.Net.Http.HttpMethod("GET");
+ request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("text/plain"));
+
+ var urlBuilder_ = new System.Text.StringBuilder();
+
+ // Operation Path: "version"
+ urlBuilder_.Append("version");
+
+ PrepareRequest(client_, request_, urlBuilder_);
+
+ var url_ = urlBuilder_.ToString();
+ request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute);
+
+ PrepareRequest(client_, request_, url_);
+
+ var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false);
+ var disposeResponse_ = true;
+ try
+ {
+ var headers_ = new System.Collections.Generic.Dictionary>();
+ foreach (var item_ in response_.Headers)
+ headers_[item_.Key] = item_.Value;
+ if (response_.Content != null && response_.Content.Headers != null)
+ {
+ foreach (var item_ in response_.Content.Headers)
+ headers_[item_.Key] = item_.Value;
+ }
+
+ ProcessResponse(client_, response_);
+
+ var status_ = (int)response_.StatusCode;
+ if (status_ == 200)
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+ return result_;
+ }
+ else
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ throw new ApiException("The HTTP status code of the response was not expected (" + status_ + ").", status_, responseData_, headers_, null);
+ }
+ }
+ finally
+ {
+ if (disposeResponse_)
+ response_.Dispose();
+ }
+ }
+ }
+ finally
+ {
+ if (disposeClient_)
+ client_.Dispose();
+ }
+ }
+
+ ///
+ /// Operation to retrieve all the relocalization information of one or severals WorldAnchors or Trackables.
+ ///
+ /// List of pairs consisting of UUIDs of requested World Anchors or Trackables and a mode representing the context of the requested information
+ /// the list of all trackables and his encoding structure associated representing the supported data of the User
+ /// Successful operation.
+ /// A server side error occurred.
+ public virtual System.Threading.Tasks.Task GetRelocalizationInformationAsync(string token, System.Collections.Generic.IEnumerable uuids, System.Collections.Generic.IEnumerable capabilities)
+ {
+ return GetRelocalizationInformationAsync(token, uuids, capabilities, System.Threading.CancellationToken.None);
+ }
+
+ ///
+ /// Operation to retrieve all the relocalization information of one or severals WorldAnchors or Trackables.
+ ///
+ /// List of pairs consisting of UUIDs of requested World Anchors or Trackables and a mode representing the context of the requested information
+ /// the list of all trackables and his encoding structure associated representing the supported data of the User
+ /// Successful operation.
+ /// A server side error occurred.
+ public virtual Response GetRelocalizationInformation(string token, System.Collections.Generic.IEnumerable uuids, System.Collections.Generic.IEnumerable capabilities)
+ {
+ return System.Threading.Tasks.Task.Run(async () => await GetRelocalizationInformationAsync(token, uuids, capabilities, System.Threading.CancellationToken.None)).GetAwaiter().GetResult();
+ }
+
+ /// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ ///
+ /// Operation to retrieve all the relocalization information of one or severals WorldAnchors or Trackables.
+ ///
+ /// List of pairs consisting of UUIDs of requested World Anchors or Trackables and a mode representing the context of the requested information
+ /// the list of all trackables and his encoding structure associated representing the supported data of the User
+ /// Successful operation.
+ /// A server side error occurred.
+ public virtual async System.Threading.Tasks.Task GetRelocalizationInformationAsync(string token, System.Collections.Generic.IEnumerable uuids, System.Collections.Generic.IEnumerable capabilities, System.Threading.CancellationToken cancellationToken)
+ {
+ if (uuids == null)
+ throw new System.ArgumentNullException("uuids");
+
+ if (capabilities == null)
+ throw new System.ArgumentNullException("capabilities");
+
+ var client_ = _httpClient;
+ var disposeClient_ = false;
+ try
+ {
+ using (var request_ = new System.Net.Http.HttpRequestMessage())
+ {
+
+ if (token != null)
+ request_.Headers.TryAddWithoutValidation("token", ConvertToString(token, System.Globalization.CultureInfo.InvariantCulture));
+ request_.Method = new System.Net.Http.HttpMethod("GET");
+ request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json"));
+
+ var urlBuilder_ = new System.Text.StringBuilder();
+
+ // Operation Path: "relocalizationInformation"
+ urlBuilder_.Append("relocalizationInformation");
+ urlBuilder_.Append('?');
+ foreach (var item_ in uuids) { urlBuilder_.Append(System.Uri.EscapeDataString("uuids")).Append('=').Append(System.Uri.EscapeDataString(ConvertToString(item_, System.Globalization.CultureInfo.InvariantCulture))).Append('&'); }
+ foreach (var item_ in capabilities) { urlBuilder_.Append(System.Uri.EscapeDataString("capabilities")).Append('=').Append(System.Uri.EscapeDataString(ConvertToString(item_, System.Globalization.CultureInfo.InvariantCulture))).Append('&'); }
+ urlBuilder_.Length--;
+
+ PrepareRequest(client_, request_, urlBuilder_);
+
+ var url_ = urlBuilder_.ToString();
+ request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute);
+
+ PrepareRequest(client_, request_, url_);
+
+ var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false);
+ var disposeResponse_ = true;
+ try
+ {
+ var headers_ = new System.Collections.Generic.Dictionary>();
+ foreach (var item_ in response_.Headers)
+ headers_[item_.Key] = item_.Value;
+ if (response_.Content != null && response_.Content.Headers != null)
+ {
+ foreach (var item_ in response_.Content.Headers)
+ headers_[item_.Key] = item_.Value;
+ }
+
+ ProcessResponse(client_, response_);
+
+ var status_ = (int)response_.StatusCode;
+ if (status_ == 200)
+ {
+ var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
+ if (objectResponse_.Object == null)
+ {
+ throw new ApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+ }
+ return objectResponse_.Object;
+ }
+ else
+ if (status_ == 400)
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+ throw new ApiException("Invalid UUID supplied.", status_, responseData_, headers_, result_, null);
+ }
+ else
+ if (status_ == 404)
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+ throw new ApiException("Not found, could not find UUID in database.", status_, responseData_, headers_, result_, null);
+ }
+ else
+ {
+ var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
+ if (objectResponse_.Object == null)
+ {
+ throw new ApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+ }
+ throw new ApiException("Unexpected error.", status_, objectResponse_.Text, headers_, objectResponse_.Object, null);
+ }
+ }
+ finally
+ {
+ if (disposeResponse_)
+ response_.Dispose();
+ }
+ }
+ }
+ finally
+ {
+ if (disposeClient_)
+ client_.Dispose();
+ }
+ }
+
+ ///
+ /// Create a Trackable.
+ ///
+ ///
+ /// Create a new Trackable from a json object containing all the required information and add it to the world storage. <br>As a result you will get the ID of the newly created Trackable.
+ ///
+ /// The Trackable to be added to the world storage.
+ /// OK, return the UUID of the Trackable defined by the world storage.
+ /// A server side error occurred.
+ public virtual System.Threading.Tasks.Task AddTrackableAsync(string token, Trackable body)
+ {
+ return AddTrackableAsync(token, body, System.Threading.CancellationToken.None);
+ }
+
+ ///
+ /// Create a Trackable.
+ ///
+ ///
+ /// Create a new Trackable from a json object containing all the required information and add it to the world storage. <br>As a result you will get the ID of the newly created Trackable.
+ ///
+ /// The Trackable to be added to the world storage.
+ /// OK, return the UUID of the Trackable defined by the world storage.
+ /// A server side error occurred.
+ public virtual string AddTrackable(string token, Trackable body)
+ {
+ return System.Threading.Tasks.Task.Run(async () => await AddTrackableAsync(token, body, System.Threading.CancellationToken.None)).GetAwaiter().GetResult();
+ }
+
+ /// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ ///
+ /// Create a Trackable.
+ ///
+ ///
+ /// Create a new Trackable from a json object containing all the required information and add it to the world storage. <br>As a result you will get the ID of the newly created Trackable.
+ ///
+ /// The Trackable to be added to the world storage.
+ /// OK, return the UUID of the Trackable defined by the world storage.
+ /// A server side error occurred.
+ public virtual async System.Threading.Tasks.Task AddTrackableAsync(string token, Trackable body, System.Threading.CancellationToken cancellationToken)
+ {
+ if (body == null)
+ throw new System.ArgumentNullException("body");
+
+ var client_ = _httpClient;
+ var disposeClient_ = false;
+ try
+ {
+ using (var request_ = new System.Net.Http.HttpRequestMessage())
+ {
+
+ if (token != null)
+ request_.Headers.TryAddWithoutValidation("token", ConvertToString(token, System.Globalization.CultureInfo.InvariantCulture));
+ var json_ = Newtonsoft.Json.JsonConvert.SerializeObject(body, _settings.Value);
+ var content_ = new System.Net.Http.StringContent(json_);
+ content_.Headers.ContentType = System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json");
+ request_.Content = content_;
+ request_.Method = new System.Net.Http.HttpMethod("POST");
+ request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("text/plain"));
+
+ var urlBuilder_ = new System.Text.StringBuilder();
+
+ // Operation Path: "trackables"
+ urlBuilder_.Append("trackables");
+
+ PrepareRequest(client_, request_, urlBuilder_);
+
+ var url_ = urlBuilder_.ToString();
+ request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute);
+
+ PrepareRequest(client_, request_, url_);
+
+ var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false);
+ var disposeResponse_ = true;
+ try
+ {
+ var headers_ = new System.Collections.Generic.Dictionary>();
+ foreach (var item_ in response_.Headers)
+ headers_[item_.Key] = item_.Value;
+ if (response_.Content != null && response_.Content.Headers != null)
+ {
+ foreach (var item_ in response_.Content.Headers)
+ headers_[item_.Key] = item_.Value;
+ }
+
+ ProcessResponse(client_, response_);
+
+ var status_ = (int)response_.StatusCode;
+ if (status_ == 200)
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+ return result_;
+ }
+ else
+ if (status_ == 201)
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+ return result_;
+ }
+ else
+ if (status_ == 400)
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+ throw new ApiException("Bad request.", status_, responseData_, headers_, result_, null);
+ }
+ else
+ if (status_ == 409)
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+ throw new ApiException("Invalid UUID, id must be a Nil value.", status_, responseData_, headers_, result_, null);
+ }
+ else
+ {
+ var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
+ if (objectResponse_.Object == null)
+ {
+ throw new ApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+ }
+ throw new ApiException("Unexpected error.", status_, objectResponse_.Text, headers_, objectResponse_.Object, null);
+ }
+ }
+ finally
+ {
+ if (disposeResponse_)
+ response_.Dispose();
+ }
+ }
+ }
+ finally
+ {
+ if (disposeClient_)
+ client_.Dispose();
+ }
+ }
+
+ ///
+ /// Modify a Trackable.
+ ///
+ ///
+ /// Modify an existing Trackable given a json object containing all the required information. <br> **Please note that ID of the object is required in the JSON**
+ ///
+ /// The Trackable to be modified in the world storage.
+ /// OK, return the UUID of the modified Trackable.
+ /// A server side error occurred.
+ public virtual System.Threading.Tasks.Task ModifyTrackableAsync(string token, Trackable body)
+ {
+ return ModifyTrackableAsync(token, body, System.Threading.CancellationToken.None);
+ }
+
+ ///
+ /// Modify a Trackable.
+ ///
+ ///
+ /// Modify an existing Trackable given a json object containing all the required information. <br> **Please note that ID of the object is required in the JSON**
+ ///
+ /// The Trackable to be modified in the world storage.
+ /// OK, return the UUID of the modified Trackable.
+ /// A server side error occurred.
+ public virtual string ModifyTrackable(string token, Trackable body)
+ {
+ return System.Threading.Tasks.Task.Run(async () => await ModifyTrackableAsync(token, body, System.Threading.CancellationToken.None)).GetAwaiter().GetResult();
+ }
+
+ /// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ ///
+ /// Modify a Trackable.
+ ///
+ ///
+ /// Modify an existing Trackable given a json object containing all the required information. <br> **Please note that ID of the object is required in the JSON**
+ ///
+ /// The Trackable to be modified in the world storage.
+ /// OK, return the UUID of the modified Trackable.
+ /// A server side error occurred.
+ public virtual async System.Threading.Tasks.Task ModifyTrackableAsync(string token, Trackable body, System.Threading.CancellationToken cancellationToken)
+ {
+ if (body == null)
+ throw new System.ArgumentNullException("body");
+
+ var client_ = _httpClient;
+ var disposeClient_ = false;
+ try
+ {
+ using (var request_ = new System.Net.Http.HttpRequestMessage())
+ {
+
+ if (token != null)
+ request_.Headers.TryAddWithoutValidation("token", ConvertToString(token, System.Globalization.CultureInfo.InvariantCulture));
+ var json_ = Newtonsoft.Json.JsonConvert.SerializeObject(body, _settings.Value);
+ var content_ = new System.Net.Http.StringContent(json_);
+ content_.Headers.ContentType = System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json");
+ request_.Content = content_;
+ request_.Method = new System.Net.Http.HttpMethod("PUT");
+ request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("text/plain"));
+
+ var urlBuilder_ = new System.Text.StringBuilder();
+
+ // Operation Path: "trackables"
+ urlBuilder_.Append("trackables");
+
+ PrepareRequest(client_, request_, urlBuilder_);
+
+ var url_ = urlBuilder_.ToString();
+ request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute);
+
+ PrepareRequest(client_, request_, url_);
+
+ var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false);
+ var disposeResponse_ = true;
+ try
+ {
+ var headers_ = new System.Collections.Generic.Dictionary>();
+ foreach (var item_ in response_.Headers)
+ headers_[item_.Key] = item_.Value;
+ if (response_.Content != null && response_.Content.Headers != null)
+ {
+ foreach (var item_ in response_.Content.Headers)
+ headers_[item_.Key] = item_.Value;
+ }
+
+ ProcessResponse(client_, response_);
+
+ var status_ = (int)response_.StatusCode;
+ if (status_ == 200)
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+ return result_;
+ }
+ else
+ if (status_ == 400)
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+ throw new ApiException("Bad request.", status_, responseData_, headers_, result_, null);
+ }
+ else
+ if (status_ == 404)
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+ throw new ApiException("Not found, could not find UUID in database.", status_, responseData_, headers_, result_, null);
+ }
+ else
+ {
+ var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
+ if (objectResponse_.Object == null)
+ {
+ throw new ApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+ }
+ throw new ApiException("Unexpected error.", status_, objectResponse_.Text, headers_, objectResponse_.Object, null);
+ }
+ }
+ finally
+ {
+ if (disposeResponse_)
+ response_.Dispose();
+ }
+ }
+ }
+ finally
+ {
+ if (disposeClient_)
+ client_.Dispose();
+ }
+ }
+
+ ///
+ /// Return all the Trackables.
+ ///
+ ///
+ /// Get all the Trackables currently being stored in the world storage.
+ ///
+ /// OK, return all the Trackables defined by the world storage.
+ /// A server side error occurred.
+ public virtual System.Threading.Tasks.Task> GetTrackablesAsync(string token)
+ {
+ return GetTrackablesAsync(token, System.Threading.CancellationToken.None);
+ }
+
+ ///
+ /// Return all the Trackables.
+ ///
+ ///
+ /// Get all the Trackables currently being stored in the world storage.
+ ///
+ /// OK, return all the Trackables defined by the world storage.
+ /// A server side error occurred.
+ public virtual System.Collections.Generic.List GetTrackables(string token)
+ {
+ return System.Threading.Tasks.Task.Run(async () => await GetTrackablesAsync(token, System.Threading.CancellationToken.None)).GetAwaiter().GetResult();
+ }
+
+ /// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ ///
+ /// Return all the Trackables.
+ ///
+ ///
+ /// Get all the Trackables currently being stored in the world storage.
+ ///
+ /// OK, return all the Trackables defined by the world storage.
+ /// A server side error occurred.
+ public virtual async System.Threading.Tasks.Task> GetTrackablesAsync(string token, System.Threading.CancellationToken cancellationToken)
+ {
+ var client_ = _httpClient;
+ var disposeClient_ = false;
+ try
+ {
+ using (var request_ = new System.Net.Http.HttpRequestMessage())
+ {
+
+ if (token != null)
+ request_.Headers.TryAddWithoutValidation("token", ConvertToString(token, System.Globalization.CultureInfo.InvariantCulture));
+ request_.Method = new System.Net.Http.HttpMethod("GET");
+ request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json"));
+
+ var urlBuilder_ = new System.Text.StringBuilder();
+
+ // Operation Path: "trackables"
+ urlBuilder_.Append("trackables");
+
+ PrepareRequest(client_, request_, urlBuilder_);
+
+ var url_ = urlBuilder_.ToString();
+ request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute);
+
+ PrepareRequest(client_, request_, url_);
+
+ var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false);
+ var disposeResponse_ = true;
+ try
+ {
+ var headers_ = new System.Collections.Generic.Dictionary>();
+ foreach (var item_ in response_.Headers)
+ headers_[item_.Key] = item_.Value;
+ if (response_.Content != null && response_.Content.Headers != null)
+ {
+ foreach (var item_ in response_.Content.Headers)
+ headers_[item_.Key] = item_.Value;
+ }
+
+ ProcessResponse(client_, response_);
+
+ var status_ = (int)response_.StatusCode;
+ if (status_ == 200)
+ {
+ var objectResponse_ = await ReadObjectResponseAsync>(response_, headers_, cancellationToken).ConfigureAwait(false);
+ if (objectResponse_.Object == null)
+ {
+ throw new ApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+ }
+ return objectResponse_.Object;
+ }
+ else
+ if (status_ == 201)
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+ throw new ApiException("Null response.", status_, responseData_, headers_, result_, null);
+ }
+ else
+ {
+ var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
+ if (objectResponse_.Object == null)
+ {
+ throw new ApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+ }
+ throw new ApiException("Unexpected error.", status_, objectResponse_.Text, headers_, objectResponse_.Object, null);
+ }
+ }
+ finally
+ {
+ if (disposeResponse_)
+ response_.Dispose();
+ }
+ }
+ }
+ finally
+ {
+ if (disposeClient_)
+ client_.Dispose();
+ }
+ }
+
+ ///
+ /// Find a Trackable by its UUID.
+ ///
+ ///
+ /// Get a single Trackable stored in the world storage from its ID.
+ ///
+ /// UUID of the Trackable to retrieve.
+ /// Successful operation.
+ /// A server side error occurred.
+ public virtual System.Threading.Tasks.Task GetTrackableByIdAsync(string token, System.Guid trackableUUID)
+ {
+ return GetTrackableByIdAsync(token, trackableUUID, System.Threading.CancellationToken.None);
+ }
+
+ ///
+ /// Find a Trackable by its UUID.
+ ///
+ ///
+ /// Get a single Trackable stored in the world storage from its ID.
+ ///
+ /// UUID of the Trackable to retrieve.
+ /// Successful operation.
+ /// A server side error occurred.
+ public virtual Trackable GetTrackableById(string token, System.Guid trackableUUID)
+ {
+ return System.Threading.Tasks.Task.Run(async () => await GetTrackableByIdAsync(token, trackableUUID, System.Threading.CancellationToken.None)).GetAwaiter().GetResult();
+ }
+
+ /// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ ///
+ /// Find a Trackable by its UUID.
+ ///
+ ///
+ /// Get a single Trackable stored in the world storage from its ID.
+ ///
+ /// UUID of the Trackable to retrieve.
+ /// Successful operation.
+ /// A server side error occurred.
+ public virtual async System.Threading.Tasks.Task GetTrackableByIdAsync(string token, System.Guid trackableUUID, System.Threading.CancellationToken cancellationToken)
+ {
+ if (trackableUUID == null)
+ throw new System.ArgumentNullException("trackableUUID");
+
+ var client_ = _httpClient;
+ var disposeClient_ = false;
+ try
+ {
+ using (var request_ = new System.Net.Http.HttpRequestMessage())
+ {
+
+ if (token != null)
+ request_.Headers.TryAddWithoutValidation("token", ConvertToString(token, System.Globalization.CultureInfo.InvariantCulture));
+ request_.Method = new System.Net.Http.HttpMethod("GET");
+ request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json"));
+
+ var urlBuilder_ = new System.Text.StringBuilder();
+
+ // Operation Path: "trackables/{trackableUUID}"
+ urlBuilder_.Append("trackables/");
+ urlBuilder_.Append(System.Uri.EscapeDataString(ConvertToString(trackableUUID, System.Globalization.CultureInfo.InvariantCulture)));
+
+ PrepareRequest(client_, request_, urlBuilder_);
+
+ var url_ = urlBuilder_.ToString();
+ request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute);
+
+ PrepareRequest(client_, request_, url_);
+
+ var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false);
+ var disposeResponse_ = true;
+ try
+ {
+ var headers_ = new System.Collections.Generic.Dictionary>();
+ foreach (var item_ in response_.Headers)
+ headers_[item_.Key] = item_.Value;
+ if (response_.Content != null && response_.Content.Headers != null)
+ {
+ foreach (var item_ in response_.Content.Headers)
+ headers_[item_.Key] = item_.Value;
+ }
+
+ ProcessResponse(client_, response_);
+
+ var status_ = (int)response_.StatusCode;
+ if (status_ == 200)
+ {
+ var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
+ if (objectResponse_.Object == null)
+ {
+ throw new ApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+ }
+ return objectResponse_.Object;
+ }
+ else
+ if (status_ == 400)
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+ throw new ApiException("Invalid UUID supplied.", status_, responseData_, headers_, result_, null);
+ }
+ else
+ if (status_ == 404)
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+ throw new ApiException("Not found, could not find UUID in database.", status_, responseData_, headers_, result_, null);
+ }
+ else
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ throw new ApiException("The HTTP status code of the response was not expected (" + status_ + ").", status_, responseData_, headers_, null);
+ }
+ }
+ finally
+ {
+ if (disposeResponse_)
+ response_.Dispose();
+ }
+ }
+ }
+ finally
+ {
+ if (disposeClient_)
+ client_.Dispose();
+ }
+ }
+
+ ///
+ /// Delete a Trackable.
+ ///
+ ///
+ /// Delete a single Trackable stored in the world storage from its ID.
+ ///
+ /// Trackable UUID to delete.
+ /// OK, delete successful.
+ /// A server side error occurred.
+ public virtual System.Threading.Tasks.Task DeleteTrackableAsync(string token, System.Guid trackableUUID)
+ {
+ return DeleteTrackableAsync(token, trackableUUID, System.Threading.CancellationToken.None);
+ }
+
+ ///
+ /// Delete a Trackable.
+ ///
+ ///
+ /// Delete a single Trackable stored in the world storage from its ID.
+ ///
+ /// Trackable UUID to delete.
+ /// OK, delete successful.
+ /// A server side error occurred.
+ public virtual string DeleteTrackable(string token, System.Guid trackableUUID)
+ {
+ return System.Threading.Tasks.Task.Run(async () => await DeleteTrackableAsync(token, trackableUUID, System.Threading.CancellationToken.None)).GetAwaiter().GetResult();
+ }
+
+ /// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ ///
+ /// Delete a Trackable.
+ ///
+ ///
+ /// Delete a single Trackable stored in the world storage from its ID.
+ ///
+ /// Trackable UUID to delete.
+ /// OK, delete successful.
+ /// A server side error occurred.
+ public virtual async System.Threading.Tasks.Task DeleteTrackableAsync(string token, System.Guid trackableUUID, System.Threading.CancellationToken cancellationToken)
+ {
+ if (trackableUUID == null)
+ throw new System.ArgumentNullException("trackableUUID");
+
+ var client_ = _httpClient;
+ var disposeClient_ = false;
+ try
+ {
+ using (var request_ = new System.Net.Http.HttpRequestMessage())
+ {
+
+ if (token != null)
+ request_.Headers.TryAddWithoutValidation("token", ConvertToString(token, System.Globalization.CultureInfo.InvariantCulture));
+ request_.Method = new System.Net.Http.HttpMethod("DELETE");
+ request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("text/plain"));
+
+ var urlBuilder_ = new System.Text.StringBuilder();
+
+ // Operation Path: "trackables/{trackableUUID}"
+ urlBuilder_.Append("trackables/");
+ urlBuilder_.Append(System.Uri.EscapeDataString(ConvertToString(trackableUUID, System.Globalization.CultureInfo.InvariantCulture)));
+
+ PrepareRequest(client_, request_, urlBuilder_);
+
+ var url_ = urlBuilder_.ToString();
+ request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute);
+
+ PrepareRequest(client_, request_, url_);
+
+ var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false);
+ var disposeResponse_ = true;
+ try
+ {
+ var headers_ = new System.Collections.Generic.Dictionary>();
+ foreach (var item_ in response_.Headers)
+ headers_[item_.Key] = item_.Value;
+ if (response_.Content != null && response_.Content.Headers != null)
+ {
+ foreach (var item_ in response_.Content.Headers)
+ headers_[item_.Key] = item_.Value;
+ }
+
+ ProcessResponse(client_, response_);
+
+ var status_ = (int)response_.StatusCode;
+ if (status_ == 200)
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+ return result_;
+ }
+ else
+ if (status_ == 400)
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+ throw new ApiException("Invalid UUID supplied.", status_, responseData_, headers_, result_, null);
+ }
+ else
+ if (status_ == 404)
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+ throw new ApiException("Not found, could not find UUID in database.", status_, responseData_, headers_, result_, null);
+ }
+ else
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ throw new ApiException("The HTTP status code of the response was not expected (" + status_ + ").", status_, responseData_, headers_, null);
+ }
+ }
+ finally
+ {
+ if (disposeResponse_)
+ response_.Dispose();
+ }
+ }
+ }
+ finally
+ {
+ if (disposeClient_)
+ client_.Dispose();
+ }
+ }
+
+ ///
+ /// Create a World Anchor.
+ ///
+ ///
+ /// Create a new World Anchor from a json object containing all the required information and add it to the world storage. <br>As a result you will get the ID of the newly created World Anchor.
+ ///
+ /// The World Anchor to be added to the world storage.
+ /// OK, return the UUID of the World Anchor defined by the world storage.
+ /// A server side error occurred.
+ public virtual System.Threading.Tasks.Task AddWorldAnchorAsync(string token, WorldAnchor body)
+ {
+ return AddWorldAnchorAsync(token, body, System.Threading.CancellationToken.None);
+ }
+
+ ///
+ /// Create a World Anchor.
+ ///
+ ///
+ /// Create a new World Anchor from a json object containing all the required information and add it to the world storage. <br>As a result you will get the ID of the newly created World Anchor.
+ ///
+ /// The World Anchor to be added to the world storage.
+ /// OK, return the UUID of the World Anchor defined by the world storage.
+ /// A server side error occurred.
+ public virtual string AddWorldAnchor(string token, WorldAnchor body)
+ {
+ return System.Threading.Tasks.Task.Run(async () => await AddWorldAnchorAsync(token, body, System.Threading.CancellationToken.None)).GetAwaiter().GetResult();
+ }
+
+ /// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ ///
+ /// Create a World Anchor.
+ ///
+ ///
+ /// Create a new World Anchor from a json object containing all the required information and add it to the world storage. <br>As a result you will get the ID of the newly created World Anchor.
+ ///
+ /// The World Anchor to be added to the world storage.
+ /// OK, return the UUID of the World Anchor defined by the world storage.
+ /// A server side error occurred.
+ public virtual async System.Threading.Tasks.Task AddWorldAnchorAsync(string token, WorldAnchor body, System.Threading.CancellationToken cancellationToken)
+ {
+ if (body == null)
+ throw new System.ArgumentNullException("body");
+
+ var client_ = _httpClient;
+ var disposeClient_ = false;
+ try
+ {
+ using (var request_ = new System.Net.Http.HttpRequestMessage())
+ {
+
+ if (token != null)
+ request_.Headers.TryAddWithoutValidation("token", ConvertToString(token, System.Globalization.CultureInfo.InvariantCulture));
+ var json_ = Newtonsoft.Json.JsonConvert.SerializeObject(body, _settings.Value);
+ var content_ = new System.Net.Http.StringContent(json_);
+ content_.Headers.ContentType = System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json");
+ request_.Content = content_;
+ request_.Method = new System.Net.Http.HttpMethod("POST");
+ request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("text/plain"));
+
+ var urlBuilder_ = new System.Text.StringBuilder();
+
+ // Operation Path: "worldAnchors"
+ urlBuilder_.Append("worldAnchors");
+
+ PrepareRequest(client_, request_, urlBuilder_);
+
+ var url_ = urlBuilder_.ToString();
+ request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute);
+
+ PrepareRequest(client_, request_, url_);
+
+ var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false);
+ var disposeResponse_ = true;
+ try
+ {
+ var headers_ = new System.Collections.Generic.Dictionary>();
+ foreach (var item_ in response_.Headers)
+ headers_[item_.Key] = item_.Value;
+ if (response_.Content != null && response_.Content.Headers != null)
+ {
+ foreach (var item_ in response_.Content.Headers)
+ headers_[item_.Key] = item_.Value;
+ }
+
+ ProcessResponse(client_, response_);
+
+ var status_ = (int)response_.StatusCode;
+ if (status_ == 200)
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+ return result_;
+ }
+ else
+ if (status_ == 201)
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+ return result_;
+ }
+ else
+ if (status_ == 400)
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+ throw new ApiException("Bad request.", status_, responseData_, headers_, result_, null);
+ }
+ else
+ if (status_ == 409)
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+ throw new ApiException("Invalid UUID, id must be a Nil value.", status_, responseData_, headers_, result_, null);
+ }
+ else
+ {
+ var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
+ if (objectResponse_.Object == null)
+ {
+ throw new ApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+ }
+ throw new ApiException("Unexpected error.", status_, objectResponse_.Text, headers_, objectResponse_.Object, null);
+ }
+ }
+ finally
+ {
+ if (disposeResponse_)
+ response_.Dispose();
+ }
+ }
+ }
+ finally
+ {
+ if (disposeClient_)
+ client_.Dispose();
+ }
+ }
+
+ ///
+ /// Modify a World Anchor.
+ ///
+ ///
+ /// Modify an existing World Anchor given a json object containing all the required information. <br> **Please note that ID of the object is required in the JSON**
+ ///
+ /// The World Anchor to be modified in the world storage.
+ /// OK, return the UUID of the modified World Anchor.
+ /// A server side error occurred.
+ public virtual System.Threading.Tasks.Task ModifyWorldAnchorAsync(string token, WorldAnchor body)
+ {
+ return ModifyWorldAnchorAsync(token, body, System.Threading.CancellationToken.None);
+ }
+
+ ///
+ /// Modify a World Anchor.
+ ///
+ ///
+ /// Modify an existing World Anchor given a json object containing all the required information. <br> **Please note that ID of the object is required in the JSON**
+ ///
+ /// The World Anchor to be modified in the world storage.
+ /// OK, return the UUID of the modified World Anchor.
+ /// A server side error occurred.
+ public virtual string ModifyWorldAnchor(string token, WorldAnchor body)
+ {
+ return System.Threading.Tasks.Task.Run(async () => await ModifyWorldAnchorAsync(token, body, System.Threading.CancellationToken.None)).GetAwaiter().GetResult();
+ }
+
+ /// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ ///
+ /// Modify a World Anchor.
+ ///
+ ///
+ /// Modify an existing World Anchor given a json object containing all the required information. <br> **Please note that ID of the object is required in the JSON**
+ ///
+ /// The World Anchor to be modified in the world storage.
+ /// OK, return the UUID of the modified World Anchor.
+ /// A server side error occurred.
+ public virtual async System.Threading.Tasks.Task ModifyWorldAnchorAsync(string token, WorldAnchor body, System.Threading.CancellationToken cancellationToken)
+ {
+ if (body == null)
+ throw new System.ArgumentNullException("body");
+
+ var client_ = _httpClient;
+ var disposeClient_ = false;
+ try
+ {
+ using (var request_ = new System.Net.Http.HttpRequestMessage())
+ {
+
+ if (token != null)
+ request_.Headers.TryAddWithoutValidation("token", ConvertToString(token, System.Globalization.CultureInfo.InvariantCulture));
+ var json_ = Newtonsoft.Json.JsonConvert.SerializeObject(body, _settings.Value);
+ var content_ = new System.Net.Http.StringContent(json_);
+ content_.Headers.ContentType = System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json");
+ request_.Content = content_;
+ request_.Method = new System.Net.Http.HttpMethod("PUT");
+ request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("text/plain"));
+
+ var urlBuilder_ = new System.Text.StringBuilder();
+
+ // Operation Path: "worldAnchors"
+ urlBuilder_.Append("worldAnchors");
+
+ PrepareRequest(client_, request_, urlBuilder_);
+
+ var url_ = urlBuilder_.ToString();
+ request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute);
+
+ PrepareRequest(client_, request_, url_);
+
+ var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false);
+ var disposeResponse_ = true;
+ try
+ {
+ var headers_ = new System.Collections.Generic.Dictionary>();
+ foreach (var item_ in response_.Headers)
+ headers_[item_.Key] = item_.Value;
+ if (response_.Content != null && response_.Content.Headers != null)
+ {
+ foreach (var item_ in response_.Content.Headers)
+ headers_[item_.Key] = item_.Value;
+ }
+
+ ProcessResponse(client_, response_);
+
+ var status_ = (int)response_.StatusCode;
+ if (status_ == 200)
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+ return result_;
+ }
+ else
+ if (status_ == 400)
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+ throw new ApiException("Bad request.", status_, responseData_, headers_, result_, null);
+ }
+ else
+ if (status_ == 404)
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+ throw new ApiException("Not found, could not find UUID in database.", status_, responseData_, headers_, result_, null);
+ }
+ else
+ {
+ var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
+ if (objectResponse_.Object == null)
+ {
+ throw new ApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+ }
+ throw new ApiException("Unexpected error.", status_, objectResponse_.Text, headers_, objectResponse_.Object, null);
+ }
+ }
+ finally
+ {
+ if (disposeResponse_)
+ response_.Dispose();
+ }
+ }
+ }
+ finally
+ {
+ if (disposeClient_)
+ client_.Dispose();
+ }
+ }
+
+ ///
+ /// Return all the World Anchors.
+ ///
+ ///
+ /// Get all the World Anchors currently being stored in the world storage.
+ ///
+ /// OK, return all the World Anchors defined by the world storage.
+ /// A server side error occurred.
+ public virtual System.Threading.Tasks.Task> GetWorldAnchorsAsync(string token)
+ {
+ return GetWorldAnchorsAsync(token, System.Threading.CancellationToken.None);
+ }
+
+ ///
+ /// Return all the World Anchors.
+ ///
+ ///
+ /// Get all the World Anchors currently being stored in the world storage.
+ ///
+ /// OK, return all the World Anchors defined by the world storage.
+ /// A server side error occurred.
+ public virtual System.Collections.Generic.List GetWorldAnchors(string token)
+ {
+ return System.Threading.Tasks.Task.Run(async () => await GetWorldAnchorsAsync(token, System.Threading.CancellationToken.None)).GetAwaiter().GetResult();
+ }
+
+ /// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ ///
+ /// Return all the World Anchors.
+ ///
+ ///
+ /// Get all the World Anchors currently being stored in the world storage.
+ ///
+ /// OK, return all the World Anchors defined by the world storage.
+ /// A server side error occurred.
+ public virtual async System.Threading.Tasks.Task> GetWorldAnchorsAsync(string token, System.Threading.CancellationToken cancellationToken)
+ {
+ var client_ = _httpClient;
+ var disposeClient_ = false;
+ try
+ {
+ using (var request_ = new System.Net.Http.HttpRequestMessage())
+ {
+
+ if (token != null)
+ request_.Headers.TryAddWithoutValidation("token", ConvertToString(token, System.Globalization.CultureInfo.InvariantCulture));
+ request_.Method = new System.Net.Http.HttpMethod("GET");
+ request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json"));
+
+ var urlBuilder_ = new System.Text.StringBuilder();
+
+ // Operation Path: "worldAnchors"
+ urlBuilder_.Append("worldAnchors");
+
+ PrepareRequest(client_, request_, urlBuilder_);
+
+ var url_ = urlBuilder_.ToString();
+ request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute);
+
+ PrepareRequest(client_, request_, url_);
+
+ var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false);
+ var disposeResponse_ = true;
+ try
+ {
+ var headers_ = new System.Collections.Generic.Dictionary>();
+ foreach (var item_ in response_.Headers)
+ headers_[item_.Key] = item_.Value;
+ if (response_.Content != null && response_.Content.Headers != null)
+ {
+ foreach (var item_ in response_.Content.Headers)
+ headers_[item_.Key] = item_.Value;
+ }
+
+ ProcessResponse(client_, response_);
+
+ var status_ = (int)response_.StatusCode;
+ if (status_ == 200)
+ {
+ var objectResponse_ = await ReadObjectResponseAsync>(response_, headers_, cancellationToken).ConfigureAwait(false);
+ if (objectResponse_.Object == null)
+ {
+ throw new ApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+ }
+ return objectResponse_.Object;
+ }
+ else
+ if (status_ == 201)
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+ throw new ApiException("Null response.", status_, responseData_, headers_, result_, null);
+ }
+ else
+ {
+ var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
+ if (objectResponse_.Object == null)
+ {
+ throw new ApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+ }
+ throw new ApiException("Unexpected error.", status_, objectResponse_.Text, headers_, objectResponse_.Object, null);
+ }
+ }
+ finally
+ {
+ if (disposeResponse_)
+ response_.Dispose();
+ }
+ }
+ }
+ finally
+ {
+ if (disposeClient_)
+ client_.Dispose();
+ }
+ }
+
+ ///
+ /// Find a World Anchor by its UUID.
+ ///
+ ///
+ /// Get a single World Anchor stored in the world storage from its ID.
+ ///
+ /// UUID of the World Anchor to retrieve.
+ /// Successful operation.
+ /// A server side error occurred.
+ public virtual System.Threading.Tasks.Task GetWorldAnchorByIdAsync(string token, System.Guid worldAnchorUUID)
+ {
+ return GetWorldAnchorByIdAsync(token, worldAnchorUUID, System.Threading.CancellationToken.None);
+ }
+
+ ///
+ /// Find a World Anchor by its UUID.
+ ///
+ ///
+ /// Get a single World Anchor stored in the world storage from its ID.
+ ///
+ /// UUID of the World Anchor to retrieve.
+ /// Successful operation.
+ /// A server side error occurred.
+ public virtual WorldAnchor GetWorldAnchorById(string token, System.Guid worldAnchorUUID)
+ {
+ return System.Threading.Tasks.Task.Run(async () => await GetWorldAnchorByIdAsync(token, worldAnchorUUID, System.Threading.CancellationToken.None)).GetAwaiter().GetResult();
+ }
+
+ /// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ ///
+ /// Find a World Anchor by its UUID.
+ ///
+ ///
+ /// Get a single World Anchor stored in the world storage from its ID.
+ ///
+ /// UUID of the World Anchor to retrieve.
+ /// Successful operation.
+ /// A server side error occurred.
+ public virtual async System.Threading.Tasks.Task GetWorldAnchorByIdAsync(string token, System.Guid worldAnchorUUID, System.Threading.CancellationToken cancellationToken)
+ {
+ if (worldAnchorUUID == null)
+ throw new System.ArgumentNullException("worldAnchorUUID");
+
+ var client_ = _httpClient;
+ var disposeClient_ = false;
+ try
+ {
+ using (var request_ = new System.Net.Http.HttpRequestMessage())
+ {
+
+ if (token != null)
+ request_.Headers.TryAddWithoutValidation("token", ConvertToString(token, System.Globalization.CultureInfo.InvariantCulture));
+ request_.Method = new System.Net.Http.HttpMethod("GET");
+ request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json"));
+
+ var urlBuilder_ = new System.Text.StringBuilder();
+
+ // Operation Path: "worldAnchors/{worldAnchorUUID}"
+ urlBuilder_.Append("worldAnchors/");
+ urlBuilder_.Append(System.Uri.EscapeDataString(ConvertToString(worldAnchorUUID, System.Globalization.CultureInfo.InvariantCulture)));
+
+ PrepareRequest(client_, request_, urlBuilder_);
+
+ var url_ = urlBuilder_.ToString();
+ request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute);
+
+ PrepareRequest(client_, request_, url_);
+
+ var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false);
+ var disposeResponse_ = true;
+ try
+ {
+ var headers_ = new System.Collections.Generic.Dictionary>();
+ foreach (var item_ in response_.Headers)
+ headers_[item_.Key] = item_.Value;
+ if (response_.Content != null && response_.Content.Headers != null)
+ {
+ foreach (var item_ in response_.Content.Headers)
+ headers_[item_.Key] = item_.Value;
+ }
+
+ ProcessResponse(client_, response_);
+
+ var status_ = (int)response_.StatusCode;
+ if (status_ == 200)
+ {
+ var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
+ if (objectResponse_.Object == null)
+ {
+ throw new ApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+ }
+ return objectResponse_.Object;
+ }
+ else
+ if (status_ == 400)
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+ throw new ApiException("Invalid UUID supplied.", status_, responseData_, headers_, result_, null);
+ }
+ else
+ if (status_ == 404)
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+ throw new ApiException("Not found, could not find UUID in database.", status_, responseData_, headers_, result_, null);
+ }
+ else
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ throw new ApiException("The HTTP status code of the response was not expected (" + status_ + ").", status_, responseData_, headers_, null);
+ }
+ }
+ finally
+ {
+ if (disposeResponse_)
+ response_.Dispose();
+ }
+ }
+ }
+ finally
+ {
+ if (disposeClient_)
+ client_.Dispose();
+ }
+ }
+
+ ///
+ /// Delete a World Anchor.
+ ///
+ ///
+ /// Delete a single World Anchor stored in the world storage from its ID.
+ ///
+ /// World Anchor UUID to delete.
+ /// OK, delete successful.
+ /// A server side error occurred.
+ public virtual System.Threading.Tasks.Task DeleteWorldAnchorAsync(string token, System.Guid worldAnchorUUID)
+ {
+ return DeleteWorldAnchorAsync(token, worldAnchorUUID, System.Threading.CancellationToken.None);
+ }
+
+ ///
+ /// Delete a World Anchor.
+ ///
+ ///
+ /// Delete a single World Anchor stored in the world storage from its ID.
+ ///
+ /// World Anchor UUID to delete.
+ /// OK, delete successful.
+ /// A server side error occurred.
+ public virtual string DeleteWorldAnchor(string token, System.Guid worldAnchorUUID)
+ {
+ return System.Threading.Tasks.Task.Run(async () => await DeleteWorldAnchorAsync(token, worldAnchorUUID, System.Threading.CancellationToken.None)).GetAwaiter().GetResult();
+ }
+
+ /// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ ///
+ /// Delete a World Anchor.
+ ///
+ ///
+ /// Delete a single World Anchor stored in the world storage from its ID.
+ ///
+ /// World Anchor UUID to delete.
+ /// OK, delete successful.
+ /// A server side error occurred.
+ public virtual async System.Threading.Tasks.Task DeleteWorldAnchorAsync(string token, System.Guid worldAnchorUUID, System.Threading.CancellationToken cancellationToken)
+ {
+ if (worldAnchorUUID == null)
+ throw new System.ArgumentNullException("worldAnchorUUID");
+
+ var client_ = _httpClient;
+ var disposeClient_ = false;
+ try
+ {
+ using (var request_ = new System.Net.Http.HttpRequestMessage())
+ {
+
+ if (token != null)
+ request_.Headers.TryAddWithoutValidation("token", ConvertToString(token, System.Globalization.CultureInfo.InvariantCulture));
+ request_.Method = new System.Net.Http.HttpMethod("DELETE");
+ request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("text/plain"));
+
+ var urlBuilder_ = new System.Text.StringBuilder();
+
+ // Operation Path: "worldAnchors/{worldAnchorUUID}"
+ urlBuilder_.Append("worldAnchors/");
+ urlBuilder_.Append(System.Uri.EscapeDataString(ConvertToString(worldAnchorUUID, System.Globalization.CultureInfo.InvariantCulture)));
+
+ PrepareRequest(client_, request_, urlBuilder_);
+
+ var url_ = urlBuilder_.ToString();
+ request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute);
+
+ PrepareRequest(client_, request_, url_);
+
+ var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false);
+ var disposeResponse_ = true;
+ try
+ {
+ var headers_ = new System.Collections.Generic.Dictionary>();
+ foreach (var item_ in response_.Headers)
+ headers_[item_.Key] = item_.Value;
+ if (response_.Content != null && response_.Content.Headers != null)
+ {
+ foreach (var item_ in response_.Content.Headers)
+ headers_[item_.Key] = item_.Value;
+ }
+
+ ProcessResponse(client_, response_);
+
+ var status_ = (int)response_.StatusCode;
+ if (status_ == 200)
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+ return result_;
+ }
+ else
+ if (status_ == 400)
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+ throw new ApiException("Invalid UUID supplied.", status_, responseData_, headers_, result_, null);
+ }
+ else
+ if (status_ == 404)
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+ throw new ApiException("Not found, could not find UUID in database.", status_, responseData_, headers_, result_, null);
+ }
+ else
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ throw new ApiException("The HTTP status code of the response was not expected (" + status_ + ").", status_, responseData_, headers_, null);
+ }
+ }
+ finally
+ {
+ if (disposeResponse_)
+ response_.Dispose();
+ }
+ }
+ }
+ finally
+ {
+ if (disposeClient_)
+ client_.Dispose();
+ }
+ }
+
+ ///
+ /// Create a World Link between elements (world anchors and/or trackables).
+ ///
+ ///
+ /// Create a new World Link from a json object containing all the required information and add it to the world storage. <br>As a result you will get the ID of the newly created World Link.
+ ///
+ /// The link to be added to the world storage.
+ /// OK, return the UUID of the World Link defined by the world storage.
+ /// A server side error occurred.
+ public virtual System.Threading.Tasks.Task AddWorldLinkAsync(string token, WorldLink body)
+ {
+ return AddWorldLinkAsync(token, body, System.Threading.CancellationToken.None);
+ }
+
+ ///
+ /// Create a World Link between elements (world anchors and/or trackables).
+ ///
+ ///
+ /// Create a new World Link from a json object containing all the required information and add it to the world storage. <br>As a result you will get the ID of the newly created World Link.
+ ///
+ /// The link to be added to the world storage.
+ /// OK, return the UUID of the World Link defined by the world storage.
+ /// A server side error occurred.
+ public virtual string AddWorldLink(string token, WorldLink body)
+ {
+ return System.Threading.Tasks.Task.Run(async () => await AddWorldLinkAsync(token, body, System.Threading.CancellationToken.None)).GetAwaiter().GetResult();
+ }
+
+ /// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ ///
+ /// Create a World Link between elements (world anchors and/or trackables).
+ ///
+ ///
+ /// Create a new World Link from a json object containing all the required information and add it to the world storage. <br>As a result you will get the ID of the newly created World Link.
+ ///
+ /// The link to be added to the world storage.
+ /// OK, return the UUID of the World Link defined by the world storage.
+ /// A server side error occurred.
+ public virtual async System.Threading.Tasks.Task AddWorldLinkAsync(string token, WorldLink body, System.Threading.CancellationToken cancellationToken)
+ {
+ if (body == null)
+ throw new System.ArgumentNullException("body");
+
+ var client_ = _httpClient;
+ var disposeClient_ = false;
+ try
+ {
+ using (var request_ = new System.Net.Http.HttpRequestMessage())
+ {
+
+ if (token != null)
+ request_.Headers.TryAddWithoutValidation("token", ConvertToString(token, System.Globalization.CultureInfo.InvariantCulture));
+ var json_ = Newtonsoft.Json.JsonConvert.SerializeObject(body, _settings.Value);
+ var content_ = new System.Net.Http.StringContent(json_);
+ content_.Headers.ContentType = System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json");
+ request_.Content = content_;
+ request_.Method = new System.Net.Http.HttpMethod("POST");
+ request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("text/plain"));
+
+ var urlBuilder_ = new System.Text.StringBuilder();
+
+ // Operation Path: "worldLinks"
+ urlBuilder_.Append("worldLinks");
+
+ PrepareRequest(client_, request_, urlBuilder_);
+
+ var url_ = urlBuilder_.ToString();
+ request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute);
+
+ PrepareRequest(client_, request_, url_);
+
+ var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false);
+ var disposeResponse_ = true;
+ try
+ {
+ var headers_ = new System.Collections.Generic.Dictionary>();
+ foreach (var item_ in response_.Headers)
+ headers_[item_.Key] = item_.Value;
+ if (response_.Content != null && response_.Content.Headers != null)
+ {
+ foreach (var item_ in response_.Content.Headers)
+ headers_[item_.Key] = item_.Value;
+ }
+
+ ProcessResponse(client_, response_);
+
+ var status_ = (int)response_.StatusCode;
+ if (status_ == 200)
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+ return result_;
+ }
+ else
+ if (status_ == 201)
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+ return result_;
+ }
+ else
+ if (status_ == 400)
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+ throw new ApiException("Bad request.", status_, responseData_, headers_, result_, null);
+ }
+ else
+ if (status_ == 409)
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+ throw new ApiException("Invalid UUID, id must be a Nil value.", status_, responseData_, headers_, result_, null);
+ }
+ else
+ {
+ var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
+ if (objectResponse_.Object == null)
+ {
+ throw new ApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+ }
+ throw new ApiException("Unexpected error.", status_, objectResponse_.Text, headers_, objectResponse_.Object, null);
+ }
+ }
+ finally
+ {
+ if (disposeResponse_)
+ response_.Dispose();
+ }
+ }
+ }
+ finally
+ {
+ if (disposeClient_)
+ client_.Dispose();
+ }
+ }
+
+ ///
+ /// Modify a World Link.
+ ///
+ ///
+ /// Modify an existing World Link given a json object containing all the required information. <br> **Please note that ID of the object is required in the JSON**
+ ///
+ /// The World Link to be modified in the world storage.
+ /// OK, return the UUID of the modified World Link.
+ /// A server side error occurred.
+ public virtual System.Threading.Tasks.Task ModifyWorldLinkAsync(string token, WorldLink body)
+ {
+ return ModifyWorldLinkAsync(token, body, System.Threading.CancellationToken.None);
+ }
+
+ ///
+ /// Modify a World Link.
+ ///
+ ///
+ /// Modify an existing World Link given a json object containing all the required information. <br> **Please note that ID of the object is required in the JSON**
+ ///
+ /// The World Link to be modified in the world storage.
+ /// OK, return the UUID of the modified World Link.
+ /// A server side error occurred.
+ public virtual string ModifyWorldLink(string token, WorldLink body)
+ {
+ return System.Threading.Tasks.Task.Run(async () => await ModifyWorldLinkAsync(token, body, System.Threading.CancellationToken.None)).GetAwaiter().GetResult();
+ }
+
+ /// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ ///
+ /// Modify a World Link.
+ ///
+ ///
+ /// Modify an existing World Link given a json object containing all the required information. <br> **Please note that ID of the object is required in the JSON**
+ ///
+ /// The World Link to be modified in the world storage.
+ /// OK, return the UUID of the modified World Link.
+ /// A server side error occurred.
+ public virtual async System.Threading.Tasks.Task ModifyWorldLinkAsync(string token, WorldLink body, System.Threading.CancellationToken cancellationToken)
+ {
+ if (body == null)
+ throw new System.ArgumentNullException("body");
+
+ var client_ = _httpClient;
+ var disposeClient_ = false;
+ try
+ {
+ using (var request_ = new System.Net.Http.HttpRequestMessage())
+ {
+
+ if (token != null)
+ request_.Headers.TryAddWithoutValidation("token", ConvertToString(token, System.Globalization.CultureInfo.InvariantCulture));
+ var json_ = Newtonsoft.Json.JsonConvert.SerializeObject(body, _settings.Value);
+ var content_ = new System.Net.Http.StringContent(json_);
+ content_.Headers.ContentType = System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json");
+ request_.Content = content_;
+ request_.Method = new System.Net.Http.HttpMethod("PUT");
+ request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("text/plain"));
+
+ var urlBuilder_ = new System.Text.StringBuilder();
+
+ // Operation Path: "worldLinks"
+ urlBuilder_.Append("worldLinks");
+
+ PrepareRequest(client_, request_, urlBuilder_);
+
+ var url_ = urlBuilder_.ToString();
+ request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute);
+
+ PrepareRequest(client_, request_, url_);
+
+ var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false);
+ var disposeResponse_ = true;
+ try
+ {
+ var headers_ = new System.Collections.Generic.Dictionary>();
+ foreach (var item_ in response_.Headers)
+ headers_[item_.Key] = item_.Value;
+ if (response_.Content != null && response_.Content.Headers != null)
+ {
+ foreach (var item_ in response_.Content.Headers)
+ headers_[item_.Key] = item_.Value;
+ }
+
+ ProcessResponse(client_, response_);
+
+ var status_ = (int)response_.StatusCode;
+ if (status_ == 200)
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+ return result_;
+ }
+ else
+ if (status_ == 400)
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+ throw new ApiException("Bad request.", status_, responseData_, headers_, result_, null);
+ }
+ else
+ if (status_ == 404)
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+ throw new ApiException("Not found, could not find UUID in database.", status_, responseData_, headers_, result_, null);
+ }
+ else
+ {
+ var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
+ if (objectResponse_.Object == null)
+ {
+ throw new ApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+ }
+ throw new ApiException("Unexpected error.", status_, objectResponse_.Text, headers_, objectResponse_.Object, null);
+ }
+ }
+ finally
+ {
+ if (disposeResponse_)
+ response_.Dispose();
+ }
+ }
+ }
+ finally
+ {
+ if (disposeClient_)
+ client_.Dispose();
+ }
+ }
+
+ ///
+ /// Return all World Links.
+ ///
+ ///
+ /// Get all the World Links currently being stored in the world storage.
+ ///
+ /// OK return all the World Links defined by the world storage.
+ /// A server side error occurred.
+ public virtual System.Threading.Tasks.Task> GetWorldLinksAsync(string token)
+ {
+ return GetWorldLinksAsync(token, System.Threading.CancellationToken.None);
+ }
+
+ ///
+ /// Return all World Links.
+ ///
+ ///
+ /// Get all the World Links currently being stored in the world storage.
+ ///
+ /// OK return all the World Links defined by the world storage.
+ /// A server side error occurred.
+ public virtual System.Collections.Generic.List GetWorldLinks(string token)
+ {
+ return System.Threading.Tasks.Task.Run(async () => await GetWorldLinksAsync(token, System.Threading.CancellationToken.None)).GetAwaiter().GetResult();
+ }
+
+ /// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ ///
+ /// Return all World Links.
+ ///
+ ///
+ /// Get all the World Links currently being stored in the world storage.
+ ///
+ /// OK return all the World Links defined by the world storage.
+ /// A server side error occurred.
+ public virtual async System.Threading.Tasks.Task> GetWorldLinksAsync(string token, System.Threading.CancellationToken cancellationToken)
+ {
+ var client_ = _httpClient;
+ var disposeClient_ = false;
+ try
+ {
+ using (var request_ = new System.Net.Http.HttpRequestMessage())
+ {
+
+ if (token != null)
+ request_.Headers.TryAddWithoutValidation("token", ConvertToString(token, System.Globalization.CultureInfo.InvariantCulture));
+ request_.Method = new System.Net.Http.HttpMethod("GET");
+ request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json"));
+
+ var urlBuilder_ = new System.Text.StringBuilder();
+
+ // Operation Path: "worldLinks"
+ urlBuilder_.Append("worldLinks");
+
+ PrepareRequest(client_, request_, urlBuilder_);
+
+ var url_ = urlBuilder_.ToString();
+ request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute);
+
+ PrepareRequest(client_, request_, url_);
+
+ var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false);
+ var disposeResponse_ = true;
+ try
+ {
+ var headers_ = new System.Collections.Generic.Dictionary>();
+ foreach (var item_ in response_.Headers)
+ headers_[item_.Key] = item_.Value;
+ if (response_.Content != null && response_.Content.Headers != null)
+ {
+ foreach (var item_ in response_.Content.Headers)
+ headers_[item_.Key] = item_.Value;
+ }
+
+ ProcessResponse(client_, response_);
+
+ var status_ = (int)response_.StatusCode;
+ if (status_ == 200)
+ {
+ var objectResponse_ = await ReadObjectResponseAsync>(response_, headers_, cancellationToken).ConfigureAwait(false);
+ if (objectResponse_.Object == null)
+ {
+ throw new ApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+ }
+ return objectResponse_.Object;
+ }
+ else
+ if (status_ == 201)
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+ throw new ApiException("Null response.", status_, responseData_, headers_, result_, null);
+ }
+ else
+ {
+ var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
+ if (objectResponse_.Object == null)
+ {
+ throw new ApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+ }
+ throw new ApiException("Unexpected error.", status_, objectResponse_.Text, headers_, objectResponse_.Object, null);
+ }
+ }
+ finally
+ {
+ if (disposeResponse_)
+ response_.Dispose();
+ }
+ }
+ }
+ finally
+ {
+ if (disposeClient_)
+ client_.Dispose();
+ }
+ }
+
+ ///
+ /// Find a World Link by its UUID.
+ ///
+ ///
+ /// Get a single World Link stored in the world storage from its ID.
+ ///
+ /// UUID of the World Link to retrieve.
+ /// Successful operation.
+ /// A server side error occurred.
+ public virtual System.Threading.Tasks.Task GetWorldLinkByIdAsync(string token, System.Guid worldLinkUUID)
+ {
+ return GetWorldLinkByIdAsync(token, worldLinkUUID, System.Threading.CancellationToken.None);
+ }
+
+ ///
+ /// Find a World Link by its UUID.
+ ///
+ ///
+ /// Get a single World Link stored in the world storage from its ID.
+ ///
+ /// UUID of the World Link to retrieve.
+ /// Successful operation.
+ /// A server side error occurred.
+ public virtual WorldLink GetWorldLinkById(string token, System.Guid worldLinkUUID)
+ {
+ return System.Threading.Tasks.Task.Run(async () => await GetWorldLinkByIdAsync(token, worldLinkUUID, System.Threading.CancellationToken.None)).GetAwaiter().GetResult();
+ }
+
+ /// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ ///
+ /// Find a World Link by its UUID.
+ ///
+ ///
+ /// Get a single World Link stored in the world storage from its ID.
+ ///
+ /// UUID of the World Link to retrieve.
+ /// Successful operation.
+ /// A server side error occurred.
+ public virtual async System.Threading.Tasks.Task GetWorldLinkByIdAsync(string token, System.Guid worldLinkUUID, System.Threading.CancellationToken cancellationToken)
+ {
+ if (worldLinkUUID == null)
+ throw new System.ArgumentNullException("worldLinkUUID");
+
+ var client_ = _httpClient;
+ var disposeClient_ = false;
+ try
+ {
+ using (var request_ = new System.Net.Http.HttpRequestMessage())
+ {
+
+ if (token != null)
+ request_.Headers.TryAddWithoutValidation("token", ConvertToString(token, System.Globalization.CultureInfo.InvariantCulture));
+ request_.Method = new System.Net.Http.HttpMethod("GET");
+ request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json"));
+
+ var urlBuilder_ = new System.Text.StringBuilder();
+
+ // Operation Path: "worldLinks/{worldLinkUUID}"
+ urlBuilder_.Append("worldLinks/");
+ urlBuilder_.Append(System.Uri.EscapeDataString(ConvertToString(worldLinkUUID, System.Globalization.CultureInfo.InvariantCulture)));
+
+ PrepareRequest(client_, request_, urlBuilder_);
+
+ var url_ = urlBuilder_.ToString();
+ request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute);
+
+ PrepareRequest(client_, request_, url_);
+
+ var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false);
+ var disposeResponse_ = true;
+ try
+ {
+ var headers_ = new System.Collections.Generic.Dictionary>();
+ foreach (var item_ in response_.Headers)
+ headers_[item_.Key] = item_.Value;
+ if (response_.Content != null && response_.Content.Headers != null)
+ {
+ foreach (var item_ in response_.Content.Headers)
+ headers_[item_.Key] = item_.Value;
+ }
+
+ ProcessResponse(client_, response_);
+
+ var status_ = (int)response_.StatusCode;
+ if (status_ == 200)
+ {
+ var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
+ if (objectResponse_.Object == null)
+ {
+ throw new ApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+ }
+ return objectResponse_.Object;
+ }
+ else
+ if (status_ == 400)
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+ throw new ApiException("Invalid UUID supplied.", status_, responseData_, headers_, result_, null);
+ }
+ else
+ if (status_ == 404)
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+ throw new ApiException("Not found, could not find UUID in database.", status_, responseData_, headers_, result_, null);
+ }
+ else
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ throw new ApiException("The HTTP status code of the response was not expected (" + status_ + ").", status_, responseData_, headers_, null);
+ }
+ }
+ finally
+ {
+ if (disposeResponse_)
+ response_.Dispose();
+ }
+ }
+ }
+ finally
+ {
+ if (disposeClient_)
+ client_.Dispose();
+ }
+ }
+
+ ///
+ /// Delete a World Link.
+ ///
+ ///
+ /// Delete a single World Link stored in the world storage from its ID.
+ ///
+ /// World Link id to delete.
+ /// OK, delete successful.
+ /// A server side error occurred.
+ public virtual System.Threading.Tasks.Task DeleteWorldLinkAsync(string token, System.Guid worldLinkUUID)
+ {
+ return DeleteWorldLinkAsync(token, worldLinkUUID, System.Threading.CancellationToken.None);
+ }
+
+ ///
+ /// Delete a World Link.
+ ///
+ ///
+ /// Delete a single World Link stored in the world storage from its ID.
+ ///
+ /// World Link id to delete.
+ /// OK, delete successful.
+ /// A server side error occurred.
+ public virtual string DeleteWorldLink(string token, System.Guid worldLinkUUID)
+ {
+ return System.Threading.Tasks.Task.Run(async () => await DeleteWorldLinkAsync(token, worldLinkUUID, System.Threading.CancellationToken.None)).GetAwaiter().GetResult();
+ }
+
+ /// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ ///
+ /// Delete a World Link.
+ ///
+ ///
+ /// Delete a single World Link stored in the world storage from its ID.
+ ///
+ /// World Link id to delete.
+ /// OK, delete successful.
+ /// A server side error occurred.
+ public virtual async System.Threading.Tasks.Task DeleteWorldLinkAsync(string token, System.Guid worldLinkUUID, System.Threading.CancellationToken cancellationToken)
+ {
+ if (worldLinkUUID == null)
+ throw new System.ArgumentNullException("worldLinkUUID");
+
+ var client_ = _httpClient;
+ var disposeClient_ = false;
+ try
+ {
+ using (var request_ = new System.Net.Http.HttpRequestMessage())
+ {
+
+ if (token != null)
+ request_.Headers.TryAddWithoutValidation("token", ConvertToString(token, System.Globalization.CultureInfo.InvariantCulture));
+ request_.Method = new System.Net.Http.HttpMethod("DELETE");
+ request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("text/plain"));
+
+ var urlBuilder_ = new System.Text.StringBuilder();
+
+ // Operation Path: "worldLinks/{worldLinkUUID}"
+ urlBuilder_.Append("worldLinks/");
+ urlBuilder_.Append(System.Uri.EscapeDataString(ConvertToString(worldLinkUUID, System.Globalization.CultureInfo.InvariantCulture)));
+
+ PrepareRequest(client_, request_, urlBuilder_);
+
+ var url_ = urlBuilder_.ToString();
+ request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute);
+
+ PrepareRequest(client_, request_, url_);
+
+ var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false);
+ var disposeResponse_ = true;
+ try
+ {
+ var headers_ = new System.Collections.Generic.Dictionary>();
+ foreach (var item_ in response_.Headers)
+ headers_[item_.Key] = item_.Value;
+ if (response_.Content != null && response_.Content.Headers != null)
+ {
+ foreach (var item_ in response_.Content.Headers)
+ headers_[item_.Key] = item_.Value;
+ }
+
+ ProcessResponse(client_, response_);
+
+ var status_ = (int)response_.StatusCode;
+ if (status_ == 200)
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+ return result_;
+ }
+ else
+ if (status_ == 400)
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+ throw new ApiException("Invalid UUID supplied.", status_, responseData_, headers_, result_, null);
+ }
+ else
+ if (status_ == 404)
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+ throw new ApiException("Not found, could not find UUID in database.", status_, responseData_, headers_, result_, null);
+ }
+ else
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ throw new ApiException("The HTTP status code of the response was not expected (" + status_ + ").", status_, responseData_, headers_, null);
+ }
+ }
+ finally
+ {
+ if (disposeResponse_)
+ response_.Dispose();
+ }
+ }
+ }
+ finally
+ {
+ if (disposeClient_)
+ client_.Dispose();
+ }
+ }
+
+ protected struct ObjectResponseResult
+ {
+ public ObjectResponseResult(T responseObject, string responseText)
+ {
+ this.Object = responseObject;
+ this.Text = responseText;
+ }
+
+ public T Object { get; }
+
+ public string Text { get; }
+ }
+
+ public bool ReadResponseAsString { get; set; }
+
+ protected virtual async System.Threading.Tasks.Task> ReadObjectResponseAsync(System.Net.Http.HttpResponseMessage response, System.Collections.Generic.IReadOnlyDictionary> headers, System.Threading.CancellationToken cancellationToken)
+ {
+ if (response == null || response.Content == null)
+ {
+ return new ObjectResponseResult(default(T), string.Empty);
+ }
+
+ if (ReadResponseAsString)
+ {
+ var responseText = await response.Content.ReadAsStringAsync().ConfigureAwait(false);
+ try
+ {
+ var typedBody = Newtonsoft.Json.JsonConvert.DeserializeObject(responseText, JsonSerializerSettings);
+ return new ObjectResponseResult(typedBody, responseText);
+ }
+ catch (Newtonsoft.Json.JsonException exception)
+ {
+ var message = "Could not deserialize the response body string as " + typeof(T).FullName + ".";
+ throw new ApiException(message, (int)response.StatusCode, responseText, headers, exception);
+ }
+ }
+ else
+ {
+ try
+ {
+ using (var responseStream = await response.Content.ReadAsStreamAsync().ConfigureAwait(false))
+ using (var streamReader = new System.IO.StreamReader(responseStream))
+ using (var jsonTextReader = new Newtonsoft.Json.JsonTextReader(streamReader))
+ {
+ var serializer = Newtonsoft.Json.JsonSerializer.Create(JsonSerializerSettings);
+ var typedBody = serializer.Deserialize(jsonTextReader);
+ return new ObjectResponseResult(typedBody, string.Empty);
+ }
+ }
+ catch (Newtonsoft.Json.JsonException exception)
+ {
+ var message = "Could not deserialize the response body stream as " + typeof(T).FullName + ".";
+ throw new ApiException(message, (int)response.StatusCode, string.Empty, headers, exception);
+ }
+ }
+ }
+
+ private string ConvertToString(object value, System.Globalization.CultureInfo cultureInfo)
+ {
+ if (value == null)
+ {
+ return "";
+ }
+
+ if (value is System.Enum)
+ {
+ var name = System.Enum.GetName(value.GetType(), value);
+ if (name != null)
+ {
+ var field = System.Reflection.IntrospectionExtensions.GetTypeInfo(value.GetType()).GetDeclaredField(name);
+ if (field != null)
+ {
+ var attribute = System.Reflection.CustomAttributeExtensions.GetCustomAttribute(field, typeof(System.Runtime.Serialization.EnumMemberAttribute))
+ as System.Runtime.Serialization.EnumMemberAttribute;
+ if (attribute != null)
+ {
+ return attribute.Value != null ? attribute.Value : name;
+ }
+ }
+
+ var converted = System.Convert.ToString(System.Convert.ChangeType(value, System.Enum.GetUnderlyingType(value.GetType()), cultureInfo));
+ return converted == null ? string.Empty : converted;
+ }
+ }
+ else if (value is bool)
+ {
+ return System.Convert.ToString((bool)value, cultureInfo).ToLowerInvariant();
+ }
+ else if (value is byte[])
+ {
+ return System.Convert.ToBase64String((byte[]) value);
+ }
+ else if (value is string[])
+ {
+ return string.Join(",", (string[])value);
+ }
+ else if (value.GetType().IsArray)
+ {
+ var valueArray = (System.Array)value;
+ var valueTextArray = new string[valueArray.Length];
+ for (var i = 0; i < valueArray.Length; i++)
+ {
+ valueTextArray[i] = ConvertToString(valueArray.GetValue(i), cultureInfo);
+ }
+ return string.Join(",", valueTextArray);
+ }
+
+ var result = System.Convert.ToString(value, cultureInfo);
+ return result == null ? "" : result;
+ }
+ }
+
+ ///
+ /// An element representing all information needed in relation with a Trackable or a WorldAnchor.
+ ///
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.0.7.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class RelocalizationInformation
+ {
+ ///
+ /// The UUID of the original WorldAnchor or the Trackable requested.
+ ///
+ [Newtonsoft.Json.JsonProperty("requestUUID", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
+ public System.Guid RequestUUID { get; set; }
+
+ [Newtonsoft.Json.JsonProperty("requestType", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
+ [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))]
+ public TypeWorldStorage RequestType { get; set; }
+
+ ///
+ /// an array with trackables and their transforms linking them to the requestUUID element.
+ ///
+ [Newtonsoft.Json.JsonProperty("relocObjects", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
+ public System.Collections.Generic.ICollection RelocObjects { get; set; }
+
+ private System.Collections.Generic.IDictionary _additionalProperties;
+
+ [Newtonsoft.Json.JsonExtensionData]
+ public System.Collections.Generic.IDictionary AdditionalProperties
+ {
+ get { return _additionalProperties ?? (_additionalProperties = new System.Collections.Generic.Dictionary()); }
+ set { _additionalProperties = value; }
+ }
+
+ }
+
+ ///
+ /// An element representing a Trackable object in the real world.
+ ///
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.0.7.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class Trackable
+ {
+ ///
+ /// An Universally Unique IDentifier identifying the Trackable (RFC 4122).
+ ///
+ [Newtonsoft.Json.JsonProperty("UUID", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
+ public System.Guid UUID { get; set; }
+
+ ///
+ /// A human readable name for the Trackable.
+ ///
+ [Newtonsoft.Json.JsonProperty("name", Required = Newtonsoft.Json.Required.Always)]
+ public string Name { get; set; }
+
+ ///
+ /// An Universally Unique IDentifier identifying the creator of the Trackable (a person, a team or a company).
+ ///
+ [Newtonsoft.Json.JsonProperty("creatorUUID", Required = Newtonsoft.Json.Required.Always)]
+ public System.Guid CreatorUUID { get; set; }
+
+ [Newtonsoft.Json.JsonProperty("trackableType", Required = Newtonsoft.Json.Required.Always)]
+ [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))]
+ public TrackableType TrackableType { get; set; }
+
+ [Newtonsoft.Json.JsonProperty("trackableEncodingInformation", Required = Newtonsoft.Json.Required.Always)]
+ public EncodingInformationStructure TrackableEncodingInformation { get; set; }
+
+ ///
+ /// The data provided to create the Trackable in a specific format handled by the world storage service.
+ ///
+ [Newtonsoft.Json.JsonProperty("trackablePayload", Required = Newtonsoft.Json.Required.Always)]
+ public byte[] TrackablePayload { get; set; }
+
+ [Newtonsoft.Json.JsonProperty("localCRS", Required = Newtonsoft.Json.Required.Always)]
+ public Transform3D LocalCRS { get; set; } = new Transform3D();
+
+ [Newtonsoft.Json.JsonProperty("unit", Required = Newtonsoft.Json.Required.Always)]
+ [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))]
+ public UnitSystem Unit { get; set; }
+
+ [Newtonsoft.Json.JsonProperty("trackableSize", Required = Newtonsoft.Json.Required.Always)]
+ public Size TrackableSize { get; set; } = new Size();
+
+ [Newtonsoft.Json.JsonProperty("keyvalueTags", Required = Newtonsoft.Json.Required.Always)]
+ public KeyvalueTagList KeyvalueTags { get; set; } = new KeyvalueTagList();
+
+ [Newtonsoft.Json.JsonProperty("confidence", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
+ public double Confidence { get; set; }
+
+ private System.Collections.Generic.IDictionary _additionalProperties;
+
+ [Newtonsoft.Json.JsonExtensionData]
+ public System.Collections.Generic.IDictionary AdditionalProperties
+ {
+ get { return _additionalProperties ?? (_additionalProperties = new System.Collections.Generic.Dictionary()); }
+ set { _additionalProperties = value; }
+ }
+
+ }
+
+ ///
+ /// An element describing a pose in the world graph.
+ ///
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.0.7.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class WorldAnchor
+ {
+ ///
+ /// An Universally Unique IDentifier identifying the World Anchor (RFC 4122).
+ ///
+ [Newtonsoft.Json.JsonProperty("UUID", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
+ public System.Guid UUID { get; set; }
+
+ ///
+ /// A human readable name for the World Anchor.
+ ///
+ [Newtonsoft.Json.JsonProperty("name", Required = Newtonsoft.Json.Required.Always)]
+ public string Name { get; set; }
+
+ ///
+ /// An Universally Unique IDentifier identifying the creator of the World Anchor.
+ ///
+ [Newtonsoft.Json.JsonProperty("creatorUUID", Required = Newtonsoft.Json.Required.Always)]
+ public System.Guid CreatorUUID { get; set; }
+
+ [Newtonsoft.Json.JsonProperty("localCRS", Required = Newtonsoft.Json.Required.Always)]
+ public Transform3D LocalCRS { get; set; } = new Transform3D();
+
+ [Newtonsoft.Json.JsonProperty("unit", Required = Newtonsoft.Json.Required.Always)]
+ [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))]
+ public UnitSystem Unit { get; set; }
+
+ [Newtonsoft.Json.JsonProperty("worldAnchorSize", Required = Newtonsoft.Json.Required.Always)]
+ public Size WorldAnchorSize { get; set; } = new Size();
+
+ [Newtonsoft.Json.JsonProperty("keyvalueTags", Required = Newtonsoft.Json.Required.Always)]
+ public KeyvalueTagList KeyvalueTags { get; set; } = new KeyvalueTagList();
+
+ private System.Collections.Generic.IDictionary _additionalProperties;
+
+ [Newtonsoft.Json.JsonExtensionData]
+ public System.Collections.Generic.IDictionary AdditionalProperties
+ {
+ get { return _additionalProperties ?? (_additionalProperties = new System.Collections.Generic.Dictionary()); }
+ set { _additionalProperties = value; }
+ }
+
+ }
+
+ ///
+ /// An object holding the info of a transform between two elements.
+ ///
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.0.7.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class WorldLink
+ {
+ ///
+ /// An Universally Unique IDentifier identifying the World Link (RFC 4122).
+ ///
+ [Newtonsoft.Json.JsonProperty("UUID", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
+ public System.Guid UUID { get; set; }
+
+ ///
+ /// An Universally Unique IDentifier identifying the creator of the World Link.
+ ///
+ [Newtonsoft.Json.JsonProperty("creatorUUID", Required = Newtonsoft.Json.Required.Always)]
+ public System.Guid CreatorUUID { get; set; }
+
+ ///
+ /// An Universally Unique IDentifier identifying a World Anchor or Trackable.
+ ///
+ [Newtonsoft.Json.JsonProperty("UUIDFrom", Required = Newtonsoft.Json.Required.Always)]
+ public System.Guid UUIDFrom { get; set; }
+
+ ///
+ /// An Universally Unique IDentifier identifying a World Anchor or Trackable.
+ ///
+ [Newtonsoft.Json.JsonProperty("UUIDTo", Required = Newtonsoft.Json.Required.Always)]
+ public System.Guid UUIDTo { get; set; }
+
+ [Newtonsoft.Json.JsonProperty("typeFrom", Required = Newtonsoft.Json.Required.Always)]
+ [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))]
+ public TypeWorldStorage TypeFrom { get; set; }
+
+ [Newtonsoft.Json.JsonProperty("typeTo", Required = Newtonsoft.Json.Required.Always)]
+ [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))]
+ public TypeWorldStorage TypeTo { get; set; }
+
+ [Newtonsoft.Json.JsonProperty("transform", Required = Newtonsoft.Json.Required.Always)]
+ public Transform3D Transform { get; set; } = new Transform3D();
+
+ [Newtonsoft.Json.JsonProperty("unit", Required = Newtonsoft.Json.Required.Always)]
+ [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))]
+ public UnitSystem Unit { get; set; }
+
+ [Newtonsoft.Json.JsonProperty("keyvalueTags", Required = Newtonsoft.Json.Required.Always)]
+ public KeyvalueTagList KeyvalueTags { get; set; } = new KeyvalueTagList();
+
+ private System.Collections.Generic.IDictionary _additionalProperties;
+
+ [Newtonsoft.Json.JsonExtensionData]
+ public System.Collections.Generic.IDictionary AdditionalProperties
+ {
+ get { return _additionalProperties ?? (_additionalProperties = new System.Collections.Generic.Dictionary()); }
+ set { _additionalProperties = value; }
+ }
+
+ }
+
+ ///
+ /// List of additional parameters to be stored with the object.
+ ///
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.0.7.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class KeyvalueTagList : System.Collections.Generic.Dictionary>
+ {
+
+ }
+
+ ///
+ /// An object representing a supported capability of the World Analysis and its associated metadata
+ ///
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.0.7.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class Capability
+ {
+ [Newtonsoft.Json.JsonProperty("trackableType", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
+ [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))]
+ public TrackableType TrackableType { get; set; }
+
+ [Newtonsoft.Json.JsonProperty("encodingInformation", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
+ public EncodingInformationStructure EncodingInformation { get; set; }
+
+ ///
+ /// Number of frames per second the tracking of this type of trackable is performed by the World Analysis
+ ///
+ [Newtonsoft.Json.JsonProperty("framerate", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
+ public double Framerate { get; set; }
+
+ ///
+ /// Mean tracking latency in milliseconds for this type of trackable
+ ///
+ [Newtonsoft.Json.JsonProperty("latency", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
+ public double Latency { get; set; }
+
+ ///
+ /// Accuracy score for the detection of this type of Trackable by the World Analysis
+ ///
+ [Newtonsoft.Json.JsonProperty("accuracy", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
+ public double Accuracy { get; set; }
+
+ private System.Collections.Generic.IDictionary _additionalProperties;
+
+ [Newtonsoft.Json.JsonExtensionData]
+ public System.Collections.Generic.IDictionary AdditionalProperties
+ {
+ get { return _additionalProperties ?? (_additionalProperties = new System.Collections.Generic.Dictionary()); }
+ set { _additionalProperties = value; }
+ }
+
+ }
+
+ ///
+ /// An object holding the info of a Trackable`'`s encoding information `:` the data format and the version.
+ ///
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.0.7.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class EncodingInformationStructure
+ {
+ ///
+ /// Identifier of the target framework.
+ ///
+ [Newtonsoft.Json.JsonProperty("dataFormat", Required = Newtonsoft.Json.Required.Always)]
+ [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))]
+ public EncodingInformationStructureDataFormat DataFormat { get; set; }
+
+ ///
+ /// The version of the format
+ ///
+ [Newtonsoft.Json.JsonProperty("version", Required = Newtonsoft.Json.Required.Always)]
+ public string Version { get; set; }
+
+ private System.Collections.Generic.IDictionary _additionalProperties;
+
+ [Newtonsoft.Json.JsonExtensionData]
+ public System.Collections.Generic.IDictionary AdditionalProperties
+ {
+ get { return _additionalProperties ?? (_additionalProperties = new System.Collections.Generic.Dictionary()); }
+ set { _additionalProperties = value; }
+ }
+
+ }
+
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.0.7.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class Error
+ {
+ [Newtonsoft.Json.JsonProperty("code", Required = Newtonsoft.Json.Required.Always)]
+ public int Code { get; set; }
+
+ [Newtonsoft.Json.JsonProperty("message", Required = Newtonsoft.Json.Required.Always)]
+ public string Message { get; set; }
+
+ private System.Collections.Generic.IDictionary _additionalProperties;
+
+ [Newtonsoft.Json.JsonExtensionData]
+ public System.Collections.Generic.IDictionary AdditionalProperties
+ {
+ get { return _additionalProperties ?? (_additionalProperties = new System.Collections.Generic.Dictionary()); }
+ set { _additionalProperties = value; }
+ }
+
+ }
+
+ ///
+ /// Mode representing the context of the relocalization information (AR device to WorldAnchor/Trackable or WorldAnchor/Trackable to AR device)
+ ///
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.0.7.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")]
+ public enum Mode_WorldStorage
+ {
+
+ [System.Runtime.Serialization.EnumMember(Value = @"TRACKABLES_TO_REQUEST")]
+ TRACKABLES_TO_REQUEST = 0,
+
+ [System.Runtime.Serialization.EnumMember(Value = @"REQUEST_TO_TRACKABLES")]
+ REQUEST_TO_TRACKABLES = 1,
+
+ }
+
+ ///
+ /// Size object in format {width, length, depth}.
+ ///
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.0.7.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class Size : System.Collections.ObjectModel.Collection
+ {
+
+ }
+
+ ///
+ /// Type for trackable
+ ///
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.0.7.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")]
+ public enum TrackableType
+ {
+
+ [System.Runtime.Serialization.EnumMember(Value = @"FIDUCIAL_MARKER")]
+ FIDUCIAL_MARKER = 0,
+
+ [System.Runtime.Serialization.EnumMember(Value = @"IMAGE_MARKER")]
+ IMAGE_MARKER = 1,
+
+ [System.Runtime.Serialization.EnumMember(Value = @"MESH")]
+ MESH = 2,
+
+ [System.Runtime.Serialization.EnumMember(Value = @"MAP")]
+ MAP = 3,
+
+ [System.Runtime.Serialization.EnumMember(Value = @"GEOPOSE")]
+ GEOPOSE = 4,
+
+ [System.Runtime.Serialization.EnumMember(Value = @"OTHER")]
+ OTHER = 5,
+
+ }
+
+ ///
+ /// Coordinate reference system of the world anchor, a 4*4 matrix (rowmajor) represented by a float vector.
+ ///
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.0.7.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class Transform3D : System.Collections.ObjectModel.Collection
+ {
+
+ }
+
+ ///
+ /// Trackable or Anchor
+ ///
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.0.7.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")]
+ public enum TypeWorldStorage
+ {
+
+ [System.Runtime.Serialization.EnumMember(Value = @"TRACKABLE")]
+ TRACKABLE = 0,
+
+ [System.Runtime.Serialization.EnumMember(Value = @"ANCHOR")]
+ ANCHOR = 1,
+
+ [System.Runtime.Serialization.EnumMember(Value = @"UNKNOWN")]
+ UNKNOWN = 2,
+
+ }
+
+ ///
+ /// Unit of length.
+ ///
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.0.7.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")]
+ public enum UnitSystem
+ {
+
+ [System.Runtime.Serialization.EnumMember(Value = @"MM")]
+ MM = 0,
+
+ [System.Runtime.Serialization.EnumMember(Value = @"CM")]
+ CM = 1,
+
+ [System.Runtime.Serialization.EnumMember(Value = @"DM")]
+ DM = 2,
+
+ [System.Runtime.Serialization.EnumMember(Value = @"M")]
+ M = 3,
+
+ [System.Runtime.Serialization.EnumMember(Value = @"DAM")]
+ DAM = 4,
+
+ [System.Runtime.Serialization.EnumMember(Value = @"HM")]
+ HM = 5,
+
+ [System.Runtime.Serialization.EnumMember(Value = @"KM")]
+ KM = 6,
+
+ [System.Runtime.Serialization.EnumMember(Value = @"INCH")]
+ INCH = 7,
+
+ [System.Runtime.Serialization.EnumMember(Value = @"FOOT")]
+ FOOT = 8,
+
+ [System.Runtime.Serialization.EnumMember(Value = @"YARD")]
+ YARD = 9,
+
+ [System.Runtime.Serialization.EnumMember(Value = @"MILE")]
+ MILE = 10,
+
+ }
+
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.0.7.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class Anonymous
+ {
+ [Newtonsoft.Json.JsonProperty("uuid", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
+ public System.Guid Uuid { get; set; }
+
+ [Newtonsoft.Json.JsonProperty("mode", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
+ [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))]
+ public Mode_WorldStorage Mode { get; set; }
+
+ private System.Collections.Generic.IDictionary _additionalProperties;
+
+ [Newtonsoft.Json.JsonExtensionData]
+ public System.Collections.Generic.IDictionary AdditionalProperties
+ {
+ get { return _additionalProperties ?? (_additionalProperties = new System.Collections.Generic.Dictionary()); }
+ set { _additionalProperties = value; }
+ }
+
+ }
+
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.0.7.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class Response
+ {
+ [Newtonsoft.Json.JsonProperty("RelocInfo", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
+ public System.Collections.Generic.ICollection RelocInfo { get; set; }
+
+ private System.Collections.Generic.IDictionary _additionalProperties;
+
+ [Newtonsoft.Json.JsonExtensionData]
+ public System.Collections.Generic.IDictionary AdditionalProperties
+ {
+ get { return _additionalProperties ?? (_additionalProperties = new System.Collections.Generic.Dictionary()); }
+ set { _additionalProperties = value; }
+ }
+
+ }
+
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.0.7.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class RelocObjects
+ {
+ [Newtonsoft.Json.JsonProperty("trackable", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
+ public Trackable Trackable { get; set; }
+
+ [Newtonsoft.Json.JsonProperty("Transform3D", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
+ public Transform3D Transform3D { get; set; }
+
+ [Newtonsoft.Json.JsonProperty("mode", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
+ [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))]
+ public Mode_WorldStorage Mode { get; set; }
+
+ private System.Collections.Generic.IDictionary _additionalProperties;
+
+ [Newtonsoft.Json.JsonExtensionData]
+ public System.Collections.Generic.IDictionary AdditionalProperties
+ {
+ get { return _additionalProperties ?? (_additionalProperties = new System.Collections.Generic.Dictionary()); }
+ set { _additionalProperties = value; }
+ }
+
+ }
+
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.0.7.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")]
+ public enum EncodingInformationStructureDataFormat
+ {
+
+ [System.Runtime.Serialization.EnumMember(Value = @"HOLOLENS")]
+ HOLOLENS = 0,
+
+ [System.Runtime.Serialization.EnumMember(Value = @"ARKIT")]
+ ARKIT = 1,
+
+ [System.Runtime.Serialization.EnumMember(Value = @"ARCORE")]
+ ARCORE = 2,
+
+ [System.Runtime.Serialization.EnumMember(Value = @"VUFORIA")]
+ VUFORIA = 3,
+
+ [System.Runtime.Serialization.EnumMember(Value = @"ARUCO")]
+ ARUCO = 4,
+
+ [System.Runtime.Serialization.EnumMember(Value = @"OTHER")]
+ OTHER = 5,
+
+ }
+
+
+
+ [System.CodeDom.Compiler.GeneratedCode("NSwag", "14.0.7.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class ApiException : System.Exception
+ {
+ public int StatusCode { get; private set; }
+
+ public string Response { get; private set; }
+
+ public System.Collections.Generic.IReadOnlyDictionary> Headers { get; private set; }
+
+ public ApiException(string message, int statusCode, string response, System.Collections.Generic.IReadOnlyDictionary> headers, System.Exception innerException)
+ : base(message + "\n\nStatus: " + statusCode + "\nResponse: \n" + ((response == null) ? "(null)" : response.Substring(0, response.Length >= 512 ? 512 : response.Length)), innerException)
+ {
+ StatusCode = statusCode;
+ Response = response;
+ Headers = headers;
+ }
+
+ public override string ToString()
+ {
+ return string.Format("HTTP Response: \n\n{0}\n\n{1}", Response, base.ToString());
+ }
+ }
+
+ [System.CodeDom.Compiler.GeneratedCode("NSwag", "14.0.7.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class ApiException : ApiException
+ {
+ public TResult Result { get; private set; }
+
+ public ApiException(string message, int statusCode, string response, System.Collections.Generic.IReadOnlyDictionary> headers, TResult result, System.Exception innerException)
+ : base(message, statusCode, response, headers, innerException)
+ {
+ Result = result;
+ }
+ }
+
+}
+
+#pragma warning restore 108
+#pragma warning restore 114
+#pragma warning restore 472
+#pragma warning restore 612
+#pragma warning restore 1573
+#pragma warning restore 1591
+#pragma warning restore 8073
+#pragma warning restore 3016
+#pragma warning restore 8603
+#pragma warning restore 8604
+#pragma warning restore 8625
\ No newline at end of file
diff --git a/Runtime/Scripts/OpenAPI/Generated/WorldStorageOpenAPI.cs.meta b/Runtime/Scripts/OpenAPI/Generated/WorldStorageOpenAPI.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..440047cfd07043e732f7eef7dd646c30e37ce17a
--- /dev/null
+++ b/Runtime/Scripts/OpenAPI/Generated/WorldStorageOpenAPI.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 30c641ff7728b7749a30c1076c101b4f
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Runtime/Scripts/OpenAPI/ResponseObject.cs b/Runtime/Scripts/OpenAPI/ResponseObject.cs
new file mode 100644
index 0000000000000000000000000000000000000000..4e6ffb7795ceea595d3262d53080a6b6a10ef7aa
--- /dev/null
+++ b/Runtime/Scripts/OpenAPI/ResponseObject.cs
@@ -0,0 +1,63 @@
+// The Fraunhofer HHI Unity Framework
+// ___________ .__ _____ ___ ___ ___ ___ .___
+// \_ _____/___________ __ __ ____ | |__ _____/ ____\___________ / | \ / | \| |
+// | __) \_ __ \__ \ | | \/ \| | \ / _ \ __\/ __ \_ __ \ / ~ \/ ~ \ |
+// | \ | | \// __ \| | / | \ Y ( <_> ) | \ ___/| | \/ \ Y /\ Y / |
+// \___ / |__| (____ /____/|___| /___| /\____/|__| \___ >__| \___|_ / \___|_ /|___|
+// \/ \/ \/ \/ \/ \/ \/
+// (C) Fraunhofer HHI, 2024
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Threading;
+using UnityEngine;
+
+namespace ETSI.ARF.OpenAPI
+{
+ public class ResponseObject
+ {
+ // Management stuffs
+ static int ID = 0;
+ public int transactionId = 0;
+ public string message = ""; // custom message, type of data...
+
+ // Time monitoring
+ public TimeSpan DeltaTime { get => responseTime - requestTime; }
+ public DateTime requestTime;
+ public DateTime responseTime;
+
+ // Incoming data
+ public T result;
+ public int payload; // size of data
+
+ //public string result = ""; // text result
+ //public object data = null; // custom result
+
+ // Callback
+ public Action> callback;
+
+ // Task cancelllation
+ public CancellationToken cancellationToken { get => ct; }
+ private CancellationTokenSource tokenSource;
+ private CancellationToken ct;
+
+
+ public ResponseObject(string msg, Action> func = null)
+ {
+ requestTime = DateTime.Now;
+ transactionId = ++ID;
+ message = msg;
+
+ callback = func;
+
+ tokenSource = new CancellationTokenSource();
+ ct = tokenSource.Token;
+ }
+
+ public void Cancel()
+ {
+ tokenSource.Cancel();
+ }
+ }
+}
\ No newline at end of file
diff --git a/Runtime/Scripts/OpenAPI/ResponseObject.cs.meta b/Runtime/Scripts/OpenAPI/ResponseObject.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..de0ee81cad532018e112632791e0b7cf68a47824
--- /dev/null
+++ b/Runtime/Scripts/OpenAPI/ResponseObject.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 05f85f41b6c493447aa7915699cae696
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Runtime/Scripts/OpenAPI/UnityWebRequestHttpClient.cs b/Runtime/Scripts/OpenAPI/UnityWebRequestHttpClient.cs
new file mode 100644
index 0000000000000000000000000000000000000000..94466cec553cae872c2b684a5ec167c2ad00445c
--- /dev/null
+++ b/Runtime/Scripts/OpenAPI/UnityWebRequestHttpClient.cs
@@ -0,0 +1,205 @@
+// Depends on UniTask to support cancellation token and GetAwaiter: https://github.com/Cysharp/UniTask
+// Otherwise, the code can be adapted using https://gist.github.com/krzys-h/9062552e33dd7bd7fe4a6c12db109a1a
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Net;
+using System.Net.Http;
+using System.Net.Http.Headers;
+using System.Threading;
+using System.Threading.Tasks;
+//using Cysharp.Threading.Tasks;
+
+using UnityEngine;
+using UnityEngine.Networking;
+
+namespace ETSI.ARF.OpenAPI
+{
+ public interface IHttpClient
+ {
+ public Uri BaseAddress { get; set; }
+ public HttpRequestHeaders DefaultRequestHeaders { get; }
+
+ public Task SendAsync(HttpRequestMessage message, HttpCompletionOption option,
+ CancellationToken token);
+
+ public void Dispose();
+ }
+
+ public class BasicHTTPClient : IHttpClient
+ {
+
+ public BasicHTTPClient() { }
+
+ public BasicHTTPClient(string baseUri)
+ {
+ BaseAddress = new Uri(baseUri);
+ _httpClient.BaseAddress = BaseAddress;
+ }
+
+ public BasicHTTPClient (Uri baseUri)
+ {
+ BaseAddress = baseUri;
+ _httpClient.BaseAddress = BaseAddress;
+ }
+
+ public Uri BaseAddress { get; set; }
+ public HttpRequestHeaders DefaultRequestHeaders => _httpClient.DefaultRequestHeaders;
+
+ private readonly HttpClient _httpClient = new HttpClient();
+
+ public async Task SendAsync(HttpRequestMessage message, HttpCompletionOption option, CancellationToken token)
+ {
+ return await _httpClient.SendAsync(message, option, token);
+ }
+
+ public void Dispose()
+ {
+ _httpClient.Dispose();
+ DefaultRequestHeaders.Clear();
+ BaseAddress = null;
+ }
+ }
+
+ public class UnityWebRequestHttpClient : IHttpClient
+ {
+ public UnityWebRequestHttpClient() { }
+
+ public UnityWebRequestHttpClient(string baseUri)
+ {
+ BaseAddress = new Uri(baseUri);
+ }
+
+ public UnityWebRequestHttpClient(Uri baseUri)
+ {
+ BaseAddress = baseUri;
+ }
+
+ public Uri BaseAddress { get; set; }
+ public HttpRequestHeaders DefaultRequestHeaders => _httpClient.DefaultRequestHeaders;
+
+ private readonly HttpClient _httpClient = new HttpClient();
+
+ public async Task SendAsync(HttpRequestMessage message, HttpCompletionOption option, CancellationToken token)
+ {
+ var content = await (message.Content?.ReadAsStringAsync() ?? Task.FromResult(""));
+ var webRequest = GetUnityWebRequest(message.Method.Method, message.RequestUri, content);
+
+ AppendHeaders(webRequest);
+
+ Debug.Log("[HTTP] Request " + webRequest.uri.ToString());
+ try
+ {
+ //SylR
+ webRequest.SendWebRequest();
+ while (!webRequest.isDone)
+ {
+ if (token.IsCancellationRequested)
+ {
+ Debug.Log($"Task '{ message.RequestUri }' cancelled");
+ token.ThrowIfCancellationRequested();
+ }
+ await Task.Yield();
+ }
+
+ //await webRequest
+ // .SendWebRequest()
+ // .WithCancellation(cancellationToken: token);
+ }
+ catch (Exception)
+ {
+ webRequest.Dispose();
+ throw;
+ }
+
+ Debug.Log("[HTTP] Result: " + webRequest.result.ToString());
+
+ var responseMessage = CreateHttpResponseMessage(webRequest);
+ webRequest.Dispose();
+
+ Debug.Log("[HTTP] Response len: " + responseMessage.Content.Headers.ContentLength);
+
+ return responseMessage;
+ }
+
+ public void Dispose()
+ {
+ _httpClient.Dispose();
+ DefaultRequestHeaders.Clear();
+ BaseAddress = null;
+ }
+
+ private UnityWebRequest GetUnityWebRequest(string method, Uri endpoint, string content = "")
+ {
+ var requestUri = BaseAddress.AbsoluteUri + endpoint;
+ var webRequest = UnityWebRequest.Get(requestUri);
+ webRequest.method = method;
+
+ webRequest.disposeUploadHandlerOnDispose = true;
+ webRequest.disposeDownloadHandlerOnDispose = true;
+
+ if (!string.IsNullOrEmpty(content))
+ {
+ var data = new System.Text.UTF8Encoding().GetBytes(content);
+ webRequest.uploadHandler = new UploadHandlerRaw(data);
+ webRequest.SetRequestHeader("Content-Type", "application/json");
+ //webRequest.SetRequestHeader("Content-Type", "image/jpeg");
+ }
+ return webRequest;
+ }
+
+ private void AppendHeaders(UnityWebRequest webRequest)
+ {
+ using var enumerator = DefaultRequestHeaders.GetEnumerator();
+
+ while (enumerator.MoveNext())
+ {
+ var (key, value) = enumerator.Current;
+ webRequest.SetRequestHeader(key, value.First());
+ }
+ }
+
+ private HttpResponseMessage CreateHttpResponseMessage(UnityWebRequest webRequest)
+ {
+ var responseContent = webRequest.downloadHandler?.text;
+
+ var response = new HttpResponseMessage();
+ response.Content = new StringContent(responseContent);
+ response.StatusCode = (HttpStatusCode)webRequest.responseCode;
+
+ Dictionary headers = webRequest.GetResponseHeaders();
+
+ if (headers != null)
+ {
+ Debug.Log("[HTTP] Header: " + headers.Count.ToString());
+ foreach (var h in headers)
+ {
+ switch (h.Key.ToLower().Trim())
+ {
+ case "content-type":
+ {
+ var trimmed = h.Value.ToLower().Split(";").FirstOrDefault();
+ response.Content.Headers.ContentType = new MediaTypeHeaderValue(trimmed);
+ break;
+ }
+ case "content-length":
+ response.Content.Headers.ContentLength = long.Parse(h.Value);
+ break;
+
+ default:
+ if (h.Value == "gzip")
+ {
+ // bug???
+ }
+ else
+ response.Headers.Add(h.Key, h.Value);
+ break;
+ }
+ }
+ }
+ return response;
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/Runtime/Scripts/OpenAPI/UnityWebRequestHttpClient.cs.meta b/Runtime/Scripts/OpenAPI/UnityWebRequestHttpClient.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..47e0b46229f979b9b8232f4c0f048632706357fa
--- /dev/null
+++ b/Runtime/Scripts/OpenAPI/UnityWebRequestHttpClient.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 5ebca3dbe45f9b34bb21cbedd07084eb
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Runtime/Scripts/OpenAPI/WorldStorageClient.cs b/Runtime/Scripts/OpenAPI/WorldStorageClient.cs
new file mode 100644
index 0000000000000000000000000000000000000000..fd665702cc48024042328416b67a8bc5fec99adf
--- /dev/null
+++ b/Runtime/Scripts/OpenAPI/WorldStorageClient.cs
@@ -0,0 +1,52 @@
+//
+// ARF - Augmented Reality Framework (ETSI ISG ARF)
+//
+// Copyright 2024 ETSI
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// 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.
+//
+// Last change: March 2024
+//
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.Networking;
+
+namespace ETSI.ARF.OpenAPI.WorldStorage
+{
+ // SylR
+ public partial class WorldStorageClient
+ {
+ public string lastJsonText;
+ public long lastPayload;
+
+ partial void PrepareRequest(IHttpClient client, System.Net.Http.HttpRequestMessage request, string url)
+ {
+ // If needed to make some special things !!!
+ }
+
+ partial void PrepareRequest(IHttpClient client, System.Net.Http.HttpRequestMessage request, System.Text.StringBuilder urlBuilder)
+ {
+ // do something...
+ }
+
+ partial void ProcessResponse(IHttpClient client, System.Net.Http.HttpResponseMessage response)
+ {
+ lastJsonText = response.Content.ReadAsStringAsync().Result.ToString();
+ lastPayload = response.Content.Headers.ContentLength.Value;
+
+ // If needed to make some special things !!!
+ }
+ }
+}
\ No newline at end of file
diff --git a/Runtime/Scripts/OpenAPI/WorldStorageClient.cs.meta b/Runtime/Scripts/OpenAPI/WorldStorageClient.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..cf76ff91dbde591b3aaf1708e13eadf6004eeff9
--- /dev/null
+++ b/Runtime/Scripts/OpenAPI/WorldStorageClient.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: dfde2d8d63991f04bb94b071252aba6d
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Runtime/REST.meta b/Runtime/Scripts/REST.meta
similarity index 100%
rename from Assets/Runtime/REST.meta
rename to Runtime/Scripts/REST.meta
diff --git a/Runtime/Scripts/REST/AdminRequest.cs b/Runtime/Scripts/REST/AdminRequest.cs
new file mode 100644
index 0000000000000000000000000000000000000000..36492dcd1f18b91f0058778820b38febd2bb8747
--- /dev/null
+++ b/Runtime/Scripts/REST/AdminRequest.cs
@@ -0,0 +1,81 @@
+//
+// ARF - Augmented Reality Framework (ETSI ISG ARF)
+//
+// Copyright 2024 ETSI
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// 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.
+//
+// Last change: March 2024
+//
+
+using System;
+using System.Threading.Tasks;
+using UnityEngine;
+
+using ETSI.ARF.OpenAPI;
+using ETSI.ARF.OpenAPI.WorldStorage;
+
+namespace ETSI.ARF.WorldStorage.REST
+{
+ public class AdminRequest : RequestBase
+ {
+ //
+ // Wrapper for the endpoints
+ //
+ static private string Ping(WorldStorageServer ws)
+ {
+ wsServer = ws;
+ var httpClient = new UnityWebRequestHttpClient(ws.URI);
+ apiClient = new WorldStorageClient(httpClient);
+
+ string response = apiClient.GetPing();
+ return response;
+ }
+
+ static public ResponseObject PingAsync(WorldStorageServer ws, Action> func)
+ {
+ wsServer = ws;
+ var httpClient = new UnityWebRequestHttpClient(ws.URI);
+ apiClient = new WorldStorageClient(httpClient);
+
+ Debug.Log("Request Ping...");
+ ResponseObject ro = new ResponseObject("Request Ping", func);
+ apiClient.GetPingAsync().ContinueWith(OnReceiveObject, ro);
+ return ro;
+ }
+
+ static public ResponseObject AdminAsync(WorldStorageServer ws, Action> func)
+ {
+ wsServer = ws;
+ var httpClient = new UnityWebRequestHttpClient(ws.URI);
+ apiClient = new WorldStorageClient(httpClient);
+
+ Debug.Log("Request Admin...");
+ ResponseObject ro = new ResponseObject("Request Admin", func);
+ apiClient.GetAdminAsync().ContinueWith(OnReceiveObject, ro);
+ return ro;
+ }
+
+ static public ResponseObject VersionAsync(WorldStorageServer ws, Action> func)
+ {
+ wsServer = ws;
+ var httpClient = new UnityWebRequestHttpClient(ws.URI);
+ apiClient = new WorldStorageClient(httpClient);
+
+ Debug.Log("Request Version...");
+ ResponseObject ro = new ResponseObject("Request Version", func);
+ apiClient.GetVersionAsync().ContinueWith(OnReceiveObject, ro);
+ return ro;
+ }
+ }
+}
diff --git a/Assets/Runtime/REST/AdminRequest.cs.meta b/Runtime/Scripts/REST/AdminRequest.cs.meta
similarity index 100%
rename from Assets/Runtime/REST/AdminRequest.cs.meta
rename to Runtime/Scripts/REST/AdminRequest.cs.meta
diff --git a/Runtime/Scripts/REST/RelocalizationInformationRequest.cs b/Runtime/Scripts/REST/RelocalizationInformationRequest.cs
new file mode 100644
index 0000000000000000000000000000000000000000..309618c9459d89ebd8bc4eda267727d2c9660624
--- /dev/null
+++ b/Runtime/Scripts/REST/RelocalizationInformationRequest.cs
@@ -0,0 +1,221 @@
+//
+// ARF - Augmented Reality Framework (ETSI ISG ARF)
+//
+// Copyright 2024 ETSI
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// 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.
+//
+// Last change: May 2024
+//
+using System;
+using System.Collections.Generic;
+using ETSI.ARF.OpenAPI.WorldStorage;
+using ETSI.ARF.OpenAPI;
+using Newtonsoft.Json;
+
+namespace ETSI.ARF.WorldStorage.REST
+{
+ public class RelocalizationInformationRequest : RequestBase
+ {
+
+ static public ResponseObject GetRelocalizationInformationAsync(WorldStorageServer ws, List uuids, List modes, List capabilities, Action> func)
+ {
+ wsServer = ws;
+ var httpClient = new UnityWebRequestHttpClient(ws.URI);
+ apiClient = new WorldStorageClient(httpClient);
+
+ ResponseObject ro = new ResponseObject("Request Reloc Information ", func);
+
+ List anonymous = new List();
+ for (int i = 0; i< uuids.Count; i++)
+ {
+ // Check same size or give anonymous as parameter?
+ Anonymous newOne = new Anonymous();
+ newOne.Uuid = uuids[i];
+ newOne.Mode = modes[i];
+ anonymous.Add(newOne);
+ }
+ apiClient.GetRelocalizationInformationAsync(token, anonymous, capabilities).ContinueWith(OnReceiveObject, ro);
+ return ro;
+ }
+
+
+ static public Response GetRelocalizationInformation(WorldStorageServer ws, List uuids, List modes, List capabilities)
+ {
+ wsServer = ws;
+ var httpClient = new BasicHTTPClient(ws.URI);
+ apiClient = new MyWorldStorageClient(httpClient);
+
+
+ List anonymous = new List();
+ for (int i = 0; i < uuids.Count; i++)
+ {
+ // Check same size or give anonymous as parameter?
+ Anonymous newOne = new Anonymous();
+ newOne.Uuid = uuids[i];
+ newOne.Mode = modes[i];
+ anonymous.Add(newOne);
+ }
+
+ Response ro = apiClient.GetRelocalizationInformation(token, anonymous, capabilities);
+ return ro;
+ }
+ }
+}
+
+namespace ETSI.ARF.OpenAPI.WorldStorage
+{
+ public partial class WorldStorageClient
+ {
+ public ETSI.ARF.OpenAPI.IHttpClient GetHttpClient()
+ {
+ return _httpClient;
+ }
+
+ public string ConvertToString_(object value, System.Globalization.CultureInfo cultureInfo)
+ {
+ return ConvertToString(value, cultureInfo);
+ }
+
+
+ public void PrepareRequest_(ETSI.ARF.OpenAPI.IHttpClient client, System.Net.Http.HttpRequestMessage request, string url)
+ {
+ PrepareRequest(client, request, url);
+ }
+ public void PrepareRequest_(ETSI.ARF.OpenAPI.IHttpClient client, System.Net.Http.HttpRequestMessage request, System.Text.StringBuilder urlBuilder)
+ {
+ PrepareRequest(client, request, urlBuilder);
+ }
+ public void ProcessResponse_(ETSI.ARF.OpenAPI.IHttpClient client, System.Net.Http.HttpResponseMessage response)
+ {
+ ProcessResponse(client, response);
+ }
+ }
+
+ public partial class MyWorldStorageClient : WorldStorageClient
+ {
+ public MyWorldStorageClient(IHttpClient httpClient) : base(httpClient)
+ {
+ }
+
+ ///
+ /// Override Nswag generated function to access relocalization information : deal with parameters in the query
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public override async System.Threading.Tasks.Task GetRelocalizationInformationAsync(string token, System.Collections.Generic.IEnumerable uuids, System.Collections.Generic.IEnumerable capabilities, System.Threading.CancellationToken cancellationToken)
+ {
+ if (uuids == null)
+ throw new System.ArgumentNullException("uuids");
+
+ if (capabilities == null)
+ throw new System.ArgumentNullException("capabilities");
+
+ var client_ = GetHttpClient();
+ var disposeClient_ = false;
+ try
+ {
+ using (var request_ = new System.Net.Http.HttpRequestMessage())
+ {
+
+ if (token != null)
+ request_.Headers.TryAddWithoutValidation("token", ConvertToString_(token, System.Globalization.CultureInfo.InvariantCulture));
+ request_.Method = new System.Net.Http.HttpMethod("GET");
+ request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json"));
+
+ var urlBuilder_ = new System.Text.StringBuilder();
+
+ urlBuilder_.Append("relocalizationInformation");
+ urlBuilder_.Append('?');
+ foreach (var item_ in uuids) { urlBuilder_.Append(System.Uri.EscapeDataString("uuids")).Append('=').Append(System.Uri.EscapeDataString(JsonConvert.SerializeObject(item_))).Append('&'); }
+ foreach (var item_ in capabilities) { urlBuilder_.Append(System.Uri.EscapeDataString("capabilities")).Append('=').Append(System.Uri.EscapeDataString(JsonConvert.SerializeObject(item_))).Append('&'); }
+ urlBuilder_.Length--;
+
+ PrepareRequest_(client_, request_, urlBuilder_);
+
+ var url_ = urlBuilder_.ToString();
+ request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute);
+
+ PrepareRequest_(client_, request_, url_);
+
+ var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false);
+ var disposeResponse_ = true;
+ try
+ {
+ var headers_ = new System.Collections.Generic.Dictionary>();
+ foreach (var item_ in response_.Headers)
+ headers_[item_.Key] = item_.Value;
+ if (response_.Content != null && response_.Content.Headers != null)
+ {
+ foreach (var item_ in response_.Content.Headers)
+ headers_[item_.Key] = item_.Value;
+ }
+
+ ProcessResponse_(client_, response_);
+
+ var status_ = (int)response_.StatusCode;
+ if (status_ == 200)
+ {
+ var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
+ if (objectResponse_.Object == null)
+ {
+ throw new ApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+ }
+ return objectResponse_.Object;
+ }
+ else
+ if (status_ == 400)
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+ throw new ApiException("Invalid UUID supplied.", status_, responseData_, headers_, result_, null);
+ }
+ else
+ if (status_ == 404)
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+ throw new ApiException("Not found, could not find UUID in database.", status_, responseData_, headers_, result_, null);
+ }
+ else
+ {
+ var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
+ if (objectResponse_.Object == null)
+ {
+ throw new ApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+ }
+ throw new ApiException("Unexpected error.", status_, objectResponse_.Text, headers_, objectResponse_.Object, null);
+ }
+ }
+ finally
+ {
+ if (disposeResponse_)
+ response_.Dispose();
+ }
+ }
+ }
+ finally
+ {
+ if (disposeClient_)
+ client_.Dispose();
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Runtime/Scripts/REST/RelocalizationInformationRequest.cs.meta b/Runtime/Scripts/REST/RelocalizationInformationRequest.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d4c7b4ad1ce1d16f95e4407eb27a3b69588c8a01
--- /dev/null
+++ b/Runtime/Scripts/REST/RelocalizationInformationRequest.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 2039ff3a64a593c41b3729ed5e4be8ee
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Runtime/Scripts/REST/RequestBase.cs b/Runtime/Scripts/REST/RequestBase.cs
new file mode 100644
index 0000000000000000000000000000000000000000..4d98fb29ac916fd877b8915987b978d791ce1e95
--- /dev/null
+++ b/Runtime/Scripts/REST/RequestBase.cs
@@ -0,0 +1,79 @@
+//
+// ARF - Augmented Reality Framework (ETSI ISG ARF)
+//
+// Copyright 2024 ETSI
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// 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.
+//
+// Last change: March 2024
+//
+
+using System;
+using System.Threading.Tasks;
+using System.Collections.Generic;
+using UnityEngine;
+
+using ETSI.ARF.OpenAPI;
+using ETSI.ARF.OpenAPI.WorldStorage;
+
+namespace ETSI.ARF.WorldStorage.REST
+{
+ public class RequestBase // where T : Trackable, WorldAnchor, WorldLink
+ {
+ static protected WorldStorageServer wsServer;
+ static protected WorldStorageClient apiClient;
+
+ static protected string token = "ARF_Permission";
+
+ // Cache the current list
+ static public Dictionary listOfObjects = new Dictionary();
+
+
+ //
+ // Helpers
+ //
+ static protected void OnReceiveObject(Task t, object id)
+ {
+ if (t.IsCompleted)
+ {
+ ResponseObject o = (ResponseObject)id;
+ o.responseTime = DateTime.Now;
+ o.result = t.Result;
+ Debug.Log($"Server Response = {o.result} (ID={o.transactionId}, Msg={o.message})");
+
+ o.callback?.Invoke(o);
+ }
+ else Debug.Log("OpenAPI Timeout!");
+ }
+
+ static protected void OnReceiveListOfObjects(Task> t, object id) where TObj : IModel
+ {
+ if (t.IsCompleted)
+ {
+ ResponseObject> o = (ResponseObject>)id;
+ o.responseTime = DateTime.Now;
+ o.result = t.Result;
+ Debug.Log($"[REST] Server Response = Got {o.result.Count} entrie(s) (ID={o.transactionId}, Msg={o.message})");
+
+ listOfObjects.Clear();
+ foreach (var i in o.result)
+ {
+ listOfObjects.Add(i.UUID, i);
+ }
+ o.callback?.Invoke(o);
+ }
+ else Debug.Log("[REST] OpenAPI Timeout!");
+ }
+
+ }
+}
diff --git a/Runtime/Scripts/REST/RequestBase.cs.meta b/Runtime/Scripts/REST/RequestBase.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..69460e01eb26cb49ad2cc5d6b2b39a835bfd9489
--- /dev/null
+++ b/Runtime/Scripts/REST/RequestBase.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 8af6c871203090b4abea43ba03d69efd
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Runtime/Scripts/REST/TrackableRequest.cs b/Runtime/Scripts/REST/TrackableRequest.cs
new file mode 100644
index 0000000000000000000000000000000000000000..4712c422fbefb9bafb4f4a33e11ff06674fc13c6
--- /dev/null
+++ b/Runtime/Scripts/REST/TrackableRequest.cs
@@ -0,0 +1,102 @@
+//
+// ARF - Augmented Reality Framework (ETSI ISG ARF)
+//
+// Copyright 2024 ETSI
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// 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.
+//
+// Last change: March 2024
+//
+
+#define USING_OPENAPI_GENERATOR // alt. is Swagger
+
+using System;
+using System.Collections.Generic;
+using System.Threading.Tasks;
+using UnityEngine;
+
+using ETSI.ARF.OpenAPI.WorldStorage;
+using ETSI.ARF.OpenAPI;
+
+namespace ETSI.ARF.WorldStorage.REST
+{
+ public class TrackableRequest : RequestBase