diff --git a/.gitignore b/.gitignore index ffc233ab..7aefb30d 100644 --- a/.gitignore +++ b/.gitignore @@ -32,11 +32,7 @@ bld/ .vs/ # Uncomment if you have tasks that create the project's static files in wwwroot #wwwroot/ - -# MSTest test Results -[Tt]est[Rr]esult*/ -[Bb]uild[Ll]og.* - + # NUNIT *.VisualState.xml TestResult.xml @@ -72,10 +68,7 @@ artifacts/ *.pidb *.svclog *.scc - -# Chutzpah Test files -_Chutzpah* - + # Visual C++ cache files ipch/ *.aps @@ -92,63 +85,7 @@ ipch/ *.vsp *.vspx *.sap - -# TFS 2012 Local Workspace -$tf/ - -# Guidance Automation Toolkit -*.gpState - -# ReSharper is a .NET coding add-in -_ReSharper*/ -*.[Rr]e[Ss]harper -*.DotSettings.user - -# JustCode is a .NET coding add-in -.JustCode - -# TeamCity is a build add-in -_TeamCity* - -# DotCover is a Code Coverage Tool -*.dotCover - -# NCrunch -_NCrunch_* -.*crunch*.local.xml -nCrunchTemp_* - -# MightyMoose -*.mm.* -AutoTest.Net/ - -# Web workbench (sass) -.sass-cache/ - -# Installshield output folder -[Ee]xpress/ - -# DocProject is a documentation generator add-in -DocProject/buildhelp/ -DocProject/Help/*.HxT -DocProject/Help/*.HxC -DocProject/Help/*.hhc -DocProject/Help/*.hhk -DocProject/Help/*.hhp -DocProject/Help/Html2 -DocProject/Help/html - -# Click-Once directory -publish/ - -# Publish Web Output -*.[Pp]ublish.xml -*.azurePubxml -# TODO: Comment the next line if you want to checkin your web deploy settings -# but database connection strings (with potential passwords) will be unencrypted -*.pubxml -*.publishproj - + # Microsoft Azure Web App publish settings. Comment the next line if you want to # checkin your Azure Web App publish settings, but sensitive information contained # in these scripts will be unencrypted @@ -196,14 +133,7 @@ ClientBin/ *.publishsettings node_modules/ orleans.codegen.cs - -# Since there are multiple workflows, uncomment next line to ignore bower_components -# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) -#bower_components/ - -# RIA/Silverlight projects -Generated_Code/ - + # Backup & report files from converting an old project file # to a newer Visual Studio version. Backup files are not needed, # because we have git ;-) @@ -215,12 +145,7 @@ UpgradeLog*.htm # SQL Server files *.mdf *.ldf - -# Business Intelligence projects -*.rdl.data -*.bim.layout -*.bim_*.settings - + # Microsoft Fakes FakesAssemblies/ @@ -235,15 +160,7 @@ FakesAssemblies/ # Visual Studio 6 workspace options file *.opt - -# Visual Studio LightSwitch build output -**/*.HTMLClient/GeneratedArtifacts -**/*.DesktopClient/GeneratedArtifacts -**/*.DesktopClient/ModelManifest.xml -**/*.Server/GeneratedArtifacts -**/*.Server/ModelManifest.xml -_Pvt_Extensions - + # Paket dependency manager .paket/paket.exe paket-files/ @@ -263,12 +180,11 @@ paket-files/ # Unity3D generated meta files *.pidb.meta +# Script meta files +*.cs.meta # Unity3D Generated File On Crash Reports sysinfo.txt *.blend1 -*.csproj -*.sln [Ll]ibrary/ -[Ll]ibraries/ -Assets/Art/Prefabs/Combat UI/HP.prefab.meta +[Ll]ibraries/ \ No newline at end of file diff --git a/Cancelations/CancelationRegistration.cs.meta b/Cancelations/CancelationRegistration.cs.meta deleted file mode 100644 index df346b5d..00000000 --- a/Cancelations/CancelationRegistration.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 4e26d3fe0a002428e88bf33226d3ac30 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Cancelations/CancelationSource.cs.meta b/Cancelations/CancelationSource.cs.meta deleted file mode 100644 index 805721b7..00000000 --- a/Cancelations/CancelationSource.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 447990967c9b445fdb91cb36ab05fb80 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Cancelations/CancelationToken.cs.meta b/Cancelations/CancelationToken.cs.meta deleted file mode 100644 index ccea3162..00000000 --- a/Cancelations/CancelationToken.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 2dccfdcf1a4b04f829c3f8aea3ed4634 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/DeveloperNotes.txt b/DeveloperNotes.txt new file mode 100644 index 00000000..aebdbf95 --- /dev/null +++ b/DeveloperNotes.txt @@ -0,0 +1,15 @@ +To create the UnityPackage for releases: + +1. Delete existing `ProtoPromise_Unity/Assets/ThirdParty/ProtoPromise/Scripts` directory. +2. Copy the `Runtime/ProtoPromise` folder into `ProtoPromise_Unity/Assets/ThirdParty/ProtoPromise` and rename it to `Scripts`. +3. Copy `ReleaseNotes.md` and `LICENSE` into the `ProtoPromise` directory. +4. Edit `README.md` to remove the `## Getting Started` and `## Latest Updates` sections, then convert it to `README.pdf` (can use https://www.markdowntopdf.com/) and place it in the `ProtoPromise` directory (discard the changes to `README.md` before git commit). +5. In the Unity editor, right-click the `ProtoPromise` folder and click `Export Package...`, include everything, then click `Export...` and name the exported file `ProtoPromise.unitypackage`. +6. Upload `ProtoPromise.unitypackage` with the release on GitHub. +7. Upload and publish new Unity Asset Store version. +8. Repeat these steps for each new release. + +Unity version may need to be updated to use the earliest version that the Asset Store Tools supports. + + +By default, ProtoPromise types are marked with the DebuggerNonUserCode attribute, making it impossible to step into the library code with Visual Studio's debugger. To disable this (or rather, to enable debugging), define the compiler symbol `PROTO_PROMISE_DEVELOPER_MODE`. \ No newline at end of file diff --git a/InternalShared/CancelDelegateWrappersInternal.cs.meta b/InternalShared/CancelDelegateWrappersInternal.cs.meta deleted file mode 100644 index 1c448ac8..00000000 --- a/InternalShared/CancelDelegateWrappersInternal.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 7c8be1d72fd2541a69053fba7eca30d6 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/InternalShared/ExceptionsInternal.cs.meta b/InternalShared/ExceptionsInternal.cs.meta deleted file mode 100644 index 858cd04f..00000000 --- a/InternalShared/ExceptionsInternal.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: ef016f3373aed452484e8df9fb9e5216 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/InternalShared/HelperFunctionsInternal.cs.meta b/InternalShared/HelperFunctionsInternal.cs.meta deleted file mode 100644 index 6fb188c6..00000000 --- a/InternalShared/HelperFunctionsInternal.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 57546433636fe44688764b39a2da0fac -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/InternalShared/HelperTypesInternal.cs.meta b/InternalShared/HelperTypesInternal.cs.meta deleted file mode 100644 index 81f6cad8..00000000 --- a/InternalShared/HelperTypesInternal.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 94cb8c52169b6425e9cadf1f0fe70ceb -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/InternalShared/InterfacesInternal.cs.meta b/InternalShared/InterfacesInternal.cs.meta deleted file mode 100644 index 3e01d615..00000000 --- a/InternalShared/InterfacesInternal.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: aa26afbc538fb4dd982cf6952cf37bda -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/InternalShared/ValueContainersInternal.cs.meta b/InternalShared/ValueContainersInternal.cs.meta deleted file mode 100644 index 72ff8633..00000000 --- a/InternalShared/ValueContainersInternal.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 9eff0be3c55c34055b3c1341202efe90 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Promises/Config.cs.meta b/Promises/Config.cs.meta deleted file mode 100644 index dddbf3d2..00000000 --- a/Promises/Config.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: b33e82b5c138346e19d0efe60a181fa2 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Promises/Deferred.cs.meta b/Promises/Deferred.cs.meta deleted file mode 100644 index 6cab0387..00000000 --- a/Promises/Deferred.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 5ee769b3f6bc545dd817bbc0a447b902 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Promises/Exceptions.cs.meta b/Promises/Exceptions.cs.meta deleted file mode 100644 index 08ab0abc..00000000 --- a/Promises/Exceptions.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 37b88668009ba4a52991300997359010 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Promises/Extensions.cs.meta b/Promises/Extensions.cs.meta deleted file mode 100644 index 88d7f6f6..00000000 --- a/Promises/Extensions.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: a162e3a7b8e73461f9fd65300af43e5e -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Promises/Internal/AllInternal.cs.meta b/Promises/Internal/AllInternal.cs.meta deleted file mode 100644 index 8aa0eee6..00000000 --- a/Promises/Internal/AllInternal.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: b75cb23255e0549058b1587aae2f90a9 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Promises/Internal/AsyncAwaitInternal.cs.meta b/Promises/Internal/AsyncAwaitInternal.cs.meta deleted file mode 100644 index ffe3b3df..00000000 --- a/Promises/Internal/AsyncAwaitInternal.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: f8d413defd8934efba9eaf267a17308f -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Promises/Internal/CancelInternal.cs.meta b/Promises/Internal/CancelInternal.cs.meta deleted file mode 100644 index 6c10ee69..00000000 --- a/Promises/Internal/CancelInternal.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 67d324ef6ca014c56b79c245c1706399 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Promises/Internal/DebugInternal.cs.meta b/Promises/Internal/DebugInternal.cs.meta deleted file mode 100644 index 945dbe84..00000000 --- a/Promises/Internal/DebugInternal.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: f8fd0571605104b2da75fd055a58bdc0 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Promises/Internal/DelegateWrappersInternal.cs.meta b/Promises/Internal/DelegateWrappersInternal.cs.meta deleted file mode 100644 index 77c0c4e4..00000000 --- a/Promises/Internal/DelegateWrappersInternal.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: e2b074244285645f0a216f7cb8e1bfa2 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Promises/Internal/FirstInternal.cs.meta b/Promises/Internal/FirstInternal.cs.meta deleted file mode 100644 index 58aa3ab6..00000000 --- a/Promises/Internal/FirstInternal.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: d895182343e9449188e422f0b8b3c12f -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Promises/Internal/InterfacesInternal.cs.meta b/Promises/Internal/InterfacesInternal.cs.meta deleted file mode 100644 index 327d387c..00000000 --- a/Promises/Internal/InterfacesInternal.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: fbf1e075963804b52afa628f8aa55dbb -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Promises/Internal/MergeInternal.cs.meta b/Promises/Internal/MergeInternal.cs.meta deleted file mode 100644 index 3fa19a5d..00000000 --- a/Promises/Internal/MergeInternal.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: ffd1e304b39744dae8a9949c94230030 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Promises/Internal/ProgressInternal.cs.meta b/Promises/Internal/ProgressInternal.cs.meta deleted file mode 100644 index 46a3868a..00000000 --- a/Promises/Internal/ProgressInternal.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: a8e496071fb864dd5a0e0b396bb90897 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Promises/Internal/PromiseInternal.cs.meta b/Promises/Internal/PromiseInternal.cs.meta deleted file mode 100644 index 5f7e3db6..00000000 --- a/Promises/Internal/PromiseInternal.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: a2142f708a9fc4053bd0221f1c39a037 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Promises/Internal/RaceInternal.cs.meta b/Promises/Internal/RaceInternal.cs.meta deleted file mode 100644 index 948aec93..00000000 --- a/Promises/Internal/RaceInternal.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 1ae7c479f81154b4b940ba5f0bc46974 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Promises/Internal/SequenceInternal.cs.meta b/Promises/Internal/SequenceInternal.cs.meta deleted file mode 100644 index fa565702..00000000 --- a/Promises/Internal/SequenceInternal.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 384dfbf64c8d74d968e8c3aeea9521f1 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Promises/Manager.cs.meta b/Promises/Manager.cs.meta deleted file mode 100644 index 8a4ff381..00000000 --- a/Promises/Manager.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: de95b3f376a4048d29d9e014eab3256d -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Promises/Promise.cs.meta b/Promises/Promise.cs.meta deleted file mode 100644 index a58f49a6..00000000 --- a/Promises/Promise.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: e3f1e621b2e194ac2a0821a0b5286816 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Promises/PromiseCapture.cs.meta b/Promises/PromiseCapture.cs.meta deleted file mode 100644 index 2029aceb..00000000 --- a/Promises/PromiseCapture.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 0cedfa2e409d74a51ac4dd22ac762af5 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Promises/PromiseStatic.cs.meta b/Promises/PromiseStatic.cs.meta deleted file mode 100644 index e0c50814..00000000 --- a/Promises/PromiseStatic.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: abaf1a1e73ab948c18c92c8e86730021 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Promises/ResultContainers.cs.meta b/Promises/ResultContainers.cs.meta deleted file mode 100644 index e52b29e9..00000000 --- a/Promises/ResultContainers.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 9049f766ea09f44db92647286e3ea7a6 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Promises/Unity.meta b/Promises/Unity.meta deleted file mode 100644 index bdf1f587..00000000 --- a/Promises/Unity.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 7934318fd2a724eebaad5c3559c8a059 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Promises/Unity/Editor.meta b/Promises/Unity/Editor.meta deleted file mode 100644 index 4bd7a189..00000000 --- a/Promises/Unity/Editor.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 261eb1a60d9d748c982190a62e3f7702 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Promises/Unity/Editor/ExecutionOrderSetter.cs.meta b/Promises/Unity/Editor/ExecutionOrderSetter.cs.meta deleted file mode 100644 index e25d25a0..00000000 --- a/Promises/Unity/Editor/ExecutionOrderSetter.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: d3b8cf0d9ff0e49c3b2d09a591299956 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Promises/Unity/PromiseBehaviour.cs.meta b/Promises/Unity/PromiseBehaviour.cs.meta deleted file mode 100644 index e969e430..00000000 --- a/Promises/Unity/PromiseBehaviour.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 7550a0104a4ee4e559777f06936272da -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 32000 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Promises/Unity/PromiseYielder.cs.meta b/Promises/Unity/PromiseYielder.cs.meta deleted file mode 100644 index 49f53327..00000000 --- a/Promises/Unity/PromiseYielder.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 3b7fdb2966e2542b782592ed3c744b35 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/ProtoPromise.sln b/ProtoPromise.sln new file mode 100644 index 00000000..2122fce7 --- /dev/null +++ b/ProtoPromise.sln @@ -0,0 +1,41 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.30523.141 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ProtoPromiseTests", "Tests\ProtoPromiseTests.csproj", "{27C1B5AC-2E73-4B91-8258-C67B4B064569}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ProtoPromise", "Runtime\ProtoPromise.csproj", "{2A0BBD14-FA01-467C-8A42-55C5C287F66D}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug With Progress|Any CPU = Debug With Progress|Any CPU + Debug Without Progress|Any CPU = Debug Without Progress|Any CPU + Release With Progress|Any CPU = Release With Progress|Any CPU + Release Without Progress|Any CPU = Release Without Progress|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {27C1B5AC-2E73-4B91-8258-C67B4B064569}.Debug With Progress|Any CPU.ActiveCfg = Debug With Progress|Any CPU + {27C1B5AC-2E73-4B91-8258-C67B4B064569}.Debug With Progress|Any CPU.Build.0 = Debug With Progress|Any CPU + {27C1B5AC-2E73-4B91-8258-C67B4B064569}.Debug Without Progress|Any CPU.ActiveCfg = Release Without Progress|Any CPU + {27C1B5AC-2E73-4B91-8258-C67B4B064569}.Debug Without Progress|Any CPU.Build.0 = Release Without Progress|Any CPU + {27C1B5AC-2E73-4B91-8258-C67B4B064569}.Release With Progress|Any CPU.ActiveCfg = Release With Progress|Any CPU + {27C1B5AC-2E73-4B91-8258-C67B4B064569}.Release With Progress|Any CPU.Build.0 = Release With Progress|Any CPU + {27C1B5AC-2E73-4B91-8258-C67B4B064569}.Release Without Progress|Any CPU.ActiveCfg = Release Without Progress|Any CPU + {27C1B5AC-2E73-4B91-8258-C67B4B064569}.Release Without Progress|Any CPU.Build.0 = Release Without Progress|Any CPU + {2A0BBD14-FA01-467C-8A42-55C5C287F66D}.Debug With Progress|Any CPU.ActiveCfg = Debug With Progress|Any CPU + {2A0BBD14-FA01-467C-8A42-55C5C287F66D}.Debug With Progress|Any CPU.Build.0 = Debug With Progress|Any CPU + {2A0BBD14-FA01-467C-8A42-55C5C287F66D}.Debug Without Progress|Any CPU.ActiveCfg = Release Without Progress|Any CPU + {2A0BBD14-FA01-467C-8A42-55C5C287F66D}.Debug Without Progress|Any CPU.Build.0 = Release Without Progress|Any CPU + {2A0BBD14-FA01-467C-8A42-55C5C287F66D}.Release With Progress|Any CPU.ActiveCfg = Release With Progress|Any CPU + {2A0BBD14-FA01-467C-8A42-55C5C287F66D}.Release With Progress|Any CPU.Build.0 = Release With Progress|Any CPU + {2A0BBD14-FA01-467C-8A42-55C5C287F66D}.Release Without Progress|Any CPU.ActiveCfg = Release Without Progress|Any CPU + {2A0BBD14-FA01-467C-8A42-55C5C287F66D}.Release Without Progress|Any CPU.Build.0 = Release Without Progress|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {F0A3E32B-A74C-40A9-A0D7-0E1BE536226B} + EndGlobalSection +EndGlobal diff --git a/ProtoPromise_Unity/.gitignore b/ProtoPromise_Unity/.gitignore new file mode 100644 index 00000000..85374857 --- /dev/null +++ b/ProtoPromise_Unity/.gitignore @@ -0,0 +1,275 @@ +/Assets/AssetStoreTools* +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. + +# User-specific files +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Build results +[Aa]ssetBundles +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +bld/ +[Bb]in/ +[Oo]bj/ +[Ll]og/ +[Tt]emp/ +[Bb]uild/ +[Bb]uilds/ + + +# Visual Studio 2015 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUNIT +*.VisualState.xml +TestResult.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# DNX +project.lock.json +artifacts/ + +*_i.c +*_p.c +*_i.h +*.ilk +*.pch +*.pdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# JustCode is a .NET coding add-in +.JustCode + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# TODO: Comment the next line if you want to checkin your web deploy settings +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml +*.publishproj + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ + +# NuGet Packages +*.nupkg +# The packages folder can be ignored because of Package Restore +**/packages/* +# except build/, which is used as an MSBuild target. +!**/packages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/packages/repositories.config +# NuGet v3's project.json files produces more ignoreable files +*.nuget.props +*.nuget.targets + +# Microsoft Azure Build Output +csx/ +*.build.csdef + +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files +AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!*.[Cc]ache/ + +# Others +ClientBin/ +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.pfx +*.publishsettings +node_modules/ +orleans.codegen.cs + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm + +# SQL Server files +*.mdf +*.ldf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# Paket dependency manager +.paket/paket.exe +paket-files/ + +# FAKE - F# Make +.fake/ + +# JetBrains Rider +.idea/ +*.sln.iml + + + +# Visual Studio 2015 cache directory +/.vs/ + + +# Unity3D generated meta files +*.pidb.meta +# Script meta files +*.cs.meta + +# Unity3D Generated File On Crash Reports +sysinfo.txt +*.blend1 +*.csproj +*.sln +[Ll]ibrary/ +[Ll]ibraries/ \ No newline at end of file diff --git a/Promises/Internal.meta b/ProtoPromise_Unity/Assets/Third Party.meta similarity index 62% rename from Promises/Internal.meta rename to ProtoPromise_Unity/Assets/Third Party.meta index 0819f3ac..d9d32846 100644 --- a/Promises/Internal.meta +++ b/ProtoPromise_Unity/Assets/Third Party.meta @@ -1,6 +1,8 @@ fileFormatVersion: 2 -guid: 998d86aca5b0244388664752102f4ad5 +guid: 7e2cae874c254e145ace0664e25b9caf folderAsset: yes +timeCreated: 1603952471 +licenseType: Free DefaultImporter: externalObjects: {} userData: diff --git a/Cancelations.meta b/ProtoPromise_Unity/Assets/Third Party/ProtoPromise.meta similarity index 77% rename from Cancelations.meta rename to ProtoPromise_Unity/Assets/Third Party/ProtoPromise.meta index 279ea6ac..4943e9ea 100644 --- a/Cancelations.meta +++ b/ProtoPromise_Unity/Assets/Third Party/ProtoPromise.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 45b968e3452c64d489fab47196655fdb +guid: 6c63d6f08e455494bb5c97040c1ac505 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/InternalShared.meta b/ProtoPromise_Unity/Assets/Third Party/ProtoPromise/Demo.meta similarity index 77% rename from InternalShared.meta rename to ProtoPromise_Unity/Assets/Third Party/ProtoPromise/Demo.meta index c24cc6e9..7a83b16d 100644 --- a/InternalShared.meta +++ b/ProtoPromise_Unity/Assets/Third Party/ProtoPromise/Demo.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 6d6f80226b5384cfebb1a0325beed820 +guid: 873f865562d6bc04b9d9dc38a814896f folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/ProtoPromise_Unity/Assets/Third Party/ProtoPromise/Demo/Demo.unity b/ProtoPromise_Unity/Assets/Third Party/ProtoPromise/Demo/Demo.unity new file mode 100644 index 00000000..fda17e7e --- /dev/null +++ b/ProtoPromise_Unity/Assets/Third Party/ProtoPromise/Demo/Demo.unity @@ -0,0 +1,720 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 170076734} + m_IndirectSpecularColor: {r: 0.44657886, g: 0.4964127, b: 0.57481724, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 10 + m_Resolution: 2 + m_BakeResolution: 10 + m_AtlasSize: 512 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 256 + m_PVRBounces: 2 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringMode: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ShowResolutionOverlay: 1 + m_LightingDataAsset: {fileID: 0} + m_UseShadowmask: 1 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &170076733 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 170076735} + - component: {fileID: 170076734} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &170076734 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 170076733} + m_Enabled: 1 + serializedVersion: 8 + m_Type: 1 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 1 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &170076735 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 170076733} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &210605943 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 210605944} + - component: {fileID: 210605947} + - component: {fileID: 210605946} + - component: {fileID: 210605945} + m_Layer: 5 + m_Name: Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &210605944 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 210605943} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 653780066} + m_Father: {fileID: 268706088} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0.000022888, y: -340.02} + m_SizeDelta: {x: 267.23676, y: 87.96579} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &210605945 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 210605943} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 210605946} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 268706084} + m_MethodName: OnClick + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &210605946 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 210605943} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 +--- !u!222 &210605947 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 210605943} + m_CullTransparentMesh: 0 +--- !u!1 &268706083 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 268706088} + - component: {fileID: 268706087} + - component: {fileID: 268706086} + - component: {fileID: 268706085} + - component: {fileID: 268706084} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &268706084 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 268706083} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9a9f5915a5e3736419d577455fbd7c7e, type: 3} + m_Name: + m_EditorClassIdentifier: + image: {fileID: 1792142286} + imageUrl: https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png +--- !u!114 &268706085 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 268706083} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1301386320, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &268706086 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 268706083} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1980459831, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 +--- !u!223 &268706087 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 268706083} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 25 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &268706088 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 268706083} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 210605944} + - {fileID: 1792142288} + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!1 &534669902 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 534669905} + - component: {fileID: 534669904} + - component: {fileID: 534669903} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &534669903 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 534669902} + m_Enabled: 1 +--- !u!20 &534669904 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 534669902} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_GateFitMode: 2 + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &534669905 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 534669902} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &653780065 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 653780066} + - component: {fileID: 653780068} + - component: {fileID: 653780067} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &653780066 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 653780065} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 210605944} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &653780067 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 653780065} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 36 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 3 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Download Image +--- !u!222 &653780068 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 653780065} + m_CullTransparentMesh: 0 +--- !u!1 &1357712126 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1357712129} + - component: {fileID: 1357712128} + - component: {fileID: 1357712127} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1357712127 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1357712126} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1077351063, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &1357712128 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1357712126} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -619905303, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 10 +--- !u!4 &1357712129 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1357712126} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1792142285 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1792142288} + - component: {fileID: 1792142287} + - component: {fileID: 1792142286} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1792142286 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1792142285} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 +--- !u!222 &1792142287 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1792142285} + m_CullTransparentMesh: 0 +--- !u!224 &1792142288 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1792142285} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 268706088} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 66.6} + m_SizeDelta: {x: 1102.8086, y: 418.81195} + m_Pivot: {x: 0.5, y: 0.5} diff --git a/Promises.meta b/ProtoPromise_Unity/Assets/Third Party/ProtoPromise/Demo/Demo.unity.meta similarity index 67% rename from Promises.meta rename to ProtoPromise_Unity/Assets/Third Party/ProtoPromise/Demo/Demo.unity.meta index 79c0b679..99b77f62 100644 --- a/Promises.meta +++ b/ProtoPromise_Unity/Assets/Third Party/ProtoPromise/Demo/Demo.unity.meta @@ -1,6 +1,5 @@ fileFormatVersion: 2 -guid: 6efd7e40af94748c29b3b39aeb79bcea -folderAsset: yes +guid: 8ca03dc489bf2424690bbdf4d8da5b08 DefaultImporter: externalObjects: {} userData: diff --git a/ProtoPromise_Unity/Assets/Third Party/ProtoPromise/Demo/ProtoPromiseExample.cs b/ProtoPromise_Unity/Assets/Third Party/ProtoPromise/Demo/ProtoPromiseExample.cs new file mode 100644 index 00000000..6559642f --- /dev/null +++ b/ProtoPromise_Unity/Assets/Third Party/ProtoPromise/Demo/ProtoPromiseExample.cs @@ -0,0 +1,55 @@ +using Proto.Promises; +using UnityEngine; +using UnityEngine.UI; +#if UNITY_2017_2_OR_NEWER +using UnityEngine.Networking; +#endif + +public class ProtoPromiseExample : MonoBehaviour +{ + public Image image; + public string imageUrl = "https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_816x276dp.png"; + + private void Awake() + { + image.preserveAspect = true; + } + + public void OnClick() + { + DownloadTexture(imageUrl) + .Then(texture => + { + image.sprite = Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height), new Vector2(0.5f, 0.5f)); + }); + } + + public static Promise DownloadTexture(string url) + { +#if UNITY_2017_2_OR_NEWER + var www = UnityWebRequestTexture.GetTexture(url); + return PromiseYielder.WaitFor(www.SendWebRequest()) + .Then(asyncOperation => + { + if (asyncOperation.webRequest.isHttpError || asyncOperation.webRequest.isNetworkError) + { + throw Promise.RejectException(asyncOperation.webRequest.error); + } + return ((DownloadHandlerTexture) asyncOperation.webRequest.downloadHandler).texture; + }) + .Finally(www.Dispose); +#else + var www = new WWW(url); + return PromiseYielder.WaitFor(www) + .Then(asyncOperation => + { + if (!string.IsNullOrEmpty(asyncOperation.error)) + { + throw Promise.RejectException(asyncOperation.error); + } + return asyncOperation.texture; + }) + .Finally(www.Dispose); +#endif + } +} diff --git a/ProtoPromise_Unity/Assets/Third Party/ProtoPromise/LICENSE b/ProtoPromise_Unity/Assets/Third Party/ProtoPromise/LICENSE new file mode 100644 index 00000000..012f7aae --- /dev/null +++ b/ProtoPromise_Unity/Assets/Third Party/ProtoPromise/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 timcassell + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/LICENSE.meta b/ProtoPromise_Unity/Assets/Third Party/ProtoPromise/LICENSE.meta similarity index 74% rename from LICENSE.meta rename to ProtoPromise_Unity/Assets/Third Party/ProtoPromise/LICENSE.meta index 2da88375..c905e92b 100644 --- a/LICENSE.meta +++ b/ProtoPromise_Unity/Assets/Third Party/ProtoPromise/LICENSE.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 763cade3f74724b508abd54d6ea7c417 +guid: a50f477ac9c72f341b8e0e4b430efe84 DefaultImporter: externalObjects: {} userData: diff --git a/ProtoPromise_Unity/Assets/Third Party/ProtoPromise/README.pdf b/ProtoPromise_Unity/Assets/Third Party/ProtoPromise/README.pdf new file mode 100644 index 00000000..43e9cf49 Binary files /dev/null and b/ProtoPromise_Unity/Assets/Third Party/ProtoPromise/README.pdf differ diff --git a/ProtoPromise_Unity/Assets/Third Party/ProtoPromise/README.pdf.meta b/ProtoPromise_Unity/Assets/Third Party/ProtoPromise/README.pdf.meta new file mode 100644 index 00000000..13b9f6da --- /dev/null +++ b/ProtoPromise_Unity/Assets/Third Party/ProtoPromise/README.pdf.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: b944b7e930dd37947bbde8cb1b23c2d9 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ProtoPromise_Unity/ProjectSettings/AudioManager.asset b/ProtoPromise_Unity/ProjectSettings/AudioManager.asset new file mode 100644 index 00000000..da611257 --- /dev/null +++ b/ProtoPromise_Unity/ProjectSettings/AudioManager.asset @@ -0,0 +1,17 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!11 &1 +AudioManager: + m_ObjectHideFlags: 0 + m_Volume: 1 + Rolloff Scale: 1 + Doppler Factor: 1 + Default Speaker Mode: 2 + m_SampleRate: 0 + m_DSPBufferSize: 0 + m_VirtualVoiceCount: 512 + m_RealVoiceCount: 32 + m_SpatializerPlugin: + m_AmbisonicDecoderPlugin: + m_DisableAudio: 0 + m_VirtualizeEffects: 1 diff --git a/ProtoPromise_Unity/ProjectSettings/ClusterInputManager.asset b/ProtoPromise_Unity/ProjectSettings/ClusterInputManager.asset new file mode 100644 index 00000000..e7886b26 --- /dev/null +++ b/ProtoPromise_Unity/ProjectSettings/ClusterInputManager.asset @@ -0,0 +1,6 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!236 &1 +ClusterInputManager: + m_ObjectHideFlags: 0 + m_Inputs: [] diff --git a/ProtoPromise_Unity/ProjectSettings/DynamicsManager.asset b/ProtoPromise_Unity/ProjectSettings/DynamicsManager.asset new file mode 100644 index 00000000..78992f08 --- /dev/null +++ b/ProtoPromise_Unity/ProjectSettings/DynamicsManager.asset @@ -0,0 +1,29 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!55 &1 +PhysicsManager: + m_ObjectHideFlags: 0 + serializedVersion: 7 + m_Gravity: {x: 0, y: -9.81, z: 0} + m_DefaultMaterial: {fileID: 0} + m_BounceThreshold: 2 + m_SleepThreshold: 0.005 + m_DefaultContactOffset: 0.01 + m_DefaultSolverIterations: 6 + m_DefaultSolverVelocityIterations: 1 + m_QueriesHitBackfaces: 0 + m_QueriesHitTriggers: 1 + m_EnableAdaptiveForce: 0 + m_ClothInterCollisionDistance: 0 + m_ClothInterCollisionStiffness: 0 + m_ContactsGeneration: 1 + m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + m_AutoSimulation: 1 + m_AutoSyncTransforms: 1 + m_ClothInterCollisionSettingsToggle: 0 + m_ContactPairsMode: 0 + m_BroadphaseType: 0 + m_WorldBounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 250, y: 250, z: 250} + m_WorldSubdivisions: 8 diff --git a/ProtoPromise_Unity/ProjectSettings/EditorBuildSettings.asset b/ProtoPromise_Unity/ProjectSettings/EditorBuildSettings.asset new file mode 100644 index 00000000..6dc24f7d --- /dev/null +++ b/ProtoPromise_Unity/ProjectSettings/EditorBuildSettings.asset @@ -0,0 +1,7 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1045 &1 +EditorBuildSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Scenes: [] diff --git a/ProtoPromise_Unity/ProjectSettings/EditorSettings.asset b/ProtoPromise_Unity/ProjectSettings/EditorSettings.asset new file mode 100644 index 00000000..7b426952 --- /dev/null +++ b/ProtoPromise_Unity/ProjectSettings/EditorSettings.asset @@ -0,0 +1,21 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!159 &1 +EditorSettings: + m_ObjectHideFlags: 0 + serializedVersion: 7 + m_ExternalVersionControlSupport: Hidden Meta Files + m_SerializationMode: 2 + m_LineEndingsForNewScripts: 2 + m_DefaultBehaviorMode: 0 + m_SpritePackerMode: 0 + m_SpritePackerPaddingPower: 1 + m_EtcTextureCompressorBehavior: 1 + m_EtcTextureFastCompressor: 1 + m_EtcTextureNormalCompressor: 2 + m_EtcTextureBestCompressor: 4 + m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;rsp + m_ProjectGenerationRootNamespace: + m_UserGeneratedProjectSuffix: + m_CollabEditorSettings: + inProgressEnabled: 1 diff --git a/ProtoPromise_Unity/ProjectSettings/GraphicsSettings.asset b/ProtoPromise_Unity/ProjectSettings/GraphicsSettings.asset new file mode 100644 index 00000000..74d7b532 --- /dev/null +++ b/ProtoPromise_Unity/ProjectSettings/GraphicsSettings.asset @@ -0,0 +1,61 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!30 &1 +GraphicsSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_Deferred: + m_Mode: 1 + m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0} + m_DeferredReflections: + m_Mode: 1 + m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0} + m_ScreenSpaceShadows: + m_Mode: 1 + m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0} + m_LegacyDeferred: + m_Mode: 1 + m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0} + m_DepthNormals: + m_Mode: 1 + m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0} + m_MotionVectors: + m_Mode: 1 + m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0} + m_LightHalo: + m_Mode: 1 + m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0} + m_LensFlare: + m_Mode: 1 + m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0} + m_AlwaysIncludedShaders: + - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0} + m_PreloadedShaders: [] + m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, + type: 0} + m_CustomRenderPipeline: {fileID: 0} + m_TransparencySortMode: 0 + m_TransparencySortAxis: {x: 0, y: 0, z: 1} + m_DefaultRenderingPath: 1 + m_DefaultMobileRenderingPath: 1 + m_TierSettings: [] + m_LightmapStripping: 0 + m_FogStripping: 0 + m_InstancingStripping: 0 + m_LightmapKeepPlain: 1 + m_LightmapKeepDirCombined: 1 + m_LightmapKeepDynamicPlain: 1 + m_LightmapKeepDynamicDirCombined: 1 + m_LightmapKeepShadowMask: 1 + m_LightmapKeepSubtractive: 1 + m_FogKeepLinear: 1 + m_FogKeepExp: 1 + m_FogKeepExp2: 1 + m_AlbedoSwatchInfos: [] + m_LightsUseLinearIntensity: 0 + m_LightsUseColorTemperature: 0 diff --git a/ProtoPromise_Unity/ProjectSettings/InputManager.asset b/ProtoPromise_Unity/ProjectSettings/InputManager.asset new file mode 100644 index 00000000..17c8f538 --- /dev/null +++ b/ProtoPromise_Unity/ProjectSettings/InputManager.asset @@ -0,0 +1,295 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!13 &1 +InputManager: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Axes: + - serializedVersion: 3 + m_Name: Horizontal + descriptiveName: + descriptiveNegativeName: + negativeButton: left + positiveButton: right + altNegativeButton: a + altPositiveButton: d + gravity: 3 + dead: 0.001 + sensitivity: 3 + snap: 1 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Vertical + descriptiveName: + descriptiveNegativeName: + negativeButton: down + positiveButton: up + altNegativeButton: s + altPositiveButton: w + gravity: 3 + dead: 0.001 + sensitivity: 3 + snap: 1 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire1 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: left ctrl + altNegativeButton: + altPositiveButton: mouse 0 + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire2 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: left alt + altNegativeButton: + altPositiveButton: mouse 1 + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire3 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: left shift + altNegativeButton: + altPositiveButton: mouse 2 + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Jump + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: space + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Mouse X + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0 + sensitivity: 0.1 + snap: 0 + invert: 0 + type: 1 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Mouse Y + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0 + sensitivity: 0.1 + snap: 0 + invert: 0 + type: 1 + axis: 1 + joyNum: 0 + - serializedVersion: 3 + m_Name: Mouse ScrollWheel + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0 + sensitivity: 0.1 + snap: 0 + invert: 0 + type: 1 + axis: 2 + joyNum: 0 + - serializedVersion: 3 + m_Name: Horizontal + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0.19 + sensitivity: 1 + snap: 0 + invert: 0 + type: 2 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Vertical + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0.19 + sensitivity: 1 + snap: 0 + invert: 1 + type: 2 + axis: 1 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire1 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: joystick button 0 + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire2 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: joystick button 1 + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire3 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: joystick button 2 + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Jump + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: joystick button 3 + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Submit + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: return + altNegativeButton: + altPositiveButton: joystick button 0 + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Submit + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: enter + altNegativeButton: + altPositiveButton: space + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Cancel + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: escape + altNegativeButton: + altPositiveButton: joystick button 1 + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 diff --git a/ProtoPromise_Unity/ProjectSettings/NavMeshAreas.asset b/ProtoPromise_Unity/ProjectSettings/NavMeshAreas.asset new file mode 100644 index 00000000..3b0b7c3d --- /dev/null +++ b/ProtoPromise_Unity/ProjectSettings/NavMeshAreas.asset @@ -0,0 +1,91 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!126 &1 +NavMeshProjectSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + areas: + - name: Walkable + cost: 1 + - name: Not Walkable + cost: 1 + - name: Jump + cost: 2 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + m_LastAgentTypeID: -887442657 + m_Settings: + - serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.75 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_SettingNames: + - Humanoid diff --git a/ProtoPromise_Unity/ProjectSettings/NetworkManager.asset b/ProtoPromise_Unity/ProjectSettings/NetworkManager.asset new file mode 100644 index 00000000..5dc6a831 --- /dev/null +++ b/ProtoPromise_Unity/ProjectSettings/NetworkManager.asset @@ -0,0 +1,8 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!149 &1 +NetworkManager: + m_ObjectHideFlags: 0 + m_DebugLevel: 0 + m_Sendrate: 15 + m_AssetToPrefab: {} diff --git a/ProtoPromise_Unity/ProjectSettings/Physics2DSettings.asset b/ProtoPromise_Unity/ProjectSettings/Physics2DSettings.asset new file mode 100644 index 00000000..132ee6bc --- /dev/null +++ b/ProtoPromise_Unity/ProjectSettings/Physics2DSettings.asset @@ -0,0 +1,37 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!19 &1 +Physics2DSettings: + m_ObjectHideFlags: 0 + serializedVersion: 3 + m_Gravity: {x: 0, y: -9.81} + m_DefaultMaterial: {fileID: 0} + m_VelocityIterations: 8 + m_PositionIterations: 3 + m_VelocityThreshold: 1 + m_MaxLinearCorrection: 0.2 + m_MaxAngularCorrection: 8 + m_MaxTranslationSpeed: 100 + m_MaxRotationSpeed: 360 + m_BaumgarteScale: 0.2 + m_BaumgarteTimeOfImpactScale: 0.75 + m_TimeToSleep: 0.5 + m_LinearSleepTolerance: 0.01 + m_AngularSleepTolerance: 2 + m_DefaultContactOffset: 0.01 + m_AutoSimulation: 1 + m_QueriesHitTriggers: 1 + m_QueriesStartInColliders: 1 + m_ChangeStopsCallbacks: 0 + m_CallbacksOnDisable: 1 + m_AutoSyncTransforms: 1 + m_AlwaysShowColliders: 0 + m_ShowColliderSleep: 1 + m_ShowColliderContacts: 0 + m_ShowColliderAABB: 0 + m_ContactArrowScale: 0.2 + m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412} + m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432} + m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745} + m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804} + m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff diff --git a/ProtoPromise_Unity/ProjectSettings/ProjectSettings.asset b/ProtoPromise_Unity/ProjectSettings/ProjectSettings.asset new file mode 100644 index 00000000..7690f9fe --- /dev/null +++ b/ProtoPromise_Unity/ProjectSettings/ProjectSettings.asset @@ -0,0 +1,641 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!129 &1 +PlayerSettings: + m_ObjectHideFlags: 0 + serializedVersion: 14 + productGUID: 91da7aa4063ecef42acb0206a8b3e580 + AndroidProfiler: 0 + AndroidFilterTouchesWhenObscured: 0 + defaultScreenOrientation: 4 + targetDevice: 2 + useOnDemandResources: 0 + accelerometerFrequency: 60 + companyName: DefaultCompany + productName: ProtoPromise_Unity + defaultCursor: {fileID: 0} + cursorHotspot: {x: 0, y: 0} + m_SplashScreenBackgroundColor: {r: 0.13725491, g: 0.12156863, b: 0.1254902, a: 1} + m_ShowUnitySplashScreen: 1 + m_ShowUnitySplashLogo: 1 + m_SplashScreenOverlayOpacity: 1 + m_SplashScreenAnimation: 1 + m_SplashScreenLogoStyle: 1 + m_SplashScreenDrawMode: 0 + m_SplashScreenBackgroundAnimationZoom: 1 + m_SplashScreenLogoAnimationZoom: 1 + m_SplashScreenBackgroundLandscapeAspect: 1 + m_SplashScreenBackgroundPortraitAspect: 1 + m_SplashScreenBackgroundLandscapeUvs: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + m_SplashScreenBackgroundPortraitUvs: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + m_SplashScreenLogos: [] + m_VirtualRealitySplashScreen: {fileID: 0} + m_HolographicTrackingLossScreen: {fileID: 0} + defaultScreenWidth: 1024 + defaultScreenHeight: 768 + defaultScreenWidthWeb: 960 + defaultScreenHeightWeb: 600 + m_StereoRenderingPath: 0 + m_ActiveColorSpace: 0 + m_MTRendering: 1 + m_StackTraceTypes: 010000000100000001000000010000000100000001000000 + iosShowActivityIndicatorOnLoading: -1 + androidShowActivityIndicatorOnLoading: -1 + tizenShowActivityIndicatorOnLoading: -1 + iosAppInBackgroundBehavior: 0 + displayResolutionDialog: 1 + iosAllowHTTPDownload: 1 + allowedAutorotateToPortrait: 1 + allowedAutorotateToPortraitUpsideDown: 1 + allowedAutorotateToLandscapeRight: 1 + allowedAutorotateToLandscapeLeft: 1 + useOSAutorotation: 1 + use32BitDisplayBuffer: 1 + preserveFramebufferAlpha: 0 + disableDepthAndStencilBuffers: 0 + androidBlitType: 0 + defaultIsFullScreen: 1 + defaultIsNativeResolution: 1 + macRetinaSupport: 1 + runInBackground: 0 + captureSingleScreen: 0 + muteOtherAudioSources: 0 + Prepare IOS For Recording: 0 + Force IOS Speakers When Recording: 0 + deferSystemGesturesMode: 0 + hideHomeButton: 0 + submitAnalytics: 1 + usePlayerLog: 1 + bakeCollisionMeshes: 0 + forceSingleInstance: 0 + resizableWindow: 0 + useMacAppStoreValidation: 0 + macAppStoreCategory: public.app-category.games + gpuSkinning: 0 + graphicsJobs: 0 + xboxPIXTextureCapture: 0 + xboxEnableAvatar: 0 + xboxEnableKinect: 0 + xboxEnableKinectAutoTracking: 0 + xboxEnableFitness: 0 + visibleInBackground: 1 + allowFullscreenSwitch: 1 + graphicsJobMode: 0 + macFullscreenMode: 2 + d3d11FullscreenMode: 1 + xboxSpeechDB: 0 + xboxEnableHeadOrientation: 0 + xboxEnableGuest: 0 + xboxEnablePIXSampling: 0 + metalFramebufferOnly: 0 + n3dsDisableStereoscopicView: 0 + n3dsEnableSharedListOpt: 1 + n3dsEnableVSync: 0 + xboxOneResolution: 0 + xboxOneSResolution: 0 + xboxOneXResolution: 3 + xboxOneMonoLoggingLevel: 0 + xboxOneLoggingLevel: 1 + xboxOneDisableEsram: 0 + xboxOnePresentImmediateThreshold: 0 + videoMemoryForVertexBuffers: 0 + psp2PowerMode: 0 + psp2AcquireBGM: 1 + wiiUTVResolution: 0 + wiiUGamePadMSAA: 1 + wiiUSupportsNunchuk: 0 + wiiUSupportsClassicController: 0 + wiiUSupportsBalanceBoard: 0 + wiiUSupportsMotionPlus: 0 + wiiUSupportsProController: 0 + wiiUAllowScreenCapture: 1 + wiiUControllerCount: 0 + m_SupportedAspectRatios: + 4:3: 1 + 5:4: 1 + 16:10: 1 + 16:9: 1 + Others: 1 + bundleVersion: 1.0 + preloadedAssets: [] + metroInputSource: 0 + wsaTransparentSwapchain: 0 + m_HolographicPauseOnTrackingLoss: 1 + xboxOneDisableKinectGpuReservation: 0 + xboxOneEnable7thCore: 0 + vrSettings: + cardboard: + depthFormat: 0 + enableTransitionView: 0 + daydream: + depthFormat: 0 + useSustainedPerformanceMode: 0 + enableVideoLayer: 0 + useProtectedVideoMemory: 0 + minimumSupportedHeadTracking: 0 + maximumSupportedHeadTracking: 1 + hololens: + depthFormat: 1 + depthBufferSharingEnabled: 0 + oculus: + sharedDepthBuffer: 0 + dashSupport: 0 + protectGraphicsMemory: 0 + useHDRDisplay: 0 + m_ColorGamuts: 00000000 + targetPixelDensity: 30 + resolutionScalingMode: 0 + androidSupportedAspectRatio: 1 + androidMaxAspectRatio: 2.1 + applicationIdentifier: {} + buildNumber: {} + AndroidBundleVersionCode: 1 + AndroidMinSdkVersion: 16 + AndroidTargetSdkVersion: 0 + AndroidPreferredInstallLocation: 1 + aotOptions: + stripEngineCode: 1 + iPhoneStrippingLevel: 0 + iPhoneScriptCallOptimization: 0 + ForceInternetPermission: 0 + ForceSDCardPermission: 0 + CreateWallpaper: 0 + APKExpansionFiles: 0 + keepLoadedShadersAlive: 0 + StripUnusedMeshComponents: 0 + VertexChannelCompressionMask: + serializedVersion: 2 + m_Bits: 238 + iPhoneSdkVersion: 988 + iOSTargetOSVersionString: 7.0 + tvOSSdkVersion: 0 + tvOSRequireExtendedGameController: 0 + tvOSTargetOSVersionString: 9.0 + uIPrerenderedIcon: 0 + uIRequiresPersistentWiFi: 0 + uIRequiresFullScreen: 1 + uIStatusBarHidden: 1 + uIExitOnSuspend: 0 + uIStatusBarStyle: 0 + iPhoneSplashScreen: {fileID: 0} + iPhoneHighResSplashScreen: {fileID: 0} + iPhoneTallHighResSplashScreen: {fileID: 0} + iPhone47inSplashScreen: {fileID: 0} + iPhone55inPortraitSplashScreen: {fileID: 0} + iPhone55inLandscapeSplashScreen: {fileID: 0} + iPhone58inPortraitSplashScreen: {fileID: 0} + iPhone58inLandscapeSplashScreen: {fileID: 0} + iPadPortraitSplashScreen: {fileID: 0} + iPadHighResPortraitSplashScreen: {fileID: 0} + iPadLandscapeSplashScreen: {fileID: 0} + iPadHighResLandscapeSplashScreen: {fileID: 0} + appleTVSplashScreen: {fileID: 0} + appleTVSplashScreen2x: {fileID: 0} + tvOSSmallIconLayers: [] + tvOSSmallIconLayers2x: [] + tvOSLargeIconLayers: [] + tvOSTopShelfImageLayers: [] + tvOSTopShelfImageLayers2x: [] + tvOSTopShelfImageWideLayers: [] + tvOSTopShelfImageWideLayers2x: [] + iOSLaunchScreenType: 0 + iOSLaunchScreenPortrait: {fileID: 0} + iOSLaunchScreenLandscape: {fileID: 0} + iOSLaunchScreenBackgroundColor: + serializedVersion: 2 + rgba: 0 + iOSLaunchScreenFillPct: 100 + iOSLaunchScreenSize: 100 + iOSLaunchScreenCustomXibPath: + iOSLaunchScreeniPadType: 0 + iOSLaunchScreeniPadImage: {fileID: 0} + iOSLaunchScreeniPadBackgroundColor: + serializedVersion: 2 + rgba: 0 + iOSLaunchScreeniPadFillPct: 100 + iOSLaunchScreeniPadSize: 100 + iOSLaunchScreeniPadCustomXibPath: + iOSUseLaunchScreenStoryboard: 0 + iOSLaunchScreenCustomStoryboardPath: + iOSDeviceRequirements: [] + iOSURLSchemes: [] + iOSBackgroundModes: 0 + iOSMetalForceHardShadows: 0 + metalEditorSupport: 1 + metalAPIValidation: 1 + iOSRenderExtraFrameOnPause: 0 + appleDeveloperTeamID: + iOSManualSigningProvisioningProfileID: + tvOSManualSigningProvisioningProfileID: + appleEnableAutomaticSigning: 0 + clonedFromGUID: 00000000000000000000000000000000 + AndroidTargetDevice: 0 + AndroidSplashScreenScale: 0 + androidSplashScreen: {fileID: 0} + AndroidKeystoreName: + AndroidKeyaliasName: + AndroidTVCompatibility: 1 + AndroidIsGame: 1 + AndroidEnableTango: 0 + androidEnableBanner: 1 + androidUseLowAccuracyLocation: 0 + m_AndroidBanners: + - width: 320 + height: 180 + banner: {fileID: 0} + androidGamepadSupportLevel: 0 + resolutionDialogBanner: {fileID: 0} + m_BuildTargetIcons: [] + m_BuildTargetBatching: [] + m_BuildTargetGraphicsAPIs: [] + m_BuildTargetVRSettings: [] + m_BuildTargetEnableVuforiaSettings: [] + openGLRequireES31: 0 + openGLRequireES31AEP: 0 + m_TemplateCustomTags: {} + mobileMTRendering: + Android: 1 + iPhone: 1 + tvOS: 1 + m_BuildTargetGroupLightmapEncodingQuality: [] + wiiUTitleID: 0005000011000000 + wiiUGroupID: 00010000 + wiiUCommonSaveSize: 4096 + wiiUAccountSaveSize: 2048 + wiiUOlvAccessKey: 0 + wiiUTinCode: 0 + wiiUJoinGameId: 0 + wiiUJoinGameModeMask: 0000000000000000 + wiiUCommonBossSize: 0 + wiiUAccountBossSize: 0 + wiiUAddOnUniqueIDs: [] + wiiUMainThreadStackSize: 3072 + wiiULoaderThreadStackSize: 1024 + wiiUSystemHeapSize: 128 + wiiUTVStartupScreen: {fileID: 0} + wiiUGamePadStartupScreen: {fileID: 0} + wiiUDrcBufferDisabled: 0 + wiiUProfilerLibPath: + playModeTestRunnerEnabled: 0 + actionOnDotNetUnhandledException: 1 + enableInternalProfiler: 0 + logObjCUncaughtExceptions: 1 + enableCrashReportAPI: 0 + cameraUsageDescription: + locationUsageDescription: + microphoneUsageDescription: + switchNetLibKey: + switchSocketMemoryPoolSize: 6144 + switchSocketAllocatorPoolSize: 128 + switchSocketConcurrencyLimit: 14 + switchScreenResolutionBehavior: 2 + switchUseCPUProfiler: 0 + switchApplicationID: 0x01004b9000490000 + switchNSODependencies: + switchTitleNames_0: + switchTitleNames_1: + switchTitleNames_2: + switchTitleNames_3: + switchTitleNames_4: + switchTitleNames_5: + switchTitleNames_6: + switchTitleNames_7: + switchTitleNames_8: + switchTitleNames_9: + switchTitleNames_10: + switchTitleNames_11: + switchTitleNames_12: + switchTitleNames_13: + switchTitleNames_14: + switchPublisherNames_0: + switchPublisherNames_1: + switchPublisherNames_2: + switchPublisherNames_3: + switchPublisherNames_4: + switchPublisherNames_5: + switchPublisherNames_6: + switchPublisherNames_7: + switchPublisherNames_8: + switchPublisherNames_9: + switchPublisherNames_10: + switchPublisherNames_11: + switchPublisherNames_12: + switchPublisherNames_13: + switchPublisherNames_14: + switchIcons_0: {fileID: 0} + switchIcons_1: {fileID: 0} + switchIcons_2: {fileID: 0} + switchIcons_3: {fileID: 0} + switchIcons_4: {fileID: 0} + switchIcons_5: {fileID: 0} + switchIcons_6: {fileID: 0} + switchIcons_7: {fileID: 0} + switchIcons_8: {fileID: 0} + switchIcons_9: {fileID: 0} + switchIcons_10: {fileID: 0} + switchIcons_11: {fileID: 0} + switchIcons_12: {fileID: 0} + switchIcons_13: {fileID: 0} + switchIcons_14: {fileID: 0} + switchSmallIcons_0: {fileID: 0} + switchSmallIcons_1: {fileID: 0} + switchSmallIcons_2: {fileID: 0} + switchSmallIcons_3: {fileID: 0} + switchSmallIcons_4: {fileID: 0} + switchSmallIcons_5: {fileID: 0} + switchSmallIcons_6: {fileID: 0} + switchSmallIcons_7: {fileID: 0} + switchSmallIcons_8: {fileID: 0} + switchSmallIcons_9: {fileID: 0} + switchSmallIcons_10: {fileID: 0} + switchSmallIcons_11: {fileID: 0} + switchSmallIcons_12: {fileID: 0} + switchSmallIcons_13: {fileID: 0} + switchSmallIcons_14: {fileID: 0} + switchManualHTML: + switchAccessibleURLs: + switchLegalInformation: + switchMainThreadStackSize: 1048576 + switchPresenceGroupId: + switchLogoHandling: 0 + switchReleaseVersion: 0 + switchDisplayVersion: 1.0.0 + switchStartupUserAccount: 0 + switchTouchScreenUsage: 0 + switchSupportedLanguagesMask: 0 + switchLogoType: 0 + switchApplicationErrorCodeCategory: + switchUserAccountSaveDataSize: 0 + switchUserAccountSaveDataJournalSize: 0 + switchApplicationAttribute: 0 + switchCardSpecSize: -1 + switchCardSpecClock: -1 + switchRatingsMask: 0 + switchRatingsInt_0: 0 + switchRatingsInt_1: 0 + switchRatingsInt_2: 0 + switchRatingsInt_3: 0 + switchRatingsInt_4: 0 + switchRatingsInt_5: 0 + switchRatingsInt_6: 0 + switchRatingsInt_7: 0 + switchRatingsInt_8: 0 + switchRatingsInt_9: 0 + switchRatingsInt_10: 0 + switchRatingsInt_11: 0 + switchLocalCommunicationIds_0: + switchLocalCommunicationIds_1: + switchLocalCommunicationIds_2: + switchLocalCommunicationIds_3: + switchLocalCommunicationIds_4: + switchLocalCommunicationIds_5: + switchLocalCommunicationIds_6: + switchLocalCommunicationIds_7: + switchParentalControl: 0 + switchAllowsScreenshot: 1 + switchAllowsVideoCapturing: 1 + switchAllowsRuntimeAddOnContentInstall: 0 + switchDataLossConfirmation: 0 + switchSupportedNpadStyles: 3 + switchSocketConfigEnabled: 0 + switchTcpInitialSendBufferSize: 32 + switchTcpInitialReceiveBufferSize: 64 + switchTcpAutoSendBufferSizeMax: 256 + switchTcpAutoReceiveBufferSizeMax: 256 + switchUdpSendBufferSize: 9 + switchUdpReceiveBufferSize: 42 + switchSocketBufferEfficiency: 4 + switchSocketInitializeEnabled: 1 + switchNetworkInterfaceManagerInitializeEnabled: 1 + switchPlayerConnectionEnabled: 1 + ps4NPAgeRating: 12 + ps4NPTitleSecret: + ps4NPTrophyPackPath: + ps4ParentalLevel: 11 + ps4ContentID: ED1633-NPXX51362_00-0000000000000000 + ps4Category: 0 + ps4MasterVersion: 01.00 + ps4AppVersion: 01.00 + ps4AppType: 0 + ps4ParamSfxPath: + ps4VideoOutPixelFormat: 0 + ps4VideoOutInitialWidth: 1920 + ps4VideoOutBaseModeInitialWidth: 1920 + ps4VideoOutReprojectionRate: 60 + ps4PronunciationXMLPath: + ps4PronunciationSIGPath: + ps4BackgroundImagePath: + ps4StartupImagePath: + ps4StartupImagesFolder: + ps4IconImagesFolder: + ps4SaveDataImagePath: + ps4SdkOverride: + ps4BGMPath: + ps4ShareFilePath: + ps4ShareOverlayImagePath: + ps4PrivacyGuardImagePath: + ps4NPtitleDatPath: + ps4RemotePlayKeyAssignment: -1 + ps4RemotePlayKeyMappingDir: + ps4PlayTogetherPlayerCount: 0 + ps4EnterButtonAssignment: 1 + ps4ApplicationParam1: 0 + ps4ApplicationParam2: 0 + ps4ApplicationParam3: 0 + ps4ApplicationParam4: 0 + ps4DownloadDataSize: 0 + ps4GarlicHeapSize: 2048 + ps4ProGarlicHeapSize: 2560 + ps4Passcode: frAQBc8Wsa1xVPfvJcrgRYwTiizs2trQ + ps4pnSessions: 1 + ps4pnPresence: 1 + ps4pnFriends: 1 + ps4pnGameCustomData: 1 + playerPrefsSupport: 0 + restrictedAudioUsageRights: 0 + ps4UseResolutionFallback: 0 + ps4ReprojectionSupport: 0 + ps4UseAudio3dBackend: 0 + ps4SocialScreenEnabled: 0 + ps4ScriptOptimizationLevel: 0 + ps4Audio3dVirtualSpeakerCount: 14 + ps4attribCpuUsage: 0 + ps4PatchPkgPath: + ps4PatchLatestPkgPath: + ps4PatchChangeinfoPath: + ps4PatchDayOne: 0 + ps4attribUserManagement: 0 + ps4attribMoveSupport: 0 + ps4attrib3DSupport: 0 + ps4attribShareSupport: 0 + ps4attribExclusiveVR: 0 + ps4disableAutoHideSplash: 0 + ps4videoRecordingFeaturesUsed: 0 + ps4contentSearchFeaturesUsed: 0 + ps4attribEyeToEyeDistanceSettingVR: 0 + ps4IncludedModules: [] + monoEnv: + psp2Splashimage: {fileID: 0} + psp2NPTrophyPackPath: + psp2NPSupportGBMorGJP: 0 + psp2NPAgeRating: 12 + psp2NPTitleDatPath: + psp2NPCommsID: + psp2NPCommunicationsID: + psp2NPCommsPassphrase: + psp2NPCommsSig: + psp2ParamSfxPath: + psp2ManualPath: + psp2LiveAreaGatePath: + psp2LiveAreaBackroundPath: + psp2LiveAreaPath: + psp2LiveAreaTrialPath: + psp2PatchChangeInfoPath: + psp2PatchOriginalPackage: + psp2PackagePassword: F69AzBlax3CF3EDNhm3soLBPh71Yexui + psp2KeystoneFile: + psp2MemoryExpansionMode: 0 + psp2DRMType: 0 + psp2StorageType: 0 + psp2MediaCapacity: 0 + psp2DLCConfigPath: + psp2ThumbnailPath: + psp2BackgroundPath: + psp2SoundPath: + psp2TrophyCommId: + psp2TrophyPackagePath: + psp2PackagedResourcesPath: + psp2SaveDataQuota: 10240 + psp2ParentalLevel: 1 + psp2ShortTitle: Not Set + psp2ContentID: IV0000-ABCD12345_00-0123456789ABCDEF + psp2Category: 0 + psp2MasterVersion: 01.00 + psp2AppVersion: 01.00 + psp2TVBootMode: 0 + psp2EnterButtonAssignment: 2 + psp2TVDisableEmu: 0 + psp2AllowTwitterDialog: 1 + psp2Upgradable: 0 + psp2HealthWarning: 0 + psp2UseLibLocation: 0 + psp2InfoBarOnStartup: 0 + psp2InfoBarColor: 0 + psp2ScriptOptimizationLevel: 0 + psmSplashimage: {fileID: 0} + splashScreenBackgroundSourceLandscape: {fileID: 0} + splashScreenBackgroundSourcePortrait: {fileID: 0} + spritePackerPolicy: + webGLMemorySize: 256 + webGLExceptionSupport: 1 + webGLNameFilesAsHashes: 0 + webGLDataCaching: 0 + webGLDebugSymbols: 0 + webGLEmscriptenArgs: + webGLModulesDirectory: + webGLTemplate: APPLICATION:Default + webGLAnalyzeBuildSize: 0 + webGLUseEmbeddedResources: 0 + webGLUseWasm: 0 + webGLCompressionFormat: 1 + scriptingDefineSymbols: {} + platformArchitecture: {} + scriptingBackend: {} + incrementalIl2cppBuild: {} + additionalIl2CppArgs: + scriptingRuntimeVersion: 0 + apiCompatibilityLevelPerPlatform: {} + m_RenderingPath: 1 + m_MobileRenderingPath: 1 + metroPackageName: ProtoPromise_Unity + metroPackageVersion: + metroCertificatePath: + metroCertificatePassword: + metroCertificateSubject: + metroCertificateIssuer: + metroCertificateNotAfter: 0000000000000000 + metroApplicationDescription: ProtoPromise_Unity + wsaImages: {} + metroTileShortName: + metroCommandLineArgsFile: + metroTileShowName: 0 + metroMediumTileShowName: 0 + metroLargeTileShowName: 0 + metroWideTileShowName: 0 + metroDefaultTileSize: 1 + metroTileForegroundText: 2 + metroTileBackgroundColor: {r: 0.13333334, g: 0.17254902, b: 0.21568628, a: 0} + metroSplashScreenBackgroundColor: {r: 0.12941177, g: 0.17254902, b: 0.21568628, + a: 1} + metroSplashScreenUseBackgroundColor: 0 + platformCapabilities: {} + metroFTAName: + metroFTAFileTypes: [] + metroProtocolName: + metroCompilationOverrides: 1 + tizenProductDescription: + tizenProductURL: + tizenSigningProfileName: + tizenGPSPermissions: 0 + tizenMicrophonePermissions: 0 + tizenDeploymentTarget: + tizenDeploymentTargetType: -1 + tizenMinOSVersion: 1 + n3dsUseExtSaveData: 0 + n3dsCompressStaticMem: 1 + n3dsExtSaveDataNumber: 0x12345 + n3dsStackSize: 131072 + n3dsTargetPlatform: 2 + n3dsRegion: 7 + n3dsMediaSize: 0 + n3dsLogoStyle: 3 + n3dsTitle: GameName + n3dsProductCode: + n3dsApplicationId: 0xFF3FF + XboxOneProductId: + XboxOneUpdateKey: + XboxOneSandboxId: + XboxOneContentId: + XboxOneTitleId: + XboxOneSCId: + XboxOneGameOsOverridePath: + XboxOnePackagingOverridePath: + XboxOneAppManifestOverridePath: + XboxOnePackageEncryption: 0 + XboxOnePackageUpdateGranularity: 2 + XboxOneDescription: + XboxOneLanguage: + - enus + XboxOneCapability: [] + XboxOneGameRating: {} + XboxOneIsContentPackage: 0 + XboxOneEnableGPUVariability: 0 + XboxOneSockets: {} + XboxOneSplashScreen: {fileID: 0} + XboxOneAllowedProductIds: [] + XboxOnePersistentLocalStorageSize: 0 + XboxOneXTitleMemory: 8 + xboxOneScriptCompiler: 0 + vrEditorSettings: + daydream: + daydreamIconForeground: {fileID: 0} + daydreamIconBackground: {fileID: 0} + cloudServicesEnabled: {} + facebookSdkVersion: 7.9.4 + apiCompatibilityLevel: 3 + cloudProjectId: + projectName: + organizationId: + cloudEnabled: 0 + enableNativePlatformBackendsForNewInputSystem: 0 + disableOldInputManagerSupport: 0 diff --git a/ProtoPromise_Unity/ProjectSettings/ProjectVersion.txt b/ProtoPromise_Unity/ProjectSettings/ProjectVersion.txt new file mode 100644 index 00000000..e3618f13 --- /dev/null +++ b/ProtoPromise_Unity/ProjectSettings/ProjectVersion.txt @@ -0,0 +1 @@ +m_EditorVersion: 2017.4.1f1 diff --git a/ProtoPromise_Unity/ProjectSettings/QualitySettings.asset b/ProtoPromise_Unity/ProjectSettings/QualitySettings.asset new file mode 100644 index 00000000..05daac3c --- /dev/null +++ b/ProtoPromise_Unity/ProjectSettings/QualitySettings.asset @@ -0,0 +1,191 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!47 &1 +QualitySettings: + m_ObjectHideFlags: 0 + serializedVersion: 5 + m_CurrentQuality: 5 + m_QualitySettings: + - serializedVersion: 2 + name: Very Low + pixelLightCount: 0 + shadows: 0 + shadowResolution: 0 + shadowProjection: 1 + shadowCascades: 1 + shadowDistance: 15 + shadowNearPlaneOffset: 3 + shadowCascade2Split: 0.33333334 + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} + shadowmaskMode: 0 + blendWeights: 1 + textureQuality: 1 + anisotropicTextures: 0 + antiAliasing: 0 + softParticles: 0 + softVegetation: 0 + realtimeReflectionProbes: 0 + billboardsFaceCameraPosition: 0 + vSyncCount: 0 + lodBias: 0.3 + maximumLODLevel: 0 + particleRaycastBudget: 4 + asyncUploadTimeSlice: 2 + asyncUploadBufferSize: 4 + resolutionScalingFixedDPIFactor: 1 + excludedTargetPlatforms: [] + - serializedVersion: 2 + name: Low + pixelLightCount: 0 + shadows: 0 + shadowResolution: 0 + shadowProjection: 1 + shadowCascades: 1 + shadowDistance: 20 + shadowNearPlaneOffset: 3 + shadowCascade2Split: 0.33333334 + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} + shadowmaskMode: 0 + blendWeights: 2 + textureQuality: 0 + anisotropicTextures: 0 + antiAliasing: 0 + softParticles: 0 + softVegetation: 0 + realtimeReflectionProbes: 0 + billboardsFaceCameraPosition: 0 + vSyncCount: 0 + lodBias: 0.4 + maximumLODLevel: 0 + particleRaycastBudget: 16 + asyncUploadTimeSlice: 2 + asyncUploadBufferSize: 4 + resolutionScalingFixedDPIFactor: 1 + excludedTargetPlatforms: [] + - serializedVersion: 2 + name: Medium + pixelLightCount: 1 + shadows: 1 + shadowResolution: 0 + shadowProjection: 1 + shadowCascades: 1 + shadowDistance: 20 + shadowNearPlaneOffset: 3 + shadowCascade2Split: 0.33333334 + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} + shadowmaskMode: 0 + blendWeights: 2 + textureQuality: 0 + anisotropicTextures: 1 + antiAliasing: 0 + softParticles: 0 + softVegetation: 0 + realtimeReflectionProbes: 0 + billboardsFaceCameraPosition: 0 + vSyncCount: 1 + lodBias: 0.7 + maximumLODLevel: 0 + particleRaycastBudget: 64 + asyncUploadTimeSlice: 2 + asyncUploadBufferSize: 4 + resolutionScalingFixedDPIFactor: 1 + excludedTargetPlatforms: [] + - serializedVersion: 2 + name: High + pixelLightCount: 2 + shadows: 2 + shadowResolution: 1 + shadowProjection: 1 + shadowCascades: 2 + shadowDistance: 40 + shadowNearPlaneOffset: 3 + shadowCascade2Split: 0.33333334 + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} + shadowmaskMode: 1 + blendWeights: 2 + textureQuality: 0 + anisotropicTextures: 1 + antiAliasing: 0 + softParticles: 0 + softVegetation: 1 + realtimeReflectionProbes: 1 + billboardsFaceCameraPosition: 1 + vSyncCount: 1 + lodBias: 1 + maximumLODLevel: 0 + particleRaycastBudget: 256 + asyncUploadTimeSlice: 2 + asyncUploadBufferSize: 4 + resolutionScalingFixedDPIFactor: 1 + excludedTargetPlatforms: [] + - serializedVersion: 2 + name: Very High + pixelLightCount: 3 + shadows: 2 + shadowResolution: 2 + shadowProjection: 1 + shadowCascades: 2 + shadowDistance: 70 + shadowNearPlaneOffset: 3 + shadowCascade2Split: 0.33333334 + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} + shadowmaskMode: 1 + blendWeights: 4 + textureQuality: 0 + anisotropicTextures: 2 + antiAliasing: 2 + softParticles: 1 + softVegetation: 1 + realtimeReflectionProbes: 1 + billboardsFaceCameraPosition: 1 + vSyncCount: 1 + lodBias: 1.5 + maximumLODLevel: 0 + particleRaycastBudget: 1024 + asyncUploadTimeSlice: 2 + asyncUploadBufferSize: 4 + resolutionScalingFixedDPIFactor: 1 + excludedTargetPlatforms: [] + - serializedVersion: 2 + name: Ultra + pixelLightCount: 4 + shadows: 2 + shadowResolution: 2 + shadowProjection: 1 + shadowCascades: 4 + shadowDistance: 150 + shadowNearPlaneOffset: 3 + shadowCascade2Split: 0.33333334 + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} + shadowmaskMode: 1 + blendWeights: 4 + textureQuality: 0 + anisotropicTextures: 2 + antiAliasing: 2 + softParticles: 1 + softVegetation: 1 + realtimeReflectionProbes: 1 + billboardsFaceCameraPosition: 1 + vSyncCount: 1 + lodBias: 2 + maximumLODLevel: 0 + particleRaycastBudget: 4096 + asyncUploadTimeSlice: 2 + asyncUploadBufferSize: 4 + resolutionScalingFixedDPIFactor: 1 + excludedTargetPlatforms: [] + m_PerPlatformDefaultQuality: + Android: 2 + Nintendo 3DS: 5 + Nintendo Switch: 5 + PS4: 5 + PSM: 5 + PSP2: 2 + Standalone: 5 + Tizen: 2 + WebGL: 3 + WiiU: 5 + Windows Store Apps: 5 + XboxOne: 5 + iPhone: 2 + tvOS: 2 diff --git a/ProtoPromise_Unity/ProjectSettings/TagManager.asset b/ProtoPromise_Unity/ProjectSettings/TagManager.asset new file mode 100644 index 00000000..1c92a784 --- /dev/null +++ b/ProtoPromise_Unity/ProjectSettings/TagManager.asset @@ -0,0 +1,43 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!78 &1 +TagManager: + serializedVersion: 2 + tags: [] + layers: + - Default + - TransparentFX + - Ignore Raycast + - + - Water + - UI + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + m_SortingLayers: + - name: Default + uniqueID: 0 + locked: 0 diff --git a/ProtoPromise_Unity/ProjectSettings/TimeManager.asset b/ProtoPromise_Unity/ProjectSettings/TimeManager.asset new file mode 100644 index 00000000..558a017e --- /dev/null +++ b/ProtoPromise_Unity/ProjectSettings/TimeManager.asset @@ -0,0 +1,9 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!5 &1 +TimeManager: + m_ObjectHideFlags: 0 + Fixed Timestep: 0.02 + Maximum Allowed Timestep: 0.33333334 + m_TimeScale: 1 + Maximum Particle Timestep: 0.03 diff --git a/ProtoPromise_Unity/ProjectSettings/UnityConnectSettings.asset b/ProtoPromise_Unity/ProjectSettings/UnityConnectSettings.asset new file mode 100644 index 00000000..3da14d5b --- /dev/null +++ b/ProtoPromise_Unity/ProjectSettings/UnityConnectSettings.asset @@ -0,0 +1,34 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!310 &1 +UnityConnectSettings: + m_ObjectHideFlags: 0 + m_Enabled: 0 + m_TestMode: 0 + m_TestEventUrl: + m_TestConfigUrl: + m_TestInitMode: 0 + CrashReportingSettings: + m_EventUrl: https://perf-events.cloud.unity3d.com/api/events/crashes + m_NativeEventUrl: https://perf-events.cloud.unity3d.com/symbolicate + m_Enabled: 0 + m_CaptureEditorExceptions: 1 + UnityPurchasingSettings: + m_Enabled: 0 + m_TestMode: 0 + UnityAnalyticsSettings: + m_Enabled: 0 + m_InitializeOnStartup: 1 + m_TestMode: 0 + m_TestEventUrl: + m_TestConfigUrl: + UnityAdsSettings: + m_Enabled: 0 + m_InitializeOnStartup: 1 + m_TestMode: 0 + m_IosGameId: + m_AndroidGameId: + m_GameIds: {} + m_GameId: + PerformanceReportingSettings: + m_Enabled: 0 diff --git a/ProtoPromise_Unity/UnityPackageManager/manifest.json b/ProtoPromise_Unity/UnityPackageManager/manifest.json new file mode 100644 index 00000000..526aca60 --- /dev/null +++ b/ProtoPromise_Unity/UnityPackageManager/manifest.json @@ -0,0 +1,4 @@ +{ + "dependencies": { + } +} diff --git a/README.md b/README.md index 6ed27911..7d3b58c3 100644 --- a/README.md +++ b/README.md @@ -3,27 +3,29 @@ Promises/A+ logo -Promise library for C# for management of asynchronous operations. +Most efficient C# library for management of asynchronous operations. -This library is fully interoperable with C#'s `Task`s and Unity's Coroutines. +ProtoPromise took inspiration from [ES6 Promises](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) (javascript), [RSG Promises](https://github.com/Real-Serious-Games/C-Sharp-Promise) (C#), [uPromise](https://assetstore.unity.com/packages/tools/upromise-15604) (C#/Unity), and [TPL](https://docs.microsoft.com/en-us/dotnet/standard/parallel-programming/task-parallel-library-tpl) and improved upon their short-comings. -Made with Unity 3D in mind, but will work for any C# application with a slight modification. +This library conforms to the [Promises/A+ Spec](https://promisesaplus.com/) as far as is possible with C# (using static typing instead of dynamic), and further extends it to support Cancelations and Progress. It also is fully interoperable with C#'s `Task`s and Unity's Coroutines. -This library took inspiration from ES6 Promises (javascript), RSG Promises (C#), and uPromise (C#/Unity) and improved upon their short-comings. +Also check out the [C# Asynchronous Benchmarks](https://github.com/timcassell/CSharpAsynchronousBenchmarks) project! ## Latest Updates -### v 0.11.0 +### v 1.0.0 -- Added object pooling for allocation-free `async Promise` functions. -- Fixed causality traces in async Promise functions. -- Fixed aggregate exception not capturing the unhandled exceptions. - -See Release Notes for detailed changes. +- Fixed PromiseMethodBuilders in non-IL2CPP builds when the TStateMachine is a struct. +- Fixed various progress bugs. +- Fixed CancelationToken.Equals(object). +- Added thread checks to make sure the library is only used with one thread (in DEBUG mode only). +- Removed class restriction on PromiseYielder.WaitFor (since there are some structs that can be yielded in Coroutines, like `AsyncOperationHandle`s). ## Contents -- [Promises/A+ Spec](#promisesa-spec) +- [Getting Started](#getting-started) + - [Unity](#unity) + - [DotNet and Mono](#dotnet-and-mono) - [Creating a Promise for an Async Operation](#creating-a-promise-for-an-async-operation) - [Creating a Promise, Alternate Method](#creating-a-promise-alternate-method) - [Waiting for an Async Operation to Complete](#waiting-for-an-async-operation-to-complete) @@ -66,8 +68,30 @@ See Promises/A+ Spec as far as is possible with C# (using static typing instead of dynamic), and further extends it to support Cancelations and Progress. +## Getting Started + +### Unity + +1. Go to the latest [release](https://github.com/timcassell/ProtoPromise/releases) and download the unitypackage. +2. Import the unitypackage into your Unity project. +3. Continue to [Creating a Promise for an Async Operation](#creating-a-promise-for-an-async-operation). + +### DotNet and Mono + +1. Go to the latest [release](https://github.com/timcassell/ProtoPromise/releases) and download the source code. +2. Extract the source code from the zip. +3. Now you have 2 options: + A. Use dll + 1. Open the ProtoPromise.sln in Visual Studio 2019 or later. + 2. Select the configuration you want (Release/Debug With(out) Progress). + 3. Build the solution. + 4. Select the dll you want to use under `Runtime/bin` and use that in your own project. + B. Use source code + 1. (optional) Place the entire `Runtime` folder in your project directory. + 2. Add the `ProtoPromise.csproj` project reference to your solution (Visual Studio). + 3. Set the compiler symbol `PROTO_PROMISE_PROGRESS_DISABLE` if you want to disable progress. +4. When you have the ProtoPromise assembly referenced in your project, once per frame (or application update loop), call `Proto.Promises.Promise.Manager.HandleCompletesAndProgress()`, ideally as the last thing before the frame is rendered (or the update loop starts over). This should only be done on the UI/main thread. +5. Continue to [Creating a Promise for an Async Operation](#creating-a-promise-for-an-async-operation). ## Creating a Promise for an Async Operation @@ -738,4 +762,4 @@ IEnumerator GetAndAssignTexture(Image image, string url) image.sprite = sprite; } } -``` +``` \ No newline at end of file diff --git a/README.md.meta b/README.md.meta deleted file mode 100644 index 01bda004..00000000 --- a/README.md.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 82a8b00fd1a624e27a08843c7856d939 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/ReleaseNotes.md b/ReleaseNotes.md index e8df1c25..26dc4572 100644 --- a/ReleaseNotes.md +++ b/ReleaseNotes.md @@ -1,5 +1,29 @@ # Release Notes +## v 1.0.0 - October 29, 2020 + +Directory Structure: + +- Changed the structure of the folders in the repository so as to allow .Net Core/Standard library solution to sit side-by-side with the Unity solution, attempting to minimize toes stepped on. +- Added a Unity project with Unity version 2017.4.1 (the earliest the Asset Store Tools supports). + +Bug Fixes: + +- Fixed PromiseMethodBuilders in non-IL2CPP builds when the TStateMachine is a struct. +- Fixed a Promise.Progress callback subscribed to a promise chain where the chain is broken by a cancelation token and continued with Promise.ContinueWith reports incorrect progress (introduced in v 0.9 with Promise.ContinueWith). +- Fixed progress subscribed to a promise that was created from a deferred with a cancelation token. +- Fixed various progress bugs with multi promises (All/Merge/Race/First). +- Fixed CancelationToken.Equals(object). + +Behavior changes: + +- Added thread checks to make sure the library is only used with one thread (in DEBUG mode only). + +Misc: + +- Added a temporary optimization in Promise.HandleBranches until background tasks are added. +- Removed class restriction on PromiseYielder.WaitFor (since there are some structs that can be yielded in Coroutines, like `AsyncOperationHandle`s). + ## v 0.11.0 - September 30, 2020 Optimizations: diff --git a/ReleaseNotes.md.meta b/ReleaseNotes.md.meta deleted file mode 100644 index 301ccc3d..00000000 --- a/ReleaseNotes.md.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 425821e4a7b9f4d9298e90ed426e2b16 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Runtime/ProtoPromise.csproj b/Runtime/ProtoPromise.csproj new file mode 100644 index 00000000..f733cce7 --- /dev/null +++ b/Runtime/ProtoPromise.csproj @@ -0,0 +1,43 @@ + + + + netcoreapp3.1;netstandard2.1;netstandard2.0 + ProtoPromise + Debug With Progress;Release Without Progress;Release With Progress;Debug Without Progress + + + + CSHARP_7_3_OR_NEWER;CSHARP_7_OR_LATER + + + + CSHARP_7_3_OR_NEWER;CSHARP_7_OR_LATER;PROTO_PROMISE_PROGRESS_DISABLE + + + + DEBUG;CSHARP_7_3_OR_NEWER;CSHARP_7_OR_LATER + + + + DEBUG;CSHARP_7_3_OR_NEWER;CSHARP_7_OR_LATER;PROTO_PROMISE_PROGRESS_DISABLE + + + + + + + + + + + + + + + + + + + + + diff --git a/Cancelations/CancelationRegistration.cs b/Runtime/ProtoPromise/Cancelations/CancelationRegistration.cs similarity index 100% rename from Cancelations/CancelationRegistration.cs rename to Runtime/ProtoPromise/Cancelations/CancelationRegistration.cs diff --git a/Cancelations/CancelationSource.cs b/Runtime/ProtoPromise/Cancelations/CancelationSource.cs similarity index 100% rename from Cancelations/CancelationSource.cs rename to Runtime/ProtoPromise/Cancelations/CancelationSource.cs diff --git a/Cancelations/CancelationToken.cs b/Runtime/ProtoPromise/Cancelations/CancelationToken.cs similarity index 100% rename from Cancelations/CancelationToken.cs rename to Runtime/ProtoPromise/Cancelations/CancelationToken.cs diff --git a/InternalShared/CancelDelegateWrappersInternal.cs b/Runtime/ProtoPromise/InternalShared/CancelDelegateWrappersInternal.cs similarity index 100% rename from InternalShared/CancelDelegateWrappersInternal.cs rename to Runtime/ProtoPromise/InternalShared/CancelDelegateWrappersInternal.cs diff --git a/InternalShared/ExceptionsInternal.cs b/Runtime/ProtoPromise/InternalShared/ExceptionsInternal.cs similarity index 100% rename from InternalShared/ExceptionsInternal.cs rename to Runtime/ProtoPromise/InternalShared/ExceptionsInternal.cs diff --git a/InternalShared/HelperFunctionsInternal.cs b/Runtime/ProtoPromise/InternalShared/HelperFunctionsInternal.cs similarity index 100% rename from InternalShared/HelperFunctionsInternal.cs rename to Runtime/ProtoPromise/InternalShared/HelperFunctionsInternal.cs diff --git a/InternalShared/HelperTypesInternal.cs b/Runtime/ProtoPromise/InternalShared/HelperTypesInternal.cs similarity index 100% rename from InternalShared/HelperTypesInternal.cs rename to Runtime/ProtoPromise/InternalShared/HelperTypesInternal.cs diff --git a/InternalShared/InterfacesInternal.cs b/Runtime/ProtoPromise/InternalShared/InterfacesInternal.cs similarity index 100% rename from InternalShared/InterfacesInternal.cs rename to Runtime/ProtoPromise/InternalShared/InterfacesInternal.cs diff --git a/InternalShared/ValueContainersInternal.cs b/Runtime/ProtoPromise/InternalShared/ValueContainersInternal.cs similarity index 100% rename from InternalShared/ValueContainersInternal.cs rename to Runtime/ProtoPromise/InternalShared/ValueContainersInternal.cs diff --git a/Promises/Config.cs b/Runtime/ProtoPromise/Promises/Config.cs similarity index 100% rename from Promises/Config.cs rename to Runtime/ProtoPromise/Promises/Config.cs diff --git a/Promises/Deferred.cs b/Runtime/ProtoPromise/Promises/Deferred.cs similarity index 100% rename from Promises/Deferred.cs rename to Runtime/ProtoPromise/Promises/Deferred.cs diff --git a/Runtime/ProtoPromise/Promises/Exceptions.cs b/Runtime/ProtoPromise/Promises/Exceptions.cs new file mode 100644 index 00000000..8409cc8f --- /dev/null +++ b/Runtime/ProtoPromise/Promises/Exceptions.cs @@ -0,0 +1,258 @@ +#if PROTO_PROMISE_DEBUG_ENABLE || (!PROTO_PROMISE_DEBUG_DISABLE && DEBUG) +#define PROMISE_DEBUG +#else +#undef PROMISE_DEBUG +#endif + +#pragma warning disable IDE0034 // Simplify 'default' expression + +using System; +using System.Diagnostics; + +namespace Proto.Promises +{ +#if !PROTO_PROMISE_DEVELOPER_MODE + [DebuggerNonUserCode] +#endif + public class InvalidOperationException : System.InvalidOperationException + { + public InvalidOperationException(string message, string stackTrace = null) : base(message) + { + _stackTrace = stackTrace; + } + + private readonly string _stackTrace; + public override string StackTrace { get { return _stackTrace ?? base.StackTrace; } } + } + +#if !PROTO_PROMISE_DEVELOPER_MODE + [DebuggerNonUserCode] +#endif + public class EmptyArgumentException : ArgumentException + { + public EmptyArgumentException(string paramName, string message, string stackTrace = null) : base(message, paramName) + { + _stackTrace = stackTrace; + } + + private readonly string _stackTrace; + public override string StackTrace { get { return _stackTrace ?? base.StackTrace; } } + } + +#if !PROTO_PROMISE_DEVELOPER_MODE + [DebuggerNonUserCode] +#endif + public class ArgumentNullException : System.ArgumentNullException + { + public ArgumentNullException(string paramName, string message, string stackTrace = null) : base(paramName, message) + { + _stackTrace = stackTrace; + } + + private readonly string _stackTrace; + public override string StackTrace { get { return _stackTrace ?? base.StackTrace; } } + } + +#if !PROTO_PROMISE_DEVELOPER_MODE + [DebuggerNonUserCode] +#endif + public class ArgumentOutOfRangeException : System.ArgumentOutOfRangeException + { + public ArgumentOutOfRangeException(string paramName, string message, string stackTrace = null) : base(paramName, message) + { + _stackTrace = stackTrace; + } + + public ArgumentOutOfRangeException(string paramName, object actualValue, string message, string stackTrace = null) : base(paramName, actualValue, message) + { + _stackTrace = stackTrace; + } + + private readonly string _stackTrace; + public override string StackTrace { get { return _stackTrace ?? base.StackTrace; } } + } + +#if !PROTO_PROMISE_DEVELOPER_MODE + [DebuggerNonUserCode] +#endif + public class ElementNullException : System.ArgumentNullException + { + public ElementNullException(string paramName, string message, string stackTrace = null) : base(paramName, message) + { + _stackTrace = stackTrace; + } + + private readonly string _stackTrace; + public override string StackTrace { get { return _stackTrace ?? base.StackTrace; } } + } + +#if !PROTO_PROMISE_DEVELOPER_MODE + [DebuggerNonUserCode] +#endif + public class PromiseDisposedException : ObjectDisposedException + { + public PromiseDisposedException(string message, string stackTrace = null) : base(message, default(Exception)) + { + _stackTrace = stackTrace; + } + + private readonly string _stackTrace; + public override string StackTrace { get { return _stackTrace ?? base.StackTrace; } } + } + +#if !PROTO_PROMISE_DEVELOPER_MODE + [DebuggerNonUserCode] +#endif + public class InvalidReturnException : System.InvalidOperationException + { + public InvalidReturnException(string message, string stackTrace = null, Exception innerException = null) : base(message, innerException) + { + _stackTrace = stackTrace; + } + + private readonly string _stackTrace; + public override string StackTrace { get { return _stackTrace ?? base.StackTrace; } } + } + +#if !PROTO_PROMISE_DEVELOPER_MODE + [DebuggerNonUserCode] +#endif + public class UnhandledDeferredException : Exception + { + public static readonly UnhandledDeferredException instance = + new UnhandledDeferredException("A Deferred object was garbage collected that was not handled. You must Resolve, Reject, or Cancel all Deferred objects."); + + private UnhandledDeferredException(string message) : base(message) { } + } + +#if !PROTO_PROMISE_DEVELOPER_MODE + [DebuggerNonUserCode] +#endif + public class UnreleasedObjectException : Exception + { + public UnreleasedObjectException(string message) : base(message) { } + } + + + /// + /// Exception that is thrown if a promise is rejected and that rejection is never handled. + /// +#if !PROTO_PROMISE_DEVELOPER_MODE + [DebuggerNonUserCode] +#endif + public abstract class UnhandledException : Exception + { + private readonly object _value; + private readonly Type _type; + private readonly string _stackTrace; + + internal UnhandledException(object value, Type valueType, string message, string stackTrace, Exception innerException) : base(message, innerException) + { + _value = value; + _type = valueType; + _stackTrace = stackTrace; + } + + public override string StackTrace { get { return _stackTrace ?? base.StackTrace; } } + + public Type ValueType { get { return _type; } } + + public object Value { get { return _value; } } + + public bool TryGetValueAs(out T value) + { + if (typeof(T).IsAssignableFrom(_type)) + { + value = (T) _value; + return true; + } + value = default(T); + return false; + } + } + + /// + /// Exception that is thrown if an awaited promise is canceled. + /// +#if !PROTO_PROMISE_DEVELOPER_MODE + [DebuggerNonUserCode] +#endif + public abstract class CanceledException : OperationCanceledException + { + private readonly object _value; + private readonly Type _type; + + internal CanceledException(object value, Type valueType, string message) : base(message) + { + _value = value; + _type = valueType; + } + + public Type ValueType { get { return _type; } } + + public object Value { get { return _value; } } + + public bool TryGetValueAs(out T value) + { + if (typeof(T).IsAssignableFrom(_type)) + { + value = (T) _value; + return true; + } + value = default(T); + return false; + } + } + + + /// + /// Special Exception that is used to rethrow a rejection from a Promise onRejected callback. + /// +#if !PROTO_PROMISE_DEVELOPER_MODE + [DebuggerNonUserCode] +#endif + public sealed class RethrowException : Exception + { + internal static readonly RethrowException instance = new RethrowException(); + + private RethrowException() { } + } + + /// + /// Special Exception that is used to reject a Promise from an onResolved or onRejected callback. + /// +#if !PROTO_PROMISE_DEVELOPER_MODE + [DebuggerNonUserCode] +#endif + public abstract class RejectException : Exception + { + internal RejectException() { } + + public override string Message + { + get + { + return "This is used to reject a Promise from an onResolved or onRejected handler."; + } + } + } + + /// + /// Special Exception that is used to cancel a Promise from an onResolved or onRejected callback. + /// +#if !PROTO_PROMISE_DEVELOPER_MODE + [DebuggerNonUserCode] +#endif + public abstract class CancelException : OperationCanceledException + { + internal CancelException() { } + + public override string Message + { + get + { + return "This is used to cancel a Promise from an onResolved or onRejected handler."; + } + } + } +} \ No newline at end of file diff --git a/Promises/Extensions.cs b/Runtime/ProtoPromise/Promises/Extensions.cs similarity index 100% rename from Promises/Extensions.cs rename to Runtime/ProtoPromise/Promises/Extensions.cs diff --git a/Promises/Internal/AllInternal.cs b/Runtime/ProtoPromise/Promises/Internal/AllInternal.cs similarity index 100% rename from Promises/Internal/AllInternal.cs rename to Runtime/ProtoPromise/Promises/Internal/AllInternal.cs diff --git a/Promises/Internal/AsyncAwaitInternal.cs b/Runtime/ProtoPromise/Promises/Internal/AsyncAwaitInternal.cs similarity index 99% rename from Promises/Internal/AsyncAwaitInternal.cs rename to Runtime/ProtoPromise/Promises/Internal/AsyncAwaitInternal.cs index 2171ce99..b9897738 100644 --- a/Promises/Internal/AsyncAwaitInternal.cs +++ b/Runtime/ProtoPromise/Promises/Internal/AsyncAwaitInternal.cs @@ -11,6 +11,7 @@ #if CSHARP_7_OR_LATER +#pragma warning disable CS0436 // Type conflicts with imported type #pragma warning disable RECS0108 // Warns about static fields in generic types #pragma warning disable IDE0060 // Remove unused parameter diff --git a/Promises/Internal/CancelInternal.cs b/Runtime/ProtoPromise/Promises/Internal/CancelInternal.cs similarity index 100% rename from Promises/Internal/CancelInternal.cs rename to Runtime/ProtoPromise/Promises/Internal/CancelInternal.cs diff --git a/Promises/Internal/DebugInternal.cs b/Runtime/ProtoPromise/Promises/Internal/DebugInternal.cs similarity index 100% rename from Promises/Internal/DebugInternal.cs rename to Runtime/ProtoPromise/Promises/Internal/DebugInternal.cs diff --git a/Promises/Internal/DelegateWrappersInternal.cs b/Runtime/ProtoPromise/Promises/Internal/DelegateWrappersInternal.cs similarity index 100% rename from Promises/Internal/DelegateWrappersInternal.cs rename to Runtime/ProtoPromise/Promises/Internal/DelegateWrappersInternal.cs diff --git a/Promises/Internal/FirstInternal.cs b/Runtime/ProtoPromise/Promises/Internal/FirstInternal.cs similarity index 100% rename from Promises/Internal/FirstInternal.cs rename to Runtime/ProtoPromise/Promises/Internal/FirstInternal.cs diff --git a/Promises/Internal/InterfacesInternal.cs b/Runtime/ProtoPromise/Promises/Internal/InterfacesInternal.cs similarity index 100% rename from Promises/Internal/InterfacesInternal.cs rename to Runtime/ProtoPromise/Promises/Internal/InterfacesInternal.cs diff --git a/Promises/Internal/MergeInternal.cs b/Runtime/ProtoPromise/Promises/Internal/MergeInternal.cs similarity index 100% rename from Promises/Internal/MergeInternal.cs rename to Runtime/ProtoPromise/Promises/Internal/MergeInternal.cs diff --git a/Promises/Internal/ProgressInternal.cs b/Runtime/ProtoPromise/Promises/Internal/ProgressInternal.cs similarity index 100% rename from Promises/Internal/ProgressInternal.cs rename to Runtime/ProtoPromise/Promises/Internal/ProgressInternal.cs diff --git a/Promises/Internal/PromiseInternal.cs b/Runtime/ProtoPromise/Promises/Internal/PromiseInternal.cs similarity index 100% rename from Promises/Internal/PromiseInternal.cs rename to Runtime/ProtoPromise/Promises/Internal/PromiseInternal.cs diff --git a/Promises/Internal/RaceInternal.cs b/Runtime/ProtoPromise/Promises/Internal/RaceInternal.cs similarity index 100% rename from Promises/Internal/RaceInternal.cs rename to Runtime/ProtoPromise/Promises/Internal/RaceInternal.cs diff --git a/Promises/Internal/SequenceInternal.cs b/Runtime/ProtoPromise/Promises/Internal/SequenceInternal.cs similarity index 100% rename from Promises/Internal/SequenceInternal.cs rename to Runtime/ProtoPromise/Promises/Internal/SequenceInternal.cs diff --git a/Promises/Manager.cs b/Runtime/ProtoPromise/Promises/Manager.cs similarity index 100% rename from Promises/Manager.cs rename to Runtime/ProtoPromise/Promises/Manager.cs diff --git a/Promises/Promise.cs b/Runtime/ProtoPromise/Promises/Promise.cs similarity index 100% rename from Promises/Promise.cs rename to Runtime/ProtoPromise/Promises/Promise.cs diff --git a/Promises/PromiseCapture.cs b/Runtime/ProtoPromise/Promises/PromiseCapture.cs similarity index 100% rename from Promises/PromiseCapture.cs rename to Runtime/ProtoPromise/Promises/PromiseCapture.cs diff --git a/Promises/PromiseStatic.cs b/Runtime/ProtoPromise/Promises/PromiseStatic.cs similarity index 100% rename from Promises/PromiseStatic.cs rename to Runtime/ProtoPromise/Promises/PromiseStatic.cs diff --git a/Promises/ResultContainers.cs b/Runtime/ProtoPromise/Promises/ResultContainers.cs similarity index 100% rename from Promises/ResultContainers.cs rename to Runtime/ProtoPromise/Promises/ResultContainers.cs diff --git a/Promises/Unity/Editor/ExecutionOrderSetter.cs b/Runtime/ProtoPromise/Promises/Unity/Editor/ExecutionOrderSetter.cs similarity index 100% rename from Promises/Unity/Editor/ExecutionOrderSetter.cs rename to Runtime/ProtoPromise/Promises/Unity/Editor/ExecutionOrderSetter.cs diff --git a/Promises/Unity/Editor/ProtoPromiseEditor.asmdef b/Runtime/ProtoPromise/Promises/Unity/Editor/ProtoPromiseEditor.asmdef similarity index 100% rename from Promises/Unity/Editor/ProtoPromiseEditor.asmdef rename to Runtime/ProtoPromise/Promises/Unity/Editor/ProtoPromiseEditor.asmdef diff --git a/Promises/Unity/Editor/ProtoPromiseEditor.asmdef.meta b/Runtime/ProtoPromise/Promises/Unity/Editor/ProtoPromiseEditor.asmdef.meta similarity index 100% rename from Promises/Unity/Editor/ProtoPromiseEditor.asmdef.meta rename to Runtime/ProtoPromise/Promises/Unity/Editor/ProtoPromiseEditor.asmdef.meta diff --git a/Promises/Unity/PromiseBehaviour.cs b/Runtime/ProtoPromise/Promises/Unity/PromiseBehaviour.cs similarity index 100% rename from Promises/Unity/PromiseBehaviour.cs rename to Runtime/ProtoPromise/Promises/Unity/PromiseBehaviour.cs diff --git a/Promises/Unity/PromiseYielder.cs b/Runtime/ProtoPromise/Promises/Unity/PromiseYielder.cs similarity index 100% rename from Promises/Unity/PromiseYielder.cs rename to Runtime/ProtoPromise/Promises/Unity/PromiseYielder.cs diff --git a/ProtoPromise.asmdef b/Runtime/ProtoPromise/ProtoPromise.asmdef similarity index 100% rename from ProtoPromise.asmdef rename to Runtime/ProtoPromise/ProtoPromise.asmdef diff --git a/ProtoPromise.asmdef.meta b/Runtime/ProtoPromise/ProtoPromise.asmdef.meta similarity index 100% rename from ProtoPromise.asmdef.meta rename to Runtime/ProtoPromise/ProtoPromise.asmdef.meta diff --git a/Promises/Exceptions.cs b/Runtime/ProtoPromise/Utilities/AggregateException.cs similarity index 60% rename from Promises/Exceptions.cs rename to Runtime/ProtoPromise/Utilities/AggregateException.cs index 9442f918..28509635 100644 --- a/Promises/Exceptions.cs +++ b/Runtime/ProtoPromise/Utilities/AggregateException.cs @@ -1,266 +1,9 @@ -#if PROTO_PROMISE_DEBUG_ENABLE || (!PROTO_PROMISE_DEBUG_DISABLE && DEBUG) -#define PROMISE_DEBUG -#else -#undef PROMISE_DEBUG -#endif - -#pragma warning disable IDE0034 // Simplify 'default' expression - -using System; +#if !CSHARP_7_OR_LATER using System.Collections.Generic; using System.Collections.ObjectModel; using System.Diagnostics; using System.Globalization; -namespace Proto.Promises -{ -#if !PROTO_PROMISE_DEVELOPER_MODE - [DebuggerNonUserCode] -#endif - public class InvalidOperationException : System.InvalidOperationException - { - public InvalidOperationException(string message, string stackTrace = null) : base(message) - { - _stackTrace = stackTrace; - } - - private readonly string _stackTrace; - public override string StackTrace { get { return _stackTrace ?? base.StackTrace; } } - } - -#if !PROTO_PROMISE_DEVELOPER_MODE - [DebuggerNonUserCode] -#endif - public class EmptyArgumentException : ArgumentException - { - public EmptyArgumentException(string paramName, string message, string stackTrace = null) : base(message, paramName) - { - _stackTrace = stackTrace; - } - - private readonly string _stackTrace; - public override string StackTrace { get { return _stackTrace ?? base.StackTrace; } } - } - -#if !PROTO_PROMISE_DEVELOPER_MODE - [DebuggerNonUserCode] -#endif - public class ArgumentNullException : System.ArgumentNullException - { - public ArgumentNullException(string paramName, string message, string stackTrace = null) : base(paramName, message) - { - _stackTrace = stackTrace; - } - - private readonly string _stackTrace; - public override string StackTrace { get { return _stackTrace ?? base.StackTrace; } } - } - -#if !PROTO_PROMISE_DEVELOPER_MODE - [DebuggerNonUserCode] -#endif - public class ArgumentOutOfRangeException : System.ArgumentOutOfRangeException - { - public ArgumentOutOfRangeException(string paramName, string message, string stackTrace = null) : base(paramName, message) - { - _stackTrace = stackTrace; - } - - public ArgumentOutOfRangeException(string paramName, object actualValue, string message, string stackTrace = null) : base(paramName, actualValue, message) - { - _stackTrace = stackTrace; - } - - private readonly string _stackTrace; - public override string StackTrace { get { return _stackTrace ?? base.StackTrace; } } - } - -#if !PROTO_PROMISE_DEVELOPER_MODE - [DebuggerNonUserCode] -#endif - public class ElementNullException : System.ArgumentNullException - { - public ElementNullException(string paramName, string message, string stackTrace = null) : base(paramName, message) - { - _stackTrace = stackTrace; - } - - private readonly string _stackTrace; - public override string StackTrace { get { return _stackTrace ?? base.StackTrace; } } - } - -#if !PROTO_PROMISE_DEVELOPER_MODE - [DebuggerNonUserCode] -#endif - public class PromiseDisposedException : ObjectDisposedException - { - public PromiseDisposedException(string message, string stackTrace = null) : base(message, default(Exception)) - { - _stackTrace = stackTrace; - } - - private readonly string _stackTrace; - public override string StackTrace { get { return _stackTrace ?? base.StackTrace; } } - } - -#if !PROTO_PROMISE_DEVELOPER_MODE - [DebuggerNonUserCode] -#endif - public class InvalidReturnException : System.InvalidOperationException - { - public InvalidReturnException(string message, string stackTrace = null, Exception innerException = null) : base(message, innerException) - { - _stackTrace = stackTrace; - } - - private readonly string _stackTrace; - public override string StackTrace { get { return _stackTrace ?? base.StackTrace; } } - } - -#if !PROTO_PROMISE_DEVELOPER_MODE - [DebuggerNonUserCode] -#endif - public class UnhandledDeferredException : Exception - { - public static readonly UnhandledDeferredException instance = - new UnhandledDeferredException("A Deferred object was garbage collected that was not handled. You must Resolve, Reject, or Cancel all Deferred objects."); - - private UnhandledDeferredException(string message) : base(message) { } - } - -#if !PROTO_PROMISE_DEVELOPER_MODE - [DebuggerNonUserCode] -#endif - public class UnreleasedObjectException : Exception - { - public UnreleasedObjectException(string message) : base(message) { } - } - - - /// - /// Exception that is thrown if a promise is rejected and that rejection is never handled. - /// -#if !PROTO_PROMISE_DEVELOPER_MODE - [DebuggerNonUserCode] -#endif - public abstract class UnhandledException : Exception - { - private readonly object _value; - private readonly Type _type; - private readonly string _stackTrace; - - internal UnhandledException(object value, Type valueType, string message, string stackTrace, Exception innerException) : base(message, innerException) - { - _value = value; - _type = valueType; - _stackTrace = stackTrace; - } - - public override string StackTrace { get { return _stackTrace ?? base.StackTrace; } } - - public Type ValueType { get { return _type; } } - - public object Value { get { return _value; } } - - public bool TryGetValueAs(out T value) - { - if (typeof(T).IsAssignableFrom(_type)) - { - value = (T) _value; - return true; - } - value = default(T); - return false; - } - } - - /// - /// Exception that is thrown if an awaited promise is canceled. - /// -#if !PROTO_PROMISE_DEVELOPER_MODE - [DebuggerNonUserCode] -#endif - public abstract class CanceledException : OperationCanceledException - { - private readonly object _value; - private readonly Type _type; - - internal CanceledException(object value, Type valueType, string message) : base(message) - { - _value = value; - _type = valueType; - } - - public Type ValueType { get { return _type; } } - - public object Value { get { return _value; } } - - public bool TryGetValueAs(out T value) - { - if (typeof(T).IsAssignableFrom(_type)) - { - value = (T) _value; - return true; - } - value = default(T); - return false; - } - } - - - /// - /// Special Exception that is used to rethrow a rejection from a Promise onRejected callback. - /// -#if !PROTO_PROMISE_DEVELOPER_MODE - [DebuggerNonUserCode] -#endif - public sealed class RethrowException : Exception - { - internal static readonly RethrowException instance = new RethrowException(); - - private RethrowException() { } - } - - /// - /// Special Exception that is used to reject a Promise from an onResolved or onRejected callback. - /// -#if !PROTO_PROMISE_DEVELOPER_MODE - [DebuggerNonUserCode] -#endif - public abstract class RejectException : Exception - { - internal RejectException() { } - - public override string Message - { - get - { - return "This is used to reject a Promise from an onResolved or onRejected handler."; - } - } - } - - /// - /// Special Exception that is used to cancel a Promise from an onResolved or onRejected callback. - /// -#if !PROTO_PROMISE_DEVELOPER_MODE - [DebuggerNonUserCode] -#endif - public abstract class CancelException : OperationCanceledException - { - internal CancelException() { } - - public override string Message - { - get - { - return "This is used to cancel a Promise from an onResolved or onRejected handler."; - } - } - } -} - -#if !CSHARP_7_OR_LATER namespace System { /// Represents one or more errors that occur during application execution. diff --git a/Utilities/Interfaces.cs b/Runtime/ProtoPromise/Utilities/Interfaces.cs similarity index 100% rename from Utilities/Interfaces.cs rename to Runtime/ProtoPromise/Utilities/Interfaces.cs diff --git a/Utilities/Utils.cs b/Runtime/ProtoPromise/Utilities/Utils.cs similarity index 100% rename from Utilities/Utils.cs rename to Runtime/ProtoPromise/Utilities/Utils.cs diff --git a/Utilities/ValueTuple.cs b/Runtime/ProtoPromise/Utilities/ValueTuple.cs similarity index 100% rename from Utilities/ValueTuple.cs rename to Runtime/ProtoPromise/Utilities/ValueTuple.cs diff --git a/Tests.meta b/Tests.meta deleted file mode 100644 index a418e593..00000000 --- a/Tests.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: f14883009ebd847caa4f966f5ce694a2 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/APlus_2_1_PromiseStates.cs.meta b/Tests/APlus_2_1_PromiseStates.cs.meta deleted file mode 100644 index 784e0d63..00000000 --- a/Tests/APlus_2_1_PromiseStates.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 84cf336e24bb646dca0537f5acd4c0d1 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/APlus_2_2_TheThenMethod.cs.meta b/Tests/APlus_2_2_TheThenMethod.cs.meta deleted file mode 100644 index dc2becb7..00000000 --- a/Tests/APlus_2_2_TheThenMethod.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: ba2d2b9fc2cc247769448936e6ea7a4b -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/APlus_2_3_ThePromiseResolutionProcedure.cs.meta b/Tests/APlus_2_3_ThePromiseResolutionProcedure.cs.meta deleted file mode 100644 index 5c99f902..00000000 --- a/Tests/APlus_2_3_ThePromiseResolutionProcedure.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 6f8874cd300f647f69529e7652c36a51 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/AllTests.cs.meta b/Tests/AllTests.cs.meta deleted file mode 100644 index 9281a546..00000000 --- a/Tests/AllTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 3515b1aaa7f854d7ba2a664f7fba02eb -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/AsyncAwaitTests.cs.meta b/Tests/AsyncAwaitTests.cs.meta deleted file mode 100644 index 8e80c880..00000000 --- a/Tests/AsyncAwaitTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 40e912bc426b24240b356c69b88f55b4 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/CancelationTests.cs.meta b/Tests/CancelationTests.cs.meta deleted file mode 100644 index 882b237d..00000000 --- a/Tests/CancelationTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 552b77997bd8740308e1e88c42c9ff7a -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/CaptureTests.cs.meta b/Tests/CaptureTests.cs.meta deleted file mode 100644 index 126d33b2..00000000 --- a/Tests/CaptureTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 8c30cb2a3d1534ce6945a7924940c9bd -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/ContinuewithTests.cs.meta b/Tests/ContinuewithTests.cs.meta deleted file mode 100644 index 7222866f..00000000 --- a/Tests/ContinuewithTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: d06e977ad4b4d4ec099dd1b09395bff6 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/FinallyTests.cs.meta b/Tests/FinallyTests.cs.meta deleted file mode 100644 index 3c919176..00000000 --- a/Tests/FinallyTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 8387d14447b1140679486ac6f7a48a5e -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/FirstTests.cs.meta b/Tests/FirstTests.cs.meta deleted file mode 100644 index 24170a86..00000000 --- a/Tests/FirstTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 6de67225e76ea4c18850a438d73d5ee4 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/MergeTests.cs.meta b/Tests/MergeTests.cs.meta deleted file mode 100644 index 519cb1df..00000000 --- a/Tests/MergeTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 6448c66761e544317af751c17668aa53 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/MiscellaneousTests.cs.meta b/Tests/MiscellaneousTests.cs.meta deleted file mode 100644 index 003e4f67..00000000 --- a/Tests/MiscellaneousTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 343a7fdb3f2e54037b11438bc914c700 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/ProgressTests.cs.meta b/Tests/ProgressTests.cs.meta deleted file mode 100644 index b0203355..00000000 --- a/Tests/ProgressTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: a838bca31ebe44bc7ac001d618a61b68 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/PromiseCancelationTests.cs.meta b/Tests/PromiseCancelationTests.cs.meta deleted file mode 100644 index 65586e5b..00000000 --- a/Tests/PromiseCancelationTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: e22bf3422dc0d4de49cd88dec2db5d7e -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/ProtoPromiseTests.csproj b/Tests/ProtoPromiseTests.csproj new file mode 100644 index 00000000..e531c224 --- /dev/null +++ b/Tests/ProtoPromiseTests.csproj @@ -0,0 +1,42 @@ + + + + netcoreapp3.1 + + false + + Debug With Progress;Release Without Progress;Release With Progress;Debug Without Progress + + + + CSHARP_7_3_OR_NEWER;CSHARP_7_OR_LATER + + + + CSHARP_7_3_OR_NEWER;CSHARP_7_OR_LATER;PROTO_PROMISE_PROGRESS_DISABLE + + + + DEBUG;CSHARP_7_3_OR_NEWER;CSHARP_7_OR_LATER + + + + DEBUG;CSHARP_7_3_OR_NEWER;CSHARP_7_OR_LATER;PROTO_PROMISE_PROGRESS_DISABLE + + + + + + + + + + + + + + + + + + diff --git a/Tests/APlus_2_1_PromiseStates.cs b/Tests/ProtoPromiseTests/APlus_2_1_PromiseStates.cs similarity index 91% rename from Tests/APlus_2_1_PromiseStates.cs rename to Tests/ProtoPromiseTests/APlus_2_1_PromiseStates.cs index ba91baaf..5d260203 100644 --- a/Tests/APlus_2_1_PromiseStates.cs +++ b/Tests/ProtoPromiseTests/APlus_2_1_PromiseStates.cs @@ -2,7 +2,6 @@ using System; using NUnit.Framework; -using UnityEngine.TestTools; namespace Proto.Promises.Tests { @@ -86,12 +85,12 @@ public void _2_1_2_1_MustNotTransitionToAnyOtherState() deferred.Resolve(); - LogAssert.Expect(UnityEngine.LogType.Warning, "Deferred.Reject - Deferred is not in the pending state."); + TestHelper.ExpectWarning("Deferred.Reject - Deferred is not in the pending state."); deferred.Reject("Fail Value"); deferredInt.Resolve(0); - LogAssert.Expect(UnityEngine.LogType.Warning, "Deferred.Reject - Deferred is not in the pending state."); + TestHelper.ExpectWarning("Deferred.Reject - Deferred is not in the pending state."); deferredInt.Reject("Fail Value"); @@ -129,7 +128,7 @@ public void _2_1_2_2_MustHaveAValueWhichMustNotChange() onReject: s => Assert.Fail("Promise was rejected when it should have been resolved."), onUnknownRejection: () => Assert.Fail("Promise was rejected when it should have been resolved.") ); - LogAssert.Expect(UnityEngine.LogType.Warning, "Deferred.Resolve - Deferred is not in the pending state."); + TestHelper.ExpectWarning("Deferred.Resolve - Deferred is not in the pending state."); deferred.Resolve(1); Promise.Manager.HandleCompletes(); @@ -167,12 +166,12 @@ public void _2_1_3_1_MustNotTransitionToAnyOtherState() deferred.Reject("Fail Value"); - LogAssert.Expect(UnityEngine.LogType.Warning, "Deferred.Resolve - Deferred is not in the pending state."); + TestHelper.ExpectWarning("Deferred.Resolve - Deferred is not in the pending state."); deferred.Resolve(); deferredInt.Reject("Fail Value"); - LogAssert.Expect(UnityEngine.LogType.Warning, "Deferred.Resolve - Deferred is not in the pending state."); + TestHelper.ExpectWarning("Deferred.Resolve - Deferred is not in the pending state."); deferredInt.Resolve(0); @@ -216,7 +215,7 @@ public void _2_1_3_2_MustHaveAReasonWhichMustNotChange_0() Assert.AreEqual(expected, failValue); }); - LogAssert.Expect(UnityEngine.LogType.Warning, "Deferred.Reject - Deferred is not in the pending state."); + TestHelper.ExpectWarning("Deferred.Reject - Deferred is not in the pending state."); deferred.Reject("Different Fail Value"); deferred.Release(); @@ -257,7 +256,7 @@ public void _2_1_3_2_MustHaveAReasonWhichMustNotChange_1() Assert.AreEqual(expected, failValue); }); - LogAssert.Expect(UnityEngine.LogType.Warning, "Deferred.Reject - Deferred is not in the pending state."); + TestHelper.ExpectWarning("Deferred.Reject - Deferred is not in the pending state."); deferred.Reject("Different Fail Value"); deferred.Release(); // The second rejection will be added to the unhandled rejection queue instead of set as the promise's reason. diff --git a/Tests/APlus_2_2_TheThenMethod.cs b/Tests/ProtoPromiseTests/APlus_2_2_TheThenMethod.cs similarity index 99% rename from Tests/APlus_2_2_TheThenMethod.cs rename to Tests/ProtoPromiseTests/APlus_2_2_TheThenMethod.cs index 67b76617..60a6ce04 100644 --- a/Tests/APlus_2_2_TheThenMethod.cs +++ b/Tests/ProtoPromiseTests/APlus_2_2_TheThenMethod.cs @@ -8,7 +8,6 @@ using NUnit.Framework; using System; -using UnityEngine.TestTools; namespace Proto.Promises.Tests { @@ -565,9 +564,9 @@ public void _2_2_2_3_ItMustNotBeCalledMoreThanOnce() deferred.Resolve(); deferredInt.Resolve(0); Promise.Manager.HandleCompletes(); - LogAssert.Expect(UnityEngine.LogType.Warning, "Deferred.Resolve - Deferred is not in the pending state."); + TestHelper.ExpectWarning("Deferred.Resolve - Deferred is not in the pending state."); deferred.Resolve(); - LogAssert.Expect(UnityEngine.LogType.Warning, "Deferred.Resolve - Deferred is not in the pending state."); + TestHelper.ExpectWarning("Deferred.Resolve - Deferred is not in the pending state."); deferredInt.Resolve(100); deferred.Release(); deferredInt.Release(); @@ -685,9 +684,9 @@ public void _2_2_3_3_ItMustNotBeCalledMoreThanOnce() deferredInt.Reject("Fail value"); Promise.Manager.HandleCompletes(); - LogAssert.Expect(UnityEngine.LogType.Warning, "Deferred.Reject - Deferred is not in the pending state."); + TestHelper.ExpectWarning("Deferred.Reject - Deferred is not in the pending state."); deferred.Reject("Fail value"); - LogAssert.Expect(UnityEngine.LogType.Warning, "Deferred.Reject - Deferred is not in the pending state."); + TestHelper.ExpectWarning("Deferred.Reject - Deferred is not in the pending state."); deferredInt.Reject("Fail value"); deferred.Release(); deferredInt.Release(); diff --git a/Tests/APlus_2_3_ThePromiseResolutionProcedure.cs b/Tests/ProtoPromiseTests/APlus_2_3_ThePromiseResolutionProcedure.cs similarity index 100% rename from Tests/APlus_2_3_ThePromiseResolutionProcedure.cs rename to Tests/ProtoPromiseTests/APlus_2_3_ThePromiseResolutionProcedure.cs diff --git a/Tests/AllTests.cs b/Tests/ProtoPromiseTests/AllTests.cs similarity index 99% rename from Tests/AllTests.cs rename to Tests/ProtoPromiseTests/AllTests.cs index ccb29196..a54e0ef9 100644 --- a/Tests/AllTests.cs +++ b/Tests/ProtoPromiseTests/AllTests.cs @@ -6,7 +6,6 @@ using System.Linq; using NUnit.Framework; -using UnityEngine.TestTools; namespace Proto.Promises.Tests { diff --git a/Tests/AsyncAwaitTests.cs b/Tests/ProtoPromiseTests/AsyncAwaitTests.cs similarity index 100% rename from Tests/AsyncAwaitTests.cs rename to Tests/ProtoPromiseTests/AsyncAwaitTests.cs diff --git a/Tests/CancelationTests.cs b/Tests/ProtoPromiseTests/CancelationTests.cs similarity index 100% rename from Tests/CancelationTests.cs rename to Tests/ProtoPromiseTests/CancelationTests.cs diff --git a/Tests/CaptureTests.cs b/Tests/ProtoPromiseTests/CaptureTests.cs similarity index 100% rename from Tests/CaptureTests.cs rename to Tests/ProtoPromiseTests/CaptureTests.cs diff --git a/Tests/ContinuewithTests.cs b/Tests/ProtoPromiseTests/ContinuewithTests.cs similarity index 100% rename from Tests/ContinuewithTests.cs rename to Tests/ProtoPromiseTests/ContinuewithTests.cs diff --git a/Tests/FinallyTests.cs b/Tests/ProtoPromiseTests/FinallyTests.cs similarity index 100% rename from Tests/FinallyTests.cs rename to Tests/ProtoPromiseTests/FinallyTests.cs diff --git a/Tests/FirstTests.cs b/Tests/ProtoPromiseTests/FirstTests.cs similarity index 100% rename from Tests/FirstTests.cs rename to Tests/ProtoPromiseTests/FirstTests.cs diff --git a/Tests/MergeTests.cs b/Tests/ProtoPromiseTests/MergeTests.cs similarity index 100% rename from Tests/MergeTests.cs rename to Tests/ProtoPromiseTests/MergeTests.cs diff --git a/Tests/MiscellaneousTests.cs b/Tests/ProtoPromiseTests/MiscellaneousTests.cs similarity index 100% rename from Tests/MiscellaneousTests.cs rename to Tests/ProtoPromiseTests/MiscellaneousTests.cs diff --git a/Tests/ProgressTests.cs b/Tests/ProtoPromiseTests/ProgressTests.cs similarity index 100% rename from Tests/ProgressTests.cs rename to Tests/ProtoPromiseTests/ProgressTests.cs diff --git a/Tests/PromiseCancelationTests.cs b/Tests/ProtoPromiseTests/PromiseCancelationTests.cs similarity index 97% rename from Tests/PromiseCancelationTests.cs rename to Tests/ProtoPromiseTests/PromiseCancelationTests.cs index 7c9e5728..3d0f00eb 100644 --- a/Tests/PromiseCancelationTests.cs +++ b/Tests/ProtoPromiseTests/PromiseCancelationTests.cs @@ -6,7 +6,6 @@ using System; using NUnit.Framework; -using UnityEngine.TestTools; namespace Proto.Promises.Tests { @@ -113,9 +112,9 @@ public void MustNotTransitionToAnyOtherState() deferred.Resolve(); deferredInt.Resolve(0); - LogAssert.Expect(UnityEngine.LogType.Warning, "Deferred.Reject - Deferred is not in the pending state."); + TestHelper.ExpectWarning("Deferred.Reject - Deferred is not in the pending state."); deferred.Reject("Fail Value"); - LogAssert.Expect(UnityEngine.LogType.Warning, "Deferred.Reject - Deferred is not in the pending state."); + TestHelper.ExpectWarning("Deferred.Reject - Deferred is not in the pending state."); deferredInt.Reject("Fail Value"); cancelationSource.Cancel(); @@ -171,9 +170,9 @@ public void MustNotTransitionToAnyOtherState() deferred.Reject("Fail Value"); deferredInt.Reject("Fail Value"); - LogAssert.Expect(UnityEngine.LogType.Warning, "Deferred.Resolve - Deferred is not in the pending state."); + TestHelper.ExpectWarning("Deferred.Resolve - Deferred is not in the pending state."); deferred.Resolve(); - LogAssert.Expect(UnityEngine.LogType.Warning, "Deferred.Resolve - Deferred is not in the pending state."); + TestHelper.ExpectWarning("Deferred.Resolve - Deferred is not in the pending state."); deferredInt.Resolve(0); cancelationSource.Cancel(); @@ -228,14 +227,14 @@ public void MustNotTransitionToAnyOtherState() cancelationSource.Cancel("Cancel Value"); - LogAssert.Expect(UnityEngine.LogType.Warning, "Deferred.Resolve - Deferred is not in the pending state."); + TestHelper.ExpectWarning("Deferred.Resolve - Deferred is not in the pending state."); deferred.Resolve(); - LogAssert.Expect(UnityEngine.LogType.Warning, "Deferred.Resolve - Deferred is not in the pending state."); + TestHelper.ExpectWarning("Deferred.Resolve - Deferred is not in the pending state."); deferredInt.Resolve(0); - LogAssert.Expect(UnityEngine.LogType.Warning, "Deferred.Reject - Deferred is not in the pending state."); + TestHelper.ExpectWarning("Deferred.Reject - Deferred is not in the pending state."); deferred.Reject("Fail Value"); - LogAssert.Expect(UnityEngine.LogType.Warning, "Deferred.Reject - Deferred is not in the pending state."); + TestHelper.ExpectWarning("Deferred.Reject - Deferred is not in the pending state."); deferredInt.Reject("Fail Value"); Assert.AreEqual(Promise.State.Canceled, deferred.State); @@ -575,8 +574,6 @@ public void CancelationsDoNotPropagateToRoot() [Test] public void CancelationsPropagateToBranches() { - Promise.Config.UncaughtRejectionHandler = UnityEngine.Debug.LogException; - CancelationSource cancelationSource = CancelationSource.New(); var deferred = Promise.NewDeferred(cancelationSource.Token); Assert.AreEqual(Promise.State.Pending, deferred.State); diff --git a/Tests/ProtoPromiseTests.asmdef b/Tests/ProtoPromiseTests/ProtoPromiseTests.asmdef similarity index 100% rename from Tests/ProtoPromiseTests.asmdef rename to Tests/ProtoPromiseTests/ProtoPromiseTests.asmdef diff --git a/Tests/ProtoPromiseTests.asmdef.meta b/Tests/ProtoPromiseTests/ProtoPromiseTests.asmdef.meta similarity index 100% rename from Tests/ProtoPromiseTests.asmdef.meta rename to Tests/ProtoPromiseTests/ProtoPromiseTests.asmdef.meta diff --git a/Tests/RaceTests.cs b/Tests/ProtoPromiseTests/RaceTests.cs similarity index 100% rename from Tests/RaceTests.cs rename to Tests/ProtoPromiseTests/RaceTests.cs diff --git a/Tests/SequenceTests.cs b/Tests/ProtoPromiseTests/SequenceTests.cs similarity index 100% rename from Tests/SequenceTests.cs rename to Tests/ProtoPromiseTests/SequenceTests.cs diff --git a/Tests/TestHelper.cs b/Tests/ProtoPromiseTests/TestHelper.cs similarity index 99% rename from Tests/TestHelper.cs rename to Tests/ProtoPromiseTests/TestHelper.cs index 1520b04a..3d2fcc66 100644 --- a/Tests/TestHelper.cs +++ b/Tests/ProtoPromiseTests/TestHelper.cs @@ -7,7 +7,9 @@ #pragma warning disable IDE0034 // Simplify 'default' expression using System; +#if UNITY_8_4_OR_NEWER using UnityEngine.TestTools; +#endif namespace Proto.Promises.Tests { @@ -19,7 +21,16 @@ public static void Cleanup() Promise.Manager.HandleCompletesAndProgress(); GC.Collect(); Promise.Manager.HandleCompletesAndProgress(); +#if UNITY_8_4_OR_NEWER LogAssert.NoUnexpectedReceived(); +#endif + } + + public static void ExpectWarning(string message) + { +#if UNITY_8_4_OR_NEWER + LogAssert.Expect(UnityEngine.LogType.Warning, message); +#endif } public static Promise ThenDuplicate(this Promise promise) diff --git a/Tests/RaceTests.cs.meta b/Tests/RaceTests.cs.meta deleted file mode 100644 index 42a0c309..00000000 --- a/Tests/RaceTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 1bb788c01bd8e421796216d962219396 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/SequenceTests.cs.meta b/Tests/SequenceTests.cs.meta deleted file mode 100644 index 38f76331..00000000 --- a/Tests/SequenceTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 1513c9378af3c4263960ea78d3c3c3a3 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/TestHelper.cs.meta b/Tests/TestHelper.cs.meta deleted file mode 100644 index 0780f591..00000000 --- a/Tests/TestHelper.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 1ff25a265e65c4677a07b192e401c27d -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Utilities.meta b/Utilities.meta deleted file mode 100644 index d3e963ff..00000000 --- a/Utilities.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 446e2fa4050b14c4397858b9ebc28b9d -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Utilities/Interfaces.cs.meta b/Utilities/Interfaces.cs.meta deleted file mode 100644 index 6f02a76a..00000000 --- a/Utilities/Interfaces.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: c9bd13c9e0ac042d5aa4f4c2a6352866 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Utilities/Utils.cs.meta b/Utilities/Utils.cs.meta deleted file mode 100644 index 9bb71397..00000000 --- a/Utilities/Utils.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: bfc64912ba91342e5943d823740ea5e0 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Utilities/ValueTuple.cs.meta b/Utilities/ValueTuple.cs.meta deleted file mode 100644 index ed617942..00000000 --- a/Utilities/ValueTuple.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 1bbb685da87a44bd382aac31225f5fcb -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: