├── .editorconfig ├── .gitignore ├── Assets ├── AddressableAssetsData.meta ├── AddressableAssetsData │ ├── AddressableAssetSettings.asset │ ├── AddressableAssetSettings.asset.meta │ ├── AssetGroupTemplates.meta │ ├── AssetGroupTemplates │ │ ├── Packed Assets.asset │ │ └── Packed Assets.asset.meta │ ├── AssetGroups.meta │ ├── AssetGroups │ │ ├── Built In Data.asset │ │ ├── Built In Data.asset.meta │ │ ├── Default Local Group.asset │ │ ├── Default Local Group.asset.meta │ │ ├── Schemas.meta │ │ └── Schemas │ │ │ ├── Built In Data_PlayerDataGroupSchema.asset │ │ │ ├── Built In Data_PlayerDataGroupSchema.asset.meta │ │ │ ├── Default Local Group_BundledAssetGroupSchema.asset │ │ │ ├── Default Local Group_BundledAssetGroupSchema.asset.meta │ │ │ ├── Default Local Group_ContentUpdateGroupSchema.asset │ │ │ └── Default Local Group_ContentUpdateGroupSchema.asset.meta │ ├── DataBuilders.meta │ ├── DataBuilders │ │ ├── BuildScriptFastMode.asset │ │ ├── BuildScriptFastMode.asset.meta │ │ ├── BuildScriptPackedMode.asset │ │ ├── BuildScriptPackedMode.asset.meta │ │ ├── BuildScriptPackedPlayMode.asset │ │ ├── BuildScriptPackedPlayMode.asset.meta │ │ ├── BuildScriptVirtualMode.asset │ │ └── BuildScriptVirtualMode.asset.meta │ ├── DefaultObject.asset │ └── DefaultObject.asset.meta ├── Scenes.meta ├── Scenes │ ├── SampleScene.unity │ └── SampleScene.unity.meta ├── Scripts.meta ├── Scripts │ ├── Project.Editor.meta │ ├── Project.Editor │ │ ├── Project.Editor.asmdef │ │ ├── Project.Editor.asmdef.meta │ │ ├── ProjectEditor.cs │ │ └── ProjectEditor.cs.meta │ ├── Project.Runtime.meta │ └── Project.Runtime │ │ ├── AddressableColliderPoolBehaviour.cs │ │ ├── AddressableColliderPoolBehaviour.cs.meta │ │ ├── GameObject.prefab │ │ ├── GameObject.prefab.meta │ │ ├── Project.Runtime.asmdef │ │ ├── Project.Runtime.asmdef.meta │ │ ├── ProjectRuntime.cs │ │ ├── ProjectRuntime.cs.meta │ │ ├── Properties.meta │ │ └── Properties │ │ ├── AssemblyInfo.cs │ │ └── AssemblyInfo.cs.meta ├── TextMesh Pro.meta └── TextMesh Pro │ ├── Documentation.meta │ ├── Documentation │ ├── TextMesh Pro User Guide 2016.pdf │ └── TextMesh Pro User Guide 2016.pdf.meta │ ├── Fonts.meta │ ├── Fonts │ ├── LiberationSans - OFL.txt │ ├── LiberationSans - OFL.txt.meta │ ├── LiberationSans.ttf │ └── LiberationSans.ttf.meta │ ├── Resources.meta │ ├── Resources │ ├── Fonts & Materials.meta │ ├── Fonts & Materials │ │ ├── LiberationSans SDF - Drop Shadow.mat │ │ ├── LiberationSans SDF - Drop Shadow.mat.meta │ │ ├── LiberationSans SDF - Fallback.asset │ │ ├── LiberationSans SDF - Fallback.asset.meta │ │ ├── LiberationSans SDF - Outline.mat │ │ ├── LiberationSans SDF - Outline.mat.meta │ │ ├── LiberationSans SDF.asset │ │ └── LiberationSans SDF.asset.meta │ ├── LineBreaking Following Characters.txt │ ├── LineBreaking Following Characters.txt.meta │ ├── LineBreaking Leading Characters.txt │ ├── LineBreaking Leading Characters.txt.meta │ ├── Sprite Assets.meta │ ├── Sprite Assets │ │ ├── EmojiOne.asset │ │ └── EmojiOne.asset.meta │ ├── Style Sheets.meta │ ├── Style Sheets │ │ ├── Default Style Sheet.asset │ │ └── Default Style Sheet.asset.meta │ ├── TMP Settings.asset │ └── TMP Settings.asset.meta │ ├── Shaders.meta │ ├── Shaders │ ├── TMP_Bitmap-Custom-Atlas.shader │ ├── TMP_Bitmap-Custom-Atlas.shader.meta │ ├── TMP_Bitmap-Mobile.shader │ ├── TMP_Bitmap-Mobile.shader.meta │ ├── TMP_Bitmap.shader │ ├── TMP_Bitmap.shader.meta │ ├── TMP_SDF Overlay.shader │ ├── TMP_SDF Overlay.shader.meta │ ├── TMP_SDF SSD.shader │ ├── TMP_SDF SSD.shader.meta │ ├── TMP_SDF-Mobile Masking.shader │ ├── TMP_SDF-Mobile Masking.shader.meta │ ├── TMP_SDF-Mobile Overlay.shader │ ├── TMP_SDF-Mobile Overlay.shader.meta │ ├── TMP_SDF-Mobile SSD.shader │ ├── TMP_SDF-Mobile SSD.shader.meta │ ├── TMP_SDF-Mobile.shader │ ├── TMP_SDF-Mobile.shader.meta │ ├── TMP_SDF-Surface-Mobile.shader │ ├── TMP_SDF-Surface-Mobile.shader.meta │ ├── TMP_SDF-Surface.shader │ ├── TMP_SDF-Surface.shader.meta │ ├── TMP_SDF.shader │ ├── TMP_SDF.shader.meta │ ├── TMP_Sprite.shader │ ├── TMP_Sprite.shader.meta │ ├── TMPro.cginc │ ├── TMPro.cginc.meta │ ├── TMPro_Mobile.cginc │ ├── TMPro_Mobile.cginc.meta │ ├── TMPro_Properties.cginc │ ├── TMPro_Properties.cginc.meta │ ├── TMPro_Surface.cginc │ └── TMPro_Surface.cginc.meta │ ├── Sprites.meta │ └── Sprites │ ├── EmojiOne Attribution.txt │ ├── EmojiOne Attribution.txt.meta │ ├── EmojiOne.json │ ├── EmojiOne.json.meta │ ├── EmojiOne.png │ └── EmojiOne.png.meta ├── LICENSE ├── Packages ├── ZBase.Foundation.Pooling │ ├── .editorconfig │ ├── Documentation~ │ │ └── README.md │ ├── ZBase.Foundation.Pooling.Addressables.meta │ ├── ZBase.Foundation.Pooling.Addressables │ │ ├── Foundation.meta │ │ ├── Foundation │ │ │ ├── Behaviours.meta │ │ │ ├── Behaviours │ │ │ │ ├── AddressComponentPoolBehaviour{T,TPrefab,TPool}.cs │ │ │ │ ├── AddressComponentPoolBehaviour{T,TPrefab,TPool}.cs.meta │ │ │ │ ├── AddressComponentPoolBehaviour{T}.cs │ │ │ │ ├── AddressComponentPoolBehaviour{T}.cs.meta │ │ │ │ ├── AddressGameObjectPoolBehaviour.cs │ │ │ │ ├── AddressGameObjectPoolBehaviour.cs.meta │ │ │ │ ├── AddressGameObjectPoolBehaviour{TPrefab,TPool}.cs │ │ │ │ ├── AddressGameObjectPoolBehaviour{TPrefab,TPool}.cs.meta │ │ │ │ ├── AssetRefComponentPoolBehaviour{T}.cs │ │ │ │ ├── AssetRefComponentPoolBehaviour{T}.cs.meta │ │ │ │ ├── AssetRefGameObjectPoolBehaviour.cs │ │ │ │ └── AssetRefGameObjectPoolBehaviour.cs.meta │ │ │ ├── Pools.meta │ │ │ ├── Pools │ │ │ │ ├── AddressComponentPool{T,TPrefab}.cs │ │ │ │ ├── AddressComponentPool{T,TPrefab}.cs.meta │ │ │ │ ├── AddressComponentPool{T}.cs │ │ │ │ ├── AddressComponentPool{T}.cs.meta │ │ │ │ ├── AddressGameObjectPool.cs │ │ │ │ ├── AddressGameObjectPool.cs.meta │ │ │ │ ├── AddressGameObjectPool{TPrefab}.cs │ │ │ │ ├── AddressGameObjectPool{TPrefab}.cs.meta │ │ │ │ ├── AssetRefComponentPool{T}.cs │ │ │ │ ├── AssetRefComponentPool{T}.cs.meta │ │ │ │ ├── AssetRefGameObjectPool.cs │ │ │ │ └── AssetRefGameObjectPool.cs.meta │ │ │ ├── Prefabs.meta │ │ │ └── Prefabs │ │ │ │ ├── AddressComponentPrefab{T}.cs │ │ │ │ ├── AddressComponentPrefab{T}.cs.meta │ │ │ │ ├── AddressGameObjectPrefab.cs │ │ │ │ ├── AddressGameObjectPrefab.cs.meta │ │ │ │ ├── AddressPrefab{T}.cs │ │ │ │ ├── AddressPrefab{T}.cs.meta │ │ │ │ ├── AssetRefComponentPrefab{T}.cs │ │ │ │ ├── AssetRefComponentPrefab{T}.cs.meta │ │ │ │ ├── AssetRefGameObjectPrefab.cs │ │ │ │ ├── AssetRefGameObjectPrefab.cs.meta │ │ │ │ ├── AssetRefPrefab{T,TAssetRef}.cs │ │ │ │ └── AssetRefPrefab{T,TAssetRef}.cs.meta │ │ ├── ScriptablePools.meta │ │ ├── ScriptablePools │ │ │ ├── ScriptableAddressComponentSource{T}.cs │ │ │ ├── ScriptableAddressComponentSource{T}.cs.meta │ │ │ ├── ScriptableAddressGameObjectSource.cs │ │ │ ├── ScriptableAddressGameObjectSource.cs.meta │ │ │ ├── ScriptableAddressSource.cs │ │ │ ├── ScriptableAddressSource.cs.meta │ │ │ ├── ScriptableAssetRefComponentSource{T}.cs │ │ │ ├── ScriptableAssetRefComponentSource{T}.cs.meta │ │ │ ├── ScriptableAssetRefGameObjectSource.cs │ │ │ ├── ScriptableAssetRefGameObjectSource.cs.meta │ │ │ ├── ScriptableAssetRefSource{TAssetRef}.cs │ │ │ └── ScriptableAssetRefSource{TAssetRef}.cs.meta │ │ ├── ZBase.Foundation.Pooling.Addressables.asmdef │ │ └── ZBase.Foundation.Pooling.Addressables.asmdef.meta │ ├── ZBase.Foundation.Pooling.meta │ ├── ZBase.Foundation.Pooling │ │ ├── Foundation.meta │ │ ├── Foundation │ │ │ ├── Common.meta │ │ │ ├── Common │ │ │ │ ├── Interfaces.meta │ │ │ │ ├── Interfaces │ │ │ │ │ ├── IAsyncInstantiable{T}.cs │ │ │ │ │ ├── IAsyncInstantiable{T}.cs.meta │ │ │ │ │ ├── IAsyncPool{T}.cs │ │ │ │ │ ├── IAsyncPool{T}.cs.meta │ │ │ │ │ ├── IAsyncRentable{T}.cs │ │ │ │ │ ├── IAsyncRentable{T}.cs.meta │ │ │ │ │ ├── ICountable.cs │ │ │ │ │ ├── ICountable.cs.meta │ │ │ │ │ ├── IInstantiable{T}.cs │ │ │ │ │ ├── IInstantiable{T}.cs.meta │ │ │ │ │ ├── IPool.cs │ │ │ │ │ ├── IPool.cs.meta │ │ │ │ │ ├── IPool{T}.cs │ │ │ │ │ ├── IPool{T}.cs.meta │ │ │ │ │ ├── IReleaseInstances{T}.cs │ │ │ │ │ ├── IReleaseInstances{T}.cs.meta │ │ │ │ │ ├── IRentable{T}.cs │ │ │ │ │ ├── IRentable{T}.cs.meta │ │ │ │ │ ├── IReturnable{T}.cs │ │ │ │ │ ├── IReturnable{T}.cs.meta │ │ │ │ │ ├── IShareable.cs │ │ │ │ │ └── IShareable.cs.meta │ │ │ │ ├── SharedPool.cs │ │ │ │ ├── SharedPool.cs.meta │ │ │ │ ├── ThrowHelper.cs │ │ │ │ ├── ThrowHelper.cs.meta │ │ │ │ ├── UniTaskFunc.cs │ │ │ │ ├── UniTaskFunc.cs.meta │ │ │ │ ├── UniqueQueue{TKey,TValue}.cs │ │ │ │ ├── UniqueQueue{TKey,TValue}.cs.meta │ │ │ │ ├── UniqueQueue{T}.cs │ │ │ │ └── UniqueQueue{T}.cs.meta │ │ │ ├── DisposableContexts.meta │ │ │ ├── DisposableContexts │ │ │ │ ├── AsyncDisposableContext{T}.cs │ │ │ │ ├── AsyncDisposableContext{T}.cs.meta │ │ │ │ ├── DisposableContext{T}.cs │ │ │ │ ├── DisposableContext{T}.cs.meta │ │ │ │ ├── Disposable{T}.cs │ │ │ │ └── Disposable{T}.cs.meta │ │ │ ├── Instantiators.meta │ │ │ ├── Instantiators │ │ │ │ ├── ActivatorInstantiator{T}.cs │ │ │ │ ├── ActivatorInstantiator{T}.cs.meta │ │ │ │ ├── AsyncActivatorInstantiator{T}.cs │ │ │ │ ├── AsyncActivatorInstantiator{T}.cs.meta │ │ │ │ ├── AsyncDefaultConstructorInstantiator{T}.cs │ │ │ │ ├── AsyncDefaultConstructorInstantiator{T}.cs.meta │ │ │ │ ├── DefaultConstructorInstantiator{T}.cs │ │ │ │ └── DefaultConstructorInstantiator{T}.cs.meta │ │ │ ├── Pools.Extensions.meta │ │ │ ├── Pools.Extensions │ │ │ │ ├── AsyncPool{T}.Rents.cs │ │ │ │ ├── AsyncPool{T}.Rents.cs.meta │ │ │ │ ├── Pool{T}.Rents.cs │ │ │ │ ├── Pool{T}.Rents.cs.meta │ │ │ │ ├── Pool{T}.Returns.cs │ │ │ │ ├── Pool{T}.Returns.cs.meta │ │ │ │ ├── Pool{T}.Returns.gen.cs │ │ │ │ ├── Pool{T}.Returns.gen.cs.meta │ │ │ │ ├── Pool{T}.Returns.tt │ │ │ │ └── Pool{T}.Returns.tt.meta │ │ │ ├── Pools.meta │ │ │ └── Pools │ │ │ │ ├── AsyncPool{T,TInstantiator}.cs │ │ │ │ ├── AsyncPool{T,TInstantiator}.cs.meta │ │ │ │ ├── AsyncPool{T}.cs │ │ │ │ ├── AsyncPool{T}.cs.meta │ │ │ │ ├── Pool{T,TInstantiator}.cs │ │ │ │ ├── Pool{T,TInstantiator}.cs.meta │ │ │ │ ├── Pool{T}.cs │ │ │ │ └── Pool{T}.cs.meta │ │ ├── ScriptablePools.meta │ │ ├── ScriptablePools │ │ │ ├── Common.meta │ │ │ ├── Common │ │ │ │ ├── ScriptablePool.cs │ │ │ │ ├── ScriptablePool.cs.meta │ │ │ │ ├── ScriptablePrefab.cs │ │ │ │ ├── ScriptablePrefab.cs.meta │ │ │ │ ├── ScriptablePrepooler.cs │ │ │ │ └── ScriptablePrepooler.cs.meta │ │ │ ├── Pools.meta │ │ │ ├── Pools │ │ │ │ ├── ScriptableComponentPool.cs │ │ │ │ ├── ScriptableComponentPool.cs.meta │ │ │ │ ├── ScriptableGameObjectPool.cs │ │ │ │ ├── ScriptableGameObjectPool.cs.meta │ │ │ │ ├── ScriptablePool{T}.cs │ │ │ │ └── ScriptablePool{T}.cs.meta │ │ │ ├── Sources.meta │ │ │ └── Sources │ │ │ │ ├── ScriptableComponentSource{T}.cs │ │ │ │ ├── ScriptableComponentSource{T}.cs.meta │ │ │ │ ├── ScriptableGameObjectSource.cs │ │ │ │ ├── ScriptableGameObjectSource.cs.meta │ │ │ │ ├── ScriptableSource.cs │ │ │ │ ├── ScriptableSource.cs.meta │ │ │ │ ├── ScriptableSource{T}.cs │ │ │ │ └── ScriptableSource{T}.cs.meta │ │ ├── System.Collections.Generic.meta │ │ ├── System.Collections.Generic │ │ │ ├── DictionaryPool.cs │ │ │ ├── DictionaryPool.cs.meta │ │ │ ├── HashSetPool.cs │ │ │ ├── HashSetPool.cs.meta │ │ │ ├── ListPool.cs │ │ │ ├── ListPool.cs.meta │ │ │ ├── QueuePool.cs │ │ │ ├── QueuePool.cs.meta │ │ │ ├── StackPool.cs │ │ │ └── StackPool.cs.meta │ │ ├── UnityPools.meta │ │ ├── UnityPools │ │ │ ├── Behaviours.meta │ │ │ ├── Behaviours │ │ │ │ ├── ComponentPoolBehaviour{T}.cs │ │ │ │ ├── ComponentPoolBehaviour{T}.cs.meta │ │ │ │ ├── GameObjectPoolBehaviour.cs │ │ │ │ ├── GameObjectPoolBehaviour.cs.meta │ │ │ │ ├── PoolBehaviour{T,TPool}.cs │ │ │ │ ├── PoolBehaviour{T,TPool}.cs.meta │ │ │ │ ├── UnityPoolBehaviour{T,TPrefab,TPool}.cs │ │ │ │ └── UnityPoolBehaviour{T,TPrefab,TPool}.cs.meta │ │ │ ├── Common.meta │ │ │ ├── Common │ │ │ │ ├── Interfaces.meta │ │ │ │ └── Interfaces │ │ │ │ │ ├── IHasParent.cs │ │ │ │ │ ├── IHasParent.cs.meta │ │ │ │ │ ├── IPrefab.cs │ │ │ │ │ ├── IPrefab.cs.meta │ │ │ │ │ ├── IPrefab{T,TSource}.cs │ │ │ │ │ ├── IPrefab{T,TSource}.cs.meta │ │ │ │ │ ├── IPrefab{T}.cs │ │ │ │ │ ├── IPrefab{T}.cs.meta │ │ │ │ │ ├── IPrepoolable.cs │ │ │ │ │ ├── IPrepoolable.cs.meta │ │ │ │ │ ├── IPrepooler{T,TPrefab,TPool}.cs │ │ │ │ │ ├── IPrepooler{T,TPrefab,TPool}.cs.meta │ │ │ │ │ ├── IReleasable{T}.cs │ │ │ │ │ ├── IReleasable{T}.cs.meta │ │ │ │ │ ├── IUnityPool.cs │ │ │ │ │ ├── IUnityPool.cs.meta │ │ │ │ │ ├── IUnityPool{T,TPrefab}.cs │ │ │ │ │ ├── IUnityPool{T,TPrefab}.cs.meta │ │ │ │ │ ├── IUnityPool{T}.cs │ │ │ │ │ └── IUnityPool{T}.cs.meta │ │ │ ├── Pools.meta │ │ │ ├── Pools │ │ │ │ ├── ComponentPool{T,TPrefab}.cs │ │ │ │ ├── ComponentPool{T,TPrefab}.cs.meta │ │ │ │ ├── ComponentPool{T}.cs │ │ │ │ ├── ComponentPool{T}.cs.meta │ │ │ │ ├── GameObjectPool.cs │ │ │ │ ├── GameObjectPool.cs.meta │ │ │ │ ├── GameObjectPool{TPrefab}.cs │ │ │ │ ├── GameObjectPool{TPrefab}.cs.meta │ │ │ │ ├── UnityPool{T,TPrefab}.cs │ │ │ │ └── UnityPool{T,TPrefab}.cs.meta │ │ │ ├── Prefabs.meta │ │ │ ├── Prefabs │ │ │ │ ├── ComponentPrefab{T}.cs │ │ │ │ ├── ComponentPrefab{T}.cs.meta │ │ │ │ ├── GameObjectPrefab.cs │ │ │ │ ├── GameObjectPrefab.cs.meta │ │ │ │ ├── UnityPrefab{T,TSource}.cs │ │ │ │ └── UnityPrefab{T,TSource}.cs.meta │ │ │ ├── Prepoolers.meta │ │ │ └── Prepoolers │ │ │ │ ├── UnityPrepooler{T,TPrefab,TPool}.cs │ │ │ │ └── UnityPrepooler{T,TPrefab,TPool}.cs.meta │ │ ├── ZBase.Collections.Pooled.meta │ │ ├── ZBase.Collections.Pooled │ │ │ ├── ArrayDictionaryPool.cs │ │ │ ├── ArrayDictionaryPool.cs.meta │ │ │ ├── ArrayHashSetPool.cs │ │ │ ├── ArrayHashSetPool.cs.meta │ │ │ ├── DictionaryPool.cs │ │ │ ├── DictionaryPool.cs.meta │ │ │ ├── HashSetPool.cs │ │ │ ├── HashSetPool.cs.meta │ │ │ ├── ListPool.cs │ │ │ ├── ListPool.cs.meta │ │ │ ├── QueuePool.cs │ │ │ ├── QueuePool.cs.meta │ │ │ ├── StackPool.cs │ │ │ └── StackPool.cs.meta │ │ ├── ZBase.Foundation.Pooling.asmdef │ │ └── ZBase.Foundation.Pooling.asmdef.meta │ ├── package.json │ └── package.json.meta ├── manifest.json └── packages-lock.json ├── ProjectSettings ├── AudioManager.asset ├── ClusterInputManager.asset ├── DynamicsManager.asset ├── EditorBuildSettings.asset ├── EditorSettings.asset ├── GraphicsSettings.asset ├── InputManager.asset ├── MemorySettings.asset ├── NavMeshAreas.asset ├── NetworkManager.asset ├── PackageManagerSettings.asset ├── Physics2DSettings.asset ├── PresetManager.asset ├── ProjectSettings.asset ├── ProjectVersion.txt ├── QualitySettings.asset ├── SceneTemplateSettings.json ├── TagManager.asset ├── TimeManager.asset ├── TimelineSettings.asset ├── UnityConnectSettings.asset ├── VFXManager.asset ├── VersionControlSettings.asset ├── XRSettings.asset └── boot.config └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | [Ll]ibrary/ 2 | [Tt]emp/ 3 | [Oo]bj/ 4 | [Bb]uild/ 5 | [Bb]uilds/ 6 | [Ll]ogs/ 7 | [Uu]ser[Ss]ettings/ 8 | 9 | # Never ignore folders inside Assets 10 | ![Aa]ssets/**/Library/ 11 | 12 | # Never ignore Assets meta data 13 | ![Aa]ssets/**/*.meta 14 | 15 | # Uncomment this line if you wish to ignore the asset store tools plugin 16 | # [Aa]ssets/AssetStoreTools* 17 | 18 | # Visual Studio cache directory 19 | .vs/ 20 | .vscode/ 21 | .vsconfig 22 | 23 | # Rider cache directory 24 | .idea/ 25 | 26 | # Gradle cache directory 27 | .gradle/ 28 | 29 | # Autogenerated VS/MD/Consulo solution and project files 30 | ExportedObj/ 31 | .consulo/ 32 | *.csproj 33 | *.unityproj 34 | *.sln 35 | *.suo 36 | *.tmp 37 | *.user 38 | *.userprefs 39 | *.pidb 40 | *.booproj 41 | *.svd 42 | *.pdb 43 | *.mdb 44 | *.opendb 45 | *.VC.db 46 | .leu 47 | 48 | # Unity3D generated meta files 49 | *.pidb.meta 50 | *.pdb.meta 51 | *.mdb.meta 52 | 53 | # Unity3D generated file on crash reports 54 | sysinfo.txt 55 | 56 | # Builds 57 | *.apk 58 | *.unitypackage 59 | 60 | # Crashlytics generated file 61 | crashlytics-build.properties 62 | 63 | [Aa]ssets/**/addressables_content_state.bin 64 | [Aa]ssets/**/addressables_content_state.bin.meta 65 | [Aa]ssets/AddressableAssetsData/Windows.meta 66 | [Aa]ssets/AddressableAssetsData/Android.meta 67 | [Aa]ssets/AddressableAssetsData/iOS.meta 68 | 69 | 70 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9d2c6ccfe4b4b624e9941e0ef1bc7ef3 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/AddressableAssetSettings.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e0f6fa325fd1a464cbecb4e3b9f30872 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/AssetGroupTemplates.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c1ad8df9563402a4eb384dd1ef71a9d7 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/AssetGroupTemplates/Packed Assets.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: 1a3c5d64ac83548c09dd1678b9f6f1cd, type: 3} 13 | m_Name: Packed Assets 14 | m_EditorClassIdentifier: 15 | m_SchemaObjects: 16 | - {fileID: 8278746951698342020} 17 | - {fileID: 3275575475594370428} 18 | m_Description: Pack assets into asset bundles. 19 | m_Settings: {fileID: 0} 20 | --- !u!114 &3275575475594370428 21 | MonoBehaviour: 22 | m_ObjectHideFlags: 1 23 | m_CorrespondingSourceObject: {fileID: 0} 24 | m_PrefabInstance: {fileID: 0} 25 | m_PrefabAsset: {fileID: 0} 26 | m_GameObject: {fileID: 0} 27 | m_Enabled: 1 28 | m_EditorHideFlags: 0 29 | m_Script: {fileID: 11500000, guid: 5834b5087d578d24c926ce20cd31e6d6, type: 3} 30 | m_Name: ContentUpdateGroupSchema 31 | m_EditorClassIdentifier: 32 | m_Group: {fileID: 0} 33 | m_StaticContent: 0 34 | --- !u!114 &8278746951698342020 35 | MonoBehaviour: 36 | m_ObjectHideFlags: 1 37 | m_CorrespondingSourceObject: {fileID: 0} 38 | m_PrefabInstance: {fileID: 0} 39 | m_PrefabAsset: {fileID: 0} 40 | m_GameObject: {fileID: 0} 41 | m_Enabled: 1 42 | m_EditorHideFlags: 0 43 | m_Script: {fileID: 11500000, guid: e5d17a21594effb4e9591490b009e7aa, type: 3} 44 | m_Name: BundledAssetGroupSchema 45 | m_EditorClassIdentifier: 46 | m_Group: {fileID: 0} 47 | m_InternalBundleIdMode: 1 48 | m_Compression: 1 49 | m_IncludeAddressInCatalog: 1 50 | m_IncludeGUIDInCatalog: 1 51 | m_IncludeLabelsInCatalog: 1 52 | m_InternalIdNamingMode: 0 53 | m_CacheClearBehavior: 0 54 | m_IncludeInBuild: 1 55 | m_BundledAssetProviderType: 56 | m_AssemblyName: 57 | m_ClassName: 58 | m_ForceUniqueProvider: 0 59 | m_UseAssetBundleCache: 1 60 | m_UseAssetBundleCrc: 1 61 | m_UseAssetBundleCrcForCachedBundles: 1 62 | m_UseUWRForLocalBundles: 0 63 | m_Timeout: 0 64 | m_ChunkedTransfer: 0 65 | m_RedirectLimit: -1 66 | m_RetryCount: 0 67 | m_BuildPath: 68 | m_Id: 69 | m_LoadPath: 70 | m_Id: 71 | m_BundleMode: 0 72 | m_AssetBundleProviderType: 73 | m_AssemblyName: 74 | m_ClassName: 75 | m_BundleNaming: 0 76 | m_AssetLoadMode: 0 77 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/AssetGroupTemplates/Packed Assets.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 82ea6ad8cc36ef54cb7b324e53a957d9 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/AssetGroups.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5bc8951dda504234fa16fcd5266183ed 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/AssetGroups/Built In Data.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: bbb281ee3bf0b054c82ac2347e9e782c, type: 3} 13 | m_Name: Built In Data 14 | m_EditorClassIdentifier: 15 | m_GroupName: Built In Data 16 | m_Data: 17 | m_SerializedData: [] 18 | m_GUID: 134a760e06463a247acb3e664402d379 19 | m_SerializeEntries: 20 | - m_GUID: Resources 21 | m_Address: Resources 22 | m_ReadOnly: 1 23 | m_SerializedLabels: [] 24 | - m_GUID: EditorSceneList 25 | m_Address: EditorSceneList 26 | m_ReadOnly: 1 27 | m_SerializedLabels: [] 28 | m_ReadOnly: 1 29 | m_Settings: {fileID: 11400000, guid: e0f6fa325fd1a464cbecb4e3b9f30872, type: 2} 30 | m_SchemaSet: 31 | m_Schemas: 32 | - {fileID: 11400000, guid: 2703eb342b56655419725c239c013cc4, type: 2} 33 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/AssetGroups/Built In Data.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 85a41e37c6a6c344ba1b70e8e15b138f 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/AssetGroups/Default Local Group.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: bbb281ee3bf0b054c82ac2347e9e782c, type: 3} 13 | m_Name: Default Local Group 14 | m_EditorClassIdentifier: 15 | m_GroupName: Default Local Group 16 | m_Data: 17 | m_SerializedData: [] 18 | m_GUID: d9910c93167875b4c99382800fc0d05e 19 | m_SerializeEntries: 20 | - m_GUID: 83afb3fa82487e04b9731fca92fb5685 21 | m_Address: Assets/Scripts/Project.Runtime/GameObject.prefab 22 | m_ReadOnly: 0 23 | m_SerializedLabels: [] 24 | m_ReadOnly: 0 25 | m_Settings: {fileID: 11400000, guid: e0f6fa325fd1a464cbecb4e3b9f30872, type: 2} 26 | m_SchemaSet: 27 | m_Schemas: 28 | - {fileID: 11400000, guid: 7bdf3fac82cbf604f9d3f35fc61a9d5b, type: 2} 29 | - {fileID: 11400000, guid: 1a2a2c93eab7b43418971a8e619998b7, type: 2} 30 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/AssetGroups/Default Local Group.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4fa3a4f3857831f46b32fd15146ddb84 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/AssetGroups/Schemas.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fa15add4cf6c3504eae3fe5b4987b287 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/AssetGroups/Schemas/Built In Data_PlayerDataGroupSchema.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: b1487f5d688e4f94f828f879d599dbdc, type: 3} 13 | m_Name: Built In Data_PlayerDataGroupSchema 14 | m_EditorClassIdentifier: 15 | m_Group: {fileID: 11400000, guid: 85a41e37c6a6c344ba1b70e8e15b138f, type: 2} 16 | m_IncludeResourcesFolders: 1 17 | m_IncludeBuildSettingsScenes: 1 18 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/AssetGroups/Schemas/Built In Data_PlayerDataGroupSchema.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2703eb342b56655419725c239c013cc4 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/AssetGroups/Schemas/Default Local Group_BundledAssetGroupSchema.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: e5d17a21594effb4e9591490b009e7aa, type: 3} 13 | m_Name: Default Local Group_BundledAssetGroupSchema 14 | m_EditorClassIdentifier: 15 | m_Group: {fileID: 11400000, guid: 4fa3a4f3857831f46b32fd15146ddb84, type: 2} 16 | m_InternalBundleIdMode: 1 17 | m_Compression: 1 18 | m_IncludeAddressInCatalog: 1 19 | m_IncludeGUIDInCatalog: 1 20 | m_IncludeLabelsInCatalog: 1 21 | m_InternalIdNamingMode: 0 22 | m_CacheClearBehavior: 0 23 | m_IncludeInBuild: 1 24 | m_BundledAssetProviderType: 25 | m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null 26 | m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.BundledAssetProvider 27 | m_ForceUniqueProvider: 0 28 | m_UseAssetBundleCache: 1 29 | m_UseAssetBundleCrc: 1 30 | m_UseAssetBundleCrcForCachedBundles: 1 31 | m_UseUWRForLocalBundles: 0 32 | m_Timeout: 0 33 | m_ChunkedTransfer: 0 34 | m_RedirectLimit: -1 35 | m_RetryCount: 0 36 | m_BuildPath: 37 | m_Id: 39f5442237a26e346a93004cc38d7bf0 38 | m_LoadPath: 39 | m_Id: 306e70fc82f4d384eb13742f59b5bf59 40 | m_BundleMode: 0 41 | m_AssetBundleProviderType: 42 | m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null 43 | m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.AssetBundleProvider 44 | m_BundleNaming: 0 45 | m_AssetLoadMode: 0 46 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/AssetGroups/Schemas/Default Local Group_BundledAssetGroupSchema.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1a2a2c93eab7b43418971a8e619998b7 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/AssetGroups/Schemas/Default Local Group_ContentUpdateGroupSchema.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: 5834b5087d578d24c926ce20cd31e6d6, type: 3} 13 | m_Name: Default Local Group_ContentUpdateGroupSchema 14 | m_EditorClassIdentifier: 15 | m_Group: {fileID: 11400000, guid: 4fa3a4f3857831f46b32fd15146ddb84, type: 2} 16 | m_StaticContent: 0 17 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/AssetGroups/Schemas/Default Local Group_ContentUpdateGroupSchema.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7bdf3fac82cbf604f9d3f35fc61a9d5b 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/DataBuilders.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ad36efca17913cc47b4980889ba7b6c3 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/DataBuilders/BuildScriptFastMode.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: 88d21199f5d473f4db36845f2318f180, type: 3} 13 | m_Name: BuildScriptFastMode 14 | m_EditorClassIdentifier: 15 | instanceProviderType: 16 | m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null 17 | m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.InstanceProvider 18 | sceneProviderType: 19 | m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null 20 | m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.SceneProvider 21 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/DataBuilders/BuildScriptFastMode.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e0a09e600c50b3f408a6f0706f6c28b9 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/DataBuilders/BuildScriptPackedMode.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: 3e2e0ffa088c91d41a086d0b8cb16bdc, type: 3} 13 | m_Name: BuildScriptPackedMode 14 | m_EditorClassIdentifier: 15 | instanceProviderType: 16 | m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null 17 | m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.InstanceProvider 18 | sceneProviderType: 19 | m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null 20 | m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.SceneProvider 21 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/DataBuilders/BuildScriptPackedMode.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2387e32735ff8f34b83d5244bc7bc30f 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/DataBuilders/BuildScriptPackedPlayMode.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: ad8c280d42ee0ed41a27db23b43dd2bf, type: 3} 13 | m_Name: BuildScriptPackedPlayMode 14 | m_EditorClassIdentifier: 15 | instanceProviderType: 16 | m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null 17 | m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.InstanceProvider 18 | sceneProviderType: 19 | m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null 20 | m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.SceneProvider 21 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/DataBuilders/BuildScriptPackedPlayMode.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5550a3bff3073394ab53aaecfec26f8d 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/DataBuilders/BuildScriptVirtualMode.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: bb0e4994b34add1409fd8ccaf4a82de5, type: 3} 13 | m_Name: BuildScriptVirtualMode 14 | m_EditorClassIdentifier: 15 | instanceProviderType: 16 | m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null 17 | m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.InstanceProvider 18 | sceneProviderType: 19 | m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null 20 | m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.SceneProvider 21 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/DataBuilders/BuildScriptVirtualMode.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f5ed74d2469b6e146bf5363c1365b80f 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/DefaultObject.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: 3a189bb168d8d90478a09ea08c2f3d72, type: 3} 13 | m_Name: DefaultObject 14 | m_EditorClassIdentifier: 15 | m_AddressableAssetSettingsGuid: e0f6fa325fd1a464cbecb4e3b9f30872 16 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/DefaultObject.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a4ed3d350d7e25f4ea915e3071c5af7b 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Scenes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 131a6b21c8605f84396be9f6751fb6e3 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Scenes/SampleScene.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2cda990e2423bbf4892e6590ba056729 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5cb5d0f51a08ed146b1ae20d1d193234 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Scripts/Project.Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: df47a864b041c8e46b7b550c59afb890 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Scripts/Project.Editor/Project.Editor.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Project.Editor", 3 | "rootNamespace": "Project.Editor", 4 | "references": [ 5 | "Project.Runtime" 6 | ], 7 | "includePlatforms": [ 8 | "Editor" 9 | ], 10 | "excludePlatforms": [], 11 | "allowUnsafeCode": false, 12 | "overrideReferences": false, 13 | "precompiledReferences": [], 14 | "autoReferenced": true, 15 | "defineConstraints": [], 16 | "versionDefines": [], 17 | "noEngineReferences": false 18 | } -------------------------------------------------------------------------------- /Assets/Scripts/Project.Editor/Project.Editor.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e4edc92064ecfd6458952b4ebea1f7ea 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Scripts/Project.Editor/ProjectEditor.cs: -------------------------------------------------------------------------------- 1 | using UnityEditor; 2 | 3 | namespace Project.Editor 4 | { 5 | public class ProjectEditor : EditorWindow 6 | { 7 | 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Assets/Scripts/Project.Editor/ProjectEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 845fcdb0d0b4f4940a1ffc6165a5a42b 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Scripts/Project.Runtime.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 457fb8eb4815b5e43a5f8b6e9ce59a41 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Scripts/Project.Runtime/AddressableColliderPoolBehaviour.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using ZBase.Foundation.Pooling.AddressableAssets; 3 | 4 | namespace Project.Runtime 5 | { 6 | public class AddressableColliderPoolBehaviour 7 | : AddressComponentPoolBehaviour 8 | { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Assets/Scripts/Project.Runtime/AddressableColliderPoolBehaviour.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 67d523d5ce1fa604d897e71cc96999b9 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Scripts/Project.Runtime/GameObject.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1 &8974063386934436811 4 | GameObject: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | serializedVersion: 6 10 | m_Component: 11 | - component: {fileID: 4049897950728384845} 12 | - component: {fileID: 8349435977013577401} 13 | m_Layer: 0 14 | m_Name: GameObject 15 | m_TagString: Untagged 16 | m_Icon: {fileID: 0} 17 | m_NavMeshLayer: 0 18 | m_StaticEditorFlags: 0 19 | m_IsActive: 1 20 | --- !u!4 &4049897950728384845 21 | Transform: 22 | m_ObjectHideFlags: 0 23 | m_CorrespondingSourceObject: {fileID: 0} 24 | m_PrefabInstance: {fileID: 0} 25 | m_PrefabAsset: {fileID: 0} 26 | m_GameObject: {fileID: 8974063386934436811} 27 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 28 | m_LocalPosition: {x: 0, y: 0, z: 0} 29 | m_LocalScale: {x: 1, y: 1, z: 1} 30 | m_ConstrainProportionsScale: 0 31 | m_Children: [] 32 | m_Father: {fileID: 0} 33 | m_RootOrder: 0 34 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 35 | --- !u!65 &8349435977013577401 36 | BoxCollider: 37 | m_ObjectHideFlags: 0 38 | m_CorrespondingSourceObject: {fileID: 0} 39 | m_PrefabInstance: {fileID: 0} 40 | m_PrefabAsset: {fileID: 0} 41 | m_GameObject: {fileID: 8974063386934436811} 42 | m_Material: {fileID: 0} 43 | m_IsTrigger: 0 44 | m_Enabled: 1 45 | serializedVersion: 2 46 | m_Size: {x: 1, y: 1, z: 1} 47 | m_Center: {x: 0, y: 0, z: 0} 48 | -------------------------------------------------------------------------------- /Assets/Scripts/Project.Runtime/GameObject.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 83afb3fa82487e04b9731fca92fb5685 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Scripts/Project.Runtime/Project.Runtime.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Project.Runtime", 3 | "rootNamespace": "Project.Runtime", 4 | "references": [ 5 | "Unity.TextMeshPro", 6 | "UnityEngine.UI", 7 | "UniTask", 8 | "UniTask.Addressables", 9 | "Unity.Addressables", 10 | "Unity.ResourceManager", 11 | "ZBase.Collections.Pooled", 12 | "ZBase.Foundation.Pooling", 13 | "ZBase.Foundation.Pooling.Addressables" 14 | ], 15 | "includePlatforms": [], 16 | "excludePlatforms": [], 17 | "allowUnsafeCode": false, 18 | "overrideReferences": false, 19 | "precompiledReferences": [], 20 | "autoReferenced": true, 21 | "defineConstraints": [], 22 | "versionDefines": [], 23 | "noEngineReferences": false 24 | } -------------------------------------------------------------------------------- /Assets/Scripts/Project.Runtime/Project.Runtime.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: caa0ff2ec1b4b1b459d07ec32acc46a5 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Scripts/Project.Runtime/ProjectRuntime.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using ZBase.Foundation.Pooling; 3 | using ZBase.Foundation.Pooling.AddressableAssets; 4 | using ZBase.Foundation.Pooling.UnityPools; 5 | 6 | namespace Project.Runtime 7 | { 8 | public class ProjectRuntime : MonoBehaviour 9 | { 10 | private void Start() 11 | { 12 | this.gameObject.AddComponent>(); 13 | var pool = SharedPool.Of(); 14 | pool.ReleaseInstances(1); 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Assets/Scripts/Project.Runtime/ProjectRuntime.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c4cdf0fd65a63b84ba64856a2c1202d0 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Scripts/Project.Runtime/Properties.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ba0a6b80ee912514abd6cefc096261c6 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Scripts/Project.Runtime/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.CompilerServices; 2 | 3 | [assembly: InternalsVisibleTo("Project.Editor")] -------------------------------------------------------------------------------- /Assets/Scripts/Project.Runtime/Properties/AssemblyInfo.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 51276b4bf487a594792be77cc856edb6 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f54d1bd14bd3ca042bd867b519fee8cc 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Documentation.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8e7e8f5a82a3a134e91c54efd2274ea9 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Documentation/TextMesh Pro User Guide 2016.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zitga-Tech/ZBase.Foundation.Pooling/a08e1d16d94522875dd1254d67502740846bd047/Assets/TextMesh Pro/Documentation/TextMesh Pro User Guide 2016.pdf -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Documentation/TextMesh Pro User Guide 2016.pdf.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1b8d251f9af63b746bf2f7ffe00ebb9b 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Fonts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6ab70aee4d56447429c680537fbf93ed 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Fonts/LiberationSans - OFL.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6e59c59b81ab47f9b6ec5781fa725d2c 3 | timeCreated: 1484171296 4 | licenseType: Pro 5 | TextScriptImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Fonts/LiberationSans.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zitga-Tech/ZBase.Foundation.Pooling/a08e1d16d94522875dd1254d67502740846bd047/Assets/TextMesh Pro/Fonts/LiberationSans.ttf -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Fonts/LiberationSans.ttf.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e3265ab4bf004d28a9537516768c1c75 3 | timeCreated: 1484171297 4 | licenseType: Pro 5 | TrueTypeFontImporter: 6 | serializedVersion: 2 7 | fontSize: 16 8 | forceTextureCase: -2 9 | characterSpacing: 1 10 | characterPadding: 0 11 | includeFontData: 1 12 | use2xBehaviour: 0 13 | fontNames: [] 14 | fallbackFontReferences: [] 15 | customCharacters: 16 | fontRenderingMode: 0 17 | userData: 18 | assetBundleName: 19 | assetBundleVariant: 20 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 243e06394e614e5d99fab26083b707fa 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/Fonts & Materials.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 731f1baa9d144a9897cb1d341c2092b8 3 | folderAsset: yes 4 | timeCreated: 1442040525 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Drop Shadow.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e73a58f6e2794ae7b1b7e50b7fb811b0 3 | timeCreated: 1484172806 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2e498d1c8094910479dc3e1b768306a4 3 | timeCreated: 1484171803 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Outline.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 79459efec17a4d00a321bdcc27bbc385 3 | timeCreated: 1484172856 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8f586378b4e144a9851e7b34d9b748ee 3 | timeCreated: 1484171803 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/LineBreaking Following Characters.txt: -------------------------------------------------------------------------------- 1 | )]}〕〉》」』】〙〗〟’”⦆»ヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻‐゠–〜?!‼⁇⁈⁉・、%,.:;。!?]):;=}¢°"†‡℃〆%,. -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/LineBreaking Following Characters.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fade42e8bc714b018fac513c043d323b 3 | timeCreated: 1425440388 4 | licenseType: Store 5 | TextScriptImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/LineBreaking Leading Characters.txt: -------------------------------------------------------------------------------- 1 | ([{〔〈《「『【〘〖〝‘“⦅«$—…‥〳〴〵\[({£¥"々〇$¥₩ # -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/LineBreaking Leading Characters.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d82c1b31c7e74239bff1220585707d2b 3 | timeCreated: 1425440388 4 | licenseType: Store 5 | TextScriptImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/Sprite Assets.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 512a49d95c0c4332bdd98131869c23c9 3 | folderAsset: yes 4 | timeCreated: 1441876896 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/Sprite Assets/EmojiOne.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c41005c129ba4d66911b75229fd70b45 3 | timeCreated: 1480316912 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/Style Sheets.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4aecb92fff08436c8303b10eab8da368 3 | folderAsset: yes 4 | timeCreated: 1441876950 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/Style Sheets/Default Style Sheet.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f952c082cb03451daed3ee968ac6c63e 3 | timeCreated: 1432805430 4 | licenseType: Store 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/TMP Settings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: 2705215ac5b84b70bacc50632be6e391, type: 3} 13 | m_Name: TMP Settings 14 | m_EditorClassIdentifier: 15 | m_enableWordWrapping: 1 16 | m_enableKerning: 1 17 | m_enableExtraPadding: 0 18 | m_enableTintAllSprites: 0 19 | m_enableParseEscapeCharacters: 1 20 | m_EnableRaycastTarget: 1 21 | m_GetFontFeaturesAtRuntime: 1 22 | m_missingGlyphCharacter: 0 23 | m_warningsDisabled: 0 24 | m_defaultFontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} 25 | m_defaultFontAssetPath: Fonts & Materials/ 26 | m_defaultFontSize: 36 27 | m_defaultAutoSizeMinRatio: 0.5 28 | m_defaultAutoSizeMaxRatio: 2 29 | m_defaultTextMeshProTextContainerSize: {x: 20, y: 5} 30 | m_defaultTextMeshProUITextContainerSize: {x: 200, y: 50} 31 | m_autoSizeTextContainer: 0 32 | m_fallbackFontAssets: [] 33 | m_matchMaterialPreset: 1 34 | m_defaultSpriteAsset: {fileID: 11400000, guid: c41005c129ba4d66911b75229fd70b45, 35 | type: 2} 36 | m_defaultSpriteAssetPath: Sprite Assets/ 37 | m_enableEmojiSupport: 1 38 | m_MissingCharacterSpriteUnicode: 0 39 | m_defaultColorGradientPresetsPath: Color Gradient Presets/ 40 | m_defaultStyleSheet: {fileID: 11400000, guid: f952c082cb03451daed3ee968ac6c63e, 41 | type: 2} 42 | m_StyleSheetsResourcePath: 43 | m_leadingCharacters: {fileID: 4900000, guid: d82c1b31c7e74239bff1220585707d2b, type: 3} 44 | m_followingCharacters: {fileID: 4900000, guid: fade42e8bc714b018fac513c043d323b, 45 | type: 3} 46 | m_UseModernHangulLineBreakingRules: 0 47 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/TMP Settings.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3f5b5dff67a942289a9defa416b206f3 3 | timeCreated: 1436653997 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Shaders.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e9f693669af91aa45ad615fc681ed29f 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Shaders/TMP_Bitmap-Custom-Atlas.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 48bb5f55d8670e349b6e614913f9d910 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Shaders/TMP_Bitmap-Mobile.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1e3b057af24249748ff873be7fafee47 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Shaders/TMP_Bitmap.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 128e987d567d4e2c824d754223b3f3b0 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Shaders/TMP_SDF Overlay.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dd89cf5b9246416f84610a006f916af7 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Shaders/TMP_SDF SSD.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 14eb328de4b8eb245bb7cea29e4ac00b 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Masking.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bc1ede39bf3643ee8e493720e4259791 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Overlay.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a02a7d8c237544f1962732b55a9aebf1 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile SSD.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c8d12adcee749c344b8117cf7c7eb912 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fe393ace9b354375a9cb14cdbbc28be4 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Shaders/TMP_SDF-Surface-Mobile.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 85187c2149c549c5b33f0cdb02836b17 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Shaders/TMP_SDF-Surface.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f7ada0af4f174f0694ca6a487b8f543d 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Shaders/TMP_SDF.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 68e6db2ebdc24f95958faec2be5558d6 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Shaders/TMP_Sprite.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cf81c85f95fe47e1a27f6ae460cf182c 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Shaders/TMPro.cginc.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 407bc68d299748449bbf7f48ee690f8d 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Shaders/TMPro_Mobile.cginc.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c334973cef89a9840b0b0c507e0377ab 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Shaders/TMPro_Properties.cginc.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3997e2241185407d80309a82f9148466 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Shaders/TMPro_Surface.cginc.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d930090c0cd643c7b55f19a38538c162 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Sprites.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d0603b6d5186471b96c778c3949c7ce2 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Sprites/EmojiOne Attribution.txt: -------------------------------------------------------------------------------- 1 | This sample of beautiful emojis are provided by EmojiOne https://www.emojione.com/ 2 | 3 | Please visit their website to view the complete set of their emojis and review their licensing terms. -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Sprites/EmojiOne Attribution.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 381dcb09d5029d14897e55f98031fca5 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Sprites/EmojiOne.json.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8f05276190cf498a8153f6cbe761d4e6 3 | timeCreated: 1480316860 4 | licenseType: Pro 5 | TextScriptImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Sprites/EmojiOne.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zitga-Tech/ZBase.Foundation.Pooling/a08e1d16d94522875dd1254d67502740846bd047/Assets/TextMesh Pro/Sprites/EmojiOne.png -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 Zitga Tech 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling.Addressables.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1aa5e49f01c003b4fb79993278d88e4f 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling.Addressables/Foundation.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b08195c6477715a4ca3c52d9905bcb7f 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling.Addressables/Foundation/Behaviours.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0d80f3205bf0959499896cfa601d6cd9 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling.Addressables/Foundation/Behaviours/AddressComponentPoolBehaviour{T,TPrefab,TPool}.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using ZBase.Foundation.Pooling.UnityPools; 3 | 4 | namespace ZBase.Foundation.Pooling.AddressableAssets 5 | { 6 | public class AddressComponentPoolBehaviour 7 | : UnityPoolBehaviour 8 | where T : Component 9 | where TPrefab : AddressComponentPrefab 10 | where TPool : AddressComponentPool 11 | { 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling.Addressables/Foundation/Behaviours/AddressComponentPoolBehaviour{T,TPrefab,TPool}.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ca211cc6128bd2c468e700f3a41c12b1 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling.Addressables/Foundation/Behaviours/AddressComponentPoolBehaviour{T}.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace ZBase.Foundation.Pooling.AddressableAssets 4 | { 5 | public class AddressComponentPoolBehaviour 6 | : AddressComponentPoolBehaviour 8 | , AddressComponentPool 9 | > 10 | where T : Component 11 | { 12 | } 13 | } -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling.Addressables/Foundation/Behaviours/AddressComponentPoolBehaviour{T}.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9830184119cc1bd4a9447803df5465ef 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling.Addressables/Foundation/Behaviours/AddressGameObjectPoolBehaviour.cs: -------------------------------------------------------------------------------- 1 | namespace ZBase.Foundation.Pooling.AddressableAssets 2 | { 3 | public class AddressGameObjectPoolBehaviour 4 | : AddressGameObjectPoolBehaviour< 5 | AddressGameObjectPrefab 6 | , AddressGameObjectPool 7 | > 8 | { 9 | } 10 | } -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling.Addressables/Foundation/Behaviours/AddressGameObjectPoolBehaviour.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c79e8d3344c243c498d5c794dfbf35c1 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling.Addressables/Foundation/Behaviours/AddressGameObjectPoolBehaviour{TPrefab,TPool}.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using ZBase.Foundation.Pooling.UnityPools; 3 | 4 | namespace ZBase.Foundation.Pooling.AddressableAssets 5 | { 6 | public class AddressGameObjectPoolBehaviour 7 | : UnityPoolBehaviour 8 | where TPrefab : AddressGameObjectPrefab 9 | where TPool : AddressGameObjectPool 10 | { 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling.Addressables/Foundation/Behaviours/AddressGameObjectPoolBehaviour{TPrefab,TPool}.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 69102c79452391e42ac8159104fbf8c6 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling.Addressables/Foundation/Behaviours/AssetRefComponentPoolBehaviour{T}.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using ZBase.Foundation.Pooling.UnityPools; 3 | 4 | namespace ZBase.Foundation.Pooling.AddressableAssets 5 | { 6 | public class AssetRefComponentPoolBehaviour 7 | : UnityPoolBehaviour< 8 | T 9 | , AssetRefComponentPrefab 10 | , AssetRefComponentPool 11 | > 12 | where T : Component 13 | { 14 | } 15 | } -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling.Addressables/Foundation/Behaviours/AssetRefComponentPoolBehaviour{T}.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4cead3315b620cb458acfbb48e85da52 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling.Addressables/Foundation/Behaviours/AssetRefGameObjectPoolBehaviour.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using ZBase.Foundation.Pooling.UnityPools; 3 | 4 | namespace ZBase.Foundation.Pooling.AddressableAssets 5 | { 6 | public class AssetRefGameObjectPoolBehaviour 7 | : UnityPoolBehaviour< 8 | GameObject 9 | , AssetRefGameObjectPrefab 10 | , AssetRefGameObjectPool 11 | > 12 | { 13 | } 14 | } -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling.Addressables/Foundation/Behaviours/AssetRefGameObjectPoolBehaviour.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 518a8201e7ccee246ac67092d6576cea 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling.Addressables/Foundation/Pools.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4fb305f368844b3498ef64afb9e70372 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling.Addressables/Foundation/Pools/AddressComponentPool{T,TPrefab}.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using ZBase.Foundation.Pooling.UnityPools; 3 | using UnityEngine; 4 | 5 | namespace ZBase.Foundation.Pooling.AddressableAssets 6 | { 7 | [Serializable] 8 | public class AddressComponentPool 9 | : ComponentPool 10 | where T : Component 11 | where TPrefab : AddressComponentPrefab 12 | { 13 | public AddressComponentPool() 14 | : base() 15 | { } 16 | 17 | public AddressComponentPool(TPrefab prefab) 18 | : base(prefab) 19 | { } 20 | 21 | public AddressComponentPool(UniqueQueue queue) 22 | : base(queue) 23 | { } 24 | 25 | public AddressComponentPool(UniqueQueue queue, TPrefab prefab) 26 | : base(queue, prefab) 27 | { } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling.Addressables/Foundation/Pools/AddressComponentPool{T,TPrefab}.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 98b7b5e7f15a9de46bc6cd3dff40a6c3 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling.Addressables/Foundation/Pools/AddressComponentPool{T}.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | 4 | namespace ZBase.Foundation.Pooling.AddressableAssets 5 | { 6 | [Serializable] 7 | public class AddressComponentPool 8 | : AddressComponentPool> 9 | where T : Component 10 | { 11 | public AddressComponentPool() 12 | : base() 13 | { } 14 | 15 | public AddressComponentPool(AddressComponentPrefab prefab) 16 | : base(prefab) 17 | { } 18 | 19 | public AddressComponentPool(UniqueQueue queue) 20 | : base(queue) 21 | { } 22 | 23 | public AddressComponentPool(UniqueQueue queue, AddressComponentPrefab prefab) 24 | : base(queue, prefab) 25 | { } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling.Addressables/Foundation/Pools/AddressComponentPool{T}.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4b0ffacfa763fab488cdc335863d3ded 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling.Addressables/Foundation/Pools/AddressGameObjectPool.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | 4 | namespace ZBase.Foundation.Pooling.AddressableAssets 5 | { 6 | [Serializable] 7 | public class AddressGameObjectPool 8 | : AddressGameObjectPool 9 | { 10 | public AddressGameObjectPool() 11 | : base() 12 | { } 13 | 14 | public AddressGameObjectPool(AddressGameObjectPrefab prefab) 15 | : base(prefab) 16 | { } 17 | 18 | public AddressGameObjectPool(UniqueQueue queue) 19 | : base(queue) 20 | { } 21 | 22 | public AddressGameObjectPool(UniqueQueue queue, AddressGameObjectPrefab prefab) 23 | : base(queue, prefab) 24 | { } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling.Addressables/Foundation/Pools/AddressGameObjectPool.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d1588e96c3272eb49ae6bfe6b901a479 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling.Addressables/Foundation/Pools/AddressGameObjectPool{TPrefab}.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | using ZBase.Foundation.Pooling.UnityPools; 4 | 5 | namespace ZBase.Foundation.Pooling.AddressableAssets 6 | { 7 | [Serializable] 8 | public class AddressGameObjectPool 9 | : GameObjectPool 10 | where TPrefab : AddressGameObjectPrefab 11 | { 12 | public AddressGameObjectPool() 13 | : base() 14 | { } 15 | 16 | public AddressGameObjectPool(TPrefab prefab) 17 | : base(prefab) 18 | { } 19 | 20 | public AddressGameObjectPool(UniqueQueue queue) 21 | : base(queue) 22 | { } 23 | 24 | public AddressGameObjectPool(UniqueQueue queue, TPrefab prefab) 25 | : base(queue, prefab) 26 | { } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling.Addressables/Foundation/Pools/AddressGameObjectPool{TPrefab}.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 77ba7d1a91757f64a9fea5b2e4713c7f 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling.Addressables/Foundation/Pools/AssetRefComponentPool{T}.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | using ZBase.Foundation.Pooling.UnityPools; 4 | 5 | namespace ZBase.Foundation.Pooling.AddressableAssets 6 | { 7 | [Serializable] 8 | public class AssetRefComponentPool 9 | : ComponentPool> 10 | where T : Component 11 | { 12 | public AssetRefComponentPool() 13 | : base() 14 | { } 15 | 16 | public AssetRefComponentPool(AssetRefComponentPrefab prefab) 17 | : base(prefab) 18 | { } 19 | 20 | public AssetRefComponentPool(UniqueQueue queue) 21 | : base(queue) 22 | { } 23 | 24 | public AssetRefComponentPool(UniqueQueue queue, AssetRefComponentPrefab prefab) 25 | : base(queue, prefab) 26 | { } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling.Addressables/Foundation/Pools/AssetRefComponentPool{T}.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3dd6c9611be01dd44951637670036fd0 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling.Addressables/Foundation/Pools/AssetRefGameObjectPool.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | using ZBase.Foundation.Pooling.UnityPools; 4 | 5 | namespace ZBase.Foundation.Pooling.AddressableAssets 6 | { 7 | [Serializable] 8 | public class AssetRefGameObjectPool 9 | : GameObjectPool 10 | { 11 | public AssetRefGameObjectPool() 12 | : base() 13 | { } 14 | 15 | public AssetRefGameObjectPool(AssetRefGameObjectPrefab prefab) 16 | : base(prefab) 17 | { } 18 | 19 | public AssetRefGameObjectPool(UniqueQueue queue) 20 | : base(queue) 21 | { } 22 | 23 | public AssetRefGameObjectPool(UniqueQueue queue, AssetRefGameObjectPrefab prefab) 24 | : base(queue, prefab) 25 | { } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling.Addressables/Foundation/Pools/AssetRefGameObjectPool.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 74ab897db4f332c479e23df089716f65 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling.Addressables/Foundation/Prefabs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e5275ed8f02399c4081c2235d0500843 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling.Addressables/Foundation/Prefabs/AddressComponentPrefab{T}.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Threading; 3 | using Cysharp.Threading.Tasks; 4 | using UnityEngine; 5 | using UnityEngine.AddressableAssets; 6 | using UnityEngine.ResourceManagement.AsyncOperations; 7 | 8 | namespace ZBase.Foundation.Pooling.AddressableAssets 9 | { 10 | [Serializable] 11 | public class AddressComponentPrefab 12 | : AddressPrefab 13 | where T : Component 14 | { 15 | protected override async UniTask Instantiate( 16 | string source 17 | , Transform parent 18 | , CancellationToken cancelToken = default 19 | ) 20 | { 21 | AsyncOperationHandle handle; 22 | 23 | if (parent) 24 | handle = Addressables.InstantiateAsync(source, parent); 25 | else 26 | handle = Addressables.InstantiateAsync(source); 27 | 28 | var gameObject = await handle.WithCancellation(cancelToken); 29 | 30 | return gameObject.GetComponent(); 31 | } 32 | 33 | public override void Release(T instance) 34 | { 35 | if (instance) 36 | Addressables.ReleaseInstance(instance.gameObject); 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling.Addressables/Foundation/Prefabs/AddressComponentPrefab{T}.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 92af931122af2074fa550cf614aef9ad 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling.Addressables/Foundation/Prefabs/AddressGameObjectPrefab.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Threading; 3 | using Cysharp.Threading.Tasks; 4 | using UnityEngine; 5 | using UnityEngine.AddressableAssets; 6 | using UnityEngine.ResourceManagement.AsyncOperations; 7 | 8 | namespace ZBase.Foundation.Pooling.AddressableAssets 9 | { 10 | [Serializable] 11 | public class AddressGameObjectPrefab 12 | : AddressPrefab 13 | { 14 | protected override async UniTask Instantiate( 15 | string source 16 | , Transform parent 17 | , CancellationToken cancelToken 18 | ) 19 | { 20 | AsyncOperationHandle handle; 21 | 22 | if (parent) 23 | handle = Addressables.InstantiateAsync(source, parent); 24 | else 25 | handle = Addressables.InstantiateAsync(source); 26 | 27 | return await handle.WithCancellation(cancelToken); 28 | } 29 | 30 | public override void Release(GameObject instance) 31 | { 32 | if (instance) 33 | Addressables.ReleaseInstance(instance); 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling.Addressables/Foundation/Prefabs/AddressGameObjectPrefab.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 44a6f88384aba8149b037ba7468ae50d 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling.Addressables/Foundation/Prefabs/AddressPrefab{T}.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using ZBase.Foundation.Pooling.UnityPools; 3 | 4 | namespace ZBase.Foundation.Pooling.AddressableAssets 5 | { 6 | [Serializable] 7 | public abstract class AddressPrefab 8 | : UnityPrefab 9 | where T : UnityEngine.Object 10 | { 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling.Addressables/Foundation/Prefabs/AddressPrefab{T}.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2f75dbe9226acd2449414c3fc1996a9c 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling.Addressables/Foundation/Prefabs/AssetRefComponentPrefab{T}.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Threading; 3 | using Cysharp.Threading.Tasks; 4 | using UnityEngine; 5 | using UnityEngine.AddressableAssets; 6 | using UnityEngine.ResourceManagement.AsyncOperations; 7 | 8 | namespace ZBase.Foundation.Pooling.AddressableAssets 9 | { 10 | [Serializable] 11 | public class AssetRefComponentPrefab 12 | : AssetRefPrefab 13 | where T : Component 14 | { 15 | protected override async UniTask Instantiate( 16 | AssetReferenceGameObject source 17 | , Transform parent 18 | , CancellationToken cancelToken = default 19 | ) 20 | { 21 | AsyncOperationHandle handle; 22 | 23 | if (parent) 24 | handle = source.InstantiateAsync(parent, true); 25 | else 26 | handle = source.InstantiateAsync(); 27 | 28 | var gameObject = await handle.WithCancellation(cancelToken); 29 | 30 | return gameObject.GetComponent(); 31 | } 32 | 33 | public override void Release(T instance) 34 | { 35 | if (instance && Source != null) 36 | Source.ReleaseInstance(instance.gameObject); 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling.Addressables/Foundation/Prefabs/AssetRefComponentPrefab{T}.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2d955d1c97bf39e43b4070e968411c83 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling.Addressables/Foundation/Prefabs/AssetRefGameObjectPrefab.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Threading; 3 | using Cysharp.Threading.Tasks; 4 | using UnityEngine; 5 | using UnityEngine.AddressableAssets; 6 | using UnityEngine.ResourceManagement.AsyncOperations; 7 | 8 | namespace ZBase.Foundation.Pooling.AddressableAssets 9 | { 10 | [Serializable] 11 | public class AssetRefGameObjectPrefab 12 | : AssetRefPrefab 13 | { 14 | protected override async UniTask Instantiate( 15 | AssetReferenceGameObject source 16 | , Transform parent 17 | , CancellationToken cancelToken 18 | ) 19 | { 20 | AsyncOperationHandle handle; 21 | 22 | if (parent) 23 | handle = source.InstantiateAsync(parent, true); 24 | else 25 | handle = source.InstantiateAsync(); 26 | 27 | return await handle.WithCancellation(cancelToken); 28 | } 29 | 30 | public override void Release(GameObject instance) 31 | { 32 | if (instance && Source != null) 33 | Source.ReleaseInstance(instance); 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling.Addressables/Foundation/Prefabs/AssetRefGameObjectPrefab.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d83869c6d65a9da4cb0ce7b54104d01e 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling.Addressables/Foundation/Prefabs/AssetRefPrefab{T,TAssetRef}.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine.AddressableAssets; 3 | using ZBase.Foundation.Pooling.UnityPools; 4 | 5 | namespace ZBase.Foundation.Pooling.AddressableAssets 6 | { 7 | [Serializable] 8 | public abstract class AssetRefPrefab 9 | : UnityPrefab 10 | where T : UnityEngine.Object 11 | where TAssetRef : AssetReference 12 | { 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling.Addressables/Foundation/Prefabs/AssetRefPrefab{T,TAssetRef}.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 84d322ef4804cc141b3709e5cbf6d73e 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling.Addressables/ScriptablePools.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2bd2db3ded9e13740858e9ae3ac58504 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling.Addressables/ScriptablePools/ScriptableAddressComponentSource{T}.cs: -------------------------------------------------------------------------------- 1 | using System.Threading; 2 | using Cysharp.Threading.Tasks; 3 | using UnityEngine; 4 | using UnityEngine.AddressableAssets; 5 | using UnityEngine.ResourceManagement.AsyncOperations; 6 | using ZBase.Foundation.Pooling; 7 | 8 | namespace Unity.Pooling.Scriptables.AddressableAssets 9 | { 10 | public class ScriptableAddressComponentSource : ScriptableAddressSource 11 | where T : Component 12 | { 13 | public override async UniTask Instantiate(Transform parent, CancellationToken cancelToken = default) 14 | { 15 | var source = Source; 16 | 17 | if (string.IsNullOrEmpty(source)) 18 | ThrowHelper.ThrowArgumentNullException(ExceptionArgument.assetName); 19 | 20 | AsyncOperationHandle handle; 21 | 22 | if (parent) 23 | handle = Addressables.InstantiateAsync(source, parent, true); 24 | else 25 | handle = Addressables.InstantiateAsync(source); 26 | 27 | var gameObject = await handle.WithCancellation(cancelToken); 28 | 29 | return gameObject.GetComponent(); 30 | } 31 | 32 | public override void Release(Object instance) 33 | { 34 | if (instance is T component) 35 | Addressables.ReleaseInstance(component.gameObject); 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling.Addressables/ScriptablePools/ScriptableAddressComponentSource{T}.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4e992c8d3ef9cb54698737cb24e2f244 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling.Addressables/ScriptablePools/ScriptableAddressGameObjectSource.cs: -------------------------------------------------------------------------------- 1 | using System.Threading; 2 | using Cysharp.Threading.Tasks; 3 | using UnityEngine; 4 | using UnityEngine.AddressableAssets; 5 | using UnityEngine.ResourceManagement.AsyncOperations; 6 | using ZBase.Foundation.Pooling; 7 | 8 | namespace Unity.Pooling.Scriptables.AddressableAssets 9 | { 10 | [CreateAssetMenu( 11 | fileName = "Scriptable Asset Name GameObject Source" 12 | , menuName = "Pooling/Scriptables/Sources/Asset Name GameObject" 13 | , order = 1 14 | )] 15 | public class ScriptableAddressGameObjectSource : ScriptableAddressSource 16 | { 17 | public override async UniTask Instantiate(Transform parent, CancellationToken cancelToken = default) 18 | { 19 | var source = Source; 20 | 21 | if (string.IsNullOrEmpty(source)) 22 | ThrowHelper.ThrowArgumentNullException(ExceptionArgument.assetName); 23 | 24 | AsyncOperationHandle handle; 25 | 26 | if (parent) 27 | handle = Addressables.InstantiateAsync(source, parent, true); 28 | else 29 | handle = Addressables.InstantiateAsync(source); 30 | 31 | return await handle.WithCancellation(cancelToken); 32 | } 33 | 34 | public override void Release(Object instance) 35 | { 36 | if (instance is GameObject gameObject) 37 | Addressables.ReleaseInstance(gameObject); 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling.Addressables/ScriptablePools/ScriptableAddressGameObjectSource.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 133549850fc0e864f87a6c2a32fba6a2 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling.Addressables/ScriptablePools/ScriptableAddressSource.cs: -------------------------------------------------------------------------------- 1 | using ZBase.Foundation.Pooling.ScriptablePools; 2 | 3 | namespace Unity.Pooling.Scriptables.AddressableAssets 4 | { 5 | public abstract class ScriptableAddressSource : ScriptableSource 6 | { 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling.Addressables/ScriptablePools/ScriptableAddressSource.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: adb3859c4e952954f9112091aa62e6f5 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling.Addressables/ScriptablePools/ScriptableAssetRefComponentSource{T}.cs: -------------------------------------------------------------------------------- 1 | using System.Threading; 2 | using Cysharp.Threading.Tasks; 3 | using UnityEngine; 4 | using UnityEngine.AddressableAssets; 5 | using UnityEngine.ResourceManagement.AsyncOperations; 6 | using ZBase.Foundation.Pooling; 7 | 8 | namespace Unity.Pooling.Scriptables.AddressableAssets 9 | { 10 | public class ScriptableAssetRefComponentSource 11 | : ScriptableAssetRefSource 12 | where T : Component 13 | { 14 | public override async UniTask Instantiate(Transform parent, CancellationToken cancelToken = default) 15 | { 16 | var source = Source; 17 | 18 | if (source == null) 19 | ThrowHelper.ThrowArgumentNullException(ExceptionArgument.source); 20 | 21 | AsyncOperationHandle handle; 22 | 23 | if (parent) 24 | handle = source.InstantiateAsync(parent); 25 | else 26 | handle = source.InstantiateAsync(); 27 | 28 | var gameObject = await handle.WithCancellation(cancelToken); 29 | 30 | return gameObject.GetComponent(); 31 | } 32 | 33 | public override void Release(Object instance) 34 | { 35 | if (instance is T component && Source != null) 36 | Source.ReleaseInstance(component.gameObject); 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling.Addressables/ScriptablePools/ScriptableAssetRefComponentSource{T}.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0321c239f22623f4a83c86494659a3e0 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling.Addressables/ScriptablePools/ScriptableAssetRefGameObjectSource.cs: -------------------------------------------------------------------------------- 1 | using System.Threading; 2 | using Cysharp.Threading.Tasks; 3 | using UnityEngine; 4 | using UnityEngine.AddressableAssets; 5 | using UnityEngine.ResourceManagement.AsyncOperations; 6 | using ZBase.Foundation.Pooling; 7 | 8 | namespace Unity.Pooling.Scriptables.AddressableAssets 9 | { 10 | [CreateAssetMenu( 11 | fileName = "Scriptable AssetRef GameObject Source" 12 | , menuName = "Pooling/Scriptables/Sources/AssetRef GameObject" 13 | , order = 1 14 | )] 15 | public class ScriptableAssetRefGameObjectSource 16 | : ScriptableAssetRefSource 17 | { 18 | public override async UniTask Instantiate(Transform parent, CancellationToken cancelToken = default) 19 | { 20 | var source = Source; 21 | 22 | if (source == null) 23 | ThrowHelper.ThrowArgumentNullException(ExceptionArgument.source); 24 | 25 | AsyncOperationHandle handle; 26 | 27 | if (parent) 28 | handle = source.InstantiateAsync(parent, true); 29 | else 30 | handle = source.InstantiateAsync(); 31 | 32 | return await handle.WithCancellation(cancelToken); 33 | } 34 | 35 | public override void Release(Object instance) 36 | { 37 | if (instance is GameObject gameObject && Source != null) 38 | Source.ReleaseInstance(gameObject); 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling.Addressables/ScriptablePools/ScriptableAssetRefGameObjectSource.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 145603fc8f1f13148a36141df6ada5a5 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling.Addressables/ScriptablePools/ScriptableAssetRefSource{TAssetRef}.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine.AddressableAssets; 2 | using ZBase.Foundation.Pooling.ScriptablePools; 3 | 4 | namespace Unity.Pooling.Scriptables.AddressableAssets 5 | { 6 | public abstract class ScriptableAssetRefSource : ScriptableSource 7 | where TAssetRef : AssetReference 8 | { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling.Addressables/ScriptablePools/ScriptableAssetRefSource{TAssetRef}.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1c3e9c7bcacef084984fb0d943af2d9d 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling.Addressables/ZBase.Foundation.Pooling.Addressables.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ZBase.Foundation.Pooling.Addressables", 3 | "rootNamespace": "ZBase.Foundation.Pooling.Addressables", 4 | "references": [ 5 | "UniTask", 6 | "UniTask.Addressables", 7 | "Unity.Addressables", 8 | "Unity.ResourceManager", 9 | "ZBase.Collections.Pooled", 10 | "ZBase.Foundation.Pooling" 11 | ], 12 | "includePlatforms": [], 13 | "excludePlatforms": [], 14 | "allowUnsafeCode": false, 15 | "overrideReferences": false, 16 | "precompiledReferences": [], 17 | "autoReferenced": true, 18 | "defineConstraints": [ 19 | "ZBASE_FOUNDATION_POOLING_ADDRESSABLES" 20 | ], 21 | "versionDefines": [ 22 | { 23 | "name": "com.unity.addressables", 24 | "expression": "", 25 | "define": "ZBASE_FOUNDATION_POOLING_ADDRESSABLES" 26 | } 27 | ], 28 | "noEngineReferences": false 29 | } -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling.Addressables/ZBase.Foundation.Pooling.Addressables.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ed32cdac191990e48a738b9b536cfbe1 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9bac61396a902ea40884393fc1722891 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9614aa29eea408241a4d7fc2ceb753f9 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation/Common.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2aac1dfb37be3ab4f92cb005c8e3f505 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation/Common/Interfaces.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 02e900849de705a429248edd4805c22b 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation/Common/Interfaces/IAsyncInstantiable{T}.cs: -------------------------------------------------------------------------------- 1 | using System.Threading; 2 | using Cysharp.Threading.Tasks; 3 | 4 | namespace ZBase.Foundation.Pooling 5 | { 6 | public interface IAsyncInstantiable : IInstantiable> 7 | { 8 | UniTask Instantiate(CancellationToken cancelToken); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation/Common/Interfaces/IAsyncInstantiable{T}.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0c5759c2c3a4ca143ba7781d2fdead74 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation/Common/Interfaces/IAsyncPool{T}.cs: -------------------------------------------------------------------------------- 1 | namespace ZBase.Foundation.Pooling 2 | { 3 | public interface IAsyncPool : IPool, IAsyncRentable, IReturnable, IReleaseInstances, ICountable 4 | { 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation/Common/Interfaces/IAsyncPool{T}.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 713ee663cae51984a92e1c29dd43c04d 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation/Common/Interfaces/IAsyncRentable{T}.cs: -------------------------------------------------------------------------------- 1 | using System.Threading; 2 | using Cysharp.Threading.Tasks; 3 | 4 | namespace ZBase.Foundation.Pooling 5 | { 6 | public interface IAsyncRentable : IRentable> 7 | { 8 | UniTask Rent(CancellationToken cancelToken); 9 | } 10 | } -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation/Common/Interfaces/IAsyncRentable{T}.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2a8f08e481ed9b44a97d5a63ddcb0f19 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation/Common/Interfaces/ICountable.cs: -------------------------------------------------------------------------------- 1 | namespace ZBase.Foundation.Pooling 2 | { 3 | public interface ICountable 4 | { 5 | int Count(); 6 | } 7 | } -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation/Common/Interfaces/ICountable.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5bbdac92f8633b94a8b974a6ad0cee57 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation/Common/Interfaces/IInstantiable{T}.cs: -------------------------------------------------------------------------------- 1 | namespace ZBase.Foundation.Pooling 2 | { 3 | public interface IInstantiable 4 | { 5 | T Instantiate(); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation/Common/Interfaces/IInstantiable{T}.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2b1253c48319184458a12cfd46c436ed 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation/Common/Interfaces/IPool.cs: -------------------------------------------------------------------------------- 1 | namespace ZBase.Foundation.Pooling 2 | { 3 | public interface IPool 4 | { 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation/Common/Interfaces/IPool.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 027ce182296408947b98a1dbd53f694a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation/Common/Interfaces/IPool{T}.cs: -------------------------------------------------------------------------------- 1 | namespace ZBase.Foundation.Pooling 2 | { 3 | public interface IPool : IPool, IRentable, IReturnable, IReleaseInstances, ICountable 4 | { 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation/Common/Interfaces/IPool{T}.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 070cdb1544afcc8408440cd46ef90a5a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation/Common/Interfaces/IReleaseInstances{T}.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace ZBase.Foundation.Pooling 4 | { 5 | public interface IReleaseInstances 6 | { 7 | /// 8 | /// Keeps the specified quantity and releases the pooled instances. 9 | /// 10 | /// Quantity that keep pooled instances. 11 | void ReleaseInstances(int keep, Action onReleased = null); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation/Common/Interfaces/IReleaseInstances{T}.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cb40104850138d24e8d6fa73f21aad2d 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation/Common/Interfaces/IRentable{T}.cs: -------------------------------------------------------------------------------- 1 | namespace ZBase.Foundation.Pooling 2 | { 3 | public interface IRentable 4 | { 5 | T Rent(); 6 | } 7 | } -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation/Common/Interfaces/IRentable{T}.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e5820736f5817524cb8a3b0a7931d152 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation/Common/Interfaces/IReturnable{T}.cs: -------------------------------------------------------------------------------- 1 | namespace ZBase.Foundation.Pooling 2 | { 3 | public interface IReturnable 4 | { 5 | void Return(T instance); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation/Common/Interfaces/IReturnable{T}.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9a72ee1e60abf9641820ce554e465784 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation/Common/Interfaces/IShareable.cs: -------------------------------------------------------------------------------- 1 | namespace ZBase.Foundation.Pooling 2 | { 3 | public interface IShareable 4 | { 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation/Common/Interfaces/IShareable.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 335a9782c54973440b1f553b87e1aa29 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation/Common/SharedPool.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.CompilerServices; 2 | using UnityEngine; 3 | 4 | namespace ZBase.Foundation.Pooling 5 | { 6 | public static class SharedPool 7 | { 8 | [MethodImpl(MethodImplOptions.AggressiveInlining)] 9 | public static T Of() where T : IPool, IShareable, new() 10 | => SharedInstance.Instance; 11 | 12 | private static class SharedInstance where T : IPool, IShareable, new() 13 | { 14 | private static T s_instance; 15 | 16 | public static T Instance => s_instance; 17 | 18 | static SharedInstance() 19 | { 20 | Init(); 21 | } 22 | 23 | /// 24 | [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.SubsystemRegistration)] 25 | static void Init() 26 | { 27 | s_instance = new T(); 28 | } 29 | } 30 | } 31 | } -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation/Common/SharedPool.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 64ebcd39742768245b527b5248b1e54c 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation/Common/ThrowHelper.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6f61436f5a841f043acff03bcbc1db17 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation/Common/UniTaskFunc.cs: -------------------------------------------------------------------------------- 1 | using Cysharp.Threading.Tasks; 2 | 3 | namespace ZBase.Foundation.Pooling 4 | { 5 | public delegate UniTask UniTaskFunc(); 6 | } -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation/Common/UniTaskFunc.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1510f7cd95263d64c89aa6b2bf9c0426 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation/Common/UniqueQueue{TKey,TValue}.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Runtime.CompilerServices; 3 | using ZBase.Collections.Pooled; 4 | using ZBase.Collections.Pooled.Generic; 5 | 6 | namespace ZBase.Foundation.Pooling 7 | { 8 | public class UniqueQueue : IDisposable 9 | { 10 | private readonly Queue _queue; 11 | private readonly Dictionary _unique; 12 | 13 | public UniqueQueue() 14 | { 15 | _queue = new Queue(); 16 | _unique = new Dictionary(); 17 | } 18 | 19 | public UniqueQueue(Queue queue, Dictionary map) 20 | { 21 | _queue = queue ?? throw new ArgumentNullException(nameof(queue)); 22 | _unique = map ?? throw new ArgumentNullException(nameof(map)); 23 | } 24 | 25 | public int Count 26 | { 27 | [MethodImpl(MethodImplOptions.AggressiveInlining)] 28 | get => _queue.Count; 29 | } 30 | 31 | public void Dispose() 32 | { 33 | _unique.Dispose(); 34 | _queue.Dispose(); 35 | } 36 | 37 | public bool TryEnqueue(TKey key, TValue value) 38 | { 39 | if (key is null || value is null) 40 | return false; 41 | 42 | if (_unique.ContainsKey(key)) 43 | return false; 44 | 45 | _unique.Add(key, value); 46 | _queue.Enqueue(key); 47 | return true; 48 | } 49 | 50 | public bool TryDequeue(out TKey key, out TValue value) 51 | { 52 | if (_queue.TryDequeue(out key) && _unique.TryGetValue(key, out value)) 53 | { 54 | _unique.Remove(key); 55 | return true; 56 | } 57 | 58 | value = default; 59 | return false; 60 | } 61 | 62 | [MethodImpl(MethodImplOptions.AggressiveInlining)] 63 | public bool Contains(TKey key) 64 | => _unique.ContainsKey(key); 65 | 66 | [MethodImpl(MethodImplOptions.AggressiveInlining)] 67 | public bool Contains(in KVPair item) 68 | => _unique.ContainsKey(item.Key); 69 | } 70 | } 71 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation/Common/UniqueQueue{TKey,TValue}.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f15f2d082b477dd4fa2e10747085ec32 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation/Common/UniqueQueue{T}.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.CompilerServices; 2 | 3 | namespace ZBase.Foundation.Pooling 4 | { 5 | public class UniqueQueue : UniqueQueue 6 | { 7 | [MethodImpl(MethodImplOptions.AggressiveInlining)] 8 | public bool TryEnqueue(T item) 9 | => TryEnqueue(item, item); 10 | 11 | [MethodImpl(MethodImplOptions.AggressiveInlining)] 12 | public bool TryDequeue(out T item) 13 | => TryDequeue(out var _, out item); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation/Common/UniqueQueue{T}.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2a71f686b1558c148a963fc55921c24e 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation/DisposableContexts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dc09f248c731b3f429989bf9cb6e2895 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation/DisposableContexts/AsyncDisposableContext{T}.cs: -------------------------------------------------------------------------------- 1 | using System.Threading; 2 | using System.Runtime.CompilerServices; 3 | using Cysharp.Threading.Tasks; 4 | 5 | namespace ZBase.Foundation.Pooling 6 | { 7 | public readonly struct AsyncDisposableContext : IAsyncRentable> 8 | { 9 | internal readonly IAsyncPool _pool; 10 | 11 | internal AsyncDisposableContext(IAsyncPool pool) 12 | { 13 | _pool = pool; 14 | } 15 | 16 | [MethodImpl(MethodImplOptions.AggressiveInlining)] 17 | public async UniTask> Rent() 18 | { 19 | var result = await _pool.Rent(); 20 | return new Disposable(_pool, result); 21 | } 22 | 23 | [MethodImpl(MethodImplOptions.AggressiveInlining)] 24 | public async UniTask> Rent(CancellationToken cancelToken) 25 | { 26 | var result = await _pool.Rent(cancelToken); 27 | return new Disposable(_pool, result); 28 | } 29 | } 30 | 31 | public static partial class AsyncPoolDisposableExtensions 32 | { 33 | [MethodImpl(MethodImplOptions.AggressiveInlining)] 34 | public static AsyncDisposableContext DisposableContext(this IAsyncPool pool) 35 | => new AsyncDisposableContext(pool); 36 | } 37 | } -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation/DisposableContexts/AsyncDisposableContext{T}.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6a15682dbc8d2c84fafa1998798922bd 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation/DisposableContexts/DisposableContext{T}.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.CompilerServices; 2 | 3 | namespace ZBase.Foundation.Pooling 4 | { 5 | public readonly struct DisposableContext : IRentable> 6 | { 7 | internal readonly IPool _pool; 8 | 9 | internal DisposableContext(IPool pool) 10 | { 11 | _pool = pool; 12 | } 13 | 14 | [MethodImpl(MethodImplOptions.AggressiveInlining)] 15 | public Disposable Rent() 16 | => new Disposable(_pool, _pool.Rent()); 17 | } 18 | 19 | public static partial class PoolDisposableExtensions 20 | { 21 | [MethodImpl(MethodImplOptions.AggressiveInlining)] 22 | public static DisposableContext DisposableContext(this IPool pool) 23 | => new DisposableContext(pool); 24 | } 25 | } -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation/DisposableContexts/DisposableContext{T}.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8177698d0f68640458a57b84e3d5989d 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation/DisposableContexts/Disposable{T}.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Runtime.CompilerServices; 3 | 4 | namespace ZBase.Foundation.Pooling 5 | { 6 | public readonly struct Disposable : IDisposable 7 | { 8 | public readonly T Instance; 9 | 10 | private readonly IReturnable _pool; 11 | 12 | internal Disposable(IReturnable pool, T instance) 13 | { 14 | _pool = pool; 15 | Instance = instance; 16 | } 17 | 18 | public void Dispose() 19 | { 20 | _pool?.Return(Instance); 21 | } 22 | 23 | [MethodImpl(MethodImplOptions.AggressiveInlining)] 24 | public static explicit operator T(in Disposable poolable) 25 | => poolable.Instance; 26 | } 27 | } -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation/DisposableContexts/Disposable{T}.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 46d6ba8af855ab349b64adc992832546 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation/Instantiators.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 112b57807fbcbaa4483ef97b660f5e7a 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation/Instantiators/ActivatorInstantiator{T}.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Runtime.CompilerServices; 3 | 4 | namespace ZBase.Foundation.Pooling 5 | { 6 | /// 7 | /// Create a new instance of via 8 | /// .. 9 | /// 10 | public struct ActivatorInstantiator : IInstantiable 11 | { 12 | private static readonly Type s_type = typeof(T); 13 | 14 | [MethodImpl(MethodImplOptions.AggressiveInlining)] 15 | public T Instantiate() 16 | => (T)Activator.CreateInstance(s_type); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation/Instantiators/ActivatorInstantiator{T}.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 415feb8e194cb304d8cf378c6e64dfba 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation/Instantiators/AsyncActivatorInstantiator{T}.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Threading; 3 | using System.Runtime.CompilerServices; 4 | using Cysharp.Threading.Tasks; 5 | 6 | namespace ZBase.Foundation.Pooling 7 | { 8 | /// 9 | /// Create a new instance of via 10 | /// .. 11 | /// 12 | public struct AsyncActivatorInstantiator : IAsyncInstantiable 13 | { 14 | private static readonly Type s_type = typeof(T); 15 | 16 | [MethodImpl(MethodImplOptions.AggressiveInlining)] 17 | public async UniTask Instantiate() 18 | { 19 | var result = (T)Activator.CreateInstance(s_type); 20 | return await UniTask.FromResult(result); 21 | } 22 | 23 | [MethodImpl(MethodImplOptions.AggressiveInlining)] 24 | public async UniTask Instantiate(CancellationToken cancelToken) 25 | { 26 | var result = (T)Activator.CreateInstance(s_type); 27 | return await UniTask.FromResult(result); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation/Instantiators/AsyncActivatorInstantiator{T}.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: eef4de80f9fd2ef4482fc8d8eef5b969 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation/Instantiators/AsyncDefaultConstructorInstantiator{T}.cs: -------------------------------------------------------------------------------- 1 | using System.Threading; 2 | using System.Runtime.CompilerServices; 3 | using Cysharp.Threading.Tasks; 4 | 5 | namespace ZBase.Foundation.Pooling 6 | { 7 | /// 8 | /// Create a new instance of via default constructor. 9 | /// 10 | public struct AsyncDefaultConstructorInstantiator : IAsyncInstantiable 11 | where T : class, new() 12 | { 13 | [MethodImpl(MethodImplOptions.AggressiveInlining)] 14 | public async UniTask Instantiate() 15 | => await UniTask.FromResult(new T()); 16 | 17 | [MethodImpl(MethodImplOptions.AggressiveInlining)] 18 | public async UniTask Instantiate(CancellationToken cancelToken) 19 | => await UniTask.FromResult(new T()); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation/Instantiators/AsyncDefaultConstructorInstantiator{T}.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f397c29981d38254b8dcc4857ca5a64b 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation/Instantiators/DefaultConstructorInstantiator{T}.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.CompilerServices; 2 | 3 | namespace ZBase.Foundation.Pooling 4 | { 5 | /// 6 | /// Create a new instance of via default constructor. 7 | /// 8 | public struct DefaultConstructorInstantiator : IInstantiable 9 | where T : class, new() 10 | { 11 | [MethodImpl(MethodImplOptions.AggressiveInlining)] 12 | public T Instantiate() 13 | => new T(); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation/Instantiators/DefaultConstructorInstantiator{T}.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2afbb18229d7eaf47a847275c4d9c5b7 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation/Pools.Extensions.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 20ff1caedd6c0bb49941500d5fe1a717 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation/Pools.Extensions/AsyncPool{T}.Rents.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Runtime.CompilerServices; 3 | using Cysharp.Threading.Tasks; 4 | 5 | namespace ZBase.Foundation.Pooling 6 | { 7 | public static partial class AsyncPool_T_Rents 8 | { 9 | [MethodImpl(MethodImplOptions.AggressiveInlining)] 10 | public static async UniTask Rent(this TPool pool, T[] output) 11 | where TPool : IAsyncRentable 12 | => await Rent(pool, output, output?.Length ?? 0); 13 | 14 | public static async UniTask Rent(this TPool pool, T[] output, int count) 15 | where TPool : IAsyncRentable 16 | { 17 | if (pool is null) 18 | ThrowHelper.ThrowArgumentNullException(ExceptionArgument.pool); 19 | 20 | if (output is null) 21 | ThrowHelper.ThrowArgumentNullException(ExceptionArgument.output); 22 | 23 | if ((uint)count > (uint)output.Length) 24 | ThrowHelper.ThrowCountArgumentOutOfRange_ArgumentOutOfRange_Count(); 25 | 26 | for (var i = 0; i < count; i++) 27 | { 28 | output[i] = await pool.Rent(); 29 | } 30 | 31 | return pool; 32 | } 33 | 34 | [MethodImpl(MethodImplOptions.AggressiveInlining)] 35 | public static async UniTask> Rent(this IAsyncRentable pool, TOutput output) 36 | where TOutput : ICollection 37 | => await Rent(pool, output, 1); 38 | 39 | public static async UniTask> Rent(this IAsyncRentable pool, TOutput output, int count) 40 | where TOutput : ICollection 41 | { 42 | if (pool is null) 43 | ThrowHelper.ThrowArgumentNullException(ExceptionArgument.pool); 44 | 45 | if (output is null) 46 | ThrowHelper.ThrowArgumentNullException(ExceptionArgument.output); 47 | 48 | for (var i = 0; i < count; i++) 49 | { 50 | try 51 | { 52 | output.Add(await pool.Rent()); 53 | } 54 | catch 55 | { } 56 | } 57 | 58 | return pool; 59 | } 60 | } 61 | } -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation/Pools.Extensions/AsyncPool{T}.Rents.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 426befa8a6ee9b04cb85da5c60bafaf1 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation/Pools.Extensions/Pool{T}.Rents.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d5442ba0fafdc8c4684725fe522a6cf0 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation/Pools.Extensions/Pool{T}.Returns.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cb4c49afaca86c847b1e6e40c088ea69 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation/Pools.Extensions/Pool{T}.Returns.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cae5ae644b4aeb94aa55cae9f9ee700d 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation/Pools.Extensions/Pool{T}.Returns.tt: -------------------------------------------------------------------------------- 1 | <#@ template debug="false" hostspecific="false" language="C#" #> 2 | <#@ assembly name="System.Core" #> 3 | <#@ import namespace="System.Linq" #> 4 | <#@ import namespace="System.Text" #> 5 | <#@ import namespace="System.Collections.Generic" #> 6 | <#@ output extension=".gen.cs" #> 7 | <# 8 | int ParamCount = 10; 9 | #> 10 | namespace ZBase.Foundation.Pooling 11 | { 12 | public static partial class Pool_T_Returns 13 | { 14 | <# for (var i = 2; i <= ParamCount; i++) { #> 15 | public static TPool Return(this TPool pool 16 | <# for (var k = 1; k <= i; k++) { #> 17 | , T p<#= k #> 18 | <# } #> 19 | ) 20 | where TPool : IReturnable 21 | { 22 | if (pool is null) 23 | ThrowHelper.ThrowArgumentNullException(ExceptionArgument.pool); 24 | 25 | <# for (var k = 1; k <= i; k++) { #> 26 | pool.Return(p<#= k #>); 27 | <# } #> 28 | 29 | return pool; 30 | } 31 | 32 | <# } #> 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation/Pools.Extensions/Pool{T}.Returns.tt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 93eac4936fa3e154d96de9b09d4026af 3 | ScriptedImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 2 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | script: {fileID: 11500000, guid: 0d7b524045e7470296c8e842826841f7, type: 3} 11 | importerVersion: 0 12 | removeIfEmptyGeneration: 1 13 | embeddedData: {instanceID: 0} 14 | additionalTypes: [] 15 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation/Pools.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2b89fc6bb7eb3f94cb0cbbebd9f2342f 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation/Pools/AsyncPool{T,TInstantiator}.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9725a3e21ee41bc4e995c121d52b2fab 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation/Pools/AsyncPool{T}.cs: -------------------------------------------------------------------------------- 1 | namespace ZBase.Foundation.Pooling 2 | { 3 | public class AsyncPool : AsyncPool> 4 | where T : class 5 | { 6 | public AsyncPool() 7 | : base() 8 | { } 9 | 10 | public AsyncPool(UniqueQueue queue) 11 | : base(queue) 12 | { } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation/Pools/AsyncPool{T}.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c09a82eb0deae364ba9cf8a979c32c52 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation/Pools/Pool{T,TInstantiator}.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f3d7c669d9956884c94b0d3a4ee20652 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation/Pools/Pool{T}.cs: -------------------------------------------------------------------------------- 1 | namespace ZBase.Foundation.Pooling 2 | { 3 | public class Pool : Pool> 4 | where T : class 5 | { 6 | public Pool() 7 | : base() 8 | { } 9 | 10 | public Pool(UniqueQueue queue) 11 | : base(queue) 12 | { } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/Foundation/Pools/Pool{T}.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fb0864508044a0047b3768965b74a32e 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/ScriptablePools.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 441792b85265b19468b8e98bc18cb6d9 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/ScriptablePools/Common.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c5f943abf1f715c4cbabb79f435c05ff 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/ScriptablePools/Common/ScriptablePool.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | using ZBase.Foundation.Pooling.UnityPools; 4 | 5 | namespace ZBase.Foundation.Pooling.ScriptablePools 6 | { 7 | internal class ScriptablePool : UnityPool 8 | { 9 | [SerializeField] 10 | private bool _dontApplyPrefabParentOnReturn; 11 | 12 | public bool DontApplyPrefabParentOnReturn 13 | { 14 | get => _dontApplyPrefabParentOnReturn; 15 | set => _dontApplyPrefabParentOnReturn = value; 16 | } 17 | 18 | protected override void ReturnPreprocess(UnityEngine.Object instance) 19 | { 20 | if (instance is GameObject gameObject) 21 | { 22 | gameObject.SetActive(false); 23 | ApplyPrefabParent(gameObject.transform); 24 | } 25 | else if (instance is Component component && component.gameObject) 26 | { 27 | component.gameObject.SetActive(false); 28 | ApplyPrefabParent(component.transform); 29 | } 30 | } 31 | 32 | private void ApplyPrefabParent(Transform instance) 33 | { 34 | if (_dontApplyPrefabParentOnReturn == false && Prefab != null) 35 | { 36 | instance.SetParent(Prefab.Parent); 37 | } 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/ScriptablePools/Common/ScriptablePool.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 62c2b812df8803f4cafdc283806934a0 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/ScriptablePools/Common/ScriptablePrefab.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Threading; 3 | using System.Runtime.CompilerServices; 4 | using Cysharp.Threading.Tasks; 5 | using UnityEngine; 6 | using ZBase.Foundation.Pooling.UnityPools; 7 | 8 | namespace ZBase.Foundation.Pooling.ScriptablePools 9 | { 10 | [Serializable] 11 | public class ScriptablePrefab 12 | : IPrefab 13 | { 14 | [SerializeField] 15 | private ScriptableSource _source; 16 | 17 | [SerializeField] 18 | private int _prepoolAmount; 19 | 20 | public Transform Parent { get; set; } 21 | 22 | public ScriptableSource Source 23 | { 24 | [MethodImpl(MethodImplOptions.AggressiveInlining)] 25 | get => _source; 26 | 27 | [MethodImpl(MethodImplOptions.AggressiveInlining)] 28 | set => _source = value; 29 | } 30 | 31 | public int PrepoolAmount 32 | { 33 | [MethodImpl(MethodImplOptions.AggressiveInlining)] 34 | get => _prepoolAmount; 35 | 36 | [MethodImpl(MethodImplOptions.AggressiveInlining)] 37 | set => _prepoolAmount = value; 38 | } 39 | 40 | public async UniTask Instantiate() 41 | { 42 | if (_source == false) 43 | { 44 | ThrowHelper.ThrowNullReferenceException(ExceptionArgument._source); 45 | } 46 | 47 | return await _source.Instantiate(Parent); 48 | } 49 | 50 | public async UniTask Instantiate(CancellationToken cancelToken) 51 | { 52 | if (_source == false) 53 | { 54 | ThrowHelper.ThrowNullReferenceException(ExceptionArgument._source); 55 | } 56 | 57 | return await _source.Instantiate(Parent, cancelToken); 58 | } 59 | 60 | public void Release(UnityEngine.Object instance) 61 | { 62 | if (instance && _source) 63 | _source.Release(instance); 64 | } 65 | } 66 | } 67 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/ScriptablePools/Common/ScriptablePrefab.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4c80a0f1f45bcd0408e9dc4c5ba61820 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/ScriptablePools/Common/ScriptablePrepooler.cs: -------------------------------------------------------------------------------- 1 | using System.Threading; 2 | using Cysharp.Threading.Tasks; 3 | using UnityEngine; 4 | using ZBase.Foundation.Pooling.UnityPools; 5 | 6 | namespace ZBase.Foundation.Pooling.ScriptablePools 7 | { 8 | internal struct ScriptablePrepooler 9 | : IPrepooler 12 | > 13 | { 14 | public async UniTask Prepool( 15 | ScriptablePrefab prefab 16 | , IReturnable pool 17 | , Transform defaultParent 18 | , CancellationToken cancelToken = default 19 | ) 20 | { 21 | if (prefab == null) 22 | ThrowHelper.ThrowArgumentNullException(ExceptionArgument.prefab); 23 | 24 | if (pool == null) 25 | ThrowHelper.ThrowArgumentNullException(ExceptionArgument.pool); 26 | 27 | if (prefab.PrepoolAmount <= 0) 28 | return; 29 | 30 | if (prefab.Parent == false && defaultParent) 31 | prefab.Parent = defaultParent; 32 | 33 | for (int i = 0, count = prefab.PrepoolAmount; i < count; i++) 34 | { 35 | var instance = await prefab.Instantiate(cancelToken); 36 | pool.Return(instance); 37 | } 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/ScriptablePools/Common/ScriptablePrepooler.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d52b77ff8ab8c274ab4480c4a09db89d 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/ScriptablePools/Pools.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2f0390be240af4d4a9579379276da316 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/ScriptablePools/Pools/ScriptableComponentPool.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace ZBase.Foundation.Pooling.ScriptablePools 4 | { 5 | [CreateAssetMenu( 6 | fileName = "Scriptable Component Pool" 7 | , menuName = "Pooling/Scriptables/Pools/Component" 8 | , order = 1 9 | )] 10 | public class ScriptableComponentPool : ScriptablePool 11 | { 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/ScriptablePools/Pools/ScriptableComponentPool.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: aa581d25016248e41b83cc70afd0d993 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/ScriptablePools/Pools/ScriptableGameObjectPool.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace ZBase.Foundation.Pooling.ScriptablePools 4 | { 5 | [CreateAssetMenu( 6 | fileName = "Scriptable GameObject Pool" 7 | , menuName = "Pooling/Scriptables/Pools/GameObject" 8 | , order = 1 9 | )] 10 | public class ScriptableGameObjectPool : ScriptablePool 11 | { 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/ScriptablePools/Pools/ScriptableGameObjectPool.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c182fd4138bec894f9c3ba752cc828a7 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/ScriptablePools/Pools/ScriptablePool{T}.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1010ffb5f1d3b5e4ca6e2652b0a6d421 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/ScriptablePools/Sources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c1d6f838c1b63624da44b2db38e70533 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/ScriptablePools/Sources/ScriptableComponentSource{T}.cs: -------------------------------------------------------------------------------- 1 | using System.Threading; 2 | using Cysharp.Threading.Tasks; 3 | using UnityEngine; 4 | 5 | namespace ZBase.Foundation.Pooling.ScriptablePools 6 | { 7 | public class ScriptableComponentSource : ScriptableSource 8 | where T : Component 9 | { 10 | public override async UniTask Instantiate(Transform parent, CancellationToken cancelToken = default) 11 | { 12 | var source = Source; 13 | 14 | if (source == false) 15 | ThrowHelper.ThrowArgumentNullException(ExceptionArgument.source); 16 | 17 | T instance; 18 | 19 | if (parent) 20 | instance = Instantiate(source, parent); 21 | else 22 | instance = Instantiate(source); 23 | 24 | return await UniTask.FromResult(instance); 25 | } 26 | 27 | public override void Release(Object instance) 28 | { 29 | if (instance is T component) 30 | Destroy(component.gameObject); 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/ScriptablePools/Sources/ScriptableComponentSource{T}.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0ad0c5049b1faf749a1af625ae821358 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/ScriptablePools/Sources/ScriptableGameObjectSource.cs: -------------------------------------------------------------------------------- 1 | using System.Threading; 2 | using Cysharp.Threading.Tasks; 3 | using UnityEngine; 4 | 5 | namespace ZBase.Foundation.Pooling.ScriptablePools 6 | { 7 | [CreateAssetMenu( 8 | fileName = "Scriptable GameObject Source" 9 | , menuName = "Pooling/Scriptables/Sources/GameObject" 10 | , order = 1 11 | )] 12 | public class ScriptableGameObjectSource : ScriptableSource 13 | { 14 | public override async UniTask Instantiate(Transform parent, CancellationToken cancelToken = default) 15 | { 16 | var source = Source; 17 | 18 | if (source == false) 19 | ThrowHelper.ThrowArgumentNullException(ExceptionArgument.source); 20 | 21 | GameObject instance; 22 | 23 | if (parent) 24 | instance = Instantiate(source, parent); 25 | else 26 | instance = Instantiate(source); 27 | 28 | return await UniTask.FromResult(instance); 29 | } 30 | 31 | public override void Release(Object instance) 32 | { 33 | if (instance is GameObject gameObject) 34 | Destroy(gameObject); 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/ScriptablePools/Sources/ScriptableGameObjectSource.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c3638737d29c5c548a9a2c28120a28ea 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/ScriptablePools/Sources/ScriptableSource.cs: -------------------------------------------------------------------------------- 1 | using System.Threading; 2 | using Cysharp.Threading.Tasks; 3 | using UnityEngine; 4 | using ZBase.Foundation.Pooling.UnityPools; 5 | 6 | namespace ZBase.Foundation.Pooling.ScriptablePools 7 | { 8 | public abstract class ScriptableSource : ScriptableObject, IReleasable 9 | { 10 | public abstract UniTask Instantiate(Transform parent, CancellationToken cancelToken = default); 11 | 12 | public abstract void Release(Object instance); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/ScriptablePools/Sources/ScriptableSource.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 87a4b48efbfe61b47a1254a6bbb24409 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/ScriptablePools/Sources/ScriptableSource{T}.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.CompilerServices; 2 | using UnityEngine; 3 | 4 | namespace ZBase.Foundation.Pooling.ScriptablePools 5 | { 6 | public abstract class ScriptableSource : ScriptableSource 7 | { 8 | [SerializeField] 9 | private T _source; 10 | 11 | protected T Source 12 | { 13 | [MethodImpl(MethodImplOptions.AggressiveInlining)] 14 | get => _source; 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/ScriptablePools/Sources/ScriptableSource{T}.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d9a7cbdb5a4ab074e9650bae613cb63c 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/System.Collections.Generic.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d07f46f704b8d084c97e6f2e755b1469 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/System.Collections.Generic/DictionaryPool.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.CompilerServices; 2 | using ZBase.Foundation.Pooling; 3 | 4 | namespace System.Collections.Generic.Pooling 5 | { 6 | public class DictionaryPool 7 | : Pool 8 | , DefaultConstructorInstantiator>> 9 | { 10 | public DictionaryPool() 11 | : base() 12 | { } 13 | 14 | public DictionaryPool(UniqueQueue> queue) 15 | : base(queue) 16 | { } 17 | 18 | [MethodImpl(MethodImplOptions.AggressiveInlining)] 19 | protected override void ReturnPreprocess(Dictionary instance) 20 | => instance.Clear(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/System.Collections.Generic/DictionaryPool.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 125795cecf5ca6740bb5a35eb24ab8c2 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/System.Collections.Generic/HashSetPool.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.CompilerServices; 2 | using ZBase.Foundation.Pooling; 3 | 4 | namespace System.Collections.Generic.Pooling 5 | { 6 | public class HashSetPool 7 | : Pool 8 | , DefaultConstructorInstantiator>> 9 | { 10 | public HashSetPool() 11 | : base() 12 | { } 13 | 14 | public HashSetPool(UniqueQueue> queue) 15 | : base(queue) 16 | { } 17 | 18 | [MethodImpl(MethodImplOptions.AggressiveInlining)] 19 | protected override void ReturnPreprocess(HashSet instance) 20 | => instance.Clear(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/System.Collections.Generic/HashSetPool.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 57d58893c4d2eed48a40c7575fa3da47 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/System.Collections.Generic/ListPool.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.CompilerServices; 2 | using ZBase.Foundation.Pooling; 3 | 4 | namespace System.Collections.Generic.Pooling 5 | { 6 | public class ListPool 7 | : Pool 8 | , DefaultConstructorInstantiator>> 9 | { 10 | public ListPool() 11 | : base() 12 | { } 13 | 14 | public ListPool(UniqueQueue> queue) 15 | : base(queue) 16 | { } 17 | 18 | [MethodImpl(MethodImplOptions.AggressiveInlining)] 19 | protected override void ReturnPreprocess(List instance) 20 | => instance.Clear(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/System.Collections.Generic/ListPool.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d2add036acc00984db2a272cd8165a21 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/System.Collections.Generic/QueuePool.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.CompilerServices; 2 | using ZBase.Foundation.Pooling; 3 | 4 | namespace System.Collections.Generic.Pooling 5 | { 6 | public class QueuePool 7 | : Pool 8 | , DefaultConstructorInstantiator>> 9 | { 10 | public QueuePool() 11 | : base() 12 | { } 13 | 14 | public QueuePool(UniqueQueue> queue) 15 | : base(queue) 16 | { } 17 | 18 | [MethodImpl(MethodImplOptions.AggressiveInlining)] 19 | protected override void ReturnPreprocess(Queue instance) 20 | => instance.Clear(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/System.Collections.Generic/QueuePool.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9a77362cc9cc0334793508ac264345c0 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/System.Collections.Generic/StackPool.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.CompilerServices; 2 | using ZBase.Foundation.Pooling; 3 | 4 | namespace System.Collections.Generic.Pooling 5 | { 6 | public class StackPool 7 | : Pool 8 | , DefaultConstructorInstantiator>> 9 | { 10 | public StackPool() 11 | : base() 12 | { } 13 | 14 | public StackPool(UniqueQueue> queue) 15 | : base(queue) 16 | { } 17 | 18 | [MethodImpl(MethodImplOptions.AggressiveInlining)] 19 | protected override void ReturnPreprocess(Stack instance) 20 | => instance.Clear(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/System.Collections.Generic/StackPool.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9f27d4ff5a009df4bab76bdda61249b3 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/UnityPools.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7ec256f7fdc082c4cb85bcf7e76ff92e 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/UnityPools/Behaviours.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 71eef4e0f3d7ed7459597f84fc2fc762 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/UnityPools/Behaviours/ComponentPoolBehaviour{T}.cs: -------------------------------------------------------------------------------- 1 | namespace ZBase.Foundation.Pooling.UnityPools 2 | { 3 | public class ComponentPoolBehaviour 4 | : UnityPoolBehaviour 6 | , ComponentPool 7 | > 8 | where T : UnityEngine.Component 9 | { 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/UnityPools/Behaviours/ComponentPoolBehaviour{T}.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 67ac3bdd08a57394bb450335ef5bc6a7 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/UnityPools/Behaviours/GameObjectPoolBehaviour.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace ZBase.Foundation.Pooling.UnityPools 4 | { 5 | public class GameObjectPoolBehaviour 6 | : UnityPoolBehaviour 10 | { 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/UnityPools/Behaviours/GameObjectPoolBehaviour.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e26dec9e1b2af0d4a9692751cff98492 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/UnityPools/Behaviours/PoolBehaviour{T,TPool}.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Threading; 3 | using System.Runtime.CompilerServices; 4 | using UnityEngine; 5 | using Cysharp.Threading.Tasks; 6 | 7 | namespace ZBase.Foundation.Pooling.UnityPools 8 | { 9 | public abstract class PoolBehaviour : MonoBehaviour, IAsyncPool 10 | where T : class 11 | where TPool : IAsyncPool 12 | { 13 | [SerializeField] 14 | private TPool _pool; 15 | 16 | protected TPool Pool 17 | { 18 | [MethodImpl(MethodImplOptions.AggressiveInlining)] 19 | get => _pool; 20 | } 21 | 22 | [MethodImpl(MethodImplOptions.AggressiveInlining)] 23 | public int Count() 24 | => _pool.Count(); 25 | 26 | [MethodImpl(MethodImplOptions.AggressiveInlining)] 27 | public void ReleaseInstances(int keep, Action onReleased = null) 28 | => _pool.ReleaseInstances(keep, onReleased); 29 | 30 | [MethodImpl(MethodImplOptions.AggressiveInlining)] 31 | public async UniTask Rent() 32 | => await _pool.Rent(); 33 | 34 | [MethodImpl(MethodImplOptions.AggressiveInlining)] 35 | public async UniTask Rent(CancellationToken cancelToken) 36 | => await _pool.Rent(cancelToken); 37 | 38 | [MethodImpl(MethodImplOptions.AggressiveInlining)] 39 | public void Return(T instance) 40 | => _pool.Return(instance); 41 | 42 | protected virtual void OnDestroy() 43 | { 44 | if (_pool is IDisposable disposable) 45 | disposable.Dispose(); 46 | } 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/UnityPools/Behaviours/PoolBehaviour{T,TPool}.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 665ab43a863b75647b0ead6c4fc95b43 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/UnityPools/Behaviours/UnityPoolBehaviour{T,TPrefab,TPool}.cs: -------------------------------------------------------------------------------- 1 | using System.Threading; 2 | using System.Runtime.CompilerServices; 3 | using Cysharp.Threading.Tasks; 4 | using UnityEngine; 5 | 6 | namespace ZBase.Foundation.Pooling.UnityPools 7 | { 8 | public abstract class UnityPoolBehaviour 9 | : PoolBehaviour, IPrepoolable 10 | where T : UnityEngine.Object 11 | where TPrefab : IPrefab 12 | where TPool : IUnityPool 13 | { 14 | [SerializeField] 15 | private bool _prepoolOnStart = false; 16 | 17 | private readonly UnityPrepooler _prepooler = default; 18 | 19 | public bool PrepoolOnStart 20 | { 21 | [MethodImpl(MethodImplOptions.AggressiveInlining)] 22 | get => _prepoolOnStart; 23 | 24 | [MethodImpl(MethodImplOptions.AggressiveInlining)] 25 | set => _prepoolOnStart = value; 26 | } 27 | 28 | protected void Awake() 29 | { 30 | if (Pool == null || Pool.Prefab == null) 31 | return; 32 | 33 | if (Pool.Prefab.Parent == false) 34 | Pool.Prefab.Parent = this.transform; 35 | 36 | OnAwake(); 37 | } 38 | 39 | protected async void Start() 40 | { 41 | if (_prepoolOnStart) 42 | await Prepool(this.GetCancellationTokenOnDestroy()); 43 | 44 | await OnStart(); 45 | } 46 | 47 | [MethodImpl(MethodImplOptions.AggressiveInlining)] 48 | public async UniTask Prepool(CancellationToken cancelToken) 49 | => await _prepooler.Prepool(Pool.Prefab, Pool, this.transform, cancelToken); 50 | 51 | protected virtual void OnAwake() { } 52 | 53 | protected virtual async UniTask OnStart() 54 | => await UniTask.Delay(0); 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/UnityPools/Behaviours/UnityPoolBehaviour{T,TPrefab,TPool}.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4908136a51226344d92cd711ef7da66c 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/UnityPools/Common.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c2ec3d34d8ee3f34092f3c314e6cf8f9 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/UnityPools/Common/Interfaces.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 347bcfaf691ffa848995d98cf7d642c5 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/UnityPools/Common/Interfaces/IHasParent.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace ZBase.Foundation.Pooling.UnityPools 4 | { 5 | public interface IHasParent 6 | { 7 | Transform Parent { get; set; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/UnityPools/Common/Interfaces/IHasParent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0c8fa13ecfca45046a49ae1a2a6959d5 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/UnityPools/Common/Interfaces/IPrefab.cs: -------------------------------------------------------------------------------- 1 | namespace ZBase.Foundation.Pooling.UnityPools 2 | { 3 | public interface IPrefab 4 | { 5 | int PrepoolAmount { get; set; } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/UnityPools/Common/Interfaces/IPrefab.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b34ede872feb94543aac75c65a5d0875 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/UnityPools/Common/Interfaces/IPrefab{T,TSource}.cs: -------------------------------------------------------------------------------- 1 | namespace ZBase.Foundation.Pooling.UnityPools 2 | { 3 | public interface IPrefab : IPrefab 4 | { 5 | TSource Source { get; set; } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/UnityPools/Common/Interfaces/IPrefab{T,TSource}.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 886eb084a6cd6694096b577cc261019a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/UnityPools/Common/Interfaces/IPrefab{T}.cs: -------------------------------------------------------------------------------- 1 | namespace ZBase.Foundation.Pooling.UnityPools 2 | { 3 | public interface IPrefab 4 | : IPrefab, IAsyncInstantiable, IReleasable, IHasParent 5 | { 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/UnityPools/Common/Interfaces/IPrefab{T}.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9cb7f0f082794ba4fb8f79b6dd3a7692 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/UnityPools/Common/Interfaces/IPrepoolable.cs: -------------------------------------------------------------------------------- 1 | using System.Threading; 2 | using Cysharp.Threading.Tasks; 3 | 4 | namespace ZBase.Foundation.Pooling.UnityPools 5 | { 6 | public interface IPrepoolable 7 | { 8 | UniTask Prepool(CancellationToken cancelToken); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/UnityPools/Common/Interfaces/IPrepoolable.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a109bb8e4061d3b4c82441c07fc288d9 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/UnityPools/Common/Interfaces/IPrepooler{T,TPrefab,TPool}.cs: -------------------------------------------------------------------------------- 1 | using System.Threading; 2 | using Cysharp.Threading.Tasks; 3 | using UnityEngine; 4 | 5 | namespace ZBase.Foundation.Pooling.UnityPools 6 | { 7 | public interface IPrepooler 8 | where TPrefab : IPrefab 9 | where TPool : IReturnable 10 | { 11 | UniTask Prepool( 12 | TPrefab prefab 13 | , TPool pool 14 | , Transform defaultParent 15 | , CancellationToken cancelToken = default 16 | ); 17 | } 18 | } -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/UnityPools/Common/Interfaces/IPrepooler{T,TPrefab,TPool}.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8e7c62eea779ac84599fcb94f040f6da 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/UnityPools/Common/Interfaces/IReleasable{T}.cs: -------------------------------------------------------------------------------- 1 | namespace ZBase.Foundation.Pooling.UnityPools 2 | { 3 | public interface IReleasable 4 | { 5 | void Release(T instance); 6 | } 7 | } -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/UnityPools/Common/Interfaces/IReleasable{T}.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e6276e427090efd42b2c4d32f7028e5f 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/UnityPools/Common/Interfaces/IUnityPool.cs: -------------------------------------------------------------------------------- 1 | namespace ZBase.Foundation.Pooling.UnityPools 2 | { 3 | public interface IUnityPool : IPool 4 | { 5 | } 6 | } -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/UnityPools/Common/Interfaces/IUnityPool.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 11391d8b186fa55499ac91a3b3f64082 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/UnityPools/Common/Interfaces/IUnityPool{T,TPrefab}.cs: -------------------------------------------------------------------------------- 1 | namespace ZBase.Foundation.Pooling.UnityPools 2 | { 3 | public interface IUnityPool : IUnityPool 4 | where TPrefab : IPrefab 5 | { 6 | TPrefab Prefab { get; set; } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/UnityPools/Common/Interfaces/IUnityPool{T,TPrefab}.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a3c659597f0f95d4e912c8041a548fc9 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/UnityPools/Common/Interfaces/IUnityPool{T}.cs: -------------------------------------------------------------------------------- 1 | namespace ZBase.Foundation.Pooling.UnityPools 2 | { 3 | public interface IUnityPool : IUnityPool, IAsyncPool 4 | { 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/UnityPools/Common/Interfaces/IUnityPool{T}.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 076bdc124951dc84996a14e9e4713d61 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/UnityPools/Pools.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 68c8abb1d006cbc44817c6cb86102cc5 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/UnityPools/Pools/ComponentPool{T,TPrefab}.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Runtime.CompilerServices; 3 | using UnityEngine; 4 | 5 | namespace ZBase.Foundation.Pooling.UnityPools 6 | { 7 | [Serializable] 8 | public class ComponentPool 9 | : UnityPool 10 | where T : UnityEngine.Component 11 | where TPrefab : IPrefab 12 | { 13 | [SerializeField] 14 | private bool _dontApplyPrefabParentOnReturn; 15 | 16 | public ComponentPool() 17 | : base() 18 | { } 19 | 20 | public ComponentPool(TPrefab prefab) 21 | : base(prefab) 22 | { } 23 | 24 | public ComponentPool(UniqueQueue queue) 25 | : base(queue) 26 | { } 27 | 28 | public ComponentPool(UniqueQueue queue, TPrefab prefab) 29 | : base(queue, prefab) 30 | { } 31 | 32 | public bool DontApplyPrefabParentOnReturn 33 | { 34 | get => _dontApplyPrefabParentOnReturn; 35 | set => _dontApplyPrefabParentOnReturn = value; 36 | } 37 | 38 | [MethodImpl(MethodImplOptions.AggressiveInlining)] 39 | protected override void ReturnPreprocess(T instance) 40 | { 41 | if (instance == false || instance.gameObject == false) 42 | { 43 | return; 44 | } 45 | 46 | instance.gameObject.SetActive(false); 47 | 48 | if (_dontApplyPrefabParentOnReturn == false && Prefab != null) 49 | { 50 | instance.transform.SetParent(Prefab.Parent); 51 | } 52 | } 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/UnityPools/Pools/ComponentPool{T,TPrefab}.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d03b7cf920376a6409a7c082564fcb6f 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/UnityPools/Pools/ComponentPool{T}.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace ZBase.Foundation.Pooling.UnityPools 4 | { 5 | [Serializable] 6 | public class ComponentPool 7 | : ComponentPool> 8 | where T : UnityEngine.Component 9 | { 10 | public ComponentPool() 11 | : base() 12 | { } 13 | 14 | public ComponentPool(ComponentPrefab prefab) 15 | : base(prefab) 16 | { } 17 | 18 | public ComponentPool(UniqueQueue queue) 19 | : base(queue) 20 | { } 21 | 22 | public ComponentPool(UniqueQueue queue, ComponentPrefab prefab) 23 | : base(queue, prefab) 24 | { } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/UnityPools/Pools/ComponentPool{T}.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c26830364874b434db68ceb834946986 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/UnityPools/Pools/GameObjectPool.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | 4 | namespace ZBase.Foundation.Pooling.UnityPools 5 | { 6 | [Serializable] 7 | public class GameObjectPool 8 | : GameObjectPool 9 | { 10 | public GameObjectPool() 11 | : base() 12 | { } 13 | 14 | public GameObjectPool(GameObjectPrefab prefab) 15 | : base(prefab) 16 | { } 17 | 18 | public GameObjectPool(UniqueQueue queue) 19 | : base(queue) 20 | { } 21 | 22 | public GameObjectPool(UniqueQueue queue, GameObjectPrefab prefab) 23 | : base(queue, prefab) 24 | { } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/UnityPools/Pools/GameObjectPool.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b0057116690616e4cb8ebd2489213003 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/UnityPools/Pools/GameObjectPool{TPrefab}.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Runtime.CompilerServices; 3 | using UnityEngine; 4 | 5 | namespace ZBase.Foundation.Pooling.UnityPools 6 | { 7 | [Serializable] 8 | public class GameObjectPool 9 | : UnityPool 10 | where TPrefab : IPrefab 11 | { 12 | [SerializeField] 13 | private bool _dontApplyPrefabParentOnReturn; 14 | 15 | public GameObjectPool() 16 | : base() 17 | { } 18 | 19 | public GameObjectPool(TPrefab prefab) 20 | : base(prefab) 21 | { } 22 | 23 | public GameObjectPool(UniqueQueue queue) 24 | : base(queue) 25 | { } 26 | 27 | public GameObjectPool(UniqueQueue queue, TPrefab prefab) 28 | : base(queue, prefab) 29 | { } 30 | 31 | public bool DontApplyPrefabParentOnReturn 32 | { 33 | get => _dontApplyPrefabParentOnReturn; 34 | set => _dontApplyPrefabParentOnReturn = value; 35 | } 36 | 37 | [MethodImpl(MethodImplOptions.AggressiveInlining)] 38 | protected override void ReturnPreprocess(GameObject instance) 39 | { 40 | if (instance == false) 41 | { 42 | return; 43 | } 44 | 45 | instance.SetActive(false); 46 | 47 | if (_dontApplyPrefabParentOnReturn == false && Prefab != null) 48 | { 49 | instance.transform.SetParent(Prefab.Parent); 50 | } 51 | } 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/UnityPools/Pools/GameObjectPool{TPrefab}.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9b9b7a28bf7949f4eb6c25a438ba62d5 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/UnityPools/Pools/UnityPool{T,TPrefab}.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cfb52e6ecbeb4984ab5a898bf440828e 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/UnityPools/Prefabs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 15404b311b47edb4cb91a62b0e1f2979 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/UnityPools/Prefabs/ComponentPrefab{T}.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Threading; 3 | using Cysharp.Threading.Tasks; 4 | using UnityEngine; 5 | 6 | namespace ZBase.Foundation.Pooling.UnityPools 7 | { 8 | [Serializable] 9 | public class ComponentPrefab : UnityPrefab 10 | where T : UnityEngine.Component 11 | { 12 | protected override async UniTask Instantiate( 13 | T source 14 | , Transform parent 15 | , CancellationToken cancelToken 16 | ) 17 | { 18 | if (source == false) 19 | { 20 | ThrowHelper.ThrowArgumentNullException(ExceptionArgument.source); 21 | } 22 | 23 | T instance; 24 | 25 | if (parent) 26 | instance = UnityEngine.Object.Instantiate(source, parent); 27 | else 28 | instance = UnityEngine.Object.Instantiate(source); 29 | 30 | return await UniTask.FromResult(instance); 31 | } 32 | 33 | public override void Release(T instance) 34 | { 35 | if (instance) 36 | UnityEngine.Object.Destroy(instance.gameObject); 37 | } 38 | } 39 | } -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/UnityPools/Prefabs/ComponentPrefab{T}.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3ac15f220cf7b4649be8b0f71873673d 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/UnityPools/Prefabs/GameObjectPrefab.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Threading; 3 | using Cysharp.Threading.Tasks; 4 | using UnityEngine; 5 | 6 | namespace ZBase.Foundation.Pooling.UnityPools 7 | { 8 | [Serializable] 9 | public class GameObjectPrefab : UnityPrefab 10 | { 11 | protected override async UniTask Instantiate( 12 | GameObject source 13 | , Transform parent 14 | , CancellationToken cancelToken 15 | ) 16 | { 17 | if (source == false) 18 | { 19 | ThrowHelper.ThrowArgumentNullException(ExceptionArgument.source); 20 | } 21 | 22 | GameObject instance; 23 | 24 | if (parent) 25 | instance = UnityEngine.Object.Instantiate(source, parent, true); 26 | else 27 | instance = UnityEngine.Object.Instantiate(source); 28 | 29 | return await UniTask.FromResult(instance); 30 | } 31 | 32 | public override void Release(GameObject instance) 33 | { 34 | if (instance) 35 | UnityEngine.Object.Destroy(instance); 36 | } 37 | } 38 | } -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/UnityPools/Prefabs/GameObjectPrefab.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b8254f4d6f43c474f9e1cbe92c9506ac 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/UnityPools/Prefabs/UnityPrefab{T,TSource}.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8705b5954b2e05b419f16653565ce870 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/UnityPools/Prepoolers.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b3543b0555131dc4eb36d1c02b88fdcc 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/UnityPools/Prepoolers/UnityPrepooler{T,TPrefab,TPool}.cs: -------------------------------------------------------------------------------- 1 | using System.Threading; 2 | using Cysharp.Threading.Tasks; 3 | using UnityEngine; 4 | 5 | namespace ZBase.Foundation.Pooling.UnityPools 6 | { 7 | public struct UnityPrepooler 8 | : IPrepooler 9 | where T : UnityEngine.Object 10 | where TPrefab : IPrefab 11 | where TPool : IReturnable 12 | { 13 | public async UniTask Prepool( 14 | TPrefab prefab 15 | , TPool pool 16 | , Transform defaultParent 17 | , CancellationToken cancelToken = default 18 | ) 19 | { 20 | if (prefab == null) 21 | ThrowHelper.ThrowArgumentNullException(ExceptionArgument.prefab); 22 | 23 | if (pool == null) 24 | ThrowHelper.ThrowArgumentNullException(ExceptionArgument.pool); 25 | 26 | if (prefab.PrepoolAmount <= 0) 27 | return; 28 | 29 | if (prefab.Parent == false && defaultParent) 30 | prefab.Parent = defaultParent; 31 | 32 | for (int i = 0, count = prefab.PrepoolAmount; i < count; i++) 33 | { 34 | var instance = await prefab.Instantiate(cancelToken); 35 | pool.Return(instance); 36 | } 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/UnityPools/Prepoolers/UnityPrepooler{T,TPrefab,TPool}.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3dfc65ff546a509439eb3a7662d5983d 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/ZBase.Collections.Pooled.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b4cd363339dbbe7429928b071c99982d 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/ZBase.Collections.Pooled/ArrayDictionaryPool.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.CompilerServices; 2 | using ZBase.Foundation.Pooling; 3 | 4 | namespace ZBase.Collections.Pooled.Generic.Pooling 5 | { 6 | public class ArrayDictionaryPool 7 | : Pool 8 | , DefaultConstructorInstantiator>> 9 | { 10 | public ArrayDictionaryPool() 11 | : base() 12 | { } 13 | 14 | public ArrayDictionaryPool(UniqueQueue> queue) 15 | : base(queue) 16 | { } 17 | 18 | [MethodImpl(MethodImplOptions.AggressiveInlining)] 19 | protected override void ReturnPreprocess(ArrayDictionary instance) 20 | => instance.Clear(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/ZBase.Collections.Pooled/ArrayDictionaryPool.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2367e6867dc1f30478a8dac5deb47e41 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/ZBase.Collections.Pooled/ArrayHashSetPool.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.CompilerServices; 2 | using ZBase.Foundation.Pooling; 3 | 4 | namespace ZBase.Collections.Pooled.Generic.Pooling 5 | { 6 | public class ArrayHashSetPool 7 | : Pool 8 | , DefaultConstructorInstantiator>> 9 | { 10 | public ArrayHashSetPool() 11 | : base() 12 | { } 13 | 14 | public ArrayHashSetPool(UniqueQueue> queue) 15 | : base(queue) 16 | { } 17 | 18 | [MethodImpl(MethodImplOptions.AggressiveInlining)] 19 | protected override void ReturnPreprocess(ArrayHashSet instance) 20 | => instance.Clear(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/ZBase.Collections.Pooled/ArrayHashSetPool.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bf9b5bb25a27df5428d0824ecd6b7d05 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/ZBase.Collections.Pooled/DictionaryPool.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.CompilerServices; 2 | using ZBase.Foundation.Pooling; 3 | 4 | namespace ZBase.Collections.Pooled.Generic.Pooling 5 | { 6 | public class DictionaryPool 7 | : Pool 8 | , DefaultConstructorInstantiator>> 9 | { 10 | public DictionaryPool() 11 | : base() 12 | { } 13 | 14 | public DictionaryPool(UniqueQueue> queue) 15 | : base(queue) 16 | { } 17 | 18 | [MethodImpl(MethodImplOptions.AggressiveInlining)] 19 | protected override void ReturnPreprocess(Dictionary instance) 20 | => instance.Clear(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/ZBase.Collections.Pooled/DictionaryPool.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7ec95d45314c07d4cadae3b46caa15c1 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/ZBase.Collections.Pooled/HashSetPool.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.CompilerServices; 2 | using ZBase.Foundation.Pooling; 3 | 4 | namespace ZBase.Collections.Pooled.Generic.Pooling 5 | { 6 | public class HashSetPool 7 | : Pool 8 | , DefaultConstructorInstantiator>> 9 | { 10 | public HashSetPool() 11 | : base() 12 | { } 13 | 14 | public HashSetPool(UniqueQueue> queue) 15 | : base(queue) 16 | { } 17 | 18 | [MethodImpl(MethodImplOptions.AggressiveInlining)] 19 | protected override void ReturnPreprocess(HashSet instance) 20 | => instance.Clear(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/ZBase.Collections.Pooled/HashSetPool.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8fa59ce560db61c4aba22756567c7eaa 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/ZBase.Collections.Pooled/ListPool.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.CompilerServices; 2 | using ZBase.Foundation.Pooling; 3 | 4 | namespace ZBase.Collections.Pooled.Generic.Pooling 5 | { 6 | public class ListPool 7 | : Pool 8 | , DefaultConstructorInstantiator>> 9 | { 10 | public ListPool() 11 | : base() 12 | { } 13 | 14 | public ListPool(UniqueQueue> queue) 15 | : base(queue) 16 | { } 17 | 18 | [MethodImpl(MethodImplOptions.AggressiveInlining)] 19 | protected override void ReturnPreprocess(List instance) 20 | => instance.Clear(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/ZBase.Collections.Pooled/ListPool.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6944c0c0c33002745a292be1bfa21ded 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/ZBase.Collections.Pooled/QueuePool.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.CompilerServices; 2 | using ZBase.Foundation.Pooling; 3 | 4 | namespace ZBase.Collections.Pooled.Generic.Pooling 5 | { 6 | public class QueuePool 7 | : Pool 8 | , DefaultConstructorInstantiator>> 9 | { 10 | public QueuePool() 11 | : base() 12 | { } 13 | 14 | public QueuePool(UniqueQueue> queue) 15 | : base(queue) 16 | { } 17 | 18 | [MethodImpl(MethodImplOptions.AggressiveInlining)] 19 | protected override void ReturnPreprocess(Queue instance) 20 | => instance.Clear(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/ZBase.Collections.Pooled/QueuePool.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8265b721bd1981643ab419c06c26d707 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/ZBase.Collections.Pooled/StackPool.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.CompilerServices; 2 | using ZBase.Foundation.Pooling; 3 | 4 | namespace ZBase.Collections.Pooled.Generic.Pooling 5 | { 6 | public class StackPool 7 | : Pool 8 | , DefaultConstructorInstantiator>> 9 | { 10 | public StackPool() 11 | : base() 12 | { } 13 | 14 | public StackPool(UniqueQueue> queue) 15 | : base(queue) 16 | { } 17 | 18 | [MethodImpl(MethodImplOptions.AggressiveInlining)] 19 | protected override void ReturnPreprocess(Stack instance) 20 | => instance.Clear(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/ZBase.Collections.Pooled/StackPool.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1fdb5eca506cd604a80486ebf5e9d9ce 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ZBase.Foundation.Pooling", 3 | "rootNamespace": "ZBase.Foundation.Pooling", 4 | "references": [ 5 | "UniTask", 6 | "ZBase.Collections.Pooled" 7 | ], 8 | "includePlatforms": [], 9 | "excludePlatforms": [], 10 | "allowUnsafeCode": false, 11 | "overrideReferences": false, 12 | "precompiledReferences": [], 13 | "autoReferenced": true, 14 | "defineConstraints": [], 15 | "versionDefines": [], 16 | "noEngineReferences": false 17 | } -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling/ZBase.Foundation.Pooling.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fd092178e9122e846ad6b4ba819e1a8c 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "com.zbase.foundation.pooling", 3 | "displayName": "ZBase.Foundation.Pooling", 4 | "version": "2.3.3", 5 | "unity": "2021.3", 6 | "documentationUrl": "https://github.com/Zitga-Tech/ZBase.Foundation.Pooling/blob/main/README.md", 7 | "dependencies": { 8 | "org.nuget.system.runtime.compilerservices.unsafe": "6.0.0", 9 | "com.cysharp.unitask": "2.3.3", 10 | "com.zbase.collections.pooled": "2.8.1" 11 | }, 12 | "type": "library" 13 | } -------------------------------------------------------------------------------- /Packages/ZBase.Foundation.Pooling/package.json.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7b926853bf6afac49b1ceb0a4629a5d0 3 | PackageManifestImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /ProjectSettings/AudioManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!11 &1 4 | AudioManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Volume: 1 8 | Rolloff Scale: 1 9 | Doppler Factor: 1 10 | Default Speaker Mode: 2 11 | m_SampleRate: 0 12 | m_DSPBufferSize: 1024 13 | m_VirtualVoiceCount: 512 14 | m_RealVoiceCount: 32 15 | m_SpatializerPlugin: 16 | m_AmbisonicDecoderPlugin: 17 | m_DisableAudio: 0 18 | m_VirtualizeEffects: 1 19 | m_RequestedDSPBufferSize: 0 20 | -------------------------------------------------------------------------------- /ProjectSettings/ClusterInputManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!236 &1 4 | ClusterInputManager: 5 | m_ObjectHideFlags: 0 6 | m_Inputs: [] 7 | -------------------------------------------------------------------------------- /ProjectSettings/DynamicsManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!55 &1 4 | PhysicsManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 13 7 | m_Gravity: {x: 0, y: -9.81, z: 0} 8 | m_DefaultMaterial: {fileID: 0} 9 | m_BounceThreshold: 2 10 | m_DefaultMaxDepenetrationVelocity: 10 11 | m_SleepThreshold: 0.005 12 | m_DefaultContactOffset: 0.01 13 | m_DefaultSolverIterations: 6 14 | m_DefaultSolverVelocityIterations: 1 15 | m_QueriesHitBackfaces: 0 16 | m_QueriesHitTriggers: 1 17 | m_EnableAdaptiveForce: 0 18 | m_ClothInterCollisionDistance: 0.1 19 | m_ClothInterCollisionStiffness: 0.2 20 | m_ContactsGeneration: 1 21 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 22 | m_AutoSimulation: 1 23 | m_AutoSyncTransforms: 0 24 | m_ReuseCollisionCallbacks: 1 25 | m_ClothInterCollisionSettingsToggle: 0 26 | m_ClothGravity: {x: 0, y: -9.81, z: 0} 27 | m_ContactPairsMode: 0 28 | m_BroadphaseType: 0 29 | m_WorldBounds: 30 | m_Center: {x: 0, y: 0, z: 0} 31 | m_Extent: {x: 250, y: 250, z: 250} 32 | m_WorldSubdivisions: 8 33 | m_FrictionType: 0 34 | m_EnableEnhancedDeterminism: 0 35 | m_EnableUnifiedHeightmaps: 1 36 | m_SolverType: 0 37 | m_DefaultMaxAngularSpeed: 50 38 | -------------------------------------------------------------------------------- /ProjectSettings/EditorBuildSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1045 &1 4 | EditorBuildSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Scenes: 8 | - enabled: 1 9 | path: Assets/Scenes/SampleScene.unity 10 | guid: 2cda990e2423bbf4892e6590ba056729 11 | m_configObjects: 12 | com.unity.addressableassets: {fileID: 11400000, guid: a4ed3d350d7e25f4ea915e3071c5af7b, type: 2} 13 | -------------------------------------------------------------------------------- /ProjectSettings/EditorSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!159 &1 4 | EditorSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 11 7 | m_SerializationMode: 2 8 | m_LineEndingsForNewScripts: 1 9 | m_DefaultBehaviorMode: 1 10 | m_PrefabRegularEnvironment: {fileID: 0} 11 | m_PrefabUIEnvironment: {fileID: 0} 12 | m_SpritePackerMode: 4 13 | m_SpritePackerPaddingPower: 1 14 | m_Bc7TextureCompressor: 0 15 | m_EtcTextureCompressorBehavior: 1 16 | m_EtcTextureFastCompressor: 1 17 | m_EtcTextureNormalCompressor: 2 18 | m_EtcTextureBestCompressor: 4 19 | m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;asmref;rsp;tt 20 | m_ProjectGenerationRootNamespace: 21 | m_EnableTextureStreamingInEditMode: 1 22 | m_EnableTextureStreamingInPlayMode: 1 23 | m_AsyncShaderCompilation: 1 24 | m_CachingShaderPreprocessor: 1 25 | m_PrefabModeAllowAutoSave: 1 26 | m_EnterPlayModeOptionsEnabled: 0 27 | m_EnterPlayModeOptions: 3 28 | m_GameObjectNamingDigits: 2 29 | m_GameObjectNamingScheme: 2 30 | m_AssetNamingUsesSpace: 1 31 | m_UseLegacyProbeSampleCount: 0 32 | m_SerializeInlineMappingsOnOneLine: 1 33 | m_DisableCookiesInLightmapper: 1 34 | m_AssetPipelineMode: 1 35 | m_RefreshImportMode: 0 36 | m_CacheServerMode: 0 37 | m_CacheServerEndpoint: 38 | m_CacheServerNamespacePrefix: default 39 | m_CacheServerEnableDownload: 1 40 | m_CacheServerEnableUpload: 1 41 | m_CacheServerEnableAuth: 0 42 | m_CacheServerEnableTls: 0 43 | m_CacheServerValidationMode: 2 44 | -------------------------------------------------------------------------------- /ProjectSettings/MemorySettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!387306366 &1 4 | MemorySettings: 5 | m_ObjectHideFlags: 0 6 | m_EditorMemorySettings: 7 | m_MainAllocatorBlockSize: -1 8 | m_ThreadAllocatorBlockSize: -1 9 | m_MainGfxBlockSize: -1 10 | m_ThreadGfxBlockSize: -1 11 | m_CacheBlockSize: -1 12 | m_TypetreeBlockSize: -1 13 | m_ProfilerBlockSize: -1 14 | m_ProfilerEditorBlockSize: -1 15 | m_BucketAllocatorGranularity: -1 16 | m_BucketAllocatorBucketsCount: -1 17 | m_BucketAllocatorBlockSize: -1 18 | m_BucketAllocatorBlockCount: -1 19 | m_ProfilerBucketAllocatorGranularity: -1 20 | m_ProfilerBucketAllocatorBucketsCount: -1 21 | m_ProfilerBucketAllocatorBlockSize: -1 22 | m_ProfilerBucketAllocatorBlockCount: -1 23 | m_TempAllocatorSizeMain: -1 24 | m_JobTempAllocatorBlockSize: -1 25 | m_BackgroundJobTempAllocatorBlockSize: -1 26 | m_JobTempAllocatorReducedBlockSize: -1 27 | m_TempAllocatorSizeGIBakingWorker: -1 28 | m_TempAllocatorSizeNavMeshWorker: -1 29 | m_TempAllocatorSizeAudioWorker: -1 30 | m_TempAllocatorSizeCloudWorker: -1 31 | m_TempAllocatorSizeGfx: -1 32 | m_TempAllocatorSizeJobWorker: -1 33 | m_TempAllocatorSizeBackgroundWorker: -1 34 | m_TempAllocatorSizePreloadManager: -1 35 | m_PlatformMemorySettings: {} 36 | -------------------------------------------------------------------------------- /ProjectSettings/NavMeshAreas.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!126 &1 4 | NavMeshProjectSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | areas: 8 | - name: Walkable 9 | cost: 1 10 | - name: Not Walkable 11 | cost: 1 12 | - name: Jump 13 | cost: 2 14 | - name: 15 | cost: 1 16 | - name: 17 | cost: 1 18 | - name: 19 | cost: 1 20 | - name: 21 | cost: 1 22 | - name: 23 | cost: 1 24 | - name: 25 | cost: 1 26 | - name: 27 | cost: 1 28 | - name: 29 | cost: 1 30 | - name: 31 | cost: 1 32 | - name: 33 | cost: 1 34 | - name: 35 | cost: 1 36 | - name: 37 | cost: 1 38 | - name: 39 | cost: 1 40 | - name: 41 | cost: 1 42 | - name: 43 | cost: 1 44 | - name: 45 | cost: 1 46 | - name: 47 | cost: 1 48 | - name: 49 | cost: 1 50 | - name: 51 | cost: 1 52 | - name: 53 | cost: 1 54 | - name: 55 | cost: 1 56 | - name: 57 | cost: 1 58 | - name: 59 | cost: 1 60 | - name: 61 | cost: 1 62 | - name: 63 | cost: 1 64 | - name: 65 | cost: 1 66 | - name: 67 | cost: 1 68 | - name: 69 | cost: 1 70 | - name: 71 | cost: 1 72 | m_LastAgentTypeID: -887442657 73 | m_Settings: 74 | - serializedVersion: 2 75 | agentTypeID: 0 76 | agentRadius: 0.5 77 | agentHeight: 2 78 | agentSlope: 45 79 | agentClimb: 0.75 80 | ledgeDropHeight: 0 81 | maxJumpAcrossDistance: 0 82 | minRegionArea: 2 83 | manualCellSize: 0 84 | cellSize: 0.16666667 85 | manualTileSize: 0 86 | tileSize: 256 87 | accuratePlacement: 0 88 | maxJobWorkers: 0 89 | preserveTilesOutsideBounds: 0 90 | debug: 91 | m_Flags: 0 92 | m_SettingNames: 93 | - Humanoid 94 | -------------------------------------------------------------------------------- /ProjectSettings/NetworkManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!149 &1 4 | NetworkManager: 5 | m_ObjectHideFlags: 0 6 | m_DebugLevel: 0 7 | m_Sendrate: 15 8 | m_AssetToPrefab: {} 9 | -------------------------------------------------------------------------------- /ProjectSettings/PackageManagerSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &1 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 61 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 13964, guid: 0000000000000000e000000000000000, type: 0} 13 | m_Name: 14 | m_EditorClassIdentifier: 15 | m_EnablePreReleasePackages: 1 16 | m_EnablePackageDependencies: 1 17 | m_AdvancedSettingsExpanded: 1 18 | m_ScopedRegistriesSettingsExpanded: 1 19 | m_SeeAllPackageVersions: 0 20 | oneTimeWarningShown: 1 21 | m_Registries: 22 | - m_Id: main 23 | m_Name: 24 | m_Url: https://packages.unity.com 25 | m_Scopes: [] 26 | m_IsDefault: 1 27 | m_Capabilities: 7 28 | m_ConfigSource: 0 29 | - m_Id: scoped:project:Unity NuGet 30 | m_Name: Unity NuGet 31 | m_Url: https://unitynuget-registry.azurewebsites.net 32 | m_Scopes: 33 | - org.nuget 34 | m_IsDefault: 0 35 | m_Capabilities: 0 36 | m_ConfigSource: 4 37 | - m_Id: scoped:project:package.openupm.com 38 | m_Name: package.openupm.com 39 | m_Url: https://package.openupm.com 40 | m_Scopes: 41 | - com.cysharp.unitask 42 | - com.openupm 43 | - com.zbase.collections.pooled 44 | - org.nuget.system.runtime.compilerservices.unsafe 45 | m_IsDefault: 0 46 | m_Capabilities: 0 47 | m_ConfigSource: 4 48 | m_UserSelectedRegistryName: Unity NuGet 49 | m_UserAddingNewScopedRegistry: 0 50 | m_RegistryInfoDraft: 51 | m_Modified: 0 52 | m_ErrorMessage: 53 | m_UserModificationsInstanceId: -830 54 | m_OriginalInstanceId: -834 55 | m_LoadAssets: 0 56 | -------------------------------------------------------------------------------- /ProjectSettings/Physics2DSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!19 &1 4 | Physics2DSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 5 7 | m_Gravity: {x: 0, y: -9.81} 8 | m_DefaultMaterial: {fileID: 0} 9 | m_VelocityIterations: 8 10 | m_PositionIterations: 3 11 | m_VelocityThreshold: 1 12 | m_MaxLinearCorrection: 0.2 13 | m_MaxAngularCorrection: 8 14 | m_MaxTranslationSpeed: 100 15 | m_MaxRotationSpeed: 360 16 | m_BaumgarteScale: 0.2 17 | m_BaumgarteTimeOfImpactScale: 0.75 18 | m_TimeToSleep: 0.5 19 | m_LinearSleepTolerance: 0.01 20 | m_AngularSleepTolerance: 2 21 | m_DefaultContactOffset: 0.01 22 | m_JobOptions: 23 | serializedVersion: 2 24 | useMultithreading: 0 25 | useConsistencySorting: 0 26 | m_InterpolationPosesPerJob: 100 27 | m_NewContactsPerJob: 30 28 | m_CollideContactsPerJob: 100 29 | m_ClearFlagsPerJob: 200 30 | m_ClearBodyForcesPerJob: 200 31 | m_SyncDiscreteFixturesPerJob: 50 32 | m_SyncContinuousFixturesPerJob: 50 33 | m_FindNearestContactsPerJob: 100 34 | m_UpdateTriggerContactsPerJob: 100 35 | m_IslandSolverCostThreshold: 100 36 | m_IslandSolverBodyCostScale: 1 37 | m_IslandSolverContactCostScale: 10 38 | m_IslandSolverJointCostScale: 10 39 | m_IslandSolverBodiesPerJob: 50 40 | m_IslandSolverContactsPerJob: 50 41 | m_SimulationMode: 0 42 | m_QueriesHitTriggers: 1 43 | m_QueriesStartInColliders: 1 44 | m_CallbacksOnDisable: 1 45 | m_ReuseCollisionCallbacks: 1 46 | m_AutoSyncTransforms: 0 47 | m_AlwaysShowColliders: 0 48 | m_ShowColliderSleep: 1 49 | m_ShowColliderContacts: 0 50 | m_ShowColliderAABB: 0 51 | m_ContactArrowScale: 0.2 52 | m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412} 53 | m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432} 54 | m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745} 55 | m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804} 56 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 57 | -------------------------------------------------------------------------------- /ProjectSettings/PresetManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1386491679 &1 4 | PresetManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_DefaultPresets: {} 8 | -------------------------------------------------------------------------------- /ProjectSettings/ProjectVersion.txt: -------------------------------------------------------------------------------- 1 | m_EditorVersion: 2021.3.15f1 2 | m_EditorVersionWithRevision: 2021.3.15f1 (e8e88683f834) 3 | -------------------------------------------------------------------------------- /ProjectSettings/TagManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!78 &1 4 | TagManager: 5 | serializedVersion: 2 6 | tags: [] 7 | layers: 8 | - Default 9 | - TransparentFX 10 | - Ignore Raycast 11 | - 12 | - Water 13 | - UI 14 | - 15 | - 16 | - 17 | - 18 | - 19 | - 20 | - 21 | - 22 | - 23 | - 24 | - 25 | - 26 | - 27 | - 28 | - 29 | - 30 | - 31 | - 32 | - 33 | - 34 | - 35 | - 36 | - 37 | - 38 | - 39 | - 40 | m_SortingLayers: 41 | - name: Default 42 | uniqueID: 0 43 | locked: 0 44 | -------------------------------------------------------------------------------- /ProjectSettings/TimeManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!5 &1 4 | TimeManager: 5 | m_ObjectHideFlags: 0 6 | Fixed Timestep: 0.02 7 | Maximum Allowed Timestep: 0.33333334 8 | m_TimeScale: 1 9 | Maximum Particle Timestep: 0.03 10 | -------------------------------------------------------------------------------- /ProjectSettings/TimelineSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &1 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 61 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: a287be6c49135cd4f9b2b8666c39d999, type: 3} 13 | m_Name: 14 | m_EditorClassIdentifier: 15 | assetDefaultFramerate: 60 16 | m_DefaultFrameRate: 60 17 | -------------------------------------------------------------------------------- /ProjectSettings/UnityConnectSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!310 &1 4 | UnityConnectSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 1 7 | m_Enabled: 0 8 | m_TestMode: 0 9 | m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events 10 | m_EventUrl: https://cdp.cloud.unity3d.com/v1/events 11 | m_ConfigUrl: https://config.uca.cloud.unity3d.com 12 | m_DashboardUrl: https://dashboard.unity3d.com 13 | m_TestInitMode: 0 14 | CrashReportingSettings: 15 | m_EventUrl: https://perf-events.cloud.unity3d.com 16 | m_Enabled: 0 17 | m_LogBufferSize: 10 18 | m_CaptureEditorExceptions: 1 19 | UnityPurchasingSettings: 20 | m_Enabled: 0 21 | m_TestMode: 0 22 | UnityAnalyticsSettings: 23 | m_Enabled: 0 24 | m_TestMode: 0 25 | m_InitializeOnStartup: 1 26 | UnityAdsSettings: 27 | m_Enabled: 0 28 | m_InitializeOnStartup: 1 29 | m_TestMode: 0 30 | m_IosGameId: 31 | m_AndroidGameId: 32 | m_GameIds: {} 33 | m_GameId: 34 | PerformanceReportingSettings: 35 | m_Enabled: 0 36 | -------------------------------------------------------------------------------- /ProjectSettings/VFXManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!937362698 &1 4 | VFXManager: 5 | m_ObjectHideFlags: 0 6 | m_IndirectShader: {fileID: 0} 7 | m_CopyBufferShader: {fileID: 0} 8 | m_SortShader: {fileID: 0} 9 | m_StripUpdateShader: {fileID: 0} 10 | m_RenderPipeSettingsPath: 11 | m_FixedTimeStep: 0.016666668 12 | m_MaxDeltaTime: 0.05 13 | m_CompiledVersion: 0 14 | m_RuntimeVersion: 0 15 | -------------------------------------------------------------------------------- /ProjectSettings/VersionControlSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!890905787 &1 4 | VersionControlSettings: 5 | m_ObjectHideFlags: 0 6 | m_Mode: Visible Meta Files 7 | m_CollabEditorSettings: 8 | inProgressEnabled: 1 9 | -------------------------------------------------------------------------------- /ProjectSettings/XRSettings.asset: -------------------------------------------------------------------------------- 1 | { 2 | "m_SettingKeys": [ 3 | "VR Device Disabled", 4 | "VR Device User Alert" 5 | ], 6 | "m_SettingValues": [ 7 | "False", 8 | "False" 9 | ] 10 | } -------------------------------------------------------------------------------- /ProjectSettings/boot.config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zitga-Tech/ZBase.Foundation.Pooling/a08e1d16d94522875dd1254d67502740846bd047/ProjectSettings/boot.config --------------------------------------------------------------------------------