├── .gitignore ├── Contracts ├── ActionResults.cs ├── Constants.cs ├── Contracts.csproj ├── Contracts.nuspec ├── EditorTypes.cs ├── ErrorCodes.cs ├── Methods.cs └── Parameters.cs ├── LICENSE ├── NuGet.config ├── Published ├── v1.2.0 │ ├── Contracts │ │ ├── Puppetry.Contracts.1.0.10.nupkg │ │ ├── Puppetry.Contracts.1.0.11.nupkg │ │ ├── Puppetry.Contracts.1.0.7.nupkg │ │ ├── Puppetry.Contracts.1.0.8.nupkg │ │ └── Puppetry.Contracts.1.0.9.nupkg │ ├── Puppet │ │ ├── Contracts │ │ │ ├── DriverRequest.cs │ │ │ ├── DriverResponse.cs │ │ │ ├── ErrorMessages.cs │ │ │ ├── ScreenCoordinates.cs │ │ │ └── SessionInfo.cs │ │ ├── Custom │ │ │ └── CustomDriverHandler.cs │ │ ├── DriverApiClient.cs │ │ ├── DriverHandler.cs │ │ ├── EditorApiClientLoader.cs │ │ ├── FindGameObjectHelper.cs │ │ ├── GUI │ │ │ └── UPathValidatorWindow.cs │ │ ├── InGameApiClientLoader.cs │ │ ├── MainThreadHelper.cs │ │ ├── MainThreadQueue.cs │ │ ├── ScreenHelper.cs │ │ └── Utils │ │ │ └── Logger.cs │ ├── Puppeteer │ │ ├── Puppetry.Puppeteer.1.2.0.nupkg │ │ ├── Puppetry.Puppeteer.1.2.2.nupkg │ │ ├── Puppetry.Puppeteer.1.2.3.nupkg │ │ └── Puppetry.Puppeteer.1.2.4.nupkg │ └── PuppetryDriver │ │ ├── Contracts.dll │ │ ├── Microsoft.AspNetCore.Authentication.Abstractions.dll │ │ ├── Microsoft.AspNetCore.Authentication.Core.dll │ │ ├── Microsoft.AspNetCore.Connections.Abstractions.dll │ │ ├── Microsoft.AspNetCore.Diagnostics.Abstractions.dll │ │ ├── Microsoft.AspNetCore.Diagnostics.dll │ │ ├── Microsoft.AspNetCore.HostFiltering.dll │ │ ├── Microsoft.AspNetCore.Hosting.Abstractions.dll │ │ ├── Microsoft.AspNetCore.Hosting.Server.Abstractions.dll │ │ ├── Microsoft.AspNetCore.Hosting.dll │ │ ├── Microsoft.AspNetCore.Http.Abstractions.dll │ │ ├── Microsoft.AspNetCore.Http.Extensions.dll │ │ ├── Microsoft.AspNetCore.Http.Features.dll │ │ ├── Microsoft.AspNetCore.Http.dll │ │ ├── Microsoft.AspNetCore.HttpOverrides.dll │ │ ├── Microsoft.AspNetCore.Routing.Abstractions.dll │ │ ├── Microsoft.AspNetCore.Routing.dll │ │ ├── Microsoft.AspNetCore.Server.IIS.dll │ │ ├── Microsoft.AspNetCore.Server.IISIntegration.dll │ │ ├── Microsoft.AspNetCore.Server.Kestrel.Core.dll │ │ ├── Microsoft.AspNetCore.Server.Kestrel.Https.dll │ │ ├── Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions.dll │ │ ├── Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.dll │ │ ├── Microsoft.AspNetCore.Server.Kestrel.dll │ │ ├── Microsoft.AspNetCore.WebUtilities.dll │ │ ├── Microsoft.AspNetCore.dll │ │ ├── Microsoft.Extensions.Configuration.Abstractions.dll │ │ ├── Microsoft.Extensions.Configuration.Binder.dll │ │ ├── Microsoft.Extensions.Configuration.CommandLine.dll │ │ ├── Microsoft.Extensions.Configuration.EnvironmentVariables.dll │ │ ├── Microsoft.Extensions.Configuration.FileExtensions.dll │ │ ├── Microsoft.Extensions.Configuration.Json.dll │ │ ├── Microsoft.Extensions.Configuration.UserSecrets.dll │ │ ├── Microsoft.Extensions.Configuration.dll │ │ ├── Microsoft.Extensions.DependencyInjection.Abstractions.dll │ │ ├── Microsoft.Extensions.DependencyInjection.dll │ │ ├── Microsoft.Extensions.FileProviders.Abstractions.dll │ │ ├── Microsoft.Extensions.FileProviders.Physical.dll │ │ ├── Microsoft.Extensions.FileSystemGlobbing.dll │ │ ├── Microsoft.Extensions.Hosting.Abstractions.dll │ │ ├── Microsoft.Extensions.Logging.Abstractions.dll │ │ ├── Microsoft.Extensions.Logging.Configuration.dll │ │ ├── Microsoft.Extensions.Logging.Console.dll │ │ ├── Microsoft.Extensions.Logging.Debug.dll │ │ ├── Microsoft.Extensions.Logging.EventSource.dll │ │ ├── Microsoft.Extensions.Logging.dll │ │ ├── Microsoft.Extensions.ObjectPool.dll │ │ ├── Microsoft.Extensions.Options.ConfigurationExtensions.dll │ │ ├── Microsoft.Extensions.Options.dll │ │ ├── Microsoft.Extensions.Primitives.dll │ │ ├── Microsoft.Net.Http.Headers.dll │ │ ├── Newtonsoft.Json.dll │ │ ├── PuppetryDriver.deps.json │ │ ├── PuppetryDriver.dll │ │ ├── PuppetryDriver.pdb │ │ ├── PuppetryDriver.runtimeconfig.json │ │ ├── System.Collections.Immutable.dll │ │ ├── System.Diagnostics.DiagnosticSource.dll │ │ ├── System.IO.Pipelines.dll │ │ ├── System.Memory.dll │ │ ├── System.Reflection.Metadata.dll │ │ ├── System.Runtime.CompilerServices.Unsafe.dll │ │ ├── System.Security.Cryptography.Cng.dll │ │ ├── System.Security.Principal.Windows.dll │ │ ├── System.Text.Encodings.Web.dll │ │ ├── System.Threading.Tasks.Extensions.dll │ │ └── runtimes │ │ ├── unix │ │ └── lib │ │ │ └── netcoreapp2.0 │ │ │ └── System.Security.Principal.Windows.dll │ │ └── win │ │ └── lib │ │ └── netcoreapp2.0 │ │ ├── System.Security.Cryptography.Cng.dll │ │ └── System.Security.Principal.Windows.dll ├── v1.3.0 │ ├── Contracts │ │ ├── Puppetry.Contracts.1.0.12.nupkg │ │ ├── Puppetry.Contracts.1.0.13.nupkg │ │ └── Puppetry.Contracts.1.0.14.nupkg │ ├── Puppeteer │ │ ├── Puppetry.Puppeteer.1.3.0.nupkg │ │ ├── Puppetry.Puppeteer.1.3.1.nupkg │ │ ├── Puppetry.Puppeteer.1.3.2.nupkg │ │ └── Puppetry.Puppeteer.1.3.4.nupkg │ ├── PuppetryDriver │ │ ├── Contracts.dll │ │ ├── Microsoft.AspNetCore.Authentication.Abstractions.dll │ │ ├── Microsoft.AspNetCore.Authentication.Core.dll │ │ ├── Microsoft.AspNetCore.Connections.Abstractions.dll │ │ ├── Microsoft.AspNetCore.Diagnostics.Abstractions.dll │ │ ├── Microsoft.AspNetCore.Diagnostics.dll │ │ ├── Microsoft.AspNetCore.HostFiltering.dll │ │ ├── Microsoft.AspNetCore.Hosting.Abstractions.dll │ │ ├── Microsoft.AspNetCore.Hosting.Server.Abstractions.dll │ │ ├── Microsoft.AspNetCore.Hosting.dll │ │ ├── Microsoft.AspNetCore.Http.Abstractions.dll │ │ ├── Microsoft.AspNetCore.Http.Extensions.dll │ │ ├── Microsoft.AspNetCore.Http.Features.dll │ │ ├── Microsoft.AspNetCore.Http.dll │ │ ├── Microsoft.AspNetCore.HttpOverrides.dll │ │ ├── Microsoft.AspNetCore.Routing.Abstractions.dll │ │ ├── Microsoft.AspNetCore.Routing.dll │ │ ├── Microsoft.AspNetCore.Server.IIS.dll │ │ ├── Microsoft.AspNetCore.Server.IISIntegration.dll │ │ ├── Microsoft.AspNetCore.Server.Kestrel.Core.dll │ │ ├── Microsoft.AspNetCore.Server.Kestrel.Https.dll │ │ ├── Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions.dll │ │ ├── Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.dll │ │ ├── Microsoft.AspNetCore.Server.Kestrel.dll │ │ ├── Microsoft.AspNetCore.WebUtilities.dll │ │ ├── Microsoft.AspNetCore.dll │ │ ├── Microsoft.Extensions.Configuration.Abstractions.dll │ │ ├── Microsoft.Extensions.Configuration.Binder.dll │ │ ├── Microsoft.Extensions.Configuration.CommandLine.dll │ │ ├── Microsoft.Extensions.Configuration.EnvironmentVariables.dll │ │ ├── Microsoft.Extensions.Configuration.FileExtensions.dll │ │ ├── Microsoft.Extensions.Configuration.Json.dll │ │ ├── Microsoft.Extensions.Configuration.UserSecrets.dll │ │ ├── Microsoft.Extensions.Configuration.dll │ │ ├── Microsoft.Extensions.DependencyInjection.Abstractions.dll │ │ ├── Microsoft.Extensions.DependencyInjection.dll │ │ ├── Microsoft.Extensions.FileProviders.Abstractions.dll │ │ ├── Microsoft.Extensions.FileProviders.Physical.dll │ │ ├── Microsoft.Extensions.FileSystemGlobbing.dll │ │ ├── Microsoft.Extensions.Hosting.Abstractions.dll │ │ ├── Microsoft.Extensions.Logging.Abstractions.dll │ │ ├── Microsoft.Extensions.Logging.Configuration.dll │ │ ├── Microsoft.Extensions.Logging.Console.dll │ │ ├── Microsoft.Extensions.Logging.Debug.dll │ │ ├── Microsoft.Extensions.Logging.EventSource.dll │ │ ├── Microsoft.Extensions.Logging.dll │ │ ├── Microsoft.Extensions.ObjectPool.dll │ │ ├── Microsoft.Extensions.Options.ConfigurationExtensions.dll │ │ ├── Microsoft.Extensions.Options.dll │ │ ├── Microsoft.Extensions.Primitives.dll │ │ ├── Microsoft.Net.Http.Headers.dll │ │ ├── Newtonsoft.Json.dll │ │ ├── PuppetryDriver.deps.json │ │ ├── PuppetryDriver.dll │ │ ├── PuppetryDriver.pdb │ │ ├── PuppetryDriver.runtimeconfig.json │ │ ├── System.Collections.Immutable.dll │ │ ├── System.Diagnostics.DiagnosticSource.dll │ │ ├── System.IO.Pipelines.dll │ │ ├── System.Memory.dll │ │ ├── System.Reflection.Metadata.dll │ │ ├── System.Runtime.CompilerServices.Unsafe.dll │ │ ├── System.Security.Cryptography.Cng.dll │ │ ├── System.Security.Principal.Windows.dll │ │ ├── System.Text.Encodings.Web.dll │ │ ├── System.Threading.Tasks.Extensions.dll │ │ └── runtimes │ │ │ ├── unix │ │ │ └── lib │ │ │ │ └── netcoreapp2.0 │ │ │ │ └── System.Security.Principal.Windows.dll │ │ │ └── win │ │ │ └── lib │ │ │ └── netcoreapp2.0 │ │ │ ├── System.Security.Cryptography.Cng.dll │ │ │ └── System.Security.Principal.Windows.dll │ └── UnityPlugins │ │ ├── Puppet │ │ ├── Contracts │ │ │ ├── DriverRequest.cs │ │ │ ├── DriverResponse.cs │ │ │ ├── ErrorMessages.cs │ │ │ ├── ScreenCoordinates.cs │ │ │ └── SessionInfo.cs │ │ ├── Custom │ │ │ └── CustomDriverHandler.cs │ │ ├── DriverApiClient.cs │ │ ├── DriverHandler.cs │ │ ├── EditorApiClientLoader.cs │ │ ├── FindGameObjectHelper.cs │ │ ├── InGameApiClientLoader.cs │ │ ├── MainThreadHelper.cs │ │ ├── MainThreadQueue.cs │ │ ├── ScreenHelper.cs │ │ └── Utils │ │ │ └── Logger.cs │ │ └── PuppetGUI │ │ └── UPathValidatorWindow.cs ├── v1.4.0 │ ├── Contracts │ │ ├── Puppetry.Contracts.1.1.0.nupkg │ │ └── Puppetry.Contracts.1.1.1.nupkg │ ├── Puppet │ │ └── Puppetry.Puppet.unitypackage │ ├── Puppeteer │ │ ├── Puppetry.Puppeteer.1.4.0.nupkg │ │ └── Puppetry.Puppeteer.1.4.1.nupkg │ └── PuppetryDriver │ │ ├── Contracts.dll │ │ ├── Microsoft.AspNetCore.Authentication.Abstractions.dll │ │ ├── Microsoft.AspNetCore.Authentication.Core.dll │ │ ├── Microsoft.AspNetCore.Connections.Abstractions.dll │ │ ├── Microsoft.AspNetCore.Diagnostics.Abstractions.dll │ │ ├── Microsoft.AspNetCore.Diagnostics.dll │ │ ├── Microsoft.AspNetCore.HostFiltering.dll │ │ ├── Microsoft.AspNetCore.Hosting.Abstractions.dll │ │ ├── Microsoft.AspNetCore.Hosting.Server.Abstractions.dll │ │ ├── Microsoft.AspNetCore.Hosting.dll │ │ ├── Microsoft.AspNetCore.Http.Abstractions.dll │ │ ├── Microsoft.AspNetCore.Http.Extensions.dll │ │ ├── Microsoft.AspNetCore.Http.Features.dll │ │ ├── Microsoft.AspNetCore.Http.dll │ │ ├── Microsoft.AspNetCore.HttpOverrides.dll │ │ ├── Microsoft.AspNetCore.Routing.Abstractions.dll │ │ ├── Microsoft.AspNetCore.Routing.dll │ │ ├── Microsoft.AspNetCore.Server.IIS.dll │ │ ├── Microsoft.AspNetCore.Server.IISIntegration.dll │ │ ├── Microsoft.AspNetCore.Server.Kestrel.Core.dll │ │ ├── Microsoft.AspNetCore.Server.Kestrel.Https.dll │ │ ├── Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions.dll │ │ ├── Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.dll │ │ ├── Microsoft.AspNetCore.Server.Kestrel.dll │ │ ├── Microsoft.AspNetCore.WebUtilities.dll │ │ ├── Microsoft.AspNetCore.dll │ │ ├── Microsoft.Extensions.Configuration.Abstractions.dll │ │ ├── Microsoft.Extensions.Configuration.Binder.dll │ │ ├── Microsoft.Extensions.Configuration.CommandLine.dll │ │ ├── Microsoft.Extensions.Configuration.EnvironmentVariables.dll │ │ ├── Microsoft.Extensions.Configuration.FileExtensions.dll │ │ ├── Microsoft.Extensions.Configuration.Json.dll │ │ ├── Microsoft.Extensions.Configuration.UserSecrets.dll │ │ ├── Microsoft.Extensions.Configuration.dll │ │ ├── Microsoft.Extensions.DependencyInjection.Abstractions.dll │ │ ├── Microsoft.Extensions.DependencyInjection.dll │ │ ├── Microsoft.Extensions.FileProviders.Abstractions.dll │ │ ├── Microsoft.Extensions.FileProviders.Physical.dll │ │ ├── Microsoft.Extensions.FileSystemGlobbing.dll │ │ ├── Microsoft.Extensions.Hosting.Abstractions.dll │ │ ├── Microsoft.Extensions.Logging.Abstractions.dll │ │ ├── Microsoft.Extensions.Logging.Configuration.dll │ │ ├── Microsoft.Extensions.Logging.Console.dll │ │ ├── Microsoft.Extensions.Logging.Debug.dll │ │ ├── Microsoft.Extensions.Logging.EventSource.dll │ │ ├── Microsoft.Extensions.Logging.dll │ │ ├── Microsoft.Extensions.ObjectPool.dll │ │ ├── Microsoft.Extensions.Options.ConfigurationExtensions.dll │ │ ├── Microsoft.Extensions.Options.dll │ │ ├── Microsoft.Extensions.Primitives.dll │ │ ├── Microsoft.Net.Http.Headers.dll │ │ ├── Newtonsoft.Json.dll │ │ ├── PuppetryDriver.deps.json │ │ ├── PuppetryDriver.dll │ │ ├── PuppetryDriver.pdb │ │ ├── PuppetryDriver.runtimeconfig.json │ │ ├── System.Collections.Immutable.dll │ │ ├── System.Diagnostics.DiagnosticSource.dll │ │ ├── System.IO.Pipelines.dll │ │ ├── System.Memory.dll │ │ ├── System.Reflection.Metadata.dll │ │ ├── System.Runtime.CompilerServices.Unsafe.dll │ │ ├── System.Security.Cryptography.Cng.dll │ │ ├── System.Security.Principal.Windows.dll │ │ ├── System.Text.Encodings.Web.dll │ │ ├── System.Threading.Tasks.Extensions.dll │ │ └── runtimes │ │ ├── unix │ │ └── lib │ │ │ └── netcoreapp2.0 │ │ │ └── System.Security.Principal.Windows.dll │ │ └── win │ │ └── lib │ │ └── netcoreapp2.0 │ │ ├── System.Security.Cryptography.Cng.dll │ │ └── System.Security.Principal.Windows.dll └── v1.5.0 │ ├── Contracts │ └── Puppetry.Contracts.1.2.0.nupkg │ ├── Puppeteer │ └── Puppetry.Puppeteer.1.5.0.nupkg │ ├── PuppetryDriver │ ├── Contracts.dll │ ├── Microsoft.AspNetCore.Authentication.Abstractions.dll │ ├── Microsoft.AspNetCore.Authentication.Core.dll │ ├── Microsoft.AspNetCore.Connections.Abstractions.dll │ ├── Microsoft.AspNetCore.Diagnostics.Abstractions.dll │ ├── Microsoft.AspNetCore.Diagnostics.dll │ ├── Microsoft.AspNetCore.HostFiltering.dll │ ├── Microsoft.AspNetCore.Hosting.Abstractions.dll │ ├── Microsoft.AspNetCore.Hosting.Server.Abstractions.dll │ ├── Microsoft.AspNetCore.Hosting.dll │ ├── Microsoft.AspNetCore.Http.Abstractions.dll │ ├── Microsoft.AspNetCore.Http.Extensions.dll │ ├── Microsoft.AspNetCore.Http.Features.dll │ ├── Microsoft.AspNetCore.Http.dll │ ├── Microsoft.AspNetCore.HttpOverrides.dll │ ├── Microsoft.AspNetCore.Routing.Abstractions.dll │ ├── Microsoft.AspNetCore.Routing.dll │ ├── Microsoft.AspNetCore.Server.IIS.dll │ ├── Microsoft.AspNetCore.Server.IISIntegration.dll │ ├── Microsoft.AspNetCore.Server.Kestrel.Core.dll │ ├── Microsoft.AspNetCore.Server.Kestrel.Https.dll │ ├── Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions.dll │ ├── Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.dll │ ├── Microsoft.AspNetCore.Server.Kestrel.dll │ ├── Microsoft.AspNetCore.WebUtilities.dll │ ├── Microsoft.AspNetCore.dll │ ├── Microsoft.Extensions.Configuration.Abstractions.dll │ ├── Microsoft.Extensions.Configuration.Binder.dll │ ├── Microsoft.Extensions.Configuration.CommandLine.dll │ ├── Microsoft.Extensions.Configuration.EnvironmentVariables.dll │ ├── Microsoft.Extensions.Configuration.FileExtensions.dll │ ├── Microsoft.Extensions.Configuration.Json.dll │ ├── Microsoft.Extensions.Configuration.UserSecrets.dll │ ├── Microsoft.Extensions.Configuration.dll │ ├── Microsoft.Extensions.DependencyInjection.Abstractions.dll │ ├── Microsoft.Extensions.DependencyInjection.dll │ ├── Microsoft.Extensions.FileProviders.Abstractions.dll │ ├── Microsoft.Extensions.FileProviders.Physical.dll │ ├── Microsoft.Extensions.FileSystemGlobbing.dll │ ├── Microsoft.Extensions.Hosting.Abstractions.dll │ ├── Microsoft.Extensions.Logging.Abstractions.dll │ ├── Microsoft.Extensions.Logging.Configuration.dll │ ├── Microsoft.Extensions.Logging.Console.dll │ ├── Microsoft.Extensions.Logging.Debug.dll │ ├── Microsoft.Extensions.Logging.EventSource.dll │ ├── Microsoft.Extensions.Logging.dll │ ├── Microsoft.Extensions.ObjectPool.dll │ ├── Microsoft.Extensions.Options.ConfigurationExtensions.dll │ ├── Microsoft.Extensions.Options.dll │ ├── Microsoft.Extensions.Primitives.dll │ ├── Microsoft.Net.Http.Headers.dll │ ├── Newtonsoft.Json.dll │ ├── PuppetryDriver.deps.json │ ├── PuppetryDriver.dll │ ├── PuppetryDriver.pdb │ ├── PuppetryDriver.runtimeconfig.json │ ├── System.Collections.Immutable.dll │ ├── System.Diagnostics.DiagnosticSource.dll │ ├── System.IO.Pipelines.dll │ ├── System.Memory.dll │ ├── System.Reflection.Metadata.dll │ ├── System.Runtime.CompilerServices.Unsafe.dll │ ├── System.Security.Cryptography.Cng.dll │ ├── System.Security.Principal.Windows.dll │ ├── System.Text.Encodings.Web.dll │ ├── System.Threading.Tasks.Extensions.dll │ └── runtimes │ │ ├── unix │ │ └── lib │ │ │ └── netcoreapp2.0 │ │ │ └── System.Security.Principal.Windows.dll │ │ └── win │ │ └── lib │ │ └── netcoreapp2.0 │ │ ├── System.Security.Cryptography.Cng.dll │ │ └── System.Security.Principal.Windows.dll │ └── UnityPlugins │ ├── Puppet │ ├── Contracts │ │ ├── DriverRequest.cs │ │ ├── DriverResponse.cs │ │ ├── ErrorMessages.cs │ │ ├── ScreenCoordinates.cs │ │ └── SessionInfo.cs │ ├── Custom │ │ └── CustomDriverHandler.cs │ ├── DriverApiClient.cs │ ├── DriverHandler.cs │ ├── EditorApiClientLoader.cs │ ├── FindGameObjectHelper.cs │ ├── InGameApiClientLoader.cs │ ├── MainThreadHelper.cs │ ├── MainThreadQueue.cs │ ├── ScreenHelper.cs │ └── Utils │ │ └── Logger.cs │ └── PuppetGUI │ └── UPathValidatorWindow.cs ├── Puppeteer ├── Conditions │ ├── Game │ │ ├── Be.cs │ │ ├── Condition.cs │ │ ├── Have.cs │ │ └── Scene.cs │ └── GameObject │ │ ├── Active.cs │ │ ├── Be.cs │ │ ├── Component.cs │ │ ├── Condition.cs │ │ ├── Have.cs │ │ ├── Present.cs │ │ ├── Raycast.cs │ │ ├── Rendering.cs │ │ ├── Screen.cs │ │ └── Sprite.cs ├── Configuration.cs ├── Constants │ ├── Directions.cs │ └── Raycasters.cs ├── Driver │ └── PuppetDriverClient.cs ├── Editor.cs ├── Exceptions │ ├── MainThreadUnavailableException.cs │ ├── MethodIsNotSupportedException.cs │ ├── NoSuchComponentException.cs │ ├── NoSuchGameObjectException.cs │ ├── PuppetDriverException.cs │ ├── SessionCreationException.cs │ ├── TimeoutException.cs │ └── UnexpectedResponseException.cs ├── Game.cs ├── GameObject.cs ├── Puppeteer.csproj ├── Puppeteer.nuspec ├── PuppetryDriver.cs ├── ScreenCoordinates.cs └── Utils │ └── Wait.cs ├── Puppetry.sln ├── PuppetryDriver ├── Configuration.cs ├── ConnectionManager.cs ├── Controllers │ └── PuppeteerController.cs ├── Program.cs ├── Puppet │ ├── IPuppetHandler.cs │ ├── PuppetResponse.cs │ └── UnityPuppet.cs ├── PuppetryDriver.csproj ├── Startup.cs └── TcpSocket │ ├── PuppetListener.cs │ └── SocketHelper.cs ├── README.md └── UnityPlugins ├── Puppet ├── Contracts │ ├── DriverRequest.cs │ ├── DriverResponse.cs │ ├── ErrorMessages.cs │ ├── ScreenCoordinates.cs │ └── SessionInfo.cs ├── Custom │ └── CustomDriverHandler.cs ├── DriverApiClient.cs ├── DriverHandler.cs ├── EditorApiClientLoader.cs ├── FindGameObjectHelper.cs ├── InGameApiClientLoader.cs ├── MainThreadHelper.cs ├── MainThreadQueue.cs ├── ScreenHelper.cs └── Utils │ └── Logger.cs └── PuppetGUI └── UPathValidatorWindow.cs /.gitignore: -------------------------------------------------------------------------------- 1 | /**/obj/ 2 | /**/bin/ 3 | /**/.vs/ 4 | /**/.idea/ 5 | **.meta -------------------------------------------------------------------------------- /Contracts/ActionResults.cs: -------------------------------------------------------------------------------- 1 |  2 | namespace Puppetry.Contracts 3 | { 4 | public static class ActionResults 5 | { 6 | public const string Success = "success"; 7 | public const string Fail = "fail"; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Contracts/Constants.cs: -------------------------------------------------------------------------------- 1 |  2 | namespace Puppetry.Contracts 3 | { 4 | public static class Constants 5 | { 6 | public const string EndOfMessage = ""; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /Contracts/Contracts.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netstandard2.0 5 | Puppetry.Contracts 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Contracts/Contracts.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 1.0 5 | YRudiev 6 | TestUnitLab 7 | Puppetry.Contracts 8 | Puppetry.Contracts 9 | false 10 | Contracts Library of Puppetry Framework. Required for Puppetry.Puppeteer and Puppetry.PuppetryDriver 11 | Copyright TestUnitLab 2018 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /Contracts/EditorTypes.cs: -------------------------------------------------------------------------------- 1 |  2 | namespace Puppetry.Contracts 3 | { 4 | public static class EditorTypes 5 | { 6 | public const string UnrealEngine4 = "ue4"; 7 | public const string Unity = "unity"; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Contracts/ErrorCodes.cs: -------------------------------------------------------------------------------- 1 |  2 | namespace Puppetry.Contracts 3 | { 4 | public static class ErrorCodes 5 | { 6 | public const int Success = 0; 7 | public const int SessionCreationFailed = 4; 8 | public const int MethodNotSupported = 5; 9 | public const int UnexpectedResponse = 7; 10 | public const int NoSuchGameObjectFound = 9; 11 | public const int NoSuchComponentFound = 10; 12 | public const int MethodNodeIsNotPresent = 11; 13 | public const int MainThreadIsUnavailable = 12; 14 | public const int PuppetDriverError = 20; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Contracts/Methods.cs: -------------------------------------------------------------------------------- 1 |  2 | namespace Puppetry.Contracts 3 | { 4 | public static class Methods 5 | { 6 | public const string RegisterEditor = "registereditor"; 7 | public const string CreateSession = "createsession"; 8 | public const string IsPlayMode = "isplaymode"; 9 | public const string KillSession = "killsession"; 10 | public const string KillAllSessions = "killallsessions"; 11 | public const string Click = "click"; 12 | public const string SendKeys = "sendkeys"; 13 | public const string Exist = "exist"; 14 | public const string Active = "active"; 15 | public const string OnScreen = "onscreen"; 16 | public const string Raycasted = "raycasted"; 17 | public const string Swipe = "swipe"; 18 | public const string DragTo = "dragto"; 19 | public const string StartPlayMode = "startplaymode"; 20 | public const string StopPlayMode = "stopplaymode"; 21 | public const string TakeScreenshot = "takescreenshot"; 22 | public const string Rendering = "isrendering"; 23 | public const string GetComponent = "getcomponent"; 24 | public const string DeletePlayerPref = "deleteplayerpref"; 25 | public const string DeleteAllPlayerPrefs = "deleteallprefs"; 26 | public const string GetFloatPlayerPref = "getfloatplayerpref"; 27 | public const string GetIntPlayerPref = "getintplayerpref"; 28 | public const string GetStringPlayerPref = "getstringplayerpref"; 29 | public const string SetFloatPlayerPref = "setfloatplayerpref"; 30 | public const string SetIntPlayerPref = "setintplayerpref"; 31 | public const string SetStringPlayerPref = "setstringplayerpref"; 32 | public const string PlayerPrefHasKey = "playerprefhaskey"; 33 | public const string GetCoordinates = "getcoordinates"; 34 | public const string Count = "count"; 35 | public const string GetScene = "getscene"; 36 | public const string OpenScene = "openscene"; 37 | public const string GameCustom = "gamecustom"; 38 | public const string GameObjectCustom = "gameobjectcustom"; 39 | public const string GetSpriteName = "getspritename"; 40 | public const string SetTimeScale = "settimescale"; 41 | public const string GetGameObjectInfo = "getgameobjectinfo"; 42 | public const string Ping = "ping"; 43 | public const string Pong = "pong"; 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /Contracts/Parameters.cs: -------------------------------------------------------------------------------- 1 |  2 | namespace Puppetry.Contracts 3 | { 4 | public static class Parameters 5 | { 6 | public const string Method = "method"; 7 | public const string StatusCode = "statuscode"; 8 | public const string ErrorMessage = "errormessage"; 9 | public const string Result = "result"; 10 | public const string Session = "session"; 11 | public const string Key = "key"; 12 | public const string Value = "value"; 13 | public const string Name = "name"; 14 | public const string Parent = "parent"; 15 | public const string Root = "root"; 16 | public const string UPath = "upath"; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 yrudiev 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /NuGet.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Published/v1.2.0/Contracts/Puppetry.Contracts.1.0.10.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/Contracts/Puppetry.Contracts.1.0.10.nupkg -------------------------------------------------------------------------------- /Published/v1.2.0/Contracts/Puppetry.Contracts.1.0.11.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/Contracts/Puppetry.Contracts.1.0.11.nupkg -------------------------------------------------------------------------------- /Published/v1.2.0/Contracts/Puppetry.Contracts.1.0.7.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/Contracts/Puppetry.Contracts.1.0.7.nupkg -------------------------------------------------------------------------------- /Published/v1.2.0/Contracts/Puppetry.Contracts.1.0.8.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/Contracts/Puppetry.Contracts.1.0.8.nupkg -------------------------------------------------------------------------------- /Published/v1.2.0/Contracts/Puppetry.Contracts.1.0.9.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/Contracts/Puppetry.Contracts.1.0.9.nupkg -------------------------------------------------------------------------------- /Published/v1.2.0/Puppet/Contracts/DriverRequest.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Puppetry.Puppet.Contracts 4 | { 5 | [Serializable] 6 | public class DriverRequest 7 | { 8 | public string session; 9 | public string method; 10 | public string upath; 11 | public string key; 12 | public string value; 13 | 14 | public override string ToString() 15 | { 16 | return string.Format("session: {0}, method: {1}, upath: {2}, key: {3}, value: {4}", session, method, upath, key, value); 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Published/v1.2.0/Puppet/Contracts/DriverResponse.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Puppetry.Puppet.Contracts 4 | { 5 | [Serializable] 6 | public class DriverResponse 7 | { 8 | public string session; 9 | public string method; 10 | public string result; 11 | public string errormessage; 12 | public int statuscode; 13 | 14 | public void Clear() 15 | { 16 | session = null; 17 | method = null; 18 | result = null; 19 | errormessage = null; 20 | statuscode = 0; 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /Published/v1.2.0/Puppet/Contracts/ErrorMessages.cs: -------------------------------------------------------------------------------- 1 |  2 | namespace Puppetry.Puppet.Contracts 3 | { 4 | public static class ErrorMessages 5 | { 6 | public const string SuccessResult = "success"; 7 | public const string MainThreadIsUnavailable = "Main Thread is unavailable or overloaded"; 8 | public const string GameObjectWasNotFound = "GameObject was not found"; 9 | public const string MethodIsNotSupported = "Method is not supported"; 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /Published/v1.2.0/Puppet/Contracts/ScreenCoordinates.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Puppetry.Puppet.Contracts 4 | { 5 | [Serializable] 6 | public class ScreenCoordinates 7 | { 8 | public float X; 9 | public float Y; 10 | } 11 | } -------------------------------------------------------------------------------- /Published/v1.2.0/Puppet/Contracts/SessionInfo.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Puppetry.Puppet.Contracts 4 | { 5 | [Serializable] 6 | class SessionInfo 7 | { 8 | public string Session; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Published/v1.2.0/Puppet/Custom/CustomDriverHandler.cs: -------------------------------------------------------------------------------- 1 | namespace Puppetry.Puppet 2 | { 3 | public static class CustomDriverHandler 4 | { 5 | public static string Process(string key, string value) 6 | { 7 | string result; 8 | switch (key) 9 | { 10 | default: 11 | result = "There are no handler for method: " + key; 12 | break; 13 | } 14 | 15 | return result; 16 | } 17 | } 18 | } -------------------------------------------------------------------------------- /Published/v1.2.0/Puppet/DriverApiClient.cs: -------------------------------------------------------------------------------- 1 | using Puppetry.Puppet.Contracts; 2 | using System; 3 | using System.Net; 4 | using System.Net.Sockets; 5 | using System.Text; 6 | using System.Threading; 7 | 8 | using UnityEngine; 9 | 10 | namespace Puppetry.Puppet 11 | { 12 | public class DriverApiClient : IDisposable 13 | { 14 | private const string EndOfMessage = ""; 15 | 16 | private Thread _thread; 17 | private TcpClient _client; 18 | 19 | private static DriverApiClient _instance; 20 | 21 | public static DriverApiClient Instance 22 | { 23 | get 24 | { 25 | return _instance ?? (_instance = new DriverApiClient()); 26 | } 27 | } 28 | 29 | public void StartClient() 30 | { 31 | _thread = new Thread(ProcessWork); 32 | _thread.IsBackground = true; 33 | _thread.Start(); 34 | } 35 | 36 | public void ProcessWork() 37 | { 38 | var response = new DriverResponse(); 39 | 40 | // Connect to a remote device. 41 | try 42 | { 43 | _client = new TcpClient(); 44 | _client.Client.Connect(IPAddress.Parse("127.0.0.1"), 6111); 45 | } 46 | catch (Exception) 47 | { 48 | Debug.Log("Puppetry.Puppet is disabled"); 49 | return; 50 | } 51 | 52 | try 53 | { 54 | while (_client.Connected) 55 | { 56 | try 57 | { 58 | if (_client.Available > 0) 59 | { 60 | var message = ReadData(_client).Replace(EndOfMessage, string.Empty); 61 | var request = JsonUtility.FromJson(message); 62 | response = DriverHandler.HandleDriverRequest(request); 63 | _client.Client.Send(Encoding.ASCII.GetBytes(JsonUtility.ToJson(response) + EndOfMessage)); 64 | response.Clear(); 65 | } 66 | else 67 | { 68 | Thread.Sleep(500); 69 | } 70 | } 71 | catch (Exception e) 72 | { 73 | Debug.Log(e); 74 | } 75 | } 76 | 77 | Debug.Log("ApiClient was disconnected"); 78 | 79 | } 80 | catch (Exception e) 81 | { 82 | Debug.Log(e.ToString()); 83 | } 84 | } 85 | 86 | private static string ReadData(TcpClient client) 87 | { 88 | NetworkStream stream = client.GetStream(); 89 | 90 | byte[] myReadBuffer = new byte[1024]; 91 | var myCompleteMessage = new StringBuilder(); 92 | 93 | do 94 | { 95 | var numberOfBytesRead = stream.Read(myReadBuffer, 0, myReadBuffer.Length); 96 | 97 | myCompleteMessage.AppendFormat("{0}", Encoding.ASCII.GetString(myReadBuffer, 0, numberOfBytesRead)); 98 | } 99 | while (stream.DataAvailable); 100 | 101 | var retVal = myCompleteMessage.ToString(); 102 | 103 | return retVal; 104 | } 105 | 106 | public void Dispose() 107 | { 108 | if (_client != null) ((IDisposable)_client).Dispose(); 109 | } 110 | } 111 | } 112 | 113 | -------------------------------------------------------------------------------- /Published/v1.2.0/Puppet/EditorApiClientLoader.cs: -------------------------------------------------------------------------------- 1 | #if UNITY_EDITOR 2 | 3 | using UnityEngine; 4 | using UnityEditor; 5 | 6 | namespace Puppetry.Puppet 7 | { 8 | [InitializeOnLoad] 9 | public class DriverApiClientLoader 10 | { 11 | static DriverApiClientLoader() 12 | { 13 | if (EditorApplication.isCompiling || EditorApplication.isUpdating) return; 14 | 15 | Debug.Log("DriverApiClient is starting..."); 16 | 17 | EditorApplication.playModeStateChanged += InstantiatePuppetProcessor; 18 | 19 | EditorApplication.update += StartDriverApiClient; 20 | } 21 | 22 | static void StartDriverApiClient() 23 | { 24 | EditorApplication.update -= StartDriverApiClient; 25 | 26 | DriverApiClient.Instance.StartClient(); 27 | } 28 | 29 | static void InstantiatePuppetProcessor(PlayModeStateChange state) 30 | { 31 | if (state == PlayModeStateChange.EnteredPlayMode) 32 | { 33 | var puppetProcessor = new GameObject("PuppetProcessor").AddComponent(); 34 | Object.DontDestroyOnLoad(puppetProcessor); 35 | } 36 | } 37 | } 38 | } 39 | #endif 40 | -------------------------------------------------------------------------------- /Published/v1.2.0/Puppet/GUI/UPathValidatorWindow.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEditor; 3 | using UnityEngine; 4 | 5 | namespace Puppetry.Puppet.GUI 6 | { 7 | public class UPathValidatorWindow : EditorWindow 8 | { 9 | string _upath = String.Empty; 10 | GameObject _foundGameObject = null; 11 | 12 | [MenuItem("Puppetry/UPath Validator")] 13 | public static void ShowWindow() 14 | { 15 | var w = GetWindow(); 16 | w.titleContent = new GUIContent("UPath Validator"); 17 | } 18 | 19 | void OnGUI() 20 | { 21 | GUILayout.Label ("Upath Validator Window", EditorStyles.boldLabel); 22 | _upath = EditorGUILayout.TextField ("UPath", _upath); 23 | EditorGUILayout.BeginHorizontal(); 24 | if (GUILayout.Button("Find Game Object")) 25 | { 26 | if (string.IsNullOrEmpty(_upath)) 27 | ShowNotification(new GUIContent("Upath can't be null or empty")); 28 | else 29 | { 30 | try 31 | { 32 | _foundGameObject = FindGameObjectHelper.FindGameObjectByUPath(_upath); 33 | } 34 | catch (Exception) 35 | { 36 | ShowNotification(new GUIContent("UPath expression is invalid")); 37 | throw; 38 | } 39 | 40 | if (_foundGameObject == null) 41 | ShowNotification(new GUIContent("There is no GameObject by this upath")); 42 | else 43 | Selection.activeGameObject = _foundGameObject; 44 | } 45 | } 46 | if (GUILayout.Button("Count")) 47 | { 48 | if (string.IsNullOrEmpty(_upath)) 49 | ShowNotification(new GUIContent("Upath can't be null or empty")); 50 | else 51 | { 52 | try 53 | { 54 | ShowNotification(new GUIContent("There are " + FindGameObjectHelper.FindGameObjectsByUPath(_upath).Count + " GameObjects with this upath")); 55 | } 56 | catch (Exception) 57 | { 58 | ShowNotification(new GUIContent("UPath expression is invalid")); 59 | throw; 60 | } 61 | } 62 | } 63 | EditorGUILayout.EndHorizontal(); 64 | } 65 | } 66 | } -------------------------------------------------------------------------------- /Published/v1.2.0/Puppet/InGameApiClientLoader.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace Puppetry.Puppet 4 | { 5 | public class InGameApiClientLoader : MonoBehaviour 6 | { 7 | public void Awake() 8 | { 9 | Debug.Log("DriverApiClient is starting..."); 10 | DriverApiClient.Instance.StartClient(); 11 | var puppetProcessor = new GameObject("PuppetProcessor").AddComponent(); 12 | DontDestroyOnLoad(puppetProcessor); 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Published/v1.2.0/Puppet/MainThreadQueue.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System.Collections.Generic; 3 | using System; 4 | 5 | namespace Puppetry.Puppet 6 | { 7 | public class MainThreadQueue : MonoBehaviour 8 | { 9 | private readonly List requestedActions = new List(); 10 | private readonly List currentActions = new List(); 11 | private static MainThreadQueue _instance; 12 | 13 | private static MainThreadQueue Instance 14 | { 15 | get { return _instance; } 16 | } 17 | 18 | void Awake() 19 | { 20 | _instance = this; 21 | } 22 | 23 | public static void QueueOnMainThread(Action action) 24 | { 25 | if (Instance != null) 26 | { 27 | lock (Instance.requestedActions) 28 | { 29 | Instance.requestedActions.Add(action); 30 | } 31 | } 32 | } 33 | 34 | void Update() 35 | { 36 | lock (requestedActions) 37 | { 38 | currentActions.Clear(); 39 | currentActions.AddRange(requestedActions); 40 | requestedActions.Clear(); 41 | } 42 | 43 | foreach (var action in currentActions) 44 | { 45 | action.Invoke(); 46 | } 47 | } 48 | } 49 | } -------------------------------------------------------------------------------- /Published/v1.2.0/Puppet/ScreenHelper.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using UnityEngine; 3 | using UnityEngine.EventSystems; 4 | using UnityEngine.UI; 5 | 6 | namespace Puppetry.Puppet 7 | { 8 | public static class ScreenHelper 9 | { 10 | public static bool IsGraphicClickable(GameObject gameObject) 11 | { 12 | return IsRaycasted(gameObject); 13 | } 14 | 15 | public static bool IsPhysicClickable(GameObject gameObject) 16 | { 17 | return IsRaycasted(gameObject); 18 | } 19 | 20 | public static bool IsOnScreen(GameObject gameObject) 21 | { 22 | var position = GetPositionOnScreen(gameObject); 23 | 24 | return (position.x > 0 && position.y > 0 && position.x < Screen.width && position.y < Screen.height && 25 | position.z >= 0); //Check if camera can see the object)) 26 | } 27 | 28 | public static Vector3 GetPositionOnScreen(GameObject gameObject) 29 | { 30 | var camera = Camera.main; 31 | var canvasParent = gameObject.GetComponentInParent(); 32 | if (canvasParent != null) 33 | { 34 | var rectTransform = gameObject.GetComponent(); 35 | 36 | if (canvasParent.renderMode != RenderMode.ScreenSpaceOverlay) 37 | { 38 | if (rectTransform != null) 39 | { 40 | var vector3S = new Vector3[4]; 41 | rectTransform.GetWorldCorners(vector3S); 42 | var center = new Vector3((vector3S[0].x + vector3S[2].x) / 2, 43 | (vector3S[0].y + vector3S[2].y) / 2, (vector3S[0].z + vector3S[2].z) / 2); 44 | return canvasParent.worldCamera.WorldToScreenPoint(center); 45 | } 46 | } 47 | 48 | if (rectTransform != null) 49 | { 50 | return rectTransform.position; 51 | } 52 | 53 | return camera.WorldToScreenPoint(gameObject.transform.position); 54 | } 55 | 56 | var collider = gameObject.GetComponent(); 57 | if (collider != null) 58 | { 59 | return camera.WorldToScreenPoint(collider.bounds.center); 60 | } 61 | 62 | return camera.WorldToScreenPoint(gameObject.transform.position); 63 | } 64 | 65 | private static bool IsRaycasted(GameObject gameObject) where T : BaseRaycaster 66 | { 67 | var result = false; 68 | var position = GetPositionOnScreen(gameObject); 69 | 70 | if (IsOnScreen(gameObject)) 71 | { 72 | var raycaster = gameObject.GetComponentInParent(); 73 | var ped = new PointerEventData(null); 74 | ped.position = position; 75 | var hits = new List(); 76 | raycaster.Raycast(ped, hits); 77 | 78 | if (hits.Count > 0 && hits[0].gameObject.name == gameObject.name) 79 | { 80 | result = true; 81 | } 82 | } 83 | 84 | return result; 85 | } 86 | } 87 | } -------------------------------------------------------------------------------- /Published/v1.2.0/Puppet/Utils/Logger.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | 4 | namespace Puppetry.Puppet.Utils 5 | { 6 | public class Logger 7 | { 8 | public static void Log(string msg) 9 | { 10 | Debug.Log(DateTime.UtcNow.ToString("HH:mm:ss.fff") + " [Puppetry.Puppet] " + msg); 11 | } 12 | 13 | public static void Log(Exception e) 14 | { 15 | Debug.Log(DateTime.UtcNow.ToString("HH:mm:ss.fff") + " [Puppetry.Puppet] " + e); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Published/v1.2.0/Puppeteer/Puppetry.Puppeteer.1.2.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/Puppeteer/Puppetry.Puppeteer.1.2.0.nupkg -------------------------------------------------------------------------------- /Published/v1.2.0/Puppeteer/Puppetry.Puppeteer.1.2.2.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/Puppeteer/Puppetry.Puppeteer.1.2.2.nupkg -------------------------------------------------------------------------------- /Published/v1.2.0/Puppeteer/Puppetry.Puppeteer.1.2.3.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/Puppeteer/Puppetry.Puppeteer.1.2.3.nupkg -------------------------------------------------------------------------------- /Published/v1.2.0/Puppeteer/Puppetry.Puppeteer.1.2.4.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/Puppeteer/Puppetry.Puppeteer.1.2.4.nupkg -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/Contracts.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/Contracts.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/Microsoft.AspNetCore.Authentication.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/Microsoft.AspNetCore.Authentication.Abstractions.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/Microsoft.AspNetCore.Authentication.Core.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/Microsoft.AspNetCore.Authentication.Core.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/Microsoft.AspNetCore.Connections.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/Microsoft.AspNetCore.Connections.Abstractions.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/Microsoft.AspNetCore.Diagnostics.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/Microsoft.AspNetCore.Diagnostics.Abstractions.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/Microsoft.AspNetCore.Diagnostics.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/Microsoft.AspNetCore.Diagnostics.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/Microsoft.AspNetCore.HostFiltering.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/Microsoft.AspNetCore.HostFiltering.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/Microsoft.AspNetCore.Hosting.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/Microsoft.AspNetCore.Hosting.Abstractions.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/Microsoft.AspNetCore.Hosting.Server.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/Microsoft.AspNetCore.Hosting.Server.Abstractions.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/Microsoft.AspNetCore.Hosting.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/Microsoft.AspNetCore.Hosting.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/Microsoft.AspNetCore.Http.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/Microsoft.AspNetCore.Http.Abstractions.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/Microsoft.AspNetCore.Http.Extensions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/Microsoft.AspNetCore.Http.Extensions.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/Microsoft.AspNetCore.Http.Features.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/Microsoft.AspNetCore.Http.Features.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/Microsoft.AspNetCore.Http.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/Microsoft.AspNetCore.Http.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/Microsoft.AspNetCore.HttpOverrides.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/Microsoft.AspNetCore.HttpOverrides.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/Microsoft.AspNetCore.Routing.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/Microsoft.AspNetCore.Routing.Abstractions.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/Microsoft.AspNetCore.Routing.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/Microsoft.AspNetCore.Routing.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/Microsoft.AspNetCore.Server.IIS.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/Microsoft.AspNetCore.Server.IIS.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/Microsoft.AspNetCore.Server.IISIntegration.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/Microsoft.AspNetCore.Server.IISIntegration.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/Microsoft.AspNetCore.Server.Kestrel.Core.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/Microsoft.AspNetCore.Server.Kestrel.Core.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/Microsoft.AspNetCore.Server.Kestrel.Https.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/Microsoft.AspNetCore.Server.Kestrel.Https.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/Microsoft.AspNetCore.Server.Kestrel.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/Microsoft.AspNetCore.Server.Kestrel.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/Microsoft.AspNetCore.WebUtilities.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/Microsoft.AspNetCore.WebUtilities.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/Microsoft.AspNetCore.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/Microsoft.AspNetCore.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/Microsoft.Extensions.Configuration.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/Microsoft.Extensions.Configuration.Abstractions.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/Microsoft.Extensions.Configuration.Binder.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/Microsoft.Extensions.Configuration.Binder.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/Microsoft.Extensions.Configuration.CommandLine.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/Microsoft.Extensions.Configuration.CommandLine.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/Microsoft.Extensions.Configuration.EnvironmentVariables.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/Microsoft.Extensions.Configuration.EnvironmentVariables.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/Microsoft.Extensions.Configuration.FileExtensions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/Microsoft.Extensions.Configuration.FileExtensions.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/Microsoft.Extensions.Configuration.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/Microsoft.Extensions.Configuration.Json.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/Microsoft.Extensions.Configuration.UserSecrets.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/Microsoft.Extensions.Configuration.UserSecrets.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/Microsoft.Extensions.Configuration.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/Microsoft.Extensions.Configuration.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/Microsoft.Extensions.DependencyInjection.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/Microsoft.Extensions.DependencyInjection.Abstractions.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/Microsoft.Extensions.DependencyInjection.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/Microsoft.Extensions.DependencyInjection.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/Microsoft.Extensions.FileProviders.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/Microsoft.Extensions.FileProviders.Abstractions.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/Microsoft.Extensions.FileProviders.Physical.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/Microsoft.Extensions.FileProviders.Physical.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/Microsoft.Extensions.FileSystemGlobbing.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/Microsoft.Extensions.FileSystemGlobbing.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/Microsoft.Extensions.Hosting.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/Microsoft.Extensions.Hosting.Abstractions.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/Microsoft.Extensions.Logging.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/Microsoft.Extensions.Logging.Abstractions.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/Microsoft.Extensions.Logging.Configuration.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/Microsoft.Extensions.Logging.Configuration.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/Microsoft.Extensions.Logging.Console.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/Microsoft.Extensions.Logging.Console.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/Microsoft.Extensions.Logging.Debug.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/Microsoft.Extensions.Logging.Debug.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/Microsoft.Extensions.Logging.EventSource.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/Microsoft.Extensions.Logging.EventSource.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/Microsoft.Extensions.Logging.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/Microsoft.Extensions.Logging.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/Microsoft.Extensions.ObjectPool.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/Microsoft.Extensions.ObjectPool.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/Microsoft.Extensions.Options.ConfigurationExtensions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/Microsoft.Extensions.Options.ConfigurationExtensions.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/Microsoft.Extensions.Options.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/Microsoft.Extensions.Options.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/Microsoft.Extensions.Primitives.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/Microsoft.Extensions.Primitives.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/Microsoft.Net.Http.Headers.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/Microsoft.Net.Http.Headers.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/PuppetryDriver.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/PuppetryDriver.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/PuppetryDriver.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/PuppetryDriver.pdb -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/PuppetryDriver.runtimeconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "runtimeOptions": { 3 | "tfm": "netcoreapp2.0", 4 | "framework": { 5 | "name": "Microsoft.NETCore.App", 6 | "version": "2.0.0" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/System.Collections.Immutable.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/System.Collections.Immutable.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/System.Diagnostics.DiagnosticSource.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/System.Diagnostics.DiagnosticSource.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/System.IO.Pipelines.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/System.IO.Pipelines.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/System.Memory.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/System.Memory.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/System.Reflection.Metadata.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/System.Reflection.Metadata.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/System.Runtime.CompilerServices.Unsafe.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/System.Runtime.CompilerServices.Unsafe.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/System.Security.Cryptography.Cng.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/System.Security.Cryptography.Cng.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/System.Security.Principal.Windows.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/System.Security.Principal.Windows.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/System.Text.Encodings.Web.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/System.Text.Encodings.Web.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/System.Threading.Tasks.Extensions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/System.Threading.Tasks.Extensions.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/runtimes/unix/lib/netcoreapp2.0/System.Security.Principal.Windows.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/runtimes/unix/lib/netcoreapp2.0/System.Security.Principal.Windows.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/runtimes/win/lib/netcoreapp2.0/System.Security.Cryptography.Cng.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/runtimes/win/lib/netcoreapp2.0/System.Security.Cryptography.Cng.dll -------------------------------------------------------------------------------- /Published/v1.2.0/PuppetryDriver/runtimes/win/lib/netcoreapp2.0/System.Security.Principal.Windows.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.2.0/PuppetryDriver/runtimes/win/lib/netcoreapp2.0/System.Security.Principal.Windows.dll -------------------------------------------------------------------------------- /Published/v1.3.0/Contracts/Puppetry.Contracts.1.0.12.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/Contracts/Puppetry.Contracts.1.0.12.nupkg -------------------------------------------------------------------------------- /Published/v1.3.0/Contracts/Puppetry.Contracts.1.0.13.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/Contracts/Puppetry.Contracts.1.0.13.nupkg -------------------------------------------------------------------------------- /Published/v1.3.0/Contracts/Puppetry.Contracts.1.0.14.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/Contracts/Puppetry.Contracts.1.0.14.nupkg -------------------------------------------------------------------------------- /Published/v1.3.0/Puppeteer/Puppetry.Puppeteer.1.3.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/Puppeteer/Puppetry.Puppeteer.1.3.0.nupkg -------------------------------------------------------------------------------- /Published/v1.3.0/Puppeteer/Puppetry.Puppeteer.1.3.1.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/Puppeteer/Puppetry.Puppeteer.1.3.1.nupkg -------------------------------------------------------------------------------- /Published/v1.3.0/Puppeteer/Puppetry.Puppeteer.1.3.2.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/Puppeteer/Puppetry.Puppeteer.1.3.2.nupkg -------------------------------------------------------------------------------- /Published/v1.3.0/Puppeteer/Puppetry.Puppeteer.1.3.4.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/Puppeteer/Puppetry.Puppeteer.1.3.4.nupkg -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/Contracts.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/Contracts.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/Microsoft.AspNetCore.Authentication.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/Microsoft.AspNetCore.Authentication.Abstractions.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/Microsoft.AspNetCore.Authentication.Core.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/Microsoft.AspNetCore.Authentication.Core.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/Microsoft.AspNetCore.Connections.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/Microsoft.AspNetCore.Connections.Abstractions.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/Microsoft.AspNetCore.Diagnostics.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/Microsoft.AspNetCore.Diagnostics.Abstractions.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/Microsoft.AspNetCore.Diagnostics.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/Microsoft.AspNetCore.Diagnostics.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/Microsoft.AspNetCore.HostFiltering.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/Microsoft.AspNetCore.HostFiltering.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/Microsoft.AspNetCore.Hosting.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/Microsoft.AspNetCore.Hosting.Abstractions.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/Microsoft.AspNetCore.Hosting.Server.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/Microsoft.AspNetCore.Hosting.Server.Abstractions.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/Microsoft.AspNetCore.Hosting.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/Microsoft.AspNetCore.Hosting.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/Microsoft.AspNetCore.Http.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/Microsoft.AspNetCore.Http.Abstractions.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/Microsoft.AspNetCore.Http.Extensions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/Microsoft.AspNetCore.Http.Extensions.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/Microsoft.AspNetCore.Http.Features.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/Microsoft.AspNetCore.Http.Features.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/Microsoft.AspNetCore.Http.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/Microsoft.AspNetCore.Http.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/Microsoft.AspNetCore.HttpOverrides.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/Microsoft.AspNetCore.HttpOverrides.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/Microsoft.AspNetCore.Routing.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/Microsoft.AspNetCore.Routing.Abstractions.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/Microsoft.AspNetCore.Routing.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/Microsoft.AspNetCore.Routing.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/Microsoft.AspNetCore.Server.IIS.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/Microsoft.AspNetCore.Server.IIS.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/Microsoft.AspNetCore.Server.IISIntegration.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/Microsoft.AspNetCore.Server.IISIntegration.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/Microsoft.AspNetCore.Server.Kestrel.Core.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/Microsoft.AspNetCore.Server.Kestrel.Core.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/Microsoft.AspNetCore.Server.Kestrel.Https.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/Microsoft.AspNetCore.Server.Kestrel.Https.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/Microsoft.AspNetCore.Server.Kestrel.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/Microsoft.AspNetCore.Server.Kestrel.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/Microsoft.AspNetCore.WebUtilities.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/Microsoft.AspNetCore.WebUtilities.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/Microsoft.AspNetCore.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/Microsoft.AspNetCore.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/Microsoft.Extensions.Configuration.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/Microsoft.Extensions.Configuration.Abstractions.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/Microsoft.Extensions.Configuration.Binder.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/Microsoft.Extensions.Configuration.Binder.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/Microsoft.Extensions.Configuration.CommandLine.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/Microsoft.Extensions.Configuration.CommandLine.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/Microsoft.Extensions.Configuration.EnvironmentVariables.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/Microsoft.Extensions.Configuration.EnvironmentVariables.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/Microsoft.Extensions.Configuration.FileExtensions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/Microsoft.Extensions.Configuration.FileExtensions.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/Microsoft.Extensions.Configuration.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/Microsoft.Extensions.Configuration.Json.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/Microsoft.Extensions.Configuration.UserSecrets.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/Microsoft.Extensions.Configuration.UserSecrets.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/Microsoft.Extensions.Configuration.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/Microsoft.Extensions.Configuration.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/Microsoft.Extensions.DependencyInjection.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/Microsoft.Extensions.DependencyInjection.Abstractions.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/Microsoft.Extensions.DependencyInjection.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/Microsoft.Extensions.DependencyInjection.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/Microsoft.Extensions.FileProviders.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/Microsoft.Extensions.FileProviders.Abstractions.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/Microsoft.Extensions.FileProviders.Physical.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/Microsoft.Extensions.FileProviders.Physical.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/Microsoft.Extensions.FileSystemGlobbing.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/Microsoft.Extensions.FileSystemGlobbing.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/Microsoft.Extensions.Hosting.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/Microsoft.Extensions.Hosting.Abstractions.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/Microsoft.Extensions.Logging.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/Microsoft.Extensions.Logging.Abstractions.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/Microsoft.Extensions.Logging.Configuration.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/Microsoft.Extensions.Logging.Configuration.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/Microsoft.Extensions.Logging.Console.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/Microsoft.Extensions.Logging.Console.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/Microsoft.Extensions.Logging.Debug.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/Microsoft.Extensions.Logging.Debug.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/Microsoft.Extensions.Logging.EventSource.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/Microsoft.Extensions.Logging.EventSource.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/Microsoft.Extensions.Logging.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/Microsoft.Extensions.Logging.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/Microsoft.Extensions.ObjectPool.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/Microsoft.Extensions.ObjectPool.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/Microsoft.Extensions.Options.ConfigurationExtensions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/Microsoft.Extensions.Options.ConfigurationExtensions.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/Microsoft.Extensions.Options.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/Microsoft.Extensions.Options.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/Microsoft.Extensions.Primitives.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/Microsoft.Extensions.Primitives.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/Microsoft.Net.Http.Headers.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/Microsoft.Net.Http.Headers.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/PuppetryDriver.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/PuppetryDriver.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/PuppetryDriver.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/PuppetryDriver.pdb -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/PuppetryDriver.runtimeconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "runtimeOptions": { 3 | "tfm": "netcoreapp2.0", 4 | "framework": { 5 | "name": "Microsoft.NETCore.App", 6 | "version": "2.0.0" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/System.Collections.Immutable.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/System.Collections.Immutable.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/System.Diagnostics.DiagnosticSource.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/System.Diagnostics.DiagnosticSource.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/System.IO.Pipelines.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/System.IO.Pipelines.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/System.Memory.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/System.Memory.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/System.Reflection.Metadata.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/System.Reflection.Metadata.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/System.Runtime.CompilerServices.Unsafe.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/System.Runtime.CompilerServices.Unsafe.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/System.Security.Cryptography.Cng.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/System.Security.Cryptography.Cng.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/System.Security.Principal.Windows.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/System.Security.Principal.Windows.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/System.Text.Encodings.Web.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/System.Text.Encodings.Web.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/System.Threading.Tasks.Extensions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/System.Threading.Tasks.Extensions.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/runtimes/unix/lib/netcoreapp2.0/System.Security.Principal.Windows.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/runtimes/unix/lib/netcoreapp2.0/System.Security.Principal.Windows.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/runtimes/win/lib/netcoreapp2.0/System.Security.Cryptography.Cng.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/runtimes/win/lib/netcoreapp2.0/System.Security.Cryptography.Cng.dll -------------------------------------------------------------------------------- /Published/v1.3.0/PuppetryDriver/runtimes/win/lib/netcoreapp2.0/System.Security.Principal.Windows.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.3.0/PuppetryDriver/runtimes/win/lib/netcoreapp2.0/System.Security.Principal.Windows.dll -------------------------------------------------------------------------------- /Published/v1.3.0/UnityPlugins/Puppet/Contracts/DriverRequest.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Puppetry.Puppet.Contracts 4 | { 5 | [Serializable] 6 | public class DriverRequest 7 | { 8 | public string session; 9 | public string method; 10 | public string upath; 11 | public string key; 12 | public string value; 13 | 14 | public override string ToString() 15 | { 16 | return string.Format("session: {0}, method: {1}, upath: {2}, key: {3}, value: {4}", session, method, upath, key, value); 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Published/v1.3.0/UnityPlugins/Puppet/Contracts/DriverResponse.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Puppetry.Puppet.Contracts 4 | { 5 | [Serializable] 6 | public class DriverResponse 7 | { 8 | public string session; 9 | public string method; 10 | public string result; 11 | public string errormessage; 12 | public int statuscode; 13 | 14 | public void Clear() 15 | { 16 | session = null; 17 | method = null; 18 | result = null; 19 | errormessage = null; 20 | statuscode = 0; 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /Published/v1.3.0/UnityPlugins/Puppet/Contracts/ErrorMessages.cs: -------------------------------------------------------------------------------- 1 |  2 | namespace Puppetry.Puppet.Contracts 3 | { 4 | public static class ErrorMessages 5 | { 6 | public const string SuccessResult = "success"; 7 | public const string MainThreadIsUnavailable = "Main Thread is unavailable or overloaded"; 8 | public const string GameObjectWasNotFound = "GameObject was not found"; 9 | public const string MethodIsNotSupported = "Method is not supported"; 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /Published/v1.3.0/UnityPlugins/Puppet/Contracts/ScreenCoordinates.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Puppetry.Puppet.Contracts 4 | { 5 | [Serializable] 6 | public class ScreenCoordinates 7 | { 8 | public float X; 9 | public float Y; 10 | } 11 | } -------------------------------------------------------------------------------- /Published/v1.3.0/UnityPlugins/Puppet/Contracts/SessionInfo.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Puppetry.Puppet.Contracts 4 | { 5 | [Serializable] 6 | class SessionInfo 7 | { 8 | public string Session; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Published/v1.3.0/UnityPlugins/Puppet/Custom/CustomDriverHandler.cs: -------------------------------------------------------------------------------- 1 | namespace Puppetry.Puppet 2 | { 3 | public static class CustomDriverHandler 4 | { 5 | public static string ProcessGameCustomMethod(string key, string value) 6 | { 7 | string result; 8 | switch (key) 9 | { 10 | default: 11 | result = "There are no handler for method: " + key; 12 | break; 13 | } 14 | 15 | return result; 16 | } 17 | 18 | public static string ProcessGameObjectCustomMethod(string upath, string key, string value) 19 | { 20 | string result; 21 | switch (key) 22 | { 23 | default: 24 | result = "There are no handler for method: " + key; 25 | break; 26 | } 27 | 28 | return result; 29 | } 30 | } 31 | } -------------------------------------------------------------------------------- /Published/v1.3.0/UnityPlugins/Puppet/EditorApiClientLoader.cs: -------------------------------------------------------------------------------- 1 | #if UNITY_EDITOR 2 | 3 | using UnityEngine; 4 | using UnityEditor; 5 | 6 | namespace Puppetry.Puppet 7 | { 8 | [InitializeOnLoad] 9 | public class DriverApiClientLoader 10 | { 11 | static DriverApiClientLoader() 12 | { 13 | if (EditorApplication.isCompiling || EditorApplication.isUpdating) return; 14 | 15 | Debug.Log("DriverApiClient is starting..."); 16 | 17 | EditorApplication.playModeStateChanged += InstantiatePuppetProcessor; 18 | 19 | EditorApplication.update += StartDriverApiClient; 20 | } 21 | 22 | static void StartDriverApiClient() 23 | { 24 | EditorApplication.update -= StartDriverApiClient; 25 | 26 | DriverApiClient.Instance.StartClient(); 27 | } 28 | 29 | static void InstantiatePuppetProcessor(PlayModeStateChange state) 30 | { 31 | if (state == PlayModeStateChange.EnteredPlayMode) 32 | { 33 | var puppetProcessor = new GameObject("PuppetProcessor").AddComponent(); 34 | Object.DontDestroyOnLoad(puppetProcessor); 35 | } 36 | } 37 | } 38 | } 39 | #endif 40 | -------------------------------------------------------------------------------- /Published/v1.3.0/UnityPlugins/Puppet/InGameApiClientLoader.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace Puppetry.Puppet 4 | { 5 | public class InGameApiClientLoader : MonoBehaviour 6 | { 7 | public void Init(int port) 8 | { 9 | DriverApiClient.Instance.Port = port; 10 | Init(); 11 | } 12 | 13 | public void Init(string ipAddress, int port) 14 | { 15 | DriverApiClient.Instance.IpAddress = ipAddress; 16 | DriverApiClient.Instance.Port = port; 17 | Init(); 18 | } 19 | 20 | public void Init(string ipAddress) 21 | { 22 | DriverApiClient.Instance.IpAddress = ipAddress; 23 | Init(); 24 | } 25 | 26 | public void Init() 27 | { 28 | Debug.Log("DriverApiClient is starting..."); 29 | DriverApiClient.Instance.StartClient(); 30 | var puppetProcessor = new GameObject("PuppetProcessor").AddComponent(); 31 | DontDestroyOnLoad(puppetProcessor); 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /Published/v1.3.0/UnityPlugins/Puppet/MainThreadQueue.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System.Collections.Generic; 3 | using System; 4 | 5 | namespace Puppetry.Puppet 6 | { 7 | public class MainThreadQueue : MonoBehaviour 8 | { 9 | private readonly List requestedActions = new List(); 10 | private readonly List currentActions = new List(); 11 | private static MainThreadQueue _instance; 12 | 13 | private static MainThreadQueue Instance 14 | { 15 | get { return _instance; } 16 | } 17 | 18 | void Awake() 19 | { 20 | _instance = this; 21 | } 22 | 23 | public static void QueueOnMainThread(Action action) 24 | { 25 | if (Instance != null) 26 | { 27 | lock (Instance.requestedActions) 28 | { 29 | Instance.requestedActions.Add(action); 30 | } 31 | } 32 | } 33 | 34 | void Update() 35 | { 36 | lock (requestedActions) 37 | { 38 | currentActions.Clear(); 39 | currentActions.AddRange(requestedActions); 40 | requestedActions.Clear(); 41 | } 42 | 43 | foreach (var action in currentActions) 44 | { 45 | action.Invoke(); 46 | } 47 | } 48 | } 49 | } -------------------------------------------------------------------------------- /Published/v1.3.0/UnityPlugins/Puppet/ScreenHelper.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using UnityEngine; 3 | using UnityEngine.EventSystems; 4 | using UnityEngine.UI; 5 | 6 | namespace Puppetry.Puppet 7 | { 8 | public static class ScreenHelper 9 | { 10 | public static bool IsGraphicClickable(GameObject gameObject) 11 | { 12 | return IsRaycasted(gameObject); 13 | } 14 | 15 | public static bool IsPhysicClickable(GameObject gameObject) 16 | { 17 | return IsRaycasted(gameObject); 18 | } 19 | 20 | public static bool IsOnScreen(GameObject gameObject) 21 | { 22 | var result = false; 23 | 24 | //Check if any camera can see the object)) 25 | foreach (var camera in Camera.allCameras) 26 | { 27 | var position = GetPositionOnScreen(gameObject, camera); 28 | 29 | result = (position.x > 0 && position.y > 0 && position.x < Screen.width && position.y < Screen.height && position.z >= 0); 30 | 31 | if (result) 32 | break; 33 | } 34 | 35 | return result; 36 | } 37 | 38 | public static Vector3 GetPositionOnScreen(GameObject gameObject, Camera camera) 39 | { 40 | var canvasParent = gameObject.GetComponentInParent(); 41 | if (canvasParent != null) 42 | { 43 | var rectTransform = gameObject.GetComponent(); 44 | 45 | if (canvasParent.renderMode != RenderMode.ScreenSpaceOverlay) 46 | { 47 | if (rectTransform != null) 48 | { 49 | var vector3S = new Vector3[4]; 50 | rectTransform.GetWorldCorners(vector3S); 51 | var center = new Vector3((vector3S[0].x + vector3S[2].x) / 2, 52 | (vector3S[0].y + vector3S[2].y) / 2, (vector3S[0].z + vector3S[2].z) / 2); 53 | return canvasParent.worldCamera.WorldToScreenPoint(center); 54 | } 55 | } 56 | 57 | if (rectTransform != null) 58 | { 59 | return rectTransform.position; 60 | } 61 | 62 | return camera.WorldToScreenPoint(gameObject.transform.position); 63 | } 64 | 65 | var collider = gameObject.GetComponent(); 66 | if (collider != null) 67 | { 68 | return camera.WorldToScreenPoint(collider.bounds.center); 69 | } 70 | 71 | return camera.WorldToScreenPoint(gameObject.transform.position); 72 | } 73 | 74 | private static bool IsRaycasted(GameObject gameObject) where T : BaseRaycaster 75 | { 76 | var result = false; 77 | var position = GetPositionOnScreen(gameObject, Camera.main); 78 | 79 | if (IsOnScreen(gameObject)) 80 | { 81 | var raycaster = gameObject.GetComponentInParent(); 82 | var ped = new PointerEventData(null); 83 | ped.position = position; 84 | var hits = new List(); 85 | raycaster.Raycast(ped, hits); 86 | 87 | if (hits.Count > 0 && hits[0].gameObject.name == gameObject.name) 88 | { 89 | result = true; 90 | } 91 | } 92 | 93 | return result; 94 | } 95 | } 96 | } -------------------------------------------------------------------------------- /Published/v1.3.0/UnityPlugins/Puppet/Utils/Logger.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | 4 | namespace Puppetry.Puppet.Utils 5 | { 6 | public class Logger 7 | { 8 | public static void Log(string msg) 9 | { 10 | Debug.Log(DateTime.UtcNow.ToString("HH:mm:ss.fff") + " [Puppetry.Puppet] " + msg); 11 | } 12 | 13 | public static void Log(Exception e) 14 | { 15 | Debug.Log(DateTime.UtcNow.ToString("HH:mm:ss.fff") + " [Puppetry.Puppet] " + e); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Published/v1.3.0/UnityPlugins/PuppetGUI/UPathValidatorWindow.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEditor; 3 | using UnityEngine; 4 | 5 | namespace Puppetry.Puppet.PuppetGUI 6 | { 7 | public class UPathValidatorWindow : EditorWindow 8 | { 9 | string _upath = String.Empty; 10 | GameObject _foundGameObject = null; 11 | 12 | [MenuItem("Puppetry/UPath Validator")] 13 | public static void ShowWindow() 14 | { 15 | var w = GetWindow(); 16 | w.titleContent = new GUIContent("UPath Validator"); 17 | } 18 | 19 | void OnGUI() 20 | { 21 | GUILayout.Label ("Upath Validator Window", EditorStyles.boldLabel); 22 | _upath = EditorGUILayout.TextField ("UPath", _upath); 23 | EditorGUILayout.BeginHorizontal(); 24 | if (GUILayout.Button("Find Game Object")) 25 | { 26 | if (string.IsNullOrEmpty(_upath)) 27 | ShowNotification(new GUIContent("Upath can't be null or empty")); 28 | else 29 | { 30 | try 31 | { 32 | _foundGameObject = FindGameObjectHelper.FindGameObjectByUPath(_upath); 33 | } 34 | catch (Exception) 35 | { 36 | ShowNotification(new GUIContent("UPath expression is invalid")); 37 | throw; 38 | } 39 | 40 | if (_foundGameObject == null) 41 | ShowNotification(new GUIContent("There is no GameObject by this upath")); 42 | else 43 | Selection.activeGameObject = _foundGameObject; 44 | } 45 | } 46 | if (GUILayout.Button("Count")) 47 | { 48 | if (string.IsNullOrEmpty(_upath)) 49 | ShowNotification(new GUIContent("Upath can't be null or empty")); 50 | else 51 | { 52 | try 53 | { 54 | ShowNotification(new GUIContent("There are " + FindGameObjectHelper.FindGameObjectsByUPath(_upath).Count + " GameObjects with this upath")); 55 | } 56 | catch (Exception) 57 | { 58 | ShowNotification(new GUIContent("UPath expression is invalid")); 59 | throw; 60 | } 61 | } 62 | } 63 | EditorGUILayout.EndHorizontal(); 64 | } 65 | } 66 | } -------------------------------------------------------------------------------- /Published/v1.4.0/Contracts/Puppetry.Contracts.1.1.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/Contracts/Puppetry.Contracts.1.1.0.nupkg -------------------------------------------------------------------------------- /Published/v1.4.0/Contracts/Puppetry.Contracts.1.1.1.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/Contracts/Puppetry.Contracts.1.1.1.nupkg -------------------------------------------------------------------------------- /Published/v1.4.0/Puppet/Puppetry.Puppet.unitypackage: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/Puppet/Puppetry.Puppet.unitypackage -------------------------------------------------------------------------------- /Published/v1.4.0/Puppeteer/Puppetry.Puppeteer.1.4.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/Puppeteer/Puppetry.Puppeteer.1.4.0.nupkg -------------------------------------------------------------------------------- /Published/v1.4.0/Puppeteer/Puppetry.Puppeteer.1.4.1.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/Puppeteer/Puppetry.Puppeteer.1.4.1.nupkg -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/Contracts.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/Contracts.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/Microsoft.AspNetCore.Authentication.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/Microsoft.AspNetCore.Authentication.Abstractions.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/Microsoft.AspNetCore.Authentication.Core.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/Microsoft.AspNetCore.Authentication.Core.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/Microsoft.AspNetCore.Connections.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/Microsoft.AspNetCore.Connections.Abstractions.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/Microsoft.AspNetCore.Diagnostics.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/Microsoft.AspNetCore.Diagnostics.Abstractions.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/Microsoft.AspNetCore.Diagnostics.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/Microsoft.AspNetCore.Diagnostics.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/Microsoft.AspNetCore.HostFiltering.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/Microsoft.AspNetCore.HostFiltering.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/Microsoft.AspNetCore.Hosting.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/Microsoft.AspNetCore.Hosting.Abstractions.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/Microsoft.AspNetCore.Hosting.Server.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/Microsoft.AspNetCore.Hosting.Server.Abstractions.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/Microsoft.AspNetCore.Hosting.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/Microsoft.AspNetCore.Hosting.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/Microsoft.AspNetCore.Http.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/Microsoft.AspNetCore.Http.Abstractions.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/Microsoft.AspNetCore.Http.Extensions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/Microsoft.AspNetCore.Http.Extensions.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/Microsoft.AspNetCore.Http.Features.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/Microsoft.AspNetCore.Http.Features.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/Microsoft.AspNetCore.Http.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/Microsoft.AspNetCore.Http.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/Microsoft.AspNetCore.HttpOverrides.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/Microsoft.AspNetCore.HttpOverrides.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/Microsoft.AspNetCore.Routing.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/Microsoft.AspNetCore.Routing.Abstractions.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/Microsoft.AspNetCore.Routing.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/Microsoft.AspNetCore.Routing.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/Microsoft.AspNetCore.Server.IIS.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/Microsoft.AspNetCore.Server.IIS.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/Microsoft.AspNetCore.Server.IISIntegration.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/Microsoft.AspNetCore.Server.IISIntegration.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/Microsoft.AspNetCore.Server.Kestrel.Core.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/Microsoft.AspNetCore.Server.Kestrel.Core.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/Microsoft.AspNetCore.Server.Kestrel.Https.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/Microsoft.AspNetCore.Server.Kestrel.Https.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/Microsoft.AspNetCore.Server.Kestrel.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/Microsoft.AspNetCore.Server.Kestrel.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/Microsoft.AspNetCore.WebUtilities.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/Microsoft.AspNetCore.WebUtilities.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/Microsoft.AspNetCore.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/Microsoft.AspNetCore.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/Microsoft.Extensions.Configuration.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/Microsoft.Extensions.Configuration.Abstractions.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/Microsoft.Extensions.Configuration.Binder.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/Microsoft.Extensions.Configuration.Binder.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/Microsoft.Extensions.Configuration.CommandLine.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/Microsoft.Extensions.Configuration.CommandLine.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/Microsoft.Extensions.Configuration.EnvironmentVariables.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/Microsoft.Extensions.Configuration.EnvironmentVariables.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/Microsoft.Extensions.Configuration.FileExtensions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/Microsoft.Extensions.Configuration.FileExtensions.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/Microsoft.Extensions.Configuration.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/Microsoft.Extensions.Configuration.Json.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/Microsoft.Extensions.Configuration.UserSecrets.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/Microsoft.Extensions.Configuration.UserSecrets.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/Microsoft.Extensions.Configuration.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/Microsoft.Extensions.Configuration.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/Microsoft.Extensions.DependencyInjection.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/Microsoft.Extensions.DependencyInjection.Abstractions.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/Microsoft.Extensions.DependencyInjection.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/Microsoft.Extensions.DependencyInjection.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/Microsoft.Extensions.FileProviders.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/Microsoft.Extensions.FileProviders.Abstractions.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/Microsoft.Extensions.FileProviders.Physical.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/Microsoft.Extensions.FileProviders.Physical.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/Microsoft.Extensions.FileSystemGlobbing.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/Microsoft.Extensions.FileSystemGlobbing.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/Microsoft.Extensions.Hosting.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/Microsoft.Extensions.Hosting.Abstractions.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/Microsoft.Extensions.Logging.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/Microsoft.Extensions.Logging.Abstractions.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/Microsoft.Extensions.Logging.Configuration.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/Microsoft.Extensions.Logging.Configuration.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/Microsoft.Extensions.Logging.Console.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/Microsoft.Extensions.Logging.Console.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/Microsoft.Extensions.Logging.Debug.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/Microsoft.Extensions.Logging.Debug.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/Microsoft.Extensions.Logging.EventSource.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/Microsoft.Extensions.Logging.EventSource.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/Microsoft.Extensions.Logging.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/Microsoft.Extensions.Logging.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/Microsoft.Extensions.ObjectPool.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/Microsoft.Extensions.ObjectPool.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/Microsoft.Extensions.Options.ConfigurationExtensions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/Microsoft.Extensions.Options.ConfigurationExtensions.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/Microsoft.Extensions.Options.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/Microsoft.Extensions.Options.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/Microsoft.Extensions.Primitives.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/Microsoft.Extensions.Primitives.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/Microsoft.Net.Http.Headers.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/Microsoft.Net.Http.Headers.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/PuppetryDriver.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/PuppetryDriver.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/PuppetryDriver.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/PuppetryDriver.pdb -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/PuppetryDriver.runtimeconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "runtimeOptions": { 3 | "tfm": "netcoreapp2.0", 4 | "framework": { 5 | "name": "Microsoft.NETCore.App", 6 | "version": "2.0.0" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/System.Collections.Immutable.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/System.Collections.Immutable.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/System.Diagnostics.DiagnosticSource.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/System.Diagnostics.DiagnosticSource.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/System.IO.Pipelines.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/System.IO.Pipelines.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/System.Memory.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/System.Memory.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/System.Reflection.Metadata.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/System.Reflection.Metadata.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/System.Runtime.CompilerServices.Unsafe.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/System.Runtime.CompilerServices.Unsafe.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/System.Security.Cryptography.Cng.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/System.Security.Cryptography.Cng.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/System.Security.Principal.Windows.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/System.Security.Principal.Windows.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/System.Text.Encodings.Web.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/System.Text.Encodings.Web.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/System.Threading.Tasks.Extensions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/System.Threading.Tasks.Extensions.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/runtimes/unix/lib/netcoreapp2.0/System.Security.Principal.Windows.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/runtimes/unix/lib/netcoreapp2.0/System.Security.Principal.Windows.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/runtimes/win/lib/netcoreapp2.0/System.Security.Cryptography.Cng.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/runtimes/win/lib/netcoreapp2.0/System.Security.Cryptography.Cng.dll -------------------------------------------------------------------------------- /Published/v1.4.0/PuppetryDriver/runtimes/win/lib/netcoreapp2.0/System.Security.Principal.Windows.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.4.0/PuppetryDriver/runtimes/win/lib/netcoreapp2.0/System.Security.Principal.Windows.dll -------------------------------------------------------------------------------- /Published/v1.5.0/Contracts/Puppetry.Contracts.1.2.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/Contracts/Puppetry.Contracts.1.2.0.nupkg -------------------------------------------------------------------------------- /Published/v1.5.0/Puppeteer/Puppetry.Puppeteer.1.5.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/Puppeteer/Puppetry.Puppeteer.1.5.0.nupkg -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/Contracts.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/Contracts.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/Microsoft.AspNetCore.Authentication.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/Microsoft.AspNetCore.Authentication.Abstractions.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/Microsoft.AspNetCore.Authentication.Core.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/Microsoft.AspNetCore.Authentication.Core.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/Microsoft.AspNetCore.Connections.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/Microsoft.AspNetCore.Connections.Abstractions.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/Microsoft.AspNetCore.Diagnostics.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/Microsoft.AspNetCore.Diagnostics.Abstractions.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/Microsoft.AspNetCore.Diagnostics.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/Microsoft.AspNetCore.Diagnostics.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/Microsoft.AspNetCore.HostFiltering.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/Microsoft.AspNetCore.HostFiltering.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/Microsoft.AspNetCore.Hosting.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/Microsoft.AspNetCore.Hosting.Abstractions.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/Microsoft.AspNetCore.Hosting.Server.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/Microsoft.AspNetCore.Hosting.Server.Abstractions.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/Microsoft.AspNetCore.Hosting.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/Microsoft.AspNetCore.Hosting.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/Microsoft.AspNetCore.Http.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/Microsoft.AspNetCore.Http.Abstractions.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/Microsoft.AspNetCore.Http.Extensions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/Microsoft.AspNetCore.Http.Extensions.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/Microsoft.AspNetCore.Http.Features.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/Microsoft.AspNetCore.Http.Features.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/Microsoft.AspNetCore.Http.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/Microsoft.AspNetCore.Http.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/Microsoft.AspNetCore.HttpOverrides.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/Microsoft.AspNetCore.HttpOverrides.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/Microsoft.AspNetCore.Routing.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/Microsoft.AspNetCore.Routing.Abstractions.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/Microsoft.AspNetCore.Routing.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/Microsoft.AspNetCore.Routing.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/Microsoft.AspNetCore.Server.IIS.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/Microsoft.AspNetCore.Server.IIS.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/Microsoft.AspNetCore.Server.IISIntegration.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/Microsoft.AspNetCore.Server.IISIntegration.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/Microsoft.AspNetCore.Server.Kestrel.Core.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/Microsoft.AspNetCore.Server.Kestrel.Core.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/Microsoft.AspNetCore.Server.Kestrel.Https.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/Microsoft.AspNetCore.Server.Kestrel.Https.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/Microsoft.AspNetCore.Server.Kestrel.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/Microsoft.AspNetCore.Server.Kestrel.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/Microsoft.AspNetCore.WebUtilities.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/Microsoft.AspNetCore.WebUtilities.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/Microsoft.AspNetCore.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/Microsoft.AspNetCore.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/Microsoft.Extensions.Configuration.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/Microsoft.Extensions.Configuration.Abstractions.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/Microsoft.Extensions.Configuration.Binder.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/Microsoft.Extensions.Configuration.Binder.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/Microsoft.Extensions.Configuration.CommandLine.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/Microsoft.Extensions.Configuration.CommandLine.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/Microsoft.Extensions.Configuration.EnvironmentVariables.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/Microsoft.Extensions.Configuration.EnvironmentVariables.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/Microsoft.Extensions.Configuration.FileExtensions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/Microsoft.Extensions.Configuration.FileExtensions.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/Microsoft.Extensions.Configuration.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/Microsoft.Extensions.Configuration.Json.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/Microsoft.Extensions.Configuration.UserSecrets.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/Microsoft.Extensions.Configuration.UserSecrets.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/Microsoft.Extensions.Configuration.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/Microsoft.Extensions.Configuration.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/Microsoft.Extensions.DependencyInjection.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/Microsoft.Extensions.DependencyInjection.Abstractions.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/Microsoft.Extensions.DependencyInjection.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/Microsoft.Extensions.DependencyInjection.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/Microsoft.Extensions.FileProviders.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/Microsoft.Extensions.FileProviders.Abstractions.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/Microsoft.Extensions.FileProviders.Physical.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/Microsoft.Extensions.FileProviders.Physical.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/Microsoft.Extensions.FileSystemGlobbing.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/Microsoft.Extensions.FileSystemGlobbing.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/Microsoft.Extensions.Hosting.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/Microsoft.Extensions.Hosting.Abstractions.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/Microsoft.Extensions.Logging.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/Microsoft.Extensions.Logging.Abstractions.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/Microsoft.Extensions.Logging.Configuration.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/Microsoft.Extensions.Logging.Configuration.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/Microsoft.Extensions.Logging.Console.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/Microsoft.Extensions.Logging.Console.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/Microsoft.Extensions.Logging.Debug.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/Microsoft.Extensions.Logging.Debug.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/Microsoft.Extensions.Logging.EventSource.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/Microsoft.Extensions.Logging.EventSource.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/Microsoft.Extensions.Logging.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/Microsoft.Extensions.Logging.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/Microsoft.Extensions.ObjectPool.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/Microsoft.Extensions.ObjectPool.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/Microsoft.Extensions.Options.ConfigurationExtensions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/Microsoft.Extensions.Options.ConfigurationExtensions.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/Microsoft.Extensions.Options.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/Microsoft.Extensions.Options.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/Microsoft.Extensions.Primitives.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/Microsoft.Extensions.Primitives.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/Microsoft.Net.Http.Headers.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/Microsoft.Net.Http.Headers.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/PuppetryDriver.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/PuppetryDriver.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/PuppetryDriver.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/PuppetryDriver.pdb -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/PuppetryDriver.runtimeconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "runtimeOptions": { 3 | "tfm": "netcoreapp2.0", 4 | "framework": { 5 | "name": "Microsoft.NETCore.App", 6 | "version": "2.0.0" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/System.Collections.Immutable.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/System.Collections.Immutable.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/System.Diagnostics.DiagnosticSource.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/System.Diagnostics.DiagnosticSource.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/System.IO.Pipelines.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/System.IO.Pipelines.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/System.Memory.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/System.Memory.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/System.Reflection.Metadata.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/System.Reflection.Metadata.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/System.Runtime.CompilerServices.Unsafe.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/System.Runtime.CompilerServices.Unsafe.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/System.Security.Cryptography.Cng.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/System.Security.Cryptography.Cng.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/System.Security.Principal.Windows.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/System.Security.Principal.Windows.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/System.Text.Encodings.Web.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/System.Text.Encodings.Web.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/System.Threading.Tasks.Extensions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/System.Threading.Tasks.Extensions.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/runtimes/unix/lib/netcoreapp2.0/System.Security.Principal.Windows.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/runtimes/unix/lib/netcoreapp2.0/System.Security.Principal.Windows.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/runtimes/win/lib/netcoreapp2.0/System.Security.Cryptography.Cng.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/runtimes/win/lib/netcoreapp2.0/System.Security.Cryptography.Cng.dll -------------------------------------------------------------------------------- /Published/v1.5.0/PuppetryDriver/runtimes/win/lib/netcoreapp2.0/System.Security.Principal.Windows.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TestUnitLab/Puppetry/4c1cb83bf0772d066869577c9f6026cd31a57096/Published/v1.5.0/PuppetryDriver/runtimes/win/lib/netcoreapp2.0/System.Security.Principal.Windows.dll -------------------------------------------------------------------------------- /Published/v1.5.0/UnityPlugins/Puppet/Contracts/DriverRequest.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Puppetry.Puppet.Contracts 4 | { 5 | [Serializable] 6 | public class DriverRequest 7 | { 8 | public string session; 9 | public string method; 10 | public string upath; 11 | public string key; 12 | public string value; 13 | 14 | public override string ToString() 15 | { 16 | return string.Format("session: {0}, method: {1}, upath: {2}, key: {3}, value: {4}", session, method, upath, key, value); 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Published/v1.5.0/UnityPlugins/Puppet/Contracts/DriverResponse.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Puppetry.Puppet.Contracts 4 | { 5 | [Serializable] 6 | public class DriverResponse 7 | { 8 | public string session; 9 | public string method; 10 | public string result; 11 | public string errormessage; 12 | public int statuscode; 13 | 14 | public void Clear() 15 | { 16 | session = null; 17 | method = null; 18 | result = null; 19 | errormessage = null; 20 | statuscode = 0; 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /Published/v1.5.0/UnityPlugins/Puppet/Contracts/ErrorMessages.cs: -------------------------------------------------------------------------------- 1 |  2 | namespace Puppetry.Puppet.Contracts 3 | { 4 | public static class ErrorMessages 5 | { 6 | public const string SuccessResult = "success"; 7 | public const string MainThreadIsUnavailable = "Main Thread is unavailable or overloaded"; 8 | public const string GameObjectWasNotFound = "GameObject was not found"; 9 | public const string MethodIsNotSupported = "Method is not supported"; 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /Published/v1.5.0/UnityPlugins/Puppet/Contracts/ScreenCoordinates.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Puppetry.Puppet.Contracts 4 | { 5 | [Serializable] 6 | public class ScreenCoordinates 7 | { 8 | public float X; 9 | public float Y; 10 | } 11 | } -------------------------------------------------------------------------------- /Published/v1.5.0/UnityPlugins/Puppet/Contracts/SessionInfo.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Puppetry.Puppet.Contracts 4 | { 5 | [Serializable] 6 | class SessionInfo 7 | { 8 | public string Session; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Published/v1.5.0/UnityPlugins/Puppet/Custom/CustomDriverHandler.cs: -------------------------------------------------------------------------------- 1 | namespace Puppetry.Puppet 2 | { 3 | public static class CustomDriverHandler 4 | { 5 | public static string ProcessGameCustomMethod(string key, string value) 6 | { 7 | string result; 8 | switch (key) 9 | { 10 | default: 11 | result = "There are no handler for method: " + key; 12 | break; 13 | } 14 | 15 | return result; 16 | } 17 | 18 | public static string ProcessGameObjectCustomMethod(string upath, string key, string value) 19 | { 20 | string result; 21 | switch (key) 22 | { 23 | default: 24 | result = "There are no handler for method: " + key; 25 | break; 26 | } 27 | 28 | return result; 29 | } 30 | } 31 | } -------------------------------------------------------------------------------- /Published/v1.5.0/UnityPlugins/Puppet/EditorApiClientLoader.cs: -------------------------------------------------------------------------------- 1 | #if UNITY_EDITOR 2 | 3 | using UnityEngine; 4 | using UnityEditor; 5 | 6 | namespace Puppetry.Puppet 7 | { 8 | [InitializeOnLoad] 9 | public class DriverApiClientLoader 10 | { 11 | static DriverApiClientLoader() 12 | { 13 | if (EditorApplication.isCompiling || EditorApplication.isUpdating) return; 14 | 15 | Debug.Log("DriverApiClient is starting..."); 16 | 17 | EditorApplication.playModeStateChanged += InstantiatePuppetProcessor; 18 | 19 | EditorApplication.update += StartDriverApiClient; 20 | } 21 | 22 | static void StartDriverApiClient() 23 | { 24 | EditorApplication.update -= StartDriverApiClient; 25 | 26 | DriverApiClient.Instance.StartClient(); 27 | } 28 | 29 | static void InstantiatePuppetProcessor(PlayModeStateChange state) 30 | { 31 | if (state == PlayModeStateChange.EnteredPlayMode) 32 | { 33 | var puppetProcessor = new GameObject("PuppetProcessor").AddComponent(); 34 | Object.DontDestroyOnLoad(puppetProcessor); 35 | } 36 | } 37 | } 38 | } 39 | #endif 40 | -------------------------------------------------------------------------------- /Published/v1.5.0/UnityPlugins/Puppet/InGameApiClientLoader.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace Puppetry.Puppet 4 | { 5 | public class InGameApiClientLoader : MonoBehaviour 6 | { 7 | public void Init(int port) 8 | { 9 | DriverApiClient.Instance.Port = port; 10 | Init(); 11 | } 12 | 13 | public void Init(string ipAddress, int port) 14 | { 15 | DriverApiClient.Instance.IpAddress = ipAddress; 16 | DriverApiClient.Instance.Port = port; 17 | Init(); 18 | } 19 | 20 | public void Init(string ipAddress) 21 | { 22 | DriverApiClient.Instance.IpAddress = ipAddress; 23 | Init(); 24 | } 25 | 26 | public void Init() 27 | { 28 | Debug.Log("DriverApiClient is starting..."); 29 | DriverApiClient.Instance.StartClient(); 30 | var puppetProcessor = new GameObject("PuppetProcessor").AddComponent(); 31 | DontDestroyOnLoad(puppetProcessor); 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /Published/v1.5.0/UnityPlugins/Puppet/MainThreadQueue.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System.Collections.Generic; 3 | using System; 4 | 5 | namespace Puppetry.Puppet 6 | { 7 | public class MainThreadQueue : MonoBehaviour 8 | { 9 | private readonly List requestedActions = new List(); 10 | private readonly List currentActions = new List(); 11 | private static MainThreadQueue _instance; 12 | 13 | private static MainThreadQueue Instance 14 | { 15 | get { return _instance; } 16 | } 17 | 18 | void Awake() 19 | { 20 | _instance = this; 21 | } 22 | 23 | public static void QueueOnMainThread(Action action) 24 | { 25 | if (Instance != null) 26 | { 27 | lock (Instance.requestedActions) 28 | { 29 | Instance.requestedActions.Add(action); 30 | } 31 | } 32 | } 33 | 34 | void Update() 35 | { 36 | lock (requestedActions) 37 | { 38 | currentActions.Clear(); 39 | currentActions.AddRange(requestedActions); 40 | requestedActions.Clear(); 41 | } 42 | 43 | foreach (var action in currentActions) 44 | { 45 | action.Invoke(); 46 | } 47 | } 48 | } 49 | } -------------------------------------------------------------------------------- /Published/v1.5.0/UnityPlugins/Puppet/ScreenHelper.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using UnityEngine; 3 | using UnityEngine.EventSystems; 4 | 5 | namespace Puppetry.Puppet 6 | { 7 | public static class ScreenHelper 8 | { 9 | public static bool IsOnScreen(GameObject gameObject) 10 | { 11 | var result = false; 12 | 13 | //Check if any camera can see the object)) 14 | foreach (var camera in Camera.allCameras) 15 | { 16 | var position = GetPositionOnScreen(gameObject, camera); 17 | 18 | result = (position.x > 0 && position.y > 0 && position.x < Screen.width && position.y < Screen.height && position.z >= 0); 19 | 20 | if (result) 21 | break; 22 | } 23 | 24 | return result; 25 | } 26 | 27 | public static Vector3 GetPositionOnScreen(GameObject gameObject, Camera camera) 28 | { 29 | var canvasParent = gameObject.GetComponentInParent(); 30 | if (canvasParent != null) 31 | { 32 | var rectTransform = gameObject.GetComponent(); 33 | 34 | if (canvasParent.renderMode != RenderMode.ScreenSpaceOverlay) 35 | { 36 | if (rectTransform != null) 37 | { 38 | var vector3S = new Vector3[4]; 39 | rectTransform.GetWorldCorners(vector3S); 40 | var center = new Vector3((vector3S[0].x + vector3S[2].x) / 2, 41 | (vector3S[0].y + vector3S[2].y) / 2, (vector3S[0].z + vector3S[2].z) / 2); 42 | return canvasParent.worldCamera.WorldToScreenPoint(center); 43 | } 44 | } 45 | 46 | if (rectTransform != null) 47 | { 48 | return rectTransform.position; 49 | } 50 | 51 | return camera.WorldToScreenPoint(gameObject.transform.position); 52 | } 53 | 54 | var collider = gameObject.GetComponent(); 55 | if (collider != null) 56 | { 57 | return camera.WorldToScreenPoint(collider.bounds.center); 58 | } 59 | 60 | return camera.WorldToScreenPoint(gameObject.transform.position); 61 | } 62 | 63 | public static bool IsRaycasted(GameObject gameObject) where T : BaseRaycaster 64 | { 65 | var result = false; 66 | var position = GetPositionOnScreen(gameObject, Camera.main); 67 | 68 | if (IsOnScreen(gameObject)) 69 | { 70 | var raycaster = gameObject.GetComponentInParent(); 71 | var ped = new PointerEventData(null); 72 | ped.position = position; 73 | var hits = new List(); 74 | raycaster.Raycast(ped, hits); 75 | 76 | if (hits.Count > 0 && hits[0].gameObject.name == gameObject.name) 77 | { 78 | result = true; 79 | } 80 | } 81 | 82 | return result; 83 | } 84 | } 85 | } -------------------------------------------------------------------------------- /Published/v1.5.0/UnityPlugins/Puppet/Utils/Logger.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | 4 | namespace Puppetry.Puppet.Utils 5 | { 6 | public class Logger 7 | { 8 | public static void Log(string msg) 9 | { 10 | Debug.Log(DateTime.UtcNow.ToString("HH:mm:ss.fff") + " [Puppetry.Puppet] " + msg); 11 | } 12 | 13 | public static void Log(Exception e) 14 | { 15 | Debug.Log(DateTime.UtcNow.ToString("HH:mm:ss.fff") + " [Puppetry.Puppet] " + e); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Published/v1.5.0/UnityPlugins/PuppetGUI/UPathValidatorWindow.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEditor; 3 | using UnityEngine; 4 | 5 | namespace Puppetry.Puppet.PuppetGUI 6 | { 7 | public class UPathValidatorWindow : EditorWindow 8 | { 9 | string _upath = String.Empty; 10 | GameObject _foundGameObject = null; 11 | 12 | [MenuItem("Puppetry/UPath Validator")] 13 | public static void ShowWindow() 14 | { 15 | var w = GetWindow(); 16 | w.titleContent = new GUIContent("UPath Validator"); 17 | } 18 | 19 | void OnGUI() 20 | { 21 | GUILayout.Label ("Upath Validator Window", EditorStyles.boldLabel); 22 | _upath = EditorGUILayout.TextField ("UPath", _upath); 23 | EditorGUILayout.BeginHorizontal(); 24 | if (GUILayout.Button("Find Game Object")) 25 | { 26 | if (string.IsNullOrEmpty(_upath)) 27 | ShowNotification(new GUIContent("Upath can't be null or empty")); 28 | else 29 | { 30 | try 31 | { 32 | _foundGameObject = FindGameObjectHelper.FindGameObjectByUPath(_upath); 33 | } 34 | catch (Exception) 35 | { 36 | ShowNotification(new GUIContent("UPath expression is invalid")); 37 | throw; 38 | } 39 | 40 | if (_foundGameObject == null) 41 | ShowNotification(new GUIContent("There is no GameObject by this upath")); 42 | else 43 | Selection.activeGameObject = _foundGameObject; 44 | } 45 | } 46 | if (GUILayout.Button("Count")) 47 | { 48 | if (string.IsNullOrEmpty(_upath)) 49 | ShowNotification(new GUIContent("Upath can't be null or empty")); 50 | else 51 | { 52 | try 53 | { 54 | ShowNotification(new GUIContent("There are " + FindGameObjectHelper.FindGameObjectsByUPath(_upath).Count + " GameObjects with this upath")); 55 | } 56 | catch (Exception) 57 | { 58 | ShowNotification(new GUIContent("UPath expression is invalid")); 59 | throw; 60 | } 61 | } 62 | } 63 | EditorGUILayout.EndHorizontal(); 64 | } 65 | } 66 | } -------------------------------------------------------------------------------- /Puppeteer/Conditions/Game/Be.cs: -------------------------------------------------------------------------------- 1 | namespace Puppetry.Puppeteer.Conditions.Game 2 | { 3 | public static partial class Be 4 | { 5 | } 6 | } -------------------------------------------------------------------------------- /Puppeteer/Conditions/Game/Condition.cs: -------------------------------------------------------------------------------- 1 |  2 | namespace Puppetry.Puppeteer.Conditions.Game 3 | { 4 | public abstract class Condition 5 | { 6 | public abstract bool Invoke(); 7 | 8 | protected abstract string DescribeExpected(); 9 | 10 | protected abstract string DescribeActual(); 11 | 12 | public override string ToString() 13 | { 14 | return $"\n{GetType().Name} for the Game =>" + 15 | $" \nExpected: {DescribeExpected()} \nActual: {DescribeActual()}"; 16 | } 17 | } 18 | } -------------------------------------------------------------------------------- /Puppeteer/Conditions/Game/Have.cs: -------------------------------------------------------------------------------- 1 | namespace Puppetry.Puppeteer.Conditions.Game 2 | { 3 | public static partial class Have 4 | { 5 | } 6 | } -------------------------------------------------------------------------------- /Puppeteer/Conditions/Game/Scene.cs: -------------------------------------------------------------------------------- 1 |  2 | namespace Puppetry.Puppeteer.Conditions.Game 3 | { 4 | internal class Scene : Condition 5 | { 6 | private string _expectedName; 7 | private string _acturalName; 8 | 9 | internal Scene(string sceneName) 10 | { 11 | _expectedName = sceneName; 12 | } 13 | 14 | public override bool Invoke() 15 | { 16 | _acturalName = Puppeteer.Game.GetSceneName(); 17 | return _acturalName == _expectedName; 18 | } 19 | 20 | protected override string DescribeActual() 21 | { 22 | return $"Actual scene name is {_acturalName}"; 23 | } 24 | 25 | protected override string DescribeExpected() 26 | { 27 | return $"Expected scene name is {_expectedName}"; 28 | } 29 | } 30 | 31 | public static partial class Have 32 | { 33 | public static Condition SceneName(string sceneName) 34 | { 35 | return new Scene(sceneName); 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /Puppeteer/Conditions/GameObject/Active.cs: -------------------------------------------------------------------------------- 1 | namespace Puppetry.Puppeteer.Conditions.GameObject 2 | { 3 | internal class Active : Condition 4 | { 5 | public override bool Invoke(T gameObject) 6 | { 7 | CurentGameObject = gameObject; 8 | return gameObject.IsActiveInHierarchy; 9 | } 10 | 11 | protected override string DescribeExpected() 12 | { 13 | return $"Active {true}"; 14 | } 15 | 16 | protected override string DescribeActual() 17 | { 18 | return $"Active {false}"; 19 | } 20 | } 21 | 22 | public static partial class Be 23 | { 24 | public static Condition ActiveInHierarchy => new Active(); 25 | } 26 | } -------------------------------------------------------------------------------- /Puppeteer/Conditions/GameObject/Be.cs: -------------------------------------------------------------------------------- 1 | namespace Puppetry.Puppeteer.Conditions.GameObject 2 | { 3 | public static partial class Be 4 | { 5 | } 6 | } -------------------------------------------------------------------------------- /Puppeteer/Conditions/GameObject/Component.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Linq.Expressions; 3 | 4 | namespace Puppetry.Puppeteer.Conditions.GameObject 5 | { 6 | internal class Component : Condition 7 | { 8 | private readonly string _componentName; 9 | private readonly string _propertyName; 10 | private readonly string _propertyValue; 11 | private string _actualComponent; 12 | private Expression> _condition; 13 | 14 | public Component(string componentNameName) 15 | { 16 | _componentName = componentNameName; 17 | } 18 | 19 | public Component(string componentNameName, Expression> condition) 20 | { 21 | _componentName = componentNameName; 22 | _condition = condition; 23 | } 24 | 25 | public Component(string componentNameName, string propertyName, string propertyValue) 26 | { 27 | _componentName = componentNameName; 28 | _propertyName = propertyName; 29 | _propertyValue = propertyValue; 30 | } 31 | 32 | public override bool Invoke(T gameObject) 33 | { 34 | CurentGameObject = gameObject; 35 | 36 | _actualComponent = gameObject.GetComponent(_componentName); 37 | //Want to check if property with specific name and value of the component exist 38 | if (!string.IsNullOrEmpty(_propertyName)) 39 | return _actualComponent.Contains($"{_propertyName}\":{_propertyValue}"); 40 | //Check specific condition 41 | if (_condition != null) 42 | _condition.Compile().Invoke(_actualComponent); 43 | //So we check just if component exist 44 | return !string.IsNullOrEmpty(_actualComponent); 45 | } 46 | 47 | protected override string DescribeExpected() 48 | { 49 | if (string.IsNullOrEmpty(_propertyName) && string.IsNullOrEmpty(_propertyValue)) 50 | return $"has component {_componentName}"; 51 | if (_condition != null) 52 | return $"has component {_componentName} with condition {_condition}"; 53 | 54 | return $"Component {_componentName} has property {_propertyName} with value {_propertyValue}"; 55 | } 56 | 57 | protected override string DescribeActual() 58 | { 59 | if (string.IsNullOrEmpty(_propertyName) && string.IsNullOrEmpty(_propertyValue)) 60 | return $"does not have component {_componentName}"; 61 | if (_condition != null) 62 | return $"condition is not fulfilled. \nActual component is {_actualComponent ?? "null"}"; 63 | 64 | return $"does not have given component. \nActual component is {_actualComponent ?? "null"}"; 65 | } 66 | } 67 | 68 | public static partial class Have 69 | { 70 | public static Condition Component(string componentName) 71 | { 72 | return new Component(componentName); 73 | } 74 | 75 | public static Condition ComponentWithCondition(string componentName, Expression> condition) 76 | { 77 | return new Component(componentName, condition); 78 | } 79 | 80 | public static Condition ComponentWithPropertyAndValue(string componentName, string propertyName, string propertyValue) 81 | { 82 | return new Component(componentName, propertyName, propertyValue); 83 | } 84 | } 85 | } 86 | -------------------------------------------------------------------------------- /Puppeteer/Conditions/GameObject/Condition.cs: -------------------------------------------------------------------------------- 1 |  2 | namespace Puppetry.Puppeteer.Conditions.GameObject 3 | { 4 | public abstract class Condition 5 | { 6 | protected Puppeteer.GameObject CurentGameObject; 7 | 8 | public abstract bool Invoke(T gameObject) where T : Puppeteer.GameObject; 9 | 10 | protected abstract string DescribeExpected(); 11 | 12 | protected abstract string DescribeActual(); 13 | 14 | public override string ToString() 15 | { 16 | return $"\n{GetType().Name} for GameObject with {CurentGameObject.LocatorMessage} =>" + 17 | $" \nExpected: {DescribeExpected()} \nActual: {DescribeActual()}"; 18 | } 19 | } 20 | } -------------------------------------------------------------------------------- /Puppeteer/Conditions/GameObject/Have.cs: -------------------------------------------------------------------------------- 1 | namespace Puppetry.Puppeteer.Conditions.GameObject 2 | { 3 | public static partial class Have 4 | { 5 | } 6 | } -------------------------------------------------------------------------------- /Puppeteer/Conditions/GameObject/Present.cs: -------------------------------------------------------------------------------- 1 | namespace Puppetry.Puppeteer.Conditions.GameObject 2 | { 3 | internal class Present : Condition 4 | { 5 | public override bool Invoke(T gameObject) 6 | { 7 | CurentGameObject = gameObject; 8 | 9 | return gameObject.Exists; 10 | } 11 | 12 | protected override string DescribeExpected() 13 | { 14 | return $"Present {true}"; 15 | } 16 | 17 | protected override string DescribeActual() 18 | { 19 | return $"Present {false}"; 20 | } 21 | } 22 | 23 | public static partial class Be 24 | { 25 | public static Condition Present => new Present(); 26 | } 27 | } -------------------------------------------------------------------------------- /Puppeteer/Conditions/GameObject/Raycast.cs: -------------------------------------------------------------------------------- 1 | using Puppetry.Puppeteer.Constants; 2 | 3 | namespace Puppetry.Puppeteer.Conditions.GameObject 4 | { 5 | public class Raycast : Condition 6 | { 7 | private Raycasters _raycater; 8 | 9 | public Raycast(Raycasters raycaster) 10 | { 11 | _raycater = raycaster; 12 | } 13 | 14 | public override bool Invoke(T gameObject) 15 | { 16 | CurentGameObject = gameObject; 17 | return gameObject.IsHitByRaycast(_raycater); 18 | } 19 | 20 | protected override string DescribeExpected() 21 | { 22 | return "GameObject is hit by GraphicRaycast"; 23 | } 24 | 25 | protected override string DescribeActual() 26 | { 27 | return "GameObject is not hit by GraphicRaycast"; 28 | } 29 | } 30 | 31 | public static partial class Be 32 | { 33 | public static Condition HitByRaycast(Raycasters raycaster) 34 | { 35 | return new Raycast(raycaster); 36 | } 37 | } 38 | } -------------------------------------------------------------------------------- /Puppeteer/Conditions/GameObject/Rendering.cs: -------------------------------------------------------------------------------- 1 | namespace Puppetry.Puppeteer.Conditions.GameObject 2 | { 3 | internal class Rendering : Condition 4 | { 5 | public override bool Invoke(T gameObject) 6 | { 7 | CurentGameObject = gameObject; 8 | return gameObject.IsRendering; 9 | } 10 | 11 | protected override string DescribeExpected() 12 | { 13 | return $"Is Rendering {true}"; 14 | } 15 | 16 | protected override string DescribeActual() 17 | { 18 | return $"Is Rendering {false}"; 19 | } 20 | } 21 | 22 | public static partial class Be 23 | { 24 | public static Condition Rendered => new Rendering(); 25 | } 26 | } -------------------------------------------------------------------------------- /Puppeteer/Conditions/GameObject/Screen.cs: -------------------------------------------------------------------------------- 1 | namespace Puppetry.Puppeteer.Conditions.GameObject 2 | { 3 | public class Screen : Condition 4 | { 5 | public override bool Invoke(T gameObject) 6 | { 7 | CurentGameObject = gameObject; 8 | return gameObject.IsOnScreen; 9 | } 10 | 11 | protected override string DescribeExpected() 12 | { 13 | return "Is on the screen"; 14 | } 15 | 16 | protected override string DescribeActual() 17 | { 18 | return "Is not on the screen"; 19 | } 20 | } 21 | 22 | public static partial class Be 23 | { 24 | public static Condition OnScreen => new Screen(); 25 | } 26 | } -------------------------------------------------------------------------------- /Puppeteer/Conditions/GameObject/Sprite.cs: -------------------------------------------------------------------------------- 1 |  2 | namespace Puppetry.Puppeteer.Conditions.GameObject 3 | { 4 | public class Sprite : Condition 5 | { 6 | private string _expectedSpriteName; 7 | private string _actualSpriteName; 8 | 9 | public Sprite(string spriteName) 10 | { 11 | _expectedSpriteName = spriteName; 12 | } 13 | 14 | public override bool Invoke(T gameObject) 15 | { 16 | CurentGameObject = gameObject; 17 | _actualSpriteName = CurentGameObject.SpriteName; 18 | 19 | return _actualSpriteName == _expectedSpriteName; 20 | } 21 | 22 | protected override string DescribeExpected() 23 | { 24 | return $"Has sprite with name {_expectedSpriteName}"; 25 | } 26 | 27 | protected override string DescribeActual() 28 | { 29 | return $"Has sprite with name {_actualSpriteName}"; 30 | } 31 | } 32 | 33 | public static partial class Have 34 | { 35 | public static Condition SpriteName(string spriteName) 36 | { 37 | return new Sprite(spriteName); 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /Puppeteer/Configuration.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Puppetry.Puppeteer 4 | { 5 | public static class Configuration 6 | { 7 | static Configuration() 8 | { 9 | BaseUrl = "http://127.0.0.1"; 10 | Port = "7111"; 11 | TimeoutMs = 60000; 12 | StartPlayModeTimeoutMs = 240000; 13 | SessionTimeoutMs = 120000; 14 | //DriverType = DriverTypes.Unity; 15 | PollingStratagy = PollingStrategies.Constant; 16 | } 17 | 18 | internal static string BaseUrl { get; private set; } 19 | internal static string Port { get; private set; } 20 | internal static int TimeoutMs { get; private set; } 21 | internal static int SessionTimeoutMs { get; private set; } 22 | internal static int StartPlayModeTimeoutMs { get; private set; } 23 | //internal static DriverTypes DriverType { get; private set; } 24 | internal static PollingStrategies PollingStratagy { get; private set; } 25 | 26 | public static void Set(Settings setting, object value) 27 | { 28 | switch (setting) 29 | { 30 | case Settings.BaseUrl: 31 | BaseUrl = value.ToString(); 32 | break; 33 | case Settings.Port: 34 | Port = value.ToString(); 35 | break; 36 | case Settings.TimeoutMs: 37 | TimeoutMs = (int)value; 38 | break; 39 | case Settings.StartPlayModeTimeoutMs: 40 | StartPlayModeTimeoutMs = (int)value; 41 | break; 42 | case Settings.SessionTimeoutMs: 43 | SessionTimeoutMs = (int)value; 44 | break; 45 | /*case Settings.Driver: 46 | DriverType = (DriverTypes)Enum.Parse(typeof(DriverTypes), value.ToString()); 47 | break;*/ 48 | case Settings.PollingStrategy: 49 | PollingStratagy = (PollingStrategies)Enum.Parse(typeof(PollingStrategies), value.ToString()); 50 | break; 51 | } 52 | } 53 | } 54 | 55 | public enum Settings 56 | { 57 | BaseUrl, 58 | Port, 59 | TimeoutMs, 60 | SessionTimeoutMs, 61 | StartPlayModeTimeoutMs, 62 | //Driver, 63 | PollingStrategy 64 | } 65 | 66 | /*public enum DriverTypes 67 | { 68 | UnrealEngine, 69 | Unity 70 | }*/ 71 | 72 | public enum PollingStrategies 73 | { 74 | Constant, 75 | Progressive 76 | } 77 | } 78 | -------------------------------------------------------------------------------- /Puppeteer/Constants/Directions.cs: -------------------------------------------------------------------------------- 1 | namespace Puppetry.Puppeteer.Constants 2 | { 3 | public enum Directions 4 | { 5 | Up, 6 | Down, 7 | Left, 8 | Right 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Puppeteer/Constants/Raycasters.cs: -------------------------------------------------------------------------------- 1 |  2 | namespace Puppetry.Puppeteer.Constants 3 | { 4 | public enum Raycasters 5 | { 6 | GraphicRaycaster, 7 | PhysicsRaycaster, 8 | Physics2DRaycaster 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Puppeteer/Editor.cs: -------------------------------------------------------------------------------- 1 | using Puppetry.Puppeteer.Utils; 2 | 3 | namespace Puppetry.Puppeteer 4 | { 5 | public static class Editor 6 | { 7 | public static void StartPlayMode() 8 | { 9 | PuppetryDriver.Instance.StartPlayMode(); 10 | 11 | Wait.For( () => PuppetryDriver.Instance.IsPlayMode(), () => $"PlayMode was not started in {Configuration.StartPlayModeTimeoutMs / 1000} seconds", Configuration.TimeoutMs); 12 | } 13 | 14 | public static void StopPlayMode() 15 | { 16 | PuppetryDriver.Instance.StopPlayMode(); 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Puppeteer/Exceptions/MainThreadUnavailableException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Puppetry.Puppeteer.Exceptions 4 | { 5 | public class MainThreadUnavailableException : PuppetryException 6 | { 7 | public MainThreadUnavailableException() : base("Main Thread is unavailable or overloaded") 8 | { 9 | } 10 | 11 | public MainThreadUnavailableException(string message) : base(message) 12 | { 13 | } 14 | 15 | public MainThreadUnavailableException(string message, Exception inner) : base(message, inner) 16 | { 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Puppeteer/Exceptions/MethodIsNotSupportedException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Puppetry.Puppeteer.Exceptions 4 | { 5 | public class MethodIsNotSupportedException : PuppetryException 6 | { 7 | public MethodIsNotSupportedException() 8 | { 9 | } 10 | 11 | public MethodIsNotSupportedException(string message) 12 | : base(message) 13 | { 14 | } 15 | 16 | public MethodIsNotSupportedException(string message, Exception inner) 17 | : base(message, inner) 18 | { 19 | } 20 | } 21 | } -------------------------------------------------------------------------------- /Puppeteer/Exceptions/NoSuchComponentException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Puppetry.Puppeteer.Exceptions 4 | { 5 | public class NoSuchComponentException : PuppetryException 6 | { 7 | public NoSuchComponentException() 8 | { 9 | } 10 | 11 | public NoSuchComponentException(string message) 12 | : base(message) 13 | { 14 | } 15 | 16 | public NoSuchComponentException(string message, Exception inner) 17 | : base(message, inner) 18 | { 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Puppeteer/Exceptions/NoSuchGameObjectException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Puppetry.Puppeteer.Exceptions 4 | { 5 | public class NoSuchGameObjectException : PuppetryException 6 | { 7 | public NoSuchGameObjectException() 8 | { 9 | } 10 | 11 | public NoSuchGameObjectException(string message) 12 | : base(message) 13 | { 14 | } 15 | 16 | public NoSuchGameObjectException(string message, Exception inner) 17 | : base(message, inner) 18 | { 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Puppeteer/Exceptions/PuppetDriverException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Puppetry.Puppeteer.Exceptions 4 | { 5 | public class PuppetryException : Exception 6 | { 7 | public PuppetryException() 8 | { 9 | } 10 | 11 | public PuppetryException(string message) : base(message) 12 | { 13 | } 14 | 15 | public PuppetryException(string message, Exception inner) : base(message, inner) 16 | { 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Puppeteer/Exceptions/SessionCreationException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Puppetry.Puppeteer.Exceptions 4 | { 5 | public class SessionCreationException : PuppetryException 6 | { 7 | public SessionCreationException() 8 | { 9 | } 10 | 11 | public SessionCreationException(string message) : base(message) 12 | { 13 | } 14 | 15 | public SessionCreationException(string message, Exception inner) : base(message, inner) 16 | { 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Puppeteer/Exceptions/TimeoutException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Puppetry.Puppeteer.Exceptions 4 | { 5 | public class TimeoutException : PuppetryException 6 | { 7 | public TimeoutException() 8 | { 9 | } 10 | 11 | public TimeoutException(string message) : base(message) 12 | { 13 | } 14 | 15 | public TimeoutException(string message, Exception inner) : base(message, inner) 16 | { 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Puppeteer/Exceptions/UnexpectedResponseException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Puppetry.Puppeteer.Exceptions 4 | { 5 | public class UnexpectedResponseException : PuppetryException 6 | { 7 | public UnexpectedResponseException() 8 | { 9 | } 10 | 11 | public UnexpectedResponseException(string message) : base(message) 12 | { 13 | } 14 | 15 | public UnexpectedResponseException(string message, Exception inner) : base(message, inner) 16 | { 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Puppeteer/Puppeteer.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | netstandard2.0 4 | Puppetry.Puppeteer 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Puppeteer/Puppeteer.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 1.0 5 | YRudiev 6 | TestUnitLab 7 | Puppetry.Puppeteer 8 | Puppetry.Puppeteer 9 | false 10 | Client of Puppetry Framework 11 | Copyright TestUnitLab 2019 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /Puppeteer/PuppetryDriver.cs: -------------------------------------------------------------------------------- 1 | using Puppetry.Puppeteer.Driver; 2 | using System.Threading; 3 | 4 | namespace Puppetry.Puppeteer 5 | { 6 | public static class PuppetryDriver 7 | { 8 | private static ThreadLocal _handler = new ThreadLocal(); 9 | 10 | public static void ReleaseCurrentSession() 11 | { 12 | Instance.ReleaseSession(); 13 | Clear(); 14 | } 15 | 16 | public static void ReleaseAllSessions() 17 | { 18 | PuppetDriverClient.ReleaseAllSessions(); 19 | Clear(); 20 | } 21 | 22 | internal static PuppetDriverClient Instance 23 | { 24 | get 25 | { 26 | if (_handler.Value == null) 27 | { 28 | _handler.Value = new PuppetDriverClient(); 29 | } 30 | 31 | return _handler.Value; 32 | } 33 | } 34 | 35 | internal static void Clear() 36 | { 37 | _handler.Value = null; 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /Puppeteer/ScreenCoordinates.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Puppetry.Puppeteer 4 | { 5 | [Serializable] 6 | public class ScreenCoordinates 7 | { 8 | public float X { get; } 9 | public float Y { get; } 10 | 11 | public ScreenCoordinates(float x, float y) 12 | { 13 | X = x; 14 | Y = y; 15 | } 16 | } 17 | } -------------------------------------------------------------------------------- /Puppeteer/Utils/Wait.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Diagnostics; 3 | using System.Threading; 4 | 5 | namespace Puppetry.Puppeteer.Utils 6 | { 7 | internal static class Wait 8 | { 9 | public static void For(Func condition, string errorMessage, int waitTimeout) 10 | { 11 | if (!TryToWaitFor(condition, waitTimeout, out var exception)) 12 | { 13 | throw new Exceptions.TimeoutException(errorMessage + (exception != null ? $"\nWith reason: {exception.Message}" : string.Empty)); 14 | } 15 | } 16 | 17 | public static void For(Func condition, Func errorMessage, int waitTimeout) 18 | { 19 | if (!TryToWaitFor(condition, waitTimeout, out var exception)) 20 | { 21 | throw new Exceptions.TimeoutException(errorMessage.Invoke() + (exception != null ? $"\nWith reason: {exception.Message}" : string.Empty)); 22 | } 23 | } 24 | 25 | private static bool TryToWaitFor(Func condition, int waitTimeout, out Exception currentException) 26 | { 27 | currentException = null; 28 | var isSuccess = false; 29 | var alreadyWaited = 0; 30 | var timeToWait = Configuration.PollingStratagy == PollingStrategies.Progressive ? 0 : 500; 31 | var stopwatch = new Stopwatch(); 32 | 33 | while (true) 34 | { 35 | stopwatch.Reset(); 36 | stopwatch.Start(); 37 | bool result; 38 | try 39 | { 40 | result = condition.Invoke(); 41 | } 42 | catch (Exception e) 43 | { 44 | currentException = e; 45 | result = false; 46 | } 47 | 48 | if (result) 49 | { 50 | isSuccess = true; 51 | break; 52 | } 53 | 54 | stopwatch.Stop(); 55 | 56 | alreadyWaited += stopwatch.Elapsed.Milliseconds; 57 | 58 | if (alreadyWaited >= waitTimeout) 59 | break; 60 | 61 | if (Configuration.PollingStratagy == PollingStrategies.Progressive) 62 | { 63 | if (timeToWait == 0) timeToWait += 100; 64 | else timeToWait *= 2; 65 | } 66 | 67 | Thread.Sleep(timeToWait); 68 | 69 | alreadyWaited += timeToWait; 70 | } 71 | 72 | return isSuccess; 73 | } 74 | } 75 | } -------------------------------------------------------------------------------- /Puppetry.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Version 16 4 | VisualStudioVersion = 16.0.28803.352 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Contracts", "Contracts\Contracts.csproj", "{A686C880-EEAB-49EE-BD07-706E29D200AE}" 7 | EndProject 8 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Puppeteer", "Puppeteer\Puppeteer.csproj", "{9E8D5460-B198-4004-8C7F-2023F383DA7A}" 9 | EndProject 10 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PuppetryDriver", "PuppetryDriver\PuppetryDriver.csproj", "{FF6FE3B8-1E4D-44F1-87D1-6FB93912DA4E}" 11 | EndProject 12 | Global 13 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 14 | Debug|Any CPU = Debug|Any CPU 15 | Release|Any CPU = Release|Any CPU 16 | EndGlobalSection 17 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 18 | {A686C880-EEAB-49EE-BD07-706E29D200AE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 19 | {A686C880-EEAB-49EE-BD07-706E29D200AE}.Debug|Any CPU.Build.0 = Debug|Any CPU 20 | {A686C880-EEAB-49EE-BD07-706E29D200AE}.Release|Any CPU.ActiveCfg = Release|Any CPU 21 | {A686C880-EEAB-49EE-BD07-706E29D200AE}.Release|Any CPU.Build.0 = Release|Any CPU 22 | {9E8D5460-B198-4004-8C7F-2023F383DA7A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 23 | {9E8D5460-B198-4004-8C7F-2023F383DA7A}.Debug|Any CPU.Build.0 = Debug|Any CPU 24 | {9E8D5460-B198-4004-8C7F-2023F383DA7A}.Release|Any CPU.ActiveCfg = Release|Any CPU 25 | {9E8D5460-B198-4004-8C7F-2023F383DA7A}.Release|Any CPU.Build.0 = Release|Any CPU 26 | {FF6FE3B8-1E4D-44F1-87D1-6FB93912DA4E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 27 | {FF6FE3B8-1E4D-44F1-87D1-6FB93912DA4E}.Debug|Any CPU.Build.0 = Debug|Any CPU 28 | {FF6FE3B8-1E4D-44F1-87D1-6FB93912DA4E}.Release|Any CPU.ActiveCfg = Release|Any CPU 29 | {FF6FE3B8-1E4D-44F1-87D1-6FB93912DA4E}.Release|Any CPU.Build.0 = Release|Any CPU 30 | EndGlobalSection 31 | GlobalSection(SolutionProperties) = preSolution 32 | HideSolutionNode = FALSE 33 | EndGlobalSection 34 | GlobalSection(ExtensibilityGlobals) = postSolution 35 | SolutionGuid = {60C548CE-C8C5-4D50-BE5A-FE038B11F7FF} 36 | EndGlobalSection 37 | EndGlobal 38 | -------------------------------------------------------------------------------- /PuppetryDriver/Configuration.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace Puppetry.PuppetryDriver 5 | { 6 | internal static class Configuration 7 | { 8 | internal static Dictionary ProcessComandLineArguments(string[] args) 9 | { 10 | var result = new Dictionary(); 11 | 12 | for (var i = 0; i < args.Length; i = i + 2) 13 | { 14 | if (args[i].Length > 2 && args[i].StartsWith("--")) 15 | { 16 | if (args.Length >= i + 2) 17 | result.Add(args[i].Substring(2, args[i].Length - 2), args[i + 1]); 18 | else 19 | Console.WriteLine($"Parameter for {args[i].Substring(1, args[i].Length - 1)} was not provided"); 20 | } 21 | else 22 | { 23 | Console.WriteLine($"Illegal Parameter: {args[i].Substring(1, args[i].Length - 1)} was sent"); 24 | } 25 | } 26 | 27 | return result; 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /PuppetryDriver/Program.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Threading.Tasks; 3 | 4 | using Microsoft.AspNetCore; 5 | using Microsoft.AspNetCore.Hosting; 6 | 7 | using Puppetry.PuppetryDriver.TcpSocket; 8 | 9 | namespace Puppetry.PuppetryDriver 10 | { 11 | class Program 12 | { 13 | static void Main(string[] args) 14 | { 15 | var settings = Configuration.ProcessComandLineArguments(args); 16 | 17 | PuppetListener.Init(settings); 18 | 19 | Parallel.Invoke(() => BuildWebHost(settings).Run(), PuppetListener.StartListen); 20 | } 21 | 22 | private static IWebHost BuildWebHost(Dictionary settings) 23 | { 24 | const string PortParameter = "puppeteerport"; 25 | const string BaseUrlParameter = "puppeteerurl"; 26 | 27 | string baseUrl = "http://127.0.0.1"; 28 | string port = "7111"; 29 | 30 | if (settings.Count > 0) 31 | { 32 | if (settings.ContainsKey(PortParameter)) 33 | port = settings[PortParameter]; 34 | if (settings.ContainsKey(BaseUrlParameter)) 35 | baseUrl = settings[BaseUrlParameter]; 36 | } 37 | 38 | return WebHost.CreateDefaultBuilder() 39 | .UseStartup() 40 | .UseUrls($"{baseUrl}:{port}/") 41 | .Build(); 42 | } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /PuppetryDriver/Puppet/IPuppetHandler.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Net.Sockets; 3 | 4 | namespace Puppetry.PuppetryDriver.Puppet 5 | { 6 | interface IPuppetHandler 7 | { 8 | string Session { get;} 9 | 10 | bool Available { get; set; } 11 | 12 | DateTime LastPing { get; set; } 13 | 14 | Socket Socket { get; set; } 15 | 16 | PuppetResponse IsPlayMode(); 17 | 18 | PuppetResponse Click(string upath); 19 | 20 | PuppetResponse SendKeys(string value, string upath); 21 | 22 | PuppetResponse Exists(string upath); 23 | 24 | PuppetResponse Active(string upath); 25 | 26 | PuppetResponse Swipe(string upath, string direction); 27 | 28 | PuppetResponse DragTo(string upath, string toCoordinates); 29 | 30 | PuppetResponse Rendering(string upath); 31 | 32 | PuppetResponse OnScreen(string upath); 33 | 34 | PuppetResponse IsRaycasted(string upath, string raycaster); 35 | 36 | PuppetResponse Count(string upath); 37 | 38 | PuppetResponse GetComponent(string upath, string component); 39 | 40 | PuppetResponse GetCoordinates(string upath); 41 | 42 | PuppetResponse StartPlayMode(); 43 | 44 | PuppetResponse StopPlayMode(); 45 | 46 | PuppetResponse MakeScreenshot(string fullPath); 47 | 48 | PuppetResponse DeletePlayerPref(string key); 49 | 50 | PuppetResponse DeleteAllPlayerPrefs(); 51 | 52 | PuppetResponse GetFloatPlayerPref(string key); 53 | 54 | PuppetResponse GetIntPlayerPref(string key); 55 | 56 | PuppetResponse GetStringPlayerPref(string key); 57 | 58 | PuppetResponse SetFloatPlayerPref(string key, string value); 59 | 60 | PuppetResponse SetIntPlayerPref(string key, string value); 61 | 62 | PuppetResponse SetStringPlayerPref(string key, string value); 63 | 64 | PuppetResponse PlayerPrefHasKey(string key); 65 | 66 | PuppetResponse GetSceneName(); 67 | 68 | PuppetResponse OpenScene(string key); 69 | 70 | PuppetResponse GameCustom(string key, string value); 71 | 72 | PuppetResponse GameObjectCustom(string upath, string key, string value); 73 | 74 | PuppetResponse GetSpriteName(string upath); 75 | 76 | PuppetResponse SetTimeScale(string value); 77 | 78 | PuppetResponse GetGameObjectInfo(string upath); 79 | } 80 | } 81 | -------------------------------------------------------------------------------- /PuppetryDriver/Puppet/PuppetResponse.cs: -------------------------------------------------------------------------------- 1 |  2 | namespace Puppetry.PuppetryDriver.Puppet 3 | { 4 | internal class PuppetResponse 5 | { 6 | internal bool IsSuccess; 7 | internal string Result; 8 | internal string ErrorMessage; 9 | internal int StatusCode; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /PuppetryDriver/PuppetryDriver.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | Exe 4 | netcoreapp2.0 5 | Puppetry.PuppetryDriver 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /PuppetryDriver/Startup.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Builder; 2 | using Microsoft.AspNetCore.Hosting; 3 | using Microsoft.Extensions.DependencyInjection; 4 | using Puppetry.PuppetryDriver.Controllers; 5 | 6 | namespace Puppetry.PuppetryDriver 7 | { 8 | public class Startup 9 | { 10 | public void ConfigureServices(IServiceCollection services) 11 | { 12 | } 13 | 14 | // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. 15 | public void Configure(IApplicationBuilder app, IHostingEnvironment env) 16 | { 17 | if (env.IsDevelopment()) 18 | { 19 | app.UseDeveloperExceptionPage(); 20 | } 21 | 22 | app.Run(async (context) => 23 | { 24 | var clientController = new PuppeteerController(); 25 | await clientController.ProcessRequest(context); 26 | }); 27 | } 28 | } 29 | } -------------------------------------------------------------------------------- /PuppetryDriver/TcpSocket/SocketHelper.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Net.Sockets; 4 | using System.Text; 5 | using Newtonsoft.Json; 6 | using Puppetry.Contracts; 7 | using static Puppetry.Contracts.Constants; 8 | 9 | namespace Puppetry.PuppetryDriver.TcpSocket 10 | { 11 | internal static class SocketHelper 12 | { 13 | internal static bool IsSocketConnected(Socket socket) 14 | { 15 | if (socket == null) return false; 16 | try 17 | { 18 | lock (socket) 19 | { 20 | bool part1 = socket.Poll(1000, SelectMode.SelectRead); 21 | bool part2 = (socket.Available == 0); 22 | 23 | if (part1 && part2) 24 | return false; 25 | else 26 | return true; 27 | } 28 | } 29 | catch (Exception) 30 | { 31 | return false; 32 | } 33 | } 34 | 35 | internal static Dictionary SendMessage(Socket socket, Dictionary request) 36 | { 37 | try 38 | { 39 | lock (socket) 40 | { 41 | var response = new Dictionary(); 42 | socket.Send( 43 | Encoding.ASCII.GetBytes( 44 | JsonConvert.SerializeObject(request, Formatting.Indented) + EndOfMessage)); 45 | if (socket.Poll(-1, SelectMode.SelectRead)) 46 | { 47 | response = JsonConvert.DeserializeObject>(ReadMessage(socket)); 48 | } 49 | 50 | return response.Count > 0 ? response : null; 51 | } 52 | } 53 | catch (Exception e) 54 | { 55 | Console.WriteLine(e); 56 | } 57 | return null; 58 | } 59 | 60 | private static string ReadMessage(Socket socket) 61 | { 62 | byte[] bytes = new Byte[1024]; 63 | string data = null; 64 | 65 | lock (socket) 66 | { 67 | while (true) 68 | { 69 | int bytesRec = socket.Receive(bytes); 70 | data += Encoding.ASCII.GetString(bytes, 0, bytesRec); 71 | if (data.IndexOf(EndOfMessage) > -1) 72 | { 73 | break; 74 | } 75 | } 76 | } 77 | 78 | if(!(data.Contains(Methods.Ping) && data.Contains(Methods.Pong))) 79 | Console.WriteLine(data); 80 | 81 | return data.Replace(EndOfMessage, string.Empty); 82 | } 83 | } 84 | } 85 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Puppetry 2 | It is a framework for automated testing of Games written in Unity3d game engine 3 | 4 | Link to wiki with the documentation. 5 | https://github.com/GameUnitLab/Puppetry/wiki 6 | 7 | 8 | ## Puppeteer 9 | Client lib of the framework 10 | Install nuget package of Puppetry.Puppeteer (it is shared nuget pages that located on nuget.org) to your test solution or add reference to Puppeteer.dll (that can be builded by yourself). 11 | 12 | ## PuppetDriver 13 | Proxy server that joins Puppeteer and UnityPlugin/Puppet 14 | Run up published src of PuppetDriver by dotnet. Example: dotnet //pathToPublishedSolution/PuppetDriver.dll or build it by yourself and run it 15 | 16 | ## UnityPlugin/Puppet 17 | Plugin for Unity to communicate with PuppetDriver and emulate interaction with a Game 18 | Copy Puppet folder from UnityPlugin and add it to Game's code base inside Asset folder. Note: Game should be launched after PuppetDriver is started as Puppet is connecting to PuppetDriver 19 | 20 | Additional: you can use UnityPlugin/Puppet in Editor and Native Game. To use Puppet in Game, you should add GameObject with component "InGameApiClientLoader" to your scene. InGameApiClientLoader will set up communication between the Game and PuppetDriver 21 | 22 | ## System requirements 23 | .Net Core SDK 2.0 or above 24 | 25 | ## Slack channel 26 | puppetry-help.slack.com 27 | -------------------------------------------------------------------------------- /UnityPlugins/Puppet/Contracts/DriverRequest.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Puppetry.Puppet.Contracts 4 | { 5 | [Serializable] 6 | public class DriverRequest 7 | { 8 | public string session; 9 | public string method; 10 | public string upath; 11 | public string key; 12 | public string value; 13 | 14 | public override string ToString() 15 | { 16 | return string.Format("session: {0}, method: {1}, upath: {2}, key: {3}, value: {4}", session, method, upath, key, value); 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /UnityPlugins/Puppet/Contracts/DriverResponse.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Puppetry.Puppet.Contracts 4 | { 5 | [Serializable] 6 | public class DriverResponse 7 | { 8 | public string session; 9 | public string method; 10 | public string result; 11 | public string errormessage; 12 | public int statuscode; 13 | 14 | public void Clear() 15 | { 16 | session = null; 17 | method = null; 18 | result = null; 19 | errormessage = null; 20 | statuscode = 0; 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /UnityPlugins/Puppet/Contracts/ErrorMessages.cs: -------------------------------------------------------------------------------- 1 |  2 | namespace Puppetry.Puppet.Contracts 3 | { 4 | public static class ErrorMessages 5 | { 6 | public const string SuccessResult = "success"; 7 | public const string MainThreadIsUnavailable = "Main Thread is unavailable or overloaded"; 8 | public const string GameObjectWasNotFound = "GameObject was not found"; 9 | public const string MethodIsNotSupported = "Method is not supported"; 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /UnityPlugins/Puppet/Contracts/ScreenCoordinates.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Puppetry.Puppet.Contracts 4 | { 5 | [Serializable] 6 | public class ScreenCoordinates 7 | { 8 | public float X; 9 | public float Y; 10 | } 11 | } -------------------------------------------------------------------------------- /UnityPlugins/Puppet/Contracts/SessionInfo.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Puppetry.Puppet.Contracts 4 | { 5 | [Serializable] 6 | class SessionInfo 7 | { 8 | public string Session; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /UnityPlugins/Puppet/Custom/CustomDriverHandler.cs: -------------------------------------------------------------------------------- 1 | namespace Puppetry.Puppet 2 | { 3 | public static class CustomDriverHandler 4 | { 5 | public static string ProcessGameCustomMethod(string key, string value) 6 | { 7 | string result; 8 | switch (key) 9 | { 10 | default: 11 | result = "There are no handler for method: " + key; 12 | break; 13 | } 14 | 15 | return result; 16 | } 17 | 18 | public static string ProcessGameObjectCustomMethod(string upath, string key, string value) 19 | { 20 | string result; 21 | switch (key) 22 | { 23 | default: 24 | result = "There are no handler for method: " + key; 25 | break; 26 | } 27 | 28 | return result; 29 | } 30 | } 31 | } -------------------------------------------------------------------------------- /UnityPlugins/Puppet/DriverApiClient.cs: -------------------------------------------------------------------------------- 1 | using Puppetry.Puppet.Contracts; 2 | using System; 3 | using System.Net; 4 | using System.Net.Sockets; 5 | using System.Text; 6 | using System.Threading; 7 | 8 | using UnityEngine; 9 | 10 | namespace Puppetry.Puppet 11 | { 12 | public class DriverApiClient : IDisposable 13 | { 14 | public DriverApiClient() 15 | { 16 | Port = 6111; 17 | IpAddress = "127.0.0.1"; 18 | } 19 | 20 | private const string EndOfMessage = ""; 21 | 22 | private Thread _thread; 23 | private TcpClient _client; 24 | 25 | private static DriverApiClient _instance; 26 | 27 | public int Port { get; set; } 28 | public string IpAddress { get; set; } 29 | 30 | public static DriverApiClient Instance 31 | { 32 | get 33 | { 34 | return _instance ?? (_instance = new DriverApiClient()); 35 | } 36 | } 37 | 38 | public void StartClient() 39 | { 40 | _thread = new Thread(ProcessWork); 41 | _thread.IsBackground = true; 42 | _thread.Start(); 43 | } 44 | 45 | public void ProcessWork() 46 | { 47 | var response = new DriverResponse(); 48 | 49 | // Connect to a remote device. 50 | try 51 | { 52 | _client = new TcpClient(); 53 | _client.Client.Connect(IPAddress.Parse(IpAddress), Port); 54 | } 55 | catch (Exception) 56 | { 57 | Debug.Log("Puppetry.Puppet is disabled"); 58 | return; 59 | } 60 | 61 | try 62 | { 63 | while (_client.Connected) 64 | { 65 | try 66 | { 67 | if (_client.Available > 0) 68 | { 69 | var message = ReadData(_client).Replace(EndOfMessage, string.Empty); 70 | var request = JsonUtility.FromJson(message); 71 | response = DriverHandler.HandleDriverRequest(request); 72 | _client.Client.Send(Encoding.ASCII.GetBytes(JsonUtility.ToJson(response) + EndOfMessage)); 73 | response.Clear(); 74 | } 75 | else 76 | { 77 | Thread.Sleep(500); 78 | } 79 | } 80 | catch (Exception e) 81 | { 82 | Debug.Log(e); 83 | } 84 | } 85 | 86 | Debug.Log("ApiClient was disconnected"); 87 | 88 | } 89 | catch (Exception e) 90 | { 91 | Debug.Log(e.ToString()); 92 | } 93 | } 94 | 95 | private static string ReadData(TcpClient client) 96 | { 97 | NetworkStream stream = client.GetStream(); 98 | 99 | byte[] myReadBuffer = new byte[1024]; 100 | var myCompleteMessage = new StringBuilder(); 101 | 102 | do 103 | { 104 | var numberOfBytesRead = stream.Read(myReadBuffer, 0, myReadBuffer.Length); 105 | 106 | myCompleteMessage.AppendFormat("{0}", Encoding.ASCII.GetString(myReadBuffer, 0, numberOfBytesRead)); 107 | } 108 | while (stream.DataAvailable); 109 | 110 | var retVal = myCompleteMessage.ToString(); 111 | 112 | return retVal; 113 | } 114 | 115 | public void Dispose() 116 | { 117 | if (_client != null) ((IDisposable)_client).Dispose(); 118 | } 119 | } 120 | } 121 | 122 | -------------------------------------------------------------------------------- /UnityPlugins/Puppet/EditorApiClientLoader.cs: -------------------------------------------------------------------------------- 1 | #if UNITY_EDITOR 2 | 3 | using UnityEngine; 4 | using UnityEditor; 5 | 6 | namespace Puppetry.Puppet 7 | { 8 | [InitializeOnLoad] 9 | public class DriverApiClientLoader 10 | { 11 | static DriverApiClientLoader() 12 | { 13 | if (EditorApplication.isCompiling || EditorApplication.isUpdating) return; 14 | 15 | Debug.Log("DriverApiClient is starting..."); 16 | 17 | EditorApplication.playModeStateChanged += InstantiatePuppetProcessor; 18 | 19 | EditorApplication.update += StartDriverApiClient; 20 | } 21 | 22 | static void StartDriverApiClient() 23 | { 24 | EditorApplication.update -= StartDriverApiClient; 25 | 26 | DriverApiClient.Instance.StartClient(); 27 | } 28 | 29 | static void InstantiatePuppetProcessor(PlayModeStateChange state) 30 | { 31 | if (state == PlayModeStateChange.EnteredPlayMode) 32 | { 33 | var puppetProcessor = new GameObject("PuppetProcessor").AddComponent(); 34 | Object.DontDestroyOnLoad(puppetProcessor); 35 | } 36 | } 37 | } 38 | } 39 | #endif 40 | -------------------------------------------------------------------------------- /UnityPlugins/Puppet/InGameApiClientLoader.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace Puppetry.Puppet 4 | { 5 | public class InGameApiClientLoader : MonoBehaviour 6 | { 7 | public void Init(int port) 8 | { 9 | DriverApiClient.Instance.Port = port; 10 | Init(); 11 | } 12 | 13 | public void Init(string ipAddress, int port) 14 | { 15 | DriverApiClient.Instance.IpAddress = ipAddress; 16 | DriverApiClient.Instance.Port = port; 17 | Init(); 18 | } 19 | 20 | public void Init(string ipAddress) 21 | { 22 | DriverApiClient.Instance.IpAddress = ipAddress; 23 | Init(); 24 | } 25 | 26 | public void Init() 27 | { 28 | Debug.Log("DriverApiClient is starting..."); 29 | DriverApiClient.Instance.StartClient(); 30 | var puppetProcessor = new GameObject("PuppetProcessor").AddComponent(); 31 | DontDestroyOnLoad(puppetProcessor); 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /UnityPlugins/Puppet/MainThreadQueue.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System.Collections.Generic; 3 | using System; 4 | 5 | namespace Puppetry.Puppet 6 | { 7 | public class MainThreadQueue : MonoBehaviour 8 | { 9 | private readonly List requestedActions = new List(); 10 | private readonly List currentActions = new List(); 11 | private static MainThreadQueue _instance; 12 | 13 | private static MainThreadQueue Instance 14 | { 15 | get { return _instance; } 16 | } 17 | 18 | void Awake() 19 | { 20 | _instance = this; 21 | } 22 | 23 | public static void QueueOnMainThread(Action action) 24 | { 25 | if (Instance != null) 26 | { 27 | lock (Instance.requestedActions) 28 | { 29 | Instance.requestedActions.Add(action); 30 | } 31 | } 32 | } 33 | 34 | void Update() 35 | { 36 | lock (requestedActions) 37 | { 38 | currentActions.Clear(); 39 | currentActions.AddRange(requestedActions); 40 | requestedActions.Clear(); 41 | } 42 | 43 | foreach (var action in currentActions) 44 | { 45 | action.Invoke(); 46 | } 47 | } 48 | } 49 | } -------------------------------------------------------------------------------- /UnityPlugins/Puppet/ScreenHelper.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using UnityEngine; 3 | using UnityEngine.EventSystems; 4 | 5 | namespace Puppetry.Puppet 6 | { 7 | public static class ScreenHelper 8 | { 9 | public static bool IsOnScreen(GameObject gameObject) 10 | { 11 | var result = false; 12 | 13 | //Check if any camera can see the object)) 14 | foreach (var camera in Camera.allCameras) 15 | { 16 | var position = GetPositionOnScreen(gameObject, camera); 17 | 18 | result = (position.x > 0 && position.y > 0 && position.x < Screen.width && position.y < Screen.height && position.z >= 0); 19 | 20 | if (result) 21 | break; 22 | } 23 | 24 | return result; 25 | } 26 | 27 | public static Vector3 GetPositionOnScreen(GameObject gameObject, Camera camera) 28 | { 29 | var canvasParent = gameObject.GetComponentInParent(); 30 | if (canvasParent != null) 31 | { 32 | var rectTransform = gameObject.GetComponent(); 33 | 34 | if (canvasParent.renderMode != RenderMode.ScreenSpaceOverlay) 35 | { 36 | if (rectTransform != null) 37 | { 38 | var vector3S = new Vector3[4]; 39 | rectTransform.GetWorldCorners(vector3S); 40 | var center = new Vector3((vector3S[0].x + vector3S[2].x) / 2, 41 | (vector3S[0].y + vector3S[2].y) / 2, (vector3S[0].z + vector3S[2].z) / 2); 42 | return canvasParent.worldCamera.WorldToScreenPoint(center); 43 | } 44 | } 45 | 46 | if (rectTransform != null) 47 | { 48 | return rectTransform.position; 49 | } 50 | 51 | return camera.WorldToScreenPoint(gameObject.transform.position); 52 | } 53 | 54 | var collider = gameObject.GetComponent(); 55 | if (collider != null) 56 | { 57 | return camera.WorldToScreenPoint(collider.bounds.center); 58 | } 59 | 60 | return camera.WorldToScreenPoint(gameObject.transform.position); 61 | } 62 | 63 | public static bool IsRaycasted(GameObject gameObject) where T : BaseRaycaster 64 | { 65 | var result = false; 66 | var position = GetPositionOnScreen(gameObject, Camera.main); 67 | 68 | if (IsOnScreen(gameObject)) 69 | { 70 | var raycaster = gameObject.GetComponentInParent(); 71 | var ped = new PointerEventData(null); 72 | ped.position = position; 73 | var hits = new List(); 74 | raycaster.Raycast(ped, hits); 75 | 76 | if (hits.Count > 0 && hits[0].gameObject.name == gameObject.name) 77 | { 78 | result = true; 79 | } 80 | } 81 | 82 | return result; 83 | } 84 | } 85 | } -------------------------------------------------------------------------------- /UnityPlugins/Puppet/Utils/Logger.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | 4 | namespace Puppetry.Puppet.Utils 5 | { 6 | public class Logger 7 | { 8 | public static void Log(string msg) 9 | { 10 | Debug.Log(DateTime.UtcNow.ToString("HH:mm:ss.fff") + " [Puppetry.Puppet] " + msg); 11 | } 12 | 13 | public static void Log(Exception e) 14 | { 15 | Debug.Log(DateTime.UtcNow.ToString("HH:mm:ss.fff") + " [Puppetry.Puppet] " + e); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /UnityPlugins/PuppetGUI/UPathValidatorWindow.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEditor; 3 | using UnityEngine; 4 | 5 | namespace Puppetry.Puppet.PuppetGUI 6 | { 7 | public class UPathValidatorWindow : EditorWindow 8 | { 9 | string _upath = String.Empty; 10 | GameObject _foundGameObject = null; 11 | 12 | [MenuItem("Puppetry/UPath Validator")] 13 | public static void ShowWindow() 14 | { 15 | var w = GetWindow(); 16 | w.titleContent = new GUIContent("UPath Validator"); 17 | } 18 | 19 | void OnGUI() 20 | { 21 | GUILayout.Label ("Upath Validator Window", EditorStyles.boldLabel); 22 | _upath = EditorGUILayout.TextField ("UPath", _upath); 23 | EditorGUILayout.BeginHorizontal(); 24 | if (GUILayout.Button("Find Game Object")) 25 | { 26 | if (string.IsNullOrEmpty(_upath)) 27 | ShowNotification(new GUIContent("Upath can't be null or empty")); 28 | else 29 | { 30 | try 31 | { 32 | _foundGameObject = FindGameObjectHelper.FindGameObjectByUPath(_upath); 33 | } 34 | catch (Exception) 35 | { 36 | ShowNotification(new GUIContent("UPath expression is invalid")); 37 | throw; 38 | } 39 | 40 | if (_foundGameObject == null) 41 | ShowNotification(new GUIContent("There is no GameObject by this upath")); 42 | else 43 | Selection.activeGameObject = _foundGameObject; 44 | } 45 | } 46 | if (GUILayout.Button("Count")) 47 | { 48 | if (string.IsNullOrEmpty(_upath)) 49 | ShowNotification(new GUIContent("Upath can't be null or empty")); 50 | else 51 | { 52 | try 53 | { 54 | ShowNotification(new GUIContent("There are " + FindGameObjectHelper.FindGameObjectsByUPath(_upath).Count + " GameObjects with this upath")); 55 | } 56 | catch (Exception) 57 | { 58 | ShowNotification(new GUIContent("UPath expression is invalid")); 59 | throw; 60 | } 61 | } 62 | } 63 | EditorGUILayout.EndHorizontal(); 64 | } 65 | } 66 | } --------------------------------------------------------------------------------