From 668bfe12ebc53a6b014e973682a0d621ceee6c3d Mon Sep 17 00:00:00 2001 From: GanX <2423855310@qq.com> Date: Wed, 15 Oct 2025 21:31:13 +0800 Subject: [PATCH] =?UTF-8?q?feat():=20=E5=A4=A7=E9=87=8F=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/{Script/Core/Input.meta => Art.meta} | 2 +- Assets/Art/Material.meta | 8 + Assets/Art/Material/Card.mat | 133 + Assets/Art/Material/Card.mat.meta | 8 + Assets/Art/Model.meta | 8 + Assets/Art/Model/card (6).fbx | Bin 0 -> 304892 bytes Assets/Art/Model/card (6).fbx.meta | 109 + Assets/Art/Model/textures.meta | 8 + Assets/Art/Model/textures/我的贴图.png | Bin 0 -> 282268 bytes Assets/Art/Model/textures/我的贴图.png.meta | 140 + Assets/Art/Model/textures/未命名.001.png | Bin 0 -> 170454 bytes Assets/Art/Model/textures/未命名.001.png.meta | 140 + Assets/Plugins.meta | 8 + Assets/Plugins/Demigiant.meta | 8 + Assets/Plugins/Demigiant/DOTween.meta | 21 + Assets/Plugins/Demigiant/DOTween/DOTween.XML | 3089 +++++++++++++++++ .../Demigiant/DOTween/DOTween.XML.meta | 4 + Assets/Plugins/Demigiant/DOTween/DOTween.dll | Bin 0 -> 175616 bytes .../Demigiant/DOTween/DOTween.dll.meta | 22 + Assets/Plugins/Demigiant/DOTween/Editor.meta | 5 + .../DOTween/Editor/DOTweenEditor.XML | 144 + .../DOTween/Editor/DOTweenEditor.XML.meta | 4 + .../DOTween/Editor/DOTweenEditor.dll | Bin 0 -> 70656 bytes .../DOTween/Editor/DOTweenEditor.dll.meta | 22 + .../DOTween/Editor/DOTweenUpgradeManager.XML | 14 + .../Editor/DOTweenUpgradeManager.XML.meta | 4 + .../DOTween/Editor/DOTweenUpgradeManager.dll | Bin 0 -> 10752 bytes .../Editor/DOTweenUpgradeManager.dll.meta | 22 + .../Demigiant/DOTween/Editor/Imgs.meta | 5 + .../DOTween/Editor/Imgs/DOTweenIcon.png | Bin 0 -> 1565 bytes .../DOTween/Editor/Imgs/DOTweenIcon.png.meta | 47 + .../DOTween/Editor/Imgs/DOTweenMiniIcon.png | Bin 0 -> 319 bytes .../Editor/Imgs/DOTweenMiniIcon.png.meta | 68 + .../Demigiant/DOTween/Editor/Imgs/Footer.png | Bin 0 -> 4409 bytes .../DOTween/Editor/Imgs/Footer.png.meta | 47 + .../DOTween/Editor/Imgs/Footer_dark.png | Bin 0 -> 4429 bytes .../DOTween/Editor/Imgs/Footer_dark.png.meta | 47 + .../Demigiant/DOTween/Editor/Imgs/Header.jpg | Bin 0 -> 22787 bytes .../DOTween/Editor/Imgs/Header.jpg.meta | 47 + Assets/Plugins/Demigiant/DOTween/Modules.meta | 5 + .../DOTween/Modules/DOTweenModuleAudio.cs | 198 ++ .../Modules/DOTweenModuleAudio.cs.meta | 8 + .../Modules/DOTweenModuleEPOOutline.cs | 146 + .../Modules/DOTweenModuleEPOOutline.cs.meta | 12 + .../DOTween/Modules/DOTweenModulePhysics.cs | 216 ++ .../Modules/DOTweenModulePhysics.cs.meta | 8 + .../DOTween/Modules/DOTweenModulePhysics2D.cs | 193 + .../Modules/DOTweenModulePhysics2D.cs.meta | 8 + .../DOTween/Modules/DOTweenModuleSprite.cs | 93 + .../Modules/DOTweenModuleSprite.cs.meta | 8 + .../DOTween/Modules/DOTweenModuleUI.cs | 662 ++++ .../DOTween/Modules/DOTweenModuleUI.cs.meta | 8 + .../Modules/DOTweenModuleUnityVersion.cs | 389 +++ .../Modules/DOTweenModuleUnityVersion.cs.meta | 8 + .../DOTween/Modules/DOTweenModuleUtils.cs | 167 + .../Modules/DOTweenModuleUtils.cs.meta | 8 + Assets/Plugins/Demigiant/DOTween/readme.txt | 29 + .../Plugins/Demigiant/DOTween/readme.txt.meta | 4 + Assets/Prefab/Gameplay.meta | 8 + Assets/Prefab/Gameplay/Card.prefab | 479 +++ .../Gameplay/Card.prefab.meta} | 4 +- Assets/Prefab/Gameplay/CombatTrigger.prefab | 70 + .../Prefab/Gameplay/CombatTrigger.prefab.meta | 7 + Assets/Prefab/Gameplay/Enemy.prefab | 156 + Assets/Prefab/Gameplay/Enemy.prefab.meta | 7 + Assets/Prefab/Gameplay/Map.meta | 8 + Assets/Prefab/Gameplay/Map/MapFlag.prefab | 72 + .../Prefab/Gameplay/Map/MapFlag.prefab.meta | 7 + .../Prefab/Gameplay/Map/MapFlagManager.prefab | 47 + .../Gameplay/Map/MapFlagManager.prefab.meta | 7 + Assets/Prefab/Gameplay/NormalCardBook.prefab | 121 + .../Gameplay/NormalCardBook.prefab.meta | 7 + Assets/Prefab/{ => Gameplay}/Player.prefab | 115 +- .../Prefab/{ => Gameplay}/Player.prefab.meta | 0 Assets/Resources.meta | 8 + Assets/Resources/Configs.meta | 8 + Assets/Resources/Configs/Card.meta | 8 + .../Resources/Configs/Card/DamageCard.asset | 22 + .../Configs/Card/DamageCard.asset.meta | 8 + Assets/Resources/Configs/CardBook.meta | 8 + .../Configs/CardBook/NormalCardBook.asset | 17 + .../CardBook/NormalCardBook.asset.meta | 8 + Assets/Resources/DOTweenSettings.asset | 54 + Assets/Resources/DOTweenSettings.asset.meta | 8 + Assets/Scenes/Level1.unity | 1124 +++++- Assets/Scenes/UIScene.unity | 604 +++- Assets/Script/Card/CardEffect/CardContext.cs | 10 - .../Script/Card/CardEffect/EffectHandler.cs | 33 - Assets/Script/Core/Core.asmdef | 1 - Assets/Script/Core/Interface.meta | 3 + Assets/Script/Core/Interface/IInputManager.cs | 16 + .../Core/Interface/IInputManager.cs.meta | 3 + Assets/Script/Core/UI/UIManager.cs | 16 +- Assets/Script/Gameplay.meta | 3 + Assets/Script/{ => Gameplay}/Card.meta | 0 Assets/Script/{ => Gameplay}/Card/Card.cs | 2 +- .../Script/{ => Gameplay}/Card/Card.cs.meta | 0 Assets/Script/Gameplay/Card/CardBook.meta | 3 + .../Script/Gameplay/Card/CardBook/CardBook.cs | 48 + .../Gameplay/Card/CardBook/CardBook.cs.meta | 3 + .../Gameplay/Card/CardBook/CardBookData.cs | 12 + .../Card/CardBook/CardBookData.cs.meta | 3 + .../Gameplay/Card/CardBook/CardBookViewer.cs | 12 + .../Card/CardBook/CardBookViewer.cs.meta | 3 + .../Script/Gameplay/Card/CardBook/CardSlot.cs | 23 + .../Gameplay/Card/CardBook/CardSlot.cs.meta | 3 + Assets/Script/{ => Gameplay}/Card/CardData.cs | 5 +- .../{ => Gameplay}/Card/CardData.cs.meta | 0 .../{ => Gameplay}/Card/CardEffect.meta | 0 .../Gameplay/Card/CardEffect/CardContext.cs | 16 + .../Card/CardEffect/CardContext.cs.meta | 0 .../Card/CardEffect/EffectData.cs | 4 +- .../Card/CardEffect/EffectData.cs.meta | 0 .../Gameplay/Card/CardEffect/EffectHandler.cs | 24 + .../Card/CardEffect/EffectHandler.cs.meta | 0 Assets/Script/Gameplay/Card/CardLoader.cs | 21 + .../Script/Gameplay/Card/CardLoader.cs.meta | 3 + .../Script/{ => Gameplay}/Card/CardViewer.cs | 3 +- .../{ => Gameplay}/Card/CardViewer.cs.meta | 0 Assets/Script/Gameplay/Combat.meta | 3 + .../Gameplay/Combat/CombatFlowManager.cs | 176 + .../Gameplay/Combat/CombatFlowManager.cs.meta | 3 + .../Script/Gameplay/Combat/CombatTrigger.cs | 49 + .../Gameplay/Combat/CombatTrigger.cs.meta | 3 + Assets/Script/Gameplay/Enemy.meta | 3 + .../Script/Gameplay/Enemy/EnemyController.cs | 77 + .../Gameplay/Enemy/EnemyController.cs.meta | 3 + .../Card.asmdef => Gameplay/Gameplay.asmdef} | 5 +- Assets/Script/Gameplay/Gameplay.asmdef.meta | 3 + Assets/Script/Gameplay/Input.meta | 3 + .../{Core => Gameplay}/Input/InputManager.cs | 26 +- .../Input/InputManager.cs.meta | 0 .../Input/PlayerInputActions.cs | 131 +- .../Input/PlayerInputActions.cs.meta | 2 +- Assets/Script/Gameplay/Interface.meta | 3 + .../Script/Gameplay/Interface/ICharacter.cs | 28 + .../Interface}/ICharacter.cs.meta | 0 .../Gameplay/Interface/IInteractable.cs | 9 + .../Gameplay/Interface/IInteractable.cs.meta | 3 + Assets/Script/{ => Gameplay}/Map.meta | 0 Assets/Script/Gameplay/Map/FlightTrigger.cs | 10 + .../Script/Gameplay/Map/FlightTrigger.cs.meta | 3 + Assets/Script/Gameplay/Map/MapFlag.cs | 20 + Assets/Script/Gameplay/Map/MapFlag.cs.meta | 3 + Assets/Script/Gameplay/Map/MapFlagManager.cs | 13 + .../Gameplay/Map/MapFlagManager.cs.meta | 3 + Assets/Script/{ => Gameplay}/Player.meta | 0 .../Player/PlayerCameraController.cs | 4 +- .../Player/PlayerCameraController.cs.meta | 0 Assets/Script/Gameplay/Player/PlayerConfig.cs | 9 + .../Gameplay/Player/PlayerConfig.cs.meta | 3 + .../Gameplay/Player/PlayerController.cs | 92 + .../Gameplay/Player/PlayerController.cs.meta | 3 + .../Player/PlayerInteractorController.cs | 58 + .../Player/PlayerInteractorController.cs.meta | 3 + .../Gameplay/Player/PlayerMoveController.cs | 89 + .../Player/PlayerMoveController.cs.meta | 3 + Assets/Script/Map/Map.asmdef | 3 - Assets/Script/Map/Map.asmdef.meta | 3 - Assets/Script/Player/Player.asmdef | 3 - Assets/Script/Player/Player.asmdef.meta | 3 - Assets/Script/Player/PlayerMoveController.cs | 9 - .../Player/PlayerMoveController.cs.meta | 3 - Assets/Script/Share.meta | 3 - Assets/Script/Share/ICharacter.cs | 15 - Assets/Script/Share/Share.asmdef | 3 - Assets/Script/Share/Share.asmdef.meta | 3 - Assets/Script/UI/PlayerHpViewer.cs | 32 + Assets/Script/UI/PlayerHpViewer.cs.meta | 3 + Assets/Script/UI/UI.asmdef | 3 +- .../Input/InputSystem_Actions.inputactions | 1057 ++++++ .../InputSystem_Actions.inputactions.meta | 14 + .../Input/PlayerInputActions.inputactions | 109 +- .../PlayerInputActions.inputactions.meta | 4 +- Packages/manifest.json | 1 + Packages/packages-lock.json | 7 + ProjectSettings/ProjectSettings.asset | 19 +- ProjectSettings/TagManager.asset | 2 +- 178 files changed, 11318 insertions(+), 446 deletions(-) rename Assets/{Script/Core/Input.meta => Art.meta} (77%) create mode 100644 Assets/Art/Material.meta create mode 100644 Assets/Art/Material/Card.mat create mode 100644 Assets/Art/Material/Card.mat.meta create mode 100644 Assets/Art/Model.meta create mode 100644 Assets/Art/Model/card (6).fbx create mode 100644 Assets/Art/Model/card (6).fbx.meta create mode 100644 Assets/Art/Model/textures.meta create mode 100644 Assets/Art/Model/textures/我的贴图.png create mode 100644 Assets/Art/Model/textures/我的贴图.png.meta create mode 100644 Assets/Art/Model/textures/未命名.001.png create mode 100644 Assets/Art/Model/textures/未命名.001.png.meta create mode 100644 Assets/Plugins.meta create mode 100644 Assets/Plugins/Demigiant.meta create mode 100644 Assets/Plugins/Demigiant/DOTween.meta create mode 100644 Assets/Plugins/Demigiant/DOTween/DOTween.XML create mode 100644 Assets/Plugins/Demigiant/DOTween/DOTween.XML.meta create mode 100644 Assets/Plugins/Demigiant/DOTween/DOTween.dll create mode 100644 Assets/Plugins/Demigiant/DOTween/DOTween.dll.meta create mode 100644 Assets/Plugins/Demigiant/DOTween/Editor.meta create mode 100644 Assets/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.XML create mode 100644 Assets/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.XML.meta create mode 100644 Assets/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.dll create mode 100644 Assets/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.dll.meta create mode 100644 Assets/Plugins/Demigiant/DOTween/Editor/DOTweenUpgradeManager.XML create mode 100644 Assets/Plugins/Demigiant/DOTween/Editor/DOTweenUpgradeManager.XML.meta create mode 100644 Assets/Plugins/Demigiant/DOTween/Editor/DOTweenUpgradeManager.dll create mode 100644 Assets/Plugins/Demigiant/DOTween/Editor/DOTweenUpgradeManager.dll.meta create mode 100644 Assets/Plugins/Demigiant/DOTween/Editor/Imgs.meta create mode 100644 Assets/Plugins/Demigiant/DOTween/Editor/Imgs/DOTweenIcon.png create mode 100644 Assets/Plugins/Demigiant/DOTween/Editor/Imgs/DOTweenIcon.png.meta create mode 100644 Assets/Plugins/Demigiant/DOTween/Editor/Imgs/DOTweenMiniIcon.png create mode 100644 Assets/Plugins/Demigiant/DOTween/Editor/Imgs/DOTweenMiniIcon.png.meta create mode 100644 Assets/Plugins/Demigiant/DOTween/Editor/Imgs/Footer.png create mode 100644 Assets/Plugins/Demigiant/DOTween/Editor/Imgs/Footer.png.meta create mode 100644 Assets/Plugins/Demigiant/DOTween/Editor/Imgs/Footer_dark.png create mode 100644 Assets/Plugins/Demigiant/DOTween/Editor/Imgs/Footer_dark.png.meta create mode 100644 Assets/Plugins/Demigiant/DOTween/Editor/Imgs/Header.jpg create mode 100644 Assets/Plugins/Demigiant/DOTween/Editor/Imgs/Header.jpg.meta create mode 100644 Assets/Plugins/Demigiant/DOTween/Modules.meta create mode 100644 Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleAudio.cs create mode 100644 Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleAudio.cs.meta create mode 100644 Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleEPOOutline.cs create mode 100644 Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleEPOOutline.cs.meta create mode 100644 Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModulePhysics.cs create mode 100644 Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModulePhysics.cs.meta create mode 100644 Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModulePhysics2D.cs create mode 100644 Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModulePhysics2D.cs.meta create mode 100644 Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleSprite.cs create mode 100644 Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleSprite.cs.meta create mode 100644 Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUI.cs create mode 100644 Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUI.cs.meta create mode 100644 Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUnityVersion.cs create mode 100644 Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUnityVersion.cs.meta create mode 100644 Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUtils.cs create mode 100644 Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUtils.cs.meta create mode 100644 Assets/Plugins/Demigiant/DOTween/readme.txt create mode 100644 Assets/Plugins/Demigiant/DOTween/readme.txt.meta create mode 100644 Assets/Prefab/Gameplay.meta create mode 100644 Assets/Prefab/Gameplay/Card.prefab rename Assets/{Script/Card/Card.asmdef.meta => Prefab/Gameplay/Card.prefab.meta} (59%) create mode 100644 Assets/Prefab/Gameplay/CombatTrigger.prefab create mode 100644 Assets/Prefab/Gameplay/CombatTrigger.prefab.meta create mode 100644 Assets/Prefab/Gameplay/Enemy.prefab create mode 100644 Assets/Prefab/Gameplay/Enemy.prefab.meta create mode 100644 Assets/Prefab/Gameplay/Map.meta create mode 100644 Assets/Prefab/Gameplay/Map/MapFlag.prefab create mode 100644 Assets/Prefab/Gameplay/Map/MapFlag.prefab.meta create mode 100644 Assets/Prefab/Gameplay/Map/MapFlagManager.prefab create mode 100644 Assets/Prefab/Gameplay/Map/MapFlagManager.prefab.meta create mode 100644 Assets/Prefab/Gameplay/NormalCardBook.prefab create mode 100644 Assets/Prefab/Gameplay/NormalCardBook.prefab.meta rename Assets/Prefab/{ => Gameplay}/Player.prefab (91%) rename Assets/Prefab/{ => Gameplay}/Player.prefab.meta (100%) create mode 100644 Assets/Resources.meta create mode 100644 Assets/Resources/Configs.meta create mode 100644 Assets/Resources/Configs/Card.meta create mode 100644 Assets/Resources/Configs/Card/DamageCard.asset create mode 100644 Assets/Resources/Configs/Card/DamageCard.asset.meta create mode 100644 Assets/Resources/Configs/CardBook.meta create mode 100644 Assets/Resources/Configs/CardBook/NormalCardBook.asset create mode 100644 Assets/Resources/Configs/CardBook/NormalCardBook.asset.meta create mode 100644 Assets/Resources/DOTweenSettings.asset create mode 100644 Assets/Resources/DOTweenSettings.asset.meta delete mode 100644 Assets/Script/Card/CardEffect/CardContext.cs delete mode 100644 Assets/Script/Card/CardEffect/EffectHandler.cs create mode 100644 Assets/Script/Core/Interface.meta create mode 100644 Assets/Script/Core/Interface/IInputManager.cs create mode 100644 Assets/Script/Core/Interface/IInputManager.cs.meta create mode 100644 Assets/Script/Gameplay.meta rename Assets/Script/{ => Gameplay}/Card.meta (100%) rename Assets/Script/{ => Gameplay}/Card/Card.cs (97%) rename Assets/Script/{ => Gameplay}/Card/Card.cs.meta (100%) create mode 100644 Assets/Script/Gameplay/Card/CardBook.meta create mode 100644 Assets/Script/Gameplay/Card/CardBook/CardBook.cs create mode 100644 Assets/Script/Gameplay/Card/CardBook/CardBook.cs.meta create mode 100644 Assets/Script/Gameplay/Card/CardBook/CardBookData.cs create mode 100644 Assets/Script/Gameplay/Card/CardBook/CardBookData.cs.meta create mode 100644 Assets/Script/Gameplay/Card/CardBook/CardBookViewer.cs create mode 100644 Assets/Script/Gameplay/Card/CardBook/CardBookViewer.cs.meta create mode 100644 Assets/Script/Gameplay/Card/CardBook/CardSlot.cs create mode 100644 Assets/Script/Gameplay/Card/CardBook/CardSlot.cs.meta rename Assets/Script/{ => Gameplay}/Card/CardData.cs (68%) rename Assets/Script/{ => Gameplay}/Card/CardData.cs.meta (100%) rename Assets/Script/{ => Gameplay}/Card/CardEffect.meta (100%) create mode 100644 Assets/Script/Gameplay/Card/CardEffect/CardContext.cs rename Assets/Script/{ => Gameplay}/Card/CardEffect/CardContext.cs.meta (100%) rename Assets/Script/{ => Gameplay}/Card/CardEffect/EffectData.cs (90%) rename Assets/Script/{ => Gameplay}/Card/CardEffect/EffectData.cs.meta (100%) create mode 100644 Assets/Script/Gameplay/Card/CardEffect/EffectHandler.cs rename Assets/Script/{ => Gameplay}/Card/CardEffect/EffectHandler.cs.meta (100%) create mode 100644 Assets/Script/Gameplay/Card/CardLoader.cs create mode 100644 Assets/Script/Gameplay/Card/CardLoader.cs.meta rename Assets/Script/{ => Gameplay}/Card/CardViewer.cs (95%) rename Assets/Script/{ => Gameplay}/Card/CardViewer.cs.meta (100%) create mode 100644 Assets/Script/Gameplay/Combat.meta create mode 100644 Assets/Script/Gameplay/Combat/CombatFlowManager.cs create mode 100644 Assets/Script/Gameplay/Combat/CombatFlowManager.cs.meta create mode 100644 Assets/Script/Gameplay/Combat/CombatTrigger.cs create mode 100644 Assets/Script/Gameplay/Combat/CombatTrigger.cs.meta create mode 100644 Assets/Script/Gameplay/Enemy.meta create mode 100644 Assets/Script/Gameplay/Enemy/EnemyController.cs create mode 100644 Assets/Script/Gameplay/Enemy/EnemyController.cs.meta rename Assets/Script/{Card/Card.asmdef => Gameplay/Gameplay.asmdef} (75%) create mode 100644 Assets/Script/Gameplay/Gameplay.asmdef.meta create mode 100644 Assets/Script/Gameplay/Input.meta rename Assets/Script/{Core => Gameplay}/Input/InputManager.cs (73%) rename Assets/Script/{Core => Gameplay}/Input/InputManager.cs.meta (100%) rename Assets/Script/{Core => Gameplay}/Input/PlayerInputActions.cs (58%) rename Assets/Script/{Core => Gameplay}/Input/PlayerInputActions.cs.meta (83%) create mode 100644 Assets/Script/Gameplay/Interface.meta create mode 100644 Assets/Script/Gameplay/Interface/ICharacter.cs rename Assets/Script/{Share => Gameplay/Interface}/ICharacter.cs.meta (100%) create mode 100644 Assets/Script/Gameplay/Interface/IInteractable.cs create mode 100644 Assets/Script/Gameplay/Interface/IInteractable.cs.meta rename Assets/Script/{ => Gameplay}/Map.meta (100%) create mode 100644 Assets/Script/Gameplay/Map/FlightTrigger.cs create mode 100644 Assets/Script/Gameplay/Map/FlightTrigger.cs.meta create mode 100644 Assets/Script/Gameplay/Map/MapFlag.cs create mode 100644 Assets/Script/Gameplay/Map/MapFlag.cs.meta create mode 100644 Assets/Script/Gameplay/Map/MapFlagManager.cs create mode 100644 Assets/Script/Gameplay/Map/MapFlagManager.cs.meta rename Assets/Script/{ => Gameplay}/Player.meta (100%) rename Assets/Script/{ => Gameplay}/Player/PlayerCameraController.cs (98%) rename Assets/Script/{ => Gameplay}/Player/PlayerCameraController.cs.meta (100%) create mode 100644 Assets/Script/Gameplay/Player/PlayerConfig.cs create mode 100644 Assets/Script/Gameplay/Player/PlayerConfig.cs.meta create mode 100644 Assets/Script/Gameplay/Player/PlayerController.cs create mode 100644 Assets/Script/Gameplay/Player/PlayerController.cs.meta create mode 100644 Assets/Script/Gameplay/Player/PlayerInteractorController.cs create mode 100644 Assets/Script/Gameplay/Player/PlayerInteractorController.cs.meta create mode 100644 Assets/Script/Gameplay/Player/PlayerMoveController.cs create mode 100644 Assets/Script/Gameplay/Player/PlayerMoveController.cs.meta delete mode 100644 Assets/Script/Map/Map.asmdef delete mode 100644 Assets/Script/Map/Map.asmdef.meta delete mode 100644 Assets/Script/Player/Player.asmdef delete mode 100644 Assets/Script/Player/Player.asmdef.meta delete mode 100644 Assets/Script/Player/PlayerMoveController.cs delete mode 100644 Assets/Script/Player/PlayerMoveController.cs.meta delete mode 100644 Assets/Script/Share.meta delete mode 100644 Assets/Script/Share/ICharacter.cs delete mode 100644 Assets/Script/Share/Share.asmdef delete mode 100644 Assets/Script/Share/Share.asmdef.meta create mode 100644 Assets/Script/UI/PlayerHpViewer.cs create mode 100644 Assets/Script/UI/PlayerHpViewer.cs.meta create mode 100644 Assets/Settings/Input/InputSystem_Actions.inputactions create mode 100644 Assets/Settings/Input/InputSystem_Actions.inputactions.meta diff --git a/Assets/Script/Core/Input.meta b/Assets/Art.meta similarity index 77% rename from Assets/Script/Core/Input.meta rename to Assets/Art.meta index 2574bda..0c26efe 100644 --- a/Assets/Script/Core/Input.meta +++ b/Assets/Art.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 656856e514875b444af5c8db9035beea +guid: 8176c44b89d25d2459486b8e89bf3e5a folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Art/Material.meta b/Assets/Art/Material.meta new file mode 100644 index 0000000..303db47 --- /dev/null +++ b/Assets/Art/Material.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a1a584ba640fdf947811fd883b9f93ce +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Art/Material/Card.mat b/Assets/Art/Material/Card.mat new file mode 100644 index 0000000..8e1b5df --- /dev/null +++ b/Assets/Art/Material/Card.mat @@ -0,0 +1,133 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Card + m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: + RenderType: Opaque + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 + - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _DstBlendAlpha: 0 + - _EnvironmentReflections: 1 + - _GlossMapScale: 0 + - _Glossiness: 0 + - _GlossyReflections: 0 + - _Metallic: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.005 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Smoothness: 0.5 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 0 + - _WorkflowMode: 1 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} + m_BuildTextureStacks: [] +--- !u!114 &2981149668802641548 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 7 diff --git a/Assets/Art/Material/Card.mat.meta b/Assets/Art/Material/Card.mat.meta new file mode 100644 index 0000000..68c1a07 --- /dev/null +++ b/Assets/Art/Material/Card.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9eca9c0d200107c47a44ce474d55d622 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Art/Model.meta b/Assets/Art/Model.meta new file mode 100644 index 0000000..a471f8b --- /dev/null +++ b/Assets/Art/Model.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a4e6f4cbd99127f4d87a6aa57926b249 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Art/Model/card (6).fbx b/Assets/Art/Model/card (6).fbx new file mode 100644 index 0000000000000000000000000000000000000000..c8c668beefe58e344af7bb0cb918e29ef28c6023 GIT binary patch literal 304892 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

{j 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 w9=*xt7u&!7mX=xrk@@KVy?y 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 a^q + + + DOTween + + + +

+ Types of autoPlay behaviours + + + + No tween is automatically played + + + Only Sequences are automatically played + + + Only Tweeners are automatically played + + + All tweens are automatically played + + + + What axis to constrain in case of Vector tweens + + + + Called the first time the tween is set in a playing state, after any eventual delay + + + + Used in place of System.Func, which is not available in mscorlib. + + + + + Used in place of System.Action. + + + + + Public so it can be used by lose scripts related to DOTween (like DOTweenAnimation) + + + + + Used to separate DOTween class from the MonoBehaviour instance (in order to use static constructors on DOTween). + Contains all instance-based methods + + + + Used internally inside Unity Editor, as a trick to update DOTween's inspector at every frame + + + + Directly sets the current max capacity of Tweeners and Sequences + (meaning how many Tweeners and Sequences can be running at the same time), + so that DOTween doesn't need to automatically increase them in case the max is reached + (which might lead to hiccups when that happens). + Sequences capacity must be less or equal to Tweeners capacity + (if you pass a low Tweener capacity it will be automatically increased to match the Sequence's). + Beware: use this method only when there are no tweens running. + + Max Tweeners capacity. + Default: 200 + Max Sequences capacity. + Default: 50 + + + + This class contains a C# port of the easing equations created by Robert Penner (http://robertpenner.com/easing). + + + + + Easing equation function for a bounce (exponentially decaying parabolic bounce) easing in: accelerating from zero velocity. + + + Current time (in frames or seconds). + + + Expected easing duration (in frames or seconds). + + Unused: here to keep same delegate for all ease types. + Unused: here to keep same delegate for all ease types. + + The eased value. + + + + + Easing equation function for a bounce (exponentially decaying parabolic bounce) easing out: decelerating from zero velocity. + + + Current time (in frames or seconds). + + + Expected easing duration (in frames or seconds). + + Unused: here to keep same delegate for all ease types. + Unused: here to keep same delegate for all ease types. + + The eased value. + + + + + Easing equation function for a bounce (exponentially decaying parabolic bounce) easing in/out: acceleration until halfway, then deceleration. + + + Current time (in frames or seconds). + + + Expected easing duration (in frames or seconds). + + Unused: here to keep same delegate for all ease types. + Unused: here to keep same delegate for all ease types. + + The eased value. + + + + + Returns a value between 0 and 1 (inclusive) based on the elapsed time and ease selected + + + + + Returns a value between 0 and 1 (inclusive) based on the elapsed time and ease selected + + + + + Used to interpret AnimationCurves as eases. + Public so it can be used by external ease factories + + + + + Behaviour in case a tween nested inside a Sequence fails and is captured by safe mode + + + + If the Sequence contains other elements, kill the failed tween but preserve the rest + + + Kill the whole Sequence + + + + Log types thrown by errors captured and prevented by safe mode + + + + No logs. NOT RECOMMENDED + + + Throw a normal log + + + Throw a warning log (default) + + + Throw an error log + + + + Additional notices passed to plugins when updating. + Public so it can be used by custom plugins. Internally, only PathPlugin uses it + + + + + None + + + + + Lets the plugin know that we restarted or rewinded + + + + + OnRewind callback behaviour (can only be set via DOTween's Utility Panel) + + + + + When calling Rewind or PlayBackwards/SmoothRewind, OnRewind callbacks will be fired only if the tween isn't already rewinded + + + + + When calling Rewind, OnRewind callbacks will always be fired, even if the tween is already rewinded. + When calling PlayBackwards/SmoothRewind instead, OnRewind callbacks will be fired only if the tween isn't already rewinded + + + + + When calling Rewind or PlayBackwards/SmoothRewind, OnRewind callbacks will always be fired, even if the tween is already rewinded + + + + + Public only so custom shortcuts can access some of these methods + + + + + INTERNAL: used by DO shortcuts and Modules to set special startup mode + + + + + INTERNAL: used by DO shortcuts and Modules to set the tween as blendable + + + + + INTERNAL: used by DO shortcuts and Modules to prevent a tween from using a From setup even if passed + + + + + Used to dispatch commands that need to be captured externally, usually by Modules + + + + + Various utils + + + + + Returns a Vector3 with z = 0 + + + + + Returns the 2D angle between two vectors + + + + + Returns a point on a circle with the given center and radius, + using Unity's circle coordinates (0° points up and increases clockwise) + + + + + Uses approximate equality on each axis instead of Unity's Vector3 equality, + because the latter fails (in some cases) when assigning a Vector3 to a transform.position and then checking it. + + + + + Looks for the type within all possible project assembly names + + + + NO-GC METHOD: changes the start value of a tween and rewinds it (without pausing it). + Has no effect with tweens that are inside Sequences + The new start value + If bigger than 0 applies it as the new tween duration + + + NO-GC METHOD: changes the end value of a tween and rewinds it (without pausing it). + Has no effect with tweens that are inside Sequences + The new end value + If TRUE the start value will become the current target's value, otherwise it will stay the same + + + NO-GC METHOD: changes the end value of a tween and rewinds it (without pausing it). + Has no effect with tweens that are inside Sequences + The new end value + If bigger than 0 applies it as the new tween duration + If TRUE the start value will become the current target's value, otherwise it will stay the same + + + NO-GC METHOD: changes the start and end value of a tween and rewinds it (without pausing it). + Has no effect with tweens that are inside Sequences + The new start value + The new end value + If bigger than 0 applies it as the new tween duration + + + + Struct that stores two colors (used for LineRenderer tweens) + + + + + Used for tween callbacks + + + + + Used for tween callbacks + + + + + Used for custom and animationCurve-based ease functions. Must return a value between 0 and 1. + + + + + Straight Quaternion plugin. Instead of using Vector3 values accepts Quaternion values directly. + Beware: doesn't work with LoopType.Incremental (neither directly nor if inside a LoopType.Incremental Sequence). + To use it, call DOTween.To with the plugin parameter overload, passing it PureQuaternionPlugin.Plug() as first parameter + (do not use any of the other public PureQuaternionPlugin methods): + DOTween.To(PureQuaternionPlugin.Plug(), ()=> myQuaternionProperty, x=> myQuaternionProperty = x, myQuaternionEndValue, duration); + + + + + Plug this plugin inside a DOTween.To call. + Example: + DOTween.To(PureQuaternionPlugin.Plug(), ()=> myQuaternionProperty, x=> myQuaternionProperty = x, myQuaternionEndValue, duration); + + + + INTERNAL: do not use + + + INTERNAL: do not use + + + INTERNAL: do not use + + + INTERNAL: do not use + + + INTERNAL: do not use + + + INTERNAL: do not use + + + INTERNAL: do not use + + + INTERNAL: do not use + + + + Extra non-tweening-related curve methods + + + + + Cubic bezier curve methods + + + + + Calculates a point along the given Cubic Bezier segment-curve. + + Segment start point + Start point's control point/handle + Segment end point + End point's control point/handle + 0-1 percentage along which to retrieve point + + + + Returns an array containing a series of points along the given Cubic Bezier segment-curve. + + Start point + Start point's control point/handle + End point + End point's control point/handle + Cloud resolution (min: 2) + + + + Calculates a series of points along the given Cubic Bezier segment-curve and adds them to the given list. + + Start point + Start point's control point/handle + End point + End point's control point/handle + Cloud resolution (min: 2) + + + + Main DOTween class. Contains static methods to create and control tweens in a generic way + + + + DOTween's version + + + If TRUE (default) makes tweens slightly slower but safer, automatically taking care of a series of things + (like targets becoming null while a tween is playing). + Default: TRUE + + + Log type when safe mode reports capturing an error and preventing it + + + Behaviour in case a tween nested inside a Sequence fails (and is caught by safe mode). + Default: NestedTweenFailureBehaviour.TryToPreserveSequence + + + If TRUE you will get a DOTween report when exiting play mode (only in the Editor). + Useful to know how many max Tweeners and Sequences you reached and optimize your final project accordingly. + Beware, this will slightly slow down your tweens while inside Unity Editor. + Default: FALSE + + + Global DOTween global timeScale (default: 1). + The final timeScale of a non-timeScaleIndependent tween is: + Unity's Time.timeScale * DOTween.timeScale * tween.timeScale + while the final timeScale of a timeScaleIndependent tween is: + DOTween.unscaledTimeScale * DOTween.timeScale * tween.timeScale + + + DOTween timeScale applied only to timeScaleIndependent tweens (default: 1). + The final timeScale of a timeScaleIndependent tween is: + DOTween.unscaledTimeScale * DOTween.timeScale * tween.timeScale + + + If TRUE, DOTween will use Time.smoothDeltaTime instead of Time.deltaTime for UpdateType.Normal and UpdateType.Late tweens + (unless they're set as timeScaleIndependent, in which case a value between the last timestep + and will be used instead). + Setting this to TRUE will lead to smoother animations. + Default: FALSE + + + If is TRUE, this indicates the max timeStep that an independent update call can last. + Setting this to TRUE will lead to smoother animations. + Default: FALSE + + + DOTween's log behaviour. + Default: LogBehaviour.ErrorsOnly + + + Used to intercept DOTween's logs. If this method isn't NULL, DOTween will call it before writing a log via Unity's own Debug log methods. + Return TRUE if you want DOTween to proceed with the log, FALSE otherwise. + This method must return a bool and accept two parameters: + - LogType: the type of Unity log that DOTween is trying to log + - object: the log message that DOTween wants to log + + + If TRUE draws path gizmos in Unity Editor (if the gizmos button is active). + Deactivate this if you want to avoid gizmos overhead while in Unity Editor + + + If TRUE activates various debug options + + + Stores the target id so it can be used to give more info in case of safeMode error capturing. + Only active if both debugMode and useSafeMode are TRUE + + + Default updateType for new tweens. + Default: UpdateType.Normal + + + Sets whether Unity's timeScale should be taken into account by default or not. + Default: false + + + Default autoPlay behaviour for new tweens. + Default: AutoPlay.All + + + Default autoKillOnComplete behaviour for new tweens. + Default: TRUE + + + Default loopType applied to all new tweens. + Default: LoopType.Restart + + + If TRUE all newly created tweens are set as recyclable, otherwise not. + Default: FALSE + + + Default ease applied to all new Tweeners (not to Sequences which always have Ease.Linear as default). + Default: Ease.InOutQuad + + + Default overshoot/amplitude used for eases + Default: 1.70158f + + + Default period used for eases + Default: 0 + + + Used internally. Assigned/removed by DOTweenComponent.Create/DestroyInstance + + + + Must be called once, before the first ever DOTween call/reference, + otherwise it will be called automatically and will use default options. + Calling it a second time won't have any effect. + You can chain SetCapacity to this method, to directly set the max starting size of Tweeners and Sequences: + DOTween.Init(false, false, LogBehaviour.Default).SetCapacity(100, 20); + + If TRUE all new tweens will be set for recycling, meaning that when killed, + instead of being destroyed, they will be put in a pool and reused instead of creating new tweens. This option allows you to avoid + GC allocations by reusing tweens, but you will have to take care of tween references, since they might result active + even if they were killed (since they might have been respawned and are now being used for other tweens). + If you want to automatically set your tween references to NULL when a tween is killed + you can use the OnKill callback like this: + .OnKill(()=> myTweenReference = null) + You can change this setting at any time by changing the static property, + or you can set the recycling behaviour for each tween separately, using: + SetRecyclable(bool recyclable) + Default: FALSE + If TRUE makes tweens slightly slower but safer, automatically taking care of a series of things + (like targets becoming null while a tween is playing). + You can change this setting at any time by changing the static property. + Default: FALSE + Type of logging to use. + You can change this setting at any time by changing the static property. + Default: ErrorsOnly + + + + Directly sets the current max capacity of Tweeners and Sequences + (meaning how many Tweeners and Sequences can be running at the same time), + so that DOTween doesn't need to automatically increase them in case the max is reached + (which might lead to hiccups when that happens). + Sequences capacity must be less or equal to Tweeners capacity + (if you pass a low Tweener capacity it will be automatically increased to match the Sequence's). + Beware: use this method only when there are no tweens running. + + Max Tweeners capacity. + Default: 200 + Max Sequences capacity. + Default: 50 + + + + Kills all tweens, clears all cached tween pools and plugins and resets the max Tweeners/Sequences capacities to the default values. + + If TRUE also destroys DOTween's gameObject and resets its initializiation, default settings and everything else + (so that next time you use it it will need to be re-initialized) + + + + Clears all cached tween pools. + + + + + Checks all active tweens to find and remove eventually invalid ones (usually because their targets became NULL) + and returns the total number of invalid tweens found and removed. + IMPORTANT: this will cause an error on UWP platform, so don't use it there + BEWARE: this is a slightly expensive operation so use it with care + + + + + Updates all tweens that are set to . + + Manual deltaTime + Unscaled delta time (used with tweens set as timeScaleIndependent) + + + Tweens a property or field to the given value using default plugins + A getter for the field or property to tween. + Example usage with lambda:()=> myProperty + A setter for the field or property to tween + Example usage with lambda:x=> myProperty = x + The end value to reachThe tween's duration + + + Tweens a property or field to the given value using default plugins + A getter for the field or property to tween. + Example usage with lambda:()=> myProperty + A setter for the field or property to tween + Example usage with lambda:x=> myProperty = x + The end value to reachThe tween's duration + + + Tweens a property or field to the given value using default plugins + A getter for the field or property to tween. + Example usage with lambda:()=> myProperty + A setter for the field or property to tween + Example usage with lambda:x=> myProperty = x + The end value to reachThe tween's duration + + + Tweens a property or field to the given value using default plugins + A getter for the field or property to tween. + Example usage with lambda:()=> myProperty + A setter for the field or property to tween + Example usage with lambda:x=> myProperty = x + The end value to reachThe tween's duration + + + Tweens a property or field to the given value using default plugins + A getter for the field or property to tween. + Example usage with lambda:()=> myProperty + A setter for the field or property to tween + Example usage with lambda:x=> myProperty = x + The end value to reachThe tween's duration + + + Tweens a property or field to the given value using default plugins + A getter for the field or property to tween. + Example usage with lambda:()=> myProperty + A setter for the field or property to tween + Example usage with lambda:x=> myProperty = x + The end value to reachThe tween's duration + + + Tweens a property or field to the given value using default plugins + A getter for the field or property to tween. + Example usage with lambda:()=> myProperty + A setter for the field or property to tween + Example usage with lambda:x=> myProperty = x + The end value to reachThe tween's duration + + + Tweens a property or field to the given value using default plugins + A getter for the field or property to tween. + Example usage with lambda:()=> myProperty + A setter for the field or property to tween + Example usage with lambda:x=> myProperty = x + The end value to reachThe tween's duration + + + Tweens a property or field to the given value using default plugins + A getter for the field or property to tween. + Example usage with lambda:()=> myProperty + A setter for the field or property to tween + Example usage with lambda:x=> myProperty = x + The end value to reachThe tween's duration + + + Tweens a property or field to the given value using default plugins + A getter for the field or property to tween. + Example usage with lambda:()=> myProperty + A setter for the field or property to tween + Example usage with lambda:x=> myProperty = x + The end value to reachThe tween's duration + + + Tweens a property or field to the given value using default plugins + A getter for the field or property to tween. + Example usage with lambda:()=> myProperty + A setter for the field or property to tween + Example usage with lambda:x=> myProperty = x + The end value to reachThe tween's duration + + + Tweens a property or field to the given value using default plugins + A getter for the field or property to tween. + Example usage with lambda:()=> myProperty + A setter for the field or property to tween + Example usage with lambda:x=> myProperty = x + The end value to reachThe tween's duration + + + Tweens a property or field to the given value using default plugins + A getter for the field or property to tween. + Example usage with lambda:()=> myProperty + A setter for the field or property to tween + Example usage with lambda:x=> myProperty = x + The end value to reachThe tween's duration + + + Tweens a property or field to the given value using default plugins + A getter for the field or property to tween. + Example usage with lambda:()=> myProperty + A setter for the field or property to tween + Example usage with lambda:x=> myProperty = x + The end value to reachThe tween's duration + + + Tweens a property or field to the given value using a custom plugin + The plugin to use. Each custom plugin implements a static Get() method + you'll need to call to assign the correct plugin in the correct way, like this: + CustomPlugin.Get() + A getter for the field or property to tween. + Example usage with lambda:()=> myProperty + A setter for the field or property to tween + Example usage with lambda:x=> myProperty = x + The end value to reachThe tween's duration + + + Tweens only one axis of a Vector3 to the given value using default plugins. + A getter for the field or property to tween. + Example usage with lambda:()=> myProperty + A setter for the field or property to tween + Example usage with lambda:x=> myProperty = x + The end value to reachThe tween's duration + The axis to tween + + + Tweens only the alpha of a Color to the given value using default plugins + A getter for the field or property to tween. + Example usage with lambda:()=> myProperty + A setter for the field or property to tween + Example usage with lambda:x=> myProperty = x + The end value to reachThe tween's duration + + + Tweens a virtual property from the given start to the given end value + and implements a setter that allows to use that value with an external method or a lambda + Example: + To(MyMethod, 0, 12, 0.5f); + Where MyMethod is a function that accepts a float parameter (which will be the result of the virtual tween) + The action to perform with the tweened value + The value to start from + The end value to reach + The duration of the virtual tween + + + + Punches a Vector3 towards the given direction and then back to the starting one + as if it was connected to the starting position via an elastic. + This tween type generates some GC allocations at startup + A getter for the field or property to tween. + Example usage with lambda:()=> myProperty + A setter for the field or property to tween + Example usage with lambda:x=> myProperty = x + The direction and strength of the punch + The duration of the tween + Indicates how much will the punch vibrate + Represents how much (0 to 1) the vector will go beyond the starting position when bouncing backwards. + 1 creates a full oscillation between the direction and the opposite decaying direction, + while 0 oscillates only between the starting position and the decaying direction + + + Shakes a Vector3 with the given values. + A getter for the field or property to tween. + Example usage with lambda:()=> myProperty + A setter for the field or property to tween + Example usage with lambda:x=> myProperty = x + The duration of the tween + The shake strength + Indicates how much will the shake vibrate + Indicates how much the shake will be random (0 to 180 - values higher than 90 kind of suck, so beware). + Setting it to 0 will shake along a single direction and behave like a random punch. + If TRUE only shakes on the X Y axis (looks better with things like cameras). + If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not + Randomness mode + + + Shakes a Vector3 with the given values. + A getter for the field or property to tween. + Example usage with lambda:()=> myProperty + A setter for the field or property to tween + Example usage with lambda:x=> myProperty = x + The duration of the tween + The shake strength on each axis + Indicates how much will the shake vibrate + Indicates how much the shake will be random (0 to 180 - values higher than 90 kind of suck, so beware). + Setting it to 0 will shake along a single direction and behave like a random punch. + If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not + Randomness mode + + + Tweens a property or field to the given values using default plugins. + Ease is applied between each segment and not as a whole. + This tween type generates some GC allocations at startup + A getter for the field or property to tween. + Example usage with lambda:()=> myProperty + A setter for the field or property to tween + Example usage with lambda:x=> myProperty = x + The end values to reach for each segment. This array must have the same length as durations + The duration of each segment. This array must have the same length as endValues + + + + Returns a new to be used for tween groups. + Mind that Sequences don't have a target applied automatically like Tweener creation shortcuts, + so if you want to be able to kill this Sequence when calling DOTween.Kill(target) you'll have to add + the target manually; you can do that directly by using the overload instead of this one + + + + + Returns a new to be used for tween groups, and allows to set a target + (because Sequences don't have their target set automatically like Tweener creation shortcuts). + That way killing/controlling tweens by target will apply to this Sequence too. + + The target of the Sequence. Relevant only for static target-based methods like DOTween.Kill(target), + useless otherwise + + + Completes all tweens and returns the number of actual tweens completed + (meaning tweens that don't have infinite loops and were not already complete) + For Sequences only: if TRUE also internal Sequence callbacks will be fired, + otherwise they will be ignored + + + Completes all tweens with the given ID or target and returns the number of actual tweens completed + (meaning the tweens that don't have infinite loops and were not already complete) + For Sequences only: if TRUE internal Sequence callbacks will be fired, + otherwise they will be ignored + + + Flips all tweens (changing their direction to forward if it was backwards and viceversa), + then returns the number of actual tweens flipped + + + Flips the tweens with the given ID or target (changing their direction to forward if it was backwards and viceversa), + then returns the number of actual tweens flipped + + + Sends all tweens to the given position (calculating also eventual loop cycles) and returns the actual tweens involved + + + Sends all tweens with the given ID or target to the given position (calculating also eventual loop cycles) + and returns the actual tweens involved + + + Kills all tweens and returns the number of actual tweens killed + If TRUE completes the tweens before killing them + + + Kills all tweens and returns the number of actual tweens killed + If TRUE completes the tweens before killing them + Eventual IDs or targets to exclude from the killing + + + Kills all tweens with the given ID or target and returns the number of actual tweens killed + If TRUE completes the tweens before killing them + + + Kills all tweens with the given target and the given ID, and returns the number of actual tweens killed + If TRUE completes the tweens before killing them + + + Pauses all tweens and returns the number of actual tweens paused + + + Pauses all tweens with the given ID or target and returns the number of actual tweens paused + (meaning the tweens that were actually playing and have been paused) + + + Plays all tweens and returns the number of actual tweens played + (meaning tweens that were not already playing or complete) + + + Plays all tweens with the given ID or target and returns the number of actual tweens played + (meaning the tweens that were not already playing or complete) + + + Plays all tweens with the given target and the given ID, and returns the number of actual tweens played + (meaning the tweens that were not already playing or complete) + + + Plays backwards all tweens and returns the number of actual tweens played + (meaning tweens that were not already started, playing backwards or rewinded) + + + Plays backwards all tweens with the given ID or target and returns the number of actual tweens played + (meaning the tweens that were not already started, playing backwards or rewinded) + + + Plays backwards all tweens with the given target and ID and returns the number of actual tweens played + (meaning the tweens that were not already started, playing backwards or rewinded) + + + Plays forward all tweens and returns the number of actual tweens played + (meaning tweens that were not already playing forward or complete) + + + Plays forward all tweens with the given ID or target and returns the number of actual tweens played + (meaning the tweens that were not already playing forward or complete) + + + Plays forward all tweens with the given target and ID and returns the number of actual tweens played + (meaning the tweens that were not already started, playing backwards or rewinded) + + + Restarts all tweens, then returns the number of actual tweens restarted + + + Restarts all tweens with the given ID or target, then returns the number of actual tweens restarted + If TRUE includes the eventual tweens delays, otherwise skips them + If >= 0 changes the startup delay of all involved tweens to this value, otherwise doesn't touch it + + + Restarts all tweens with the given target and the given ID, and returns the number of actual tweens played + (meaning the tweens that were not already playing or complete) + If TRUE includes the eventual tweens delays, otherwise skips them + If >= 0 changes the startup delay of all involved tweens to this value, otherwise doesn't touch it + + + Rewinds and pauses all tweens, then returns the number of actual tweens rewinded + (meaning tweens that were not already rewinded) + + + Rewinds and pauses all tweens with the given ID or target, then returns the number of actual tweens rewinded + (meaning the tweens that were not already rewinded) + + + Smoothly rewinds all tweens (delays excluded), then returns the number of actual tweens rewinding/rewinded + (meaning tweens that were not already rewinded). + A "smooth rewind" animates the tween to its start position, + skipping all elapsed loops (except in case of LoopType.Incremental) while keeping the animation fluent. + Note that a tween that was smoothly rewinded will have its play direction flipped + + + Smoothly rewinds all tweens (delays excluded) with the given ID or target, then returns the number of actual tweens rewinding/rewinded + (meaning the tweens that were not already rewinded). + A "smooth rewind" animates the tween to its start position, + skipping all elapsed loops (except in case of LoopType.Incremental) while keeping the animation fluent. + Note that a tween that was smoothly rewinded will have its play direction flipped + + + Toggles the play state of all tweens and returns the number of actual tweens toggled + (meaning tweens that could be played or paused, depending on the toggle state) + + + Toggles the play state of all tweens with the given ID or target and returns the number of actual tweens toggled + (meaning the tweens that could be played or paused, depending on the toggle state) + + + + Returns TRUE if a tween with the given ID or target is active. + You can also use this to know if a shortcut tween is active for a given target. + Example: + transform.DOMoveX(45, 1); // transform is automatically added as the tween target + DOTween.IsTweening(transform); // Returns true + + The target or ID to look for + If FALSE (default) returns TRUE as long as a tween for the given target/ID is active, + otherwise also requires it to be playing + + + + Returns the total number of active tweens (so both Tweeners and Sequences). + A tween is considered active if it wasn't killed, regardless if it's playing or paused + + + + + Returns the total number of active Tweeners. + A Tweener is considered active if it wasn't killed, regardless if it's playing or paused + + + + + Returns the total number of active Sequences. + A Sequence is considered active if it wasn't killed, regardless if it's playing or paused + + + + + Returns the total number of active and playing tweens. + A tween is considered as playing even if its delay is actually playing + + + + + Returns a the total number of active tweens with the given id. + + If TRUE returns only the tweens with the given ID that are currently playing + + + + Returns a list of all active tweens in a playing state. + Returns NULL if there are no active playing tweens. + Beware: each time you call this method a new list is generated, so use it for debug only + + If NULL creates a new list, otherwise clears and fills this one (and thus saves allocations) + + + + Returns a list of all active tweens in a paused state. + Returns NULL if there are no active paused tweens. + Beware: each time you call this method a new list is generated, so use it for debug only + + If NULL creates a new list, otherwise clears and fills this one (and thus saves allocations) + + + + Returns a list of all active tweens with the given id. + Returns NULL if there are no active tweens with the given id. + Beware: each time you call this method a new list is generated + + If TRUE returns only the tweens with the given ID that are currently playing + If NULL creates a new list, otherwise clears and fills this one (and thus saves allocations) + + + + Returns a list of all active tweens with the given target. + Returns NULL if there are no active tweens with the given target. + Beware: each time you call this method a new list is generated + If TRUE returns only the tweens with the given target that are currently playing + If NULL creates a new list, otherwise clears and fills this one (and thus saves allocations) + + + + + Creates virtual tweens that can be used to change other elements via their OnUpdate calls + + + + + Tweens a virtual float. + You can add regular settings to the generated tween, + but do not use OnUpdate or you will overwrite the onVirtualUpdate parameter + + The value to start from + The value to tween to + The duration of the tween + A callback which must accept a parameter of type float, called at each update + + + + Tweens a virtual int. + You can add regular settings to the generated tween, + but do not use OnUpdate or you will overwrite the onVirtualUpdate parameter + + The value to start from + The value to tween to + The duration of the tween + A callback which must accept a parameter of type int, called at each update + + + + Tweens a virtual Vector2. + You can add regular settings to the generated tween, + but do not use OnUpdate or you will overwrite the onVirtualUpdate parameter + + The value to start from + The value to tween to + The duration of the tween + A callback which must accept a parameter of type Vector3, called at each update + + + + Tweens a virtual Vector3. + You can add regular settings to the generated tween, + but do not use OnUpdate or you will overwrite the onVirtualUpdate parameter + + The value to start from + The value to tween to + The duration of the tween + A callback which must accept a parameter of type Vector3, called at each update + + + + Tweens a virtual Color. + You can add regular settings to the generated tween, + but do not use OnUpdate or you will overwrite the onVirtualUpdate parameter + + The value to start from + The value to tween to + The duration of the tween + A callback which must accept a parameter of type Color, called at each update + + + Returns a value based on the given ease and lifetime percentage (0 to 1) + The value to start from when lifetimePercentage is 0 + The value to reach when lifetimePercentage is 1 + The time percentage (0 to 1) at which the value should be taken + The type of ease + + + Returns a value based on the given ease and lifetime percentage (0 to 1) + The value to start from when lifetimePercentage is 0 + The value to reach when lifetimePercentage is 1 + The time percentage (0 to 1) at which the value should be taken + The type of ease + Eventual overshoot to use with Back ease + + + Returns a value based on the given ease and lifetime percentage (0 to 1) + The value to start from when lifetimePercentage is 0 + The value to reach when lifetimePercentage is 1 + The time percentage (0 to 1) at which the value should be taken + The type of ease + Eventual amplitude to use with Elastic easeType + Eventual period to use with Elastic easeType + + + Returns a value based on the given ease and lifetime percentage (0 to 1) + The value to start from when lifetimePercentage is 0 + The value to reach when lifetimePercentage is 1 + The time percentage (0 to 1) at which the value should be taken + The AnimationCurve to use for ease + + + Returns a value based on the given ease and lifetime percentage (0 to 1) + The value to start from when lifetimePercentage is 0 + The value to reach when lifetimePercentage is 1 + The time percentage (0 to 1) at which the value should be taken + The type of ease + + + Returns a value based on the given ease and lifetime percentage (0 to 1) + The value to start from when lifetimePercentage is 0 + The value to reach when lifetimePercentage is 1 + The time percentage (0 to 1) at which the value should be taken + The type of ease + Eventual overshoot to use with Back ease + + + Returns a value based on the given ease and lifetime percentage (0 to 1) + The value to start from when lifetimePercentage is 0 + The value to reach when lifetimePercentage is 1 + The time percentage (0 to 1) at which the value should be taken + The type of ease + Eventual amplitude to use with Elastic easeType + Eventual period to use with Elastic easeType + + + Returns a value based on the given ease and lifetime percentage (0 to 1) + The value to start from when lifetimePercentage is 0 + The value to reach when lifetimePercentage is 1 + The time percentage (0 to 1) at which the value should be taken + The AnimationCurve to use for ease + + + Fires the given callback after the given time. + Callback delay + Callback to fire when the delay has expired + If TRUE (default) ignores Unity's timeScale + + + + Don't assign this! It's assigned automatically when creating 0 duration tweens + + + + + Don't assign this! It's assigned automatically when setting the ease to an AnimationCurve or to a custom ease function + + + + + Allows to wrap ease method in special ways, adding extra features + + + + + Converts the given ease so that it also creates a stop-motion effect, by playing the tween at the given FPS + + FPS at which the tween should be played + Ease type + + + + Converts the given ease so that it also creates a stop-motion effect, by playing the tween at the given FPS + + FPS at which the tween should be played + AnimationCurve to use for the ease + + + + Converts the given ease so that it also creates a stop-motion effect, by playing the tween at the given FPS + + FPS at which the tween should be played + Custom ease function to use + + + + Used to allow method chaining with DOTween.Init + + + + + Directly sets the current max capacity of Tweeners and Sequences + (meaning how many Tweeners and Sequences can be running at the same time), + so that DOTween doesn't need to automatically increase them in case the max is reached + (which might lead to hiccups when that happens). + Sequences capacity must be less or equal to Tweeners capacity + (if you pass a low Tweener capacity it will be automatically increased to match the Sequence's). + Beware: use this method only when there are no tweens running. + + Max Tweeners capacity. + Default: 200 + Max Sequences capacity. + Default: 50 + + + + Behaviour that can be assigned when chaining a SetLink to a tween + + + + Pauses the tween when the link target is disabled + + + Pauses the tween when the link target is disabled, plays it when it's enabled + + + Pauses the tween when the link target is disabled, restarts it when it's enabled + + + Plays the tween when the link target is enabled + + + Restarts the tween when the link target is enabled + + + Kills the tween when the link target is disabled + + + Kills the tween when the link target is destroyed (becomes NULL). This is always active even if another behaviour is chosen + + + Completes the tween when the link target is disabled + + + Completes and kills the tween when the link target is disabled + + + Rewinds the tween (delay excluded) when the link target is disabled + + + Rewinds and kills the tween when the link target is disabled + + + + Path mode (used to determine correct LookAt orientation) + + + + Ignores the path mode (and thus LookAt behaviour) + + + Regular 3D path + + + 2D top-down path + + + 2D side-scroller path + + + + Type of path to use with DOPath tweens + + + + Linear, composed of straight segments between each waypoint + + + Curved path (which uses Catmull-Rom curves) + + + EXPERIMENTAL: Curved path (which uses Cubic Bezier curves, where each point requires two extra control points) + + + + Tweens a Vector2 along a circle. + EndValue represents the center of the circle, start and end value degrees are inside options + ChangeValue x is changeValue°, y is unused + + + + + Path control point + + + + + Path waypoints (modified by PathPlugin when setting relative end/change value or by CubicBezierDecoder) and by DOTweenPathInspector + + + + + Minimum input points necessary to create the path (doesn't correspond to actual waypoints required) + + + + + Gets the point on the path at the given percentage (0 to 1) + + The percentage (0 to 1) at which to get the point + If TRUE constant speed is taken into account, otherwise not + + + + Base interface for all tween plugins options + + + + Resets the plugin + + + + This plugin generates some GC allocations at startup + + + + + Path plugin works exclusively with Transforms + + + + + Rotation mode used with DORotate methods + + + + + Fastest way that never rotates beyond 360° + + + + + Fastest way that rotates beyond 360° + + + + + Adds the given rotation to the transform using world axis and an advanced precision mode + (like when using transform.Rotate(Space.World)). + In this mode the end value is is always considered relative + + + + + Adds the given rotation to the transform's local axis + (like when rotating an object with the "local" switch enabled in Unity's editor or using transform.Rotate(Space.Self)). + In this mode the end value is is always considered relative + + + + + Type of scramble to apply to string tweens + + + + + No scrambling of characters + + + + + A-Z + a-z + 0-9 characters + + + + + A-Z characters + + + + + a-z characters + + + + + 0-9 characters + + + + + Custom characters + + + + + Type of randomness to apply to a shake tween + + + + Default, full randomness + + + Creates a more balanced randomness that looks more harmonic + + + + Methods that extend Tween objects and allow to control or get data from them + + + + Completes the tween + + + Completes the tween + For Sequences only: if TRUE also internal Sequence callbacks will be fired, + otherwise they will be ignored + + + Optional: indicates that the tween creation has ended, to be used (optionally) as the last element of tween chaining creation.
+ This method won't do anything except in case of 0-duration tweens, + where it will complete them immediately instead of waiting for the next internal update routine + (unless they're nested in a Sequence, in which case the Sequence will still be the one in control and this method will be ignored)
+
+ + Flips the direction of this tween (backwards if it was going forward or viceversa) + + + Forces the tween to initialize its settings immediately + + + Send the tween to the given position in time + Time position to reach + (if higher than the whole tween duration the tween will simply reach its end) + If TRUE will play the tween after reaching the given position, otherwise it will pause it + + + Send the tween to the given position in time while also executing any callback between the previous time position and the new one + Time position to reach + (if higher than the whole tween duration the tween will simply reach its end) + If TRUE will play the tween after reaching the given position, otherwise it will pause it + + + Kills the tween + If TRUE completes the tween before killing it + + + + Forces this tween to update manually, regardless of the set via SetUpdate. + Note that the tween will still be subject to normal tween rules, so if for example it's paused this method will do nothing. + Also note that if you only want to update this tween instance manually you'll have to set it to anyway, + so that it's not updated automatically. + + Manual deltaTime + Unscaled delta time (used with tweens set as timeScaleIndependent) + + + Pauses the tween + + + Plays the tween + + + Sets the tween in a backwards direction and plays it + + + Sets the tween in a forward direction and plays it + + + Restarts the tween from the beginning + Ignored in case of Sequences. If TRUE includes the eventual tween delay, otherwise skips it + Ignored in case of Sequences. If >= 0 changes the startup delay to this value, otherwise doesn't touch it + + + Rewinds and pauses the tween + Ignored in case of Sequences. If TRUE includes the eventual tween delay, otherwise skips it + + + Smoothly rewinds the tween (delays excluded). + A "smooth rewind" animates the tween to its start position, + skipping all elapsed loops (except in case of LoopType.Incremental) while keeping the animation fluent. + If called on a tween who is still waiting for its delay to happen, it will simply set the delay to 0 and pause the tween. + Note that a tween that was smoothly rewinded will have its play direction flipped + + + Plays the tween if it was paused, pauses it if it was playing + + + Send a path tween to the given waypoint. + Has no effect if this is not a path tween. + BEWARE, this is a special utility method: + it works only with Linear eases. Also, the lookAt direction might be wrong after calling this and might need to be set manually + (because it relies on a smooth path movement and doesn't work well with jumps that encompass dramatic direction changes) + Waypoint index to reach + (if higher than the max waypoint index the tween will simply go to the last one) + If TRUE will play the tween after reaching the given waypoint, otherwise it will pause it + + + + Creates a yield instruction that waits until the tween is killed or complete. + It can be used inside a coroutine as a yield. + Example usage:yield return myTween.WaitForCompletion(); + + + + + Creates a yield instruction that waits until the tween is killed or rewinded. + It can be used inside a coroutine as a yield. + Example usage:yield return myTween.WaitForRewind(); + + + + + Creates a yield instruction that waits until the tween is killed. + It can be used inside a coroutine as a yield. + Example usage:yield return myTween.WaitForKill(); + + + + + Creates a yield instruction that waits until the tween is killed or has gone through the given amount of loops. + It can be used inside a coroutine as a yield. + Example usage:yield return myTween.WaitForElapsedLoops(2); + + Elapsed loops to wait for + + + + Creates a yield instruction that waits until the tween is killed or has reached the given position (loops included, delays excluded). + It can be used inside a coroutine as a yield. + Example usage:yield return myTween.WaitForPosition(2.5f); + + Position (loops included, delays excluded) to wait for + + + + Creates a yield instruction that waits until the tween is killed or started + (meaning when the tween is set in a playing state the first time, after any eventual delay). + It can be used inside a coroutine as a yield. + Example usage:yield return myTween.WaitForStart(); + + + + Returns the total number of loops completed by this tween + + + Returns the eventual delay set for this tween + + + Returns the eventual elapsed delay set for this tween + + + Returns the duration of this tween (delays excluded). + NOTE: when using settings like SpeedBased, the duration will be recalculated when the tween starts + If TRUE returns the full duration loops included, + otherwise the duration of a single loop cycle + + + Returns the elapsed time for this tween (delays exluded) + If TRUE returns the elapsed time since startup loops included, + otherwise the elapsed time within the current loop cycle + + + Returns the elapsed percentage (0 to 1) of this tween (delays exluded) + If TRUE returns the elapsed percentage since startup loops included, + otherwise the elapsed percentage within the current loop cycle + + + Returns the elapsed percentage (0 to 1) of this tween (delays exluded), + based on a single loop, and calculating eventual backwards Yoyo loops as 1 to 0 instead of 0 to 1 + + + Returns FALSE if this tween has been killed or is NULL, TRUE otherwise. + BEWARE: if this tween is recyclable it might have been spawned again for another use and thus return TRUE anyway. + When working with recyclable tweens you should take care to know when a tween has been killed and manually set your references to NULL. + If you want to be sure your references are set to NULL when a tween is killed you can use the OnKill callback like this: + .OnKill(()=> myTweenReference = null) + + + Returns TRUE if this tween was reversed and is set to go backwards + + + NOTE: To check if a tween was simply set to go backwards see . + Returns TRUE if this tween is going backwards for any of these reasons: + - The tween was reversed and is going backwards on a straight loop + - The tween was reversed and is going backwards on an odd Yoyo loop + - The tween is going forward but on an even Yoyo loop + IMPORTANT: if used inside a tween's callback, this will return a result concerning the exact frame when it's asked, + so for example in a callback at the end of a Yoyo loop step this method will never return FALSE + because the frame will never end exactly there and the tween will already be going backwards when the callback is fired + + + Returns TRUE if the tween is complete + (silently fails and returns FALSE if the tween has been killed) + + + Returns TRUE if this tween has been initialized + + + Returns TRUE if this tween is playing + + + Returns the total number of loops set for this tween + (returns -1 if the loops are infinite) + + + + Returns a point on a path based on the given path percentage. + Returns Vector3.zero if this is not a path tween, if the tween is invalid, or if the path is not yet initialized. + A path is initialized after its tween starts, or immediately if the tween was created with the Path Editor (DOTween Pro feature). + You can force a path to be initialized by calling myTween.ForceInit(). + + Percentage of the path (0 to 1) on which to get the point + + + + Returns an array of points that can be used to draw the path. + Note that this method generates allocations, because it creates a new array. + Returns NULL if this is not a path tween, if the tween is invalid, or if the path is not yet initialized. + A path is initialized after its tween starts, or immediately if the tween was created with the Path Editor (DOTween Pro feature). + You can force a path to be initialized by calling myTween.ForceInit(). + + How many points to create for each path segment (waypoint to waypoint). + Only used in case of non-Linear paths + + + + Returns the length of a path. + Returns -1 if this is not a path tween, if the tween is invalid, or if the path is not yet initialized. + A path is initialized after its tween starts, or immediately if the tween was created with the Path Editor (DOTween Pro feature). + You can force a path to be initialized by calling myTween.ForceInit(). + + + + + Types of loop + + + + Each loop cycle restarts from the beginning + + + The tween moves forward and backwards at alternate cycles + + + Continuously increments the tween at the end of each loop cycle (A to B, B to B+(A-B), and so on), thus always moving "onward". + In case of String tweens works only if the tween is set as relative + + + + Controls other tweens as a group + + + + + Methods that extend known Unity objects and allow to directly create and control tweens from their instances + + + + Tweens a Camera's aspect to the given value. + Also stores the camera as the tween's target so it can be used for filtered operations + The end value to reachThe duration of the tween + + + Tweens a Camera's backgroundColor to the given value. + Also stores the camera as the tween's target so it can be used for filtered operations + The end value to reachThe duration of the tween + + + Tweens a Camera's farClipPlane to the given value. + Also stores the camera as the tween's target so it can be used for filtered operations + The end value to reachThe duration of the tween + + + Tweens a Camera's fieldOfView to the given value. + Also stores the camera as the tween's target so it can be used for filtered operations + The end value to reachThe duration of the tween + + + Tweens a Camera's nearClipPlane to the given value. + Also stores the camera as the tween's target so it can be used for filtered operations + The end value to reachThe duration of the tween + + + Tweens a Camera's orthographicSize to the given value. + Also stores the camera as the tween's target so it can be used for filtered operations + The end value to reachThe duration of the tween + + + Tweens a Camera's pixelRect to the given value. + Also stores the camera as the tween's target so it can be used for filtered operations + The end value to reachThe duration of the tween + + + Tweens a Camera's rect to the given value. + Also stores the camera as the tween's target so it can be used for filtered operations + The end value to reachThe duration of the tween + + + Shakes a Camera's localPosition along its relative X Y axes with the given values. + Also stores the camera as the tween's target so it can be used for filtered operations + The duration of the tween + The shake strength + Indicates how much will the shake vibrate + Indicates how much the shake will be random (0 to 180 - values higher than 90 kind of suck, so beware). + Setting it to 0 will shake along a single direction. + If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not + Randomness mode + + + Shakes a Camera's localPosition along its relative X Y axes with the given values. + Also stores the camera as the tween's target so it can be used for filtered operations + The duration of the tween + The shake strength on each axis + Indicates how much will the shake vibrate + Indicates how much the shake will be random (0 to 180 - values higher than 90 kind of suck, so beware). + Setting it to 0 will shake along a single direction. + If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not + Randomness mode + + + Shakes a Camera's localRotation. + Also stores the camera as the tween's target so it can be used for filtered operations + The duration of the tween + The shake strength + Indicates how much will the shake vibrate + Indicates how much the shake will be random (0 to 180 - values higher than 90 kind of suck, so beware). + Setting it to 0 will shake along a single direction. + If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not + Randomness mode + + + Shakes a Camera's localRotation. + Also stores the camera as the tween's target so it can be used for filtered operations + The duration of the tween + The shake strength on each axis + Indicates how much will the shake vibrate + Indicates how much the shake will be random (0 to 180 - values higher than 90 kind of suck, so beware). + Setting it to 0 will shake along a single direction. + If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not + Randomness mode + + + Tweens a Light's color to the given value. + Also stores the light as the tween's target so it can be used for filtered operations + The end value to reachThe duration of the tween + + + Tweens a Light's intensity to the given value. + Also stores the light as the tween's target so it can be used for filtered operations + The end value to reachThe duration of the tween + + + Tweens a Light's shadowStrength to the given value. + Also stores the light as the tween's target so it can be used for filtered operations + The end value to reachThe duration of the tween + + + Tweens a LineRenderer's color to the given value. + Also stores the LineRenderer as the tween's target so it can be used for filtered operations. + Note that this method requires to also insert the start colors for the tween, + since LineRenderers have no way to get them. + The start value to tween from + The end value to reachThe duration of the tween + + + Tweens a Material's color to the given value. + Also stores the material as the tween's target so it can be used for filtered operations + The end value to reachThe duration of the tween + + + Tweens a Material's named color property to the given value. + Also stores the material as the tween's target so it can be used for filtered operations + The end value to reach + The name of the material property to tween (like _Tint or _SpecColor) + The duration of the tween + + + Tweens a Material's named color property with the given ID to the given value. + Also stores the material as the tween's target so it can be used for filtered operations + The end value to reach + The ID of the material property to tween (also called nameID in Unity's manual) + The duration of the tween + + + Tweens a Material's alpha color to the given value + (will have no effect unless your material supports transparency). + Also stores the material as the tween's target so it can be used for filtered operations + The end value to reachThe duration of the tween + + + Tweens a Material's alpha color to the given value + (will have no effect unless your material supports transparency). + Also stores the material as the tween's target so it can be used for filtered operations + The end value to reach + The name of the material property to tween (like _Tint or _SpecColor) + The duration of the tween + + + Tweens a Material's alpha color with the given ID to the given value + (will have no effect unless your material supports transparency). + Also stores the material as the tween's target so it can be used for filtered operations + The end value to reach + The ID of the material property to tween (also called nameID in Unity's manual) + The duration of the tween + + + Tweens a Material's named float property to the given value. + Also stores the material as the tween's target so it can be used for filtered operations + The end value to reach + The name of the material property to tween + The duration of the tween + + + Tweens a Material's named float property with the given ID to the given value. + Also stores the material as the tween's target so it can be used for filtered operations + The end value to reach + The ID of the material property to tween (also called nameID in Unity's manual) + The duration of the tween + + + Tweens a Material's texture offset to the given value. + Also stores the material as the tween's target so it can be used for filtered operations + The end value to reach + The duration of the tween + + + Tweens a Material's named texture offset property to the given value. + Also stores the material as the tween's target so it can be used for filtered operations + The end value to reach + The name of the material property to tween + The duration of the tween + + + Tweens a Material's texture scale to the given value. + Also stores the material as the tween's target so it can be used for filtered operations + The end value to reach + The duration of the tween + + + Tweens a Material's named texture scale property to the given value. + Also stores the material as the tween's target so it can be used for filtered operations + The end value to reach + The name of the material property to tween + The duration of the tween + + + Tweens a Material's named Vector property to the given value. + Also stores the material as the tween's target so it can be used for filtered operations + The end value to reach + The name of the material property to tween + The duration of the tween + + + Tweens a Material's named Vector property with the given ID to the given value. + Also stores the material as the tween's target so it can be used for filtered operations + The end value to reach + The ID of the material property to tween (also called nameID in Unity's manual) + The duration of the tween + + + Tweens a TrailRenderer's startWidth/endWidth to the given value. + Also stores the TrailRenderer as the tween's target so it can be used for filtered operations + The end startWidth to reachThe end endWidth to reach + The duration of the tween + + + Tweens a TrailRenderer's time to the given value. + Also stores the TrailRenderer as the tween's target so it can be used for filtered operations + The end value to reachThe duration of the tween + + + Tweens a Transform's position to the given value. + Also stores the transform as the tween's target so it can be used for filtered operations + The end value to reachThe duration of the tween + If TRUE the tween will smoothly snap all values to integers + + + Tweens a Transform's X position to the given value. + Also stores the transform as the tween's target so it can be used for filtered operations + The end value to reachThe duration of the tween + If TRUE the tween will smoothly snap all values to integers + + + Tweens a Transform's Y position to the given value. + Also stores the transform as the tween's target so it can be used for filtered operations + The end value to reachThe duration of the tween + If TRUE the tween will smoothly snap all values to integers + + + Tweens a Transform's Z position to the given value. + Also stores the transform as the tween's target so it can be used for filtered operations + The end value to reachThe duration of the tween + If TRUE the tween will smoothly snap all values to integers + + + Tweens a Transform's localPosition to the given value. + Also stores the transform as the tween's target so it can be used for filtered operations + The end value to reachThe duration of the tween + If TRUE the tween will smoothly snap all values to integers + + + Tweens a Transform's X localPosition to the given value. + Also stores the transform as the tween's target so it can be used for filtered operations + The end value to reachThe duration of the tween + If TRUE the tween will smoothly snap all values to integers + + + Tweens a Transform's Y localPosition to the given value. + Also stores the transform as the tween's target so it can be used for filtered operations + The end value to reachThe duration of the tween + If TRUE the tween will smoothly snap all values to integers + + + Tweens a Transform's Z localPosition to the given value. + Also stores the transform as the tween's target so it can be used for filtered operations + The end value to reachThe duration of the tween + If TRUE the tween will smoothly snap all values to integers + + + Tweens a Transform's rotation to the given value. + Also stores the transform as the tween's target so it can be used for filtered operations + The end value to reachThe duration of the tween + Rotation mode + + + Tweens a Transform's rotation to the given value using pure quaternion values. + Also stores the transform as the tween's target so it can be used for filtered operations. + PLEASE NOTE: DORotate, which takes Vector3 values, is the preferred rotation method. + This method was implemented for very special cases, and doesn't support LoopType.Incremental loops + (neither for itself nor if placed inside a LoopType.Incremental Sequence) + + The end value to reachThe duration of the tween + + + Tweens a Transform's localRotation to the given value. + Also stores the transform as the tween's target so it can be used for filtered operations + The end value to reachThe duration of the tween + Rotation mode + + + Tweens a Transform's rotation to the given value using pure quaternion values. + Also stores the transform as the tween's target so it can be used for filtered operations. + PLEASE NOTE: DOLocalRotate, which takes Vector3 values, is the preferred rotation method. + This method was implemented for very special cases, and doesn't support LoopType.Incremental loops + (neither for itself nor if placed inside a LoopType.Incremental Sequence) + + The end value to reachThe duration of the tween + + + Tweens a Transform's localScale to the given value. + Also stores the transform as the tween's target so it can be used for filtered operations + The end value to reachThe duration of the tween + + + Tweens a Transform's localScale uniformly to the given value. + Also stores the transform as the tween's target so it can be used for filtered operations + The end value to reachThe duration of the tween + + + Tweens a Transform's X localScale to the given value. + Also stores the transform as the tween's target so it can be used for filtered operations + The end value to reachThe duration of the tween + + + Tweens a Transform's Y localScale to the given value. + Also stores the transform as the tween's target so it can be used for filtered operations + The end value to reachThe duration of the tween + + + Tweens a Transform's Z localScale to the given value. + Also stores the transform as the tween's target so it can be used for filtered operations + The end value to reachThe duration of the tween + + + Tweens a Transform's rotation so that it will look towards the given world position. + Also stores the transform as the tween's target so it can be used for filtered operations + The position to look atThe duration of the tween + Eventual axis constraint for the rotation + The vector that defines in which direction up is (default: Vector3.up) + + + EXPERIMENTAL Tweens a Transform's rotation so that it will look towards the given world position, + while also updating the lookAt position every frame + (contrary to which calculates the lookAt rotation only once, when the tween starts). + Also stores the transform as the tween's target so it can be used for filtered operations + The position to look atThe duration of the tween + Eventual axis constraint for the rotation + The vector that defines in which direction up is (default: Vector3.up) + + + Punches a Transform's localPosition towards the given direction and then back to the starting one + as if it was connected to the starting position via an elastic. + The direction and strength of the punch (added to the Transform's current position) + The duration of the tween + Indicates how much will the punch vibrate + Represents how much (0 to 1) the vector will go beyond the starting position when bouncing backwards. + 1 creates a full oscillation between the punch direction and the opposite direction, + while 0 oscillates only between the punch and the start position + If TRUE the tween will smoothly snap all values to integers + + + Punches a Transform's localScale towards the given size and then back to the starting one + as if it was connected to the starting scale via an elastic. + The punch strength (added to the Transform's current scale) + The duration of the tween + Indicates how much will the punch vibrate + Represents how much (0 to 1) the vector will go beyond the starting size when bouncing backwards. + 1 creates a full oscillation between the punch scale and the opposite scale, + while 0 oscillates only between the punch scale and the start scale + + + Punches a Transform's localRotation towards the given size and then back to the starting one + as if it was connected to the starting rotation via an elastic. + The punch strength (added to the Transform's current rotation) + The duration of the tween + Indicates how much will the punch vibrate + Represents how much (0 to 1) the vector will go beyond the starting rotation when bouncing backwards. + 1 creates a full oscillation between the punch rotation and the opposite rotation, + while 0 oscillates only between the punch and the start rotation + + + Shakes a Transform's localPosition with the given values. + The duration of the tween + The shake strength + Indicates how much will the shake vibrate + Indicates how much the shake will be random (0 to 180 - values higher than 90 kind of suck, so beware). + Setting it to 0 will shake along a single direction. + If TRUE the tween will smoothly snap all values to integers + If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not + Randomness mode + + + Shakes a Transform's localPosition with the given values. + The duration of the tween + The shake strength on each axis + Indicates how much will the shake vibrate + Indicates how much the shake will be random (0 to 180 - values higher than 90 kind of suck, so beware). + Setting it to 0 will shake along a single direction. + If TRUE the tween will smoothly snap all values to integers + If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not + Randomness mode + + + Shakes a Transform's localRotation. + The duration of the tween + The shake strength + Indicates how much will the shake vibrate + Indicates how much the shake will be random (0 to 180 - values higher than 90 kind of suck, so beware). + Setting it to 0 will shake along a single direction. + If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not + Randomness mode + + + Shakes a Transform's localRotation. + The duration of the tween + The shake strength on each axis + Indicates how much will the shake vibrate + Indicates how much the shake will be random (0 to 180 - values higher than 90 kind of suck, so beware). + Setting it to 0 will shake along a single direction. + If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not + Randomness mode + + + Shakes a Transform's localScale. + The duration of the tween + The shake strength + Indicates how much will the shake vibrate + Indicates how much the shake will be random (0 to 180 - values higher than 90 kind of suck, so beware). + Setting it to 0 will shake along a single direction. + If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not + Randomness mode + + + Shakes a Transform's localScale. + The duration of the tween + The shake strength on each axis + Indicates how much will the shake vibrate + Indicates how much the shake will be random (0 to 180 - values higher than 90 kind of suck, so beware). + Setting it to 0 will shake along a single direction. + If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not + Randomness mode + + + Tweens a Transform's position to the given value, while also applying a jump effect along the Y axis. + Returns a Sequence instead of a Tweener. + Also stores the transform as the tween's target so it can be used for filtered operations + The end value to reach + Power of the jump (the max height of the jump is represented by this plus the final Y offset) + Total number of jumps + The duration of the tween + If TRUE the tween will smoothly snap all values to integers + + + Tweens a Transform's localPosition to the given value, while also applying a jump effect along the Y axis. + Returns a Sequence instead of a Tweener. + Also stores the transform as the tween's target so it can be used for filtered operations + The end value to reach + Power of the jump (the max height of the jump is represented by this plus the final Y offset) + Total number of jumps + The duration of the tween + If TRUE the tween will smoothly snap all values to integers + + + Tweens a Transform's position through the given path waypoints, using the chosen path algorithm. + Also stores the transform as the tween's target so it can be used for filtered operations + The waypoints to go through + The duration of the tween + The type of path: Linear (straight path), CatmullRom (curved CatmullRom path) or CubicBezier (curved with control points) + The path mode: 3D, side-scroller 2D, top-down 2D + The resolution of the path (useless in case of Linear paths): higher resolutions make for more detailed curved paths but are more expensive. + Defaults to 10, but a value of 5 is usually enough if you don't have dramatic long curves between waypoints + The color of the path (shown when gizmos are active in the Play panel and the tween is running) + + + Tweens a Transform's localPosition through the given path waypoints, using the chosen path algorithm. + Also stores the transform as the tween's target so it can be used for filtered operations + The waypoint to go through + The duration of the tween + The type of path: Linear (straight path), CatmullRom (curved CatmullRom path) or CubicBezier (curved with control points) + The path mode: 3D, side-scroller 2D, top-down 2D + The resolution of the path: higher resolutions make for more detailed curved paths but are more expensive. + Defaults to 10, but a value of 5 is usually enough if you don't have dramatic long curves between waypoints + The color of the path (shown when gizmos are active in the Play panel and the tween is running) + + + IMPORTANT: Unless you really know what you're doing, you should use the overload that accepts a Vector3 array instead. + Tweens a Transform's position via the given path. + Also stores the transform as the tween's target so it can be used for filtered operations + The path to use + The duration of the tween + The path mode: 3D, side-scroller 2D, top-down 2D + + + IMPORTANT: Unless you really know what you're doing, you should use the overload that accepts a Vector3 array instead. + Tweens a Transform's localPosition via the given path. + Also stores the transform as the tween's target so it can be used for filtered operations + The path to use + The duration of the tween + The path mode: 3D, side-scroller 2D, top-down 2D + + + Tweens a Tween's timeScale to the given value. + Also stores the Tween as the tween's target so it can be used for filtered operations + The end value to reachThe duration of the tween + + + Tweens a Light's color to the given value, + in a way that allows other DOBlendableColor tweens to work together on the same target, + instead than fight each other as multiple DOColor would do. + Also stores the Light as the tween's target so it can be used for filtered operations + The value to tween toThe duration of the tween + + + Tweens a Material's color to the given value, + in a way that allows other DOBlendableColor tweens to work together on the same target, + instead than fight each other as multiple DOColor would do. + Also stores the Material as the tween's target so it can be used for filtered operations + The value to tween toThe duration of the tween + + + Tweens a Material's named color property to the given value, + in a way that allows other DOBlendableColor tweens to work together on the same target, + instead than fight each other as multiple DOColor would do. + Also stores the Material as the tween's target so it can be used for filtered operations + The value to tween to + The name of the material property to tween (like _Tint or _SpecColor) + The duration of the tween + + + Tweens a Material's named color property with the given ID to the given value, + in a way that allows other DOBlendableColor tweens to work together on the same target, + instead than fight each other as multiple DOColor would do. + Also stores the Material as the tween's target so it can be used for filtered operations + The value to tween to + The ID of the material property to tween (also called nameID in Unity's manual) + The duration of the tween + + + Tweens a Transform's position BY the given value (as if you chained a SetRelative), + in a way that allows other DOBlendableMove tweens to work together on the same target, + instead than fight each other as multiple DOMove would do. + Also stores the transform as the tween's target so it can be used for filtered operations + The value to tween byThe duration of the tween + If TRUE the tween will smoothly snap all values to integers + + + Tweens a Transform's localPosition BY the given value (as if you chained a SetRelative), + in a way that allows other DOBlendableMove tweens to work together on the same target, + instead than fight each other as multiple DOMove would do. + Also stores the transform as the tween's target so it can be used for filtered operations + The value to tween byThe duration of the tween + If TRUE the tween will smoothly snap all values to integers + + + EXPERIMENTAL METHOD - Tweens a Transform's rotation BY the given value (as if you chained a SetRelative), + in a way that allows other DOBlendableRotate tweens to work together on the same target, + instead than fight each other as multiple DORotate would do. + Also stores the transform as the tween's target so it can be used for filtered operations + The value to tween byThe duration of the tween + Rotation mode + + + EXPERIMENTAL METHOD - Tweens a Transform's lcoalRotation BY the given value (as if you chained a SetRelative), + in a way that allows other DOBlendableRotate tweens to work together on the same target, + instead than fight each other as multiple DORotate would do. + Also stores the transform as the tween's target so it can be used for filtered operations + The value to tween byThe duration of the tween + Rotation mode + + + Punches a Transform's localRotation BY the given value and then back to the starting one + as if it was connected to the starting rotation via an elastic. Does it in a way that allows other + DOBlendableRotate tweens to work together on the same target + The punch strength (added to the Transform's current rotation) + The duration of the tween + Indicates how much will the punch vibrate + Represents how much (0 to 1) the vector will go beyond the starting rotation when bouncing backwards. + 1 creates a full oscillation between the punch rotation and the opposite rotation, + while 0 oscillates only between the punch and the start rotation + + + Tweens a Transform's localScale BY the given value (as if you chained a SetRelative), + in a way that allows other DOBlendableScale tweens to work together on the same target, + instead than fight each other as multiple DOScale would do. + Also stores the transform as the tween's target so it can be used for filtered operations + The value to tween byThe duration of the tween + + + + Completes all tweens that have this target as a reference + (meaning tweens that were started from this target, or that had this target added as an Id) + and returns the total number of tweens completed + (meaning the tweens that don't have infinite loops and were not already complete) + + For Sequences only: if TRUE also internal Sequence callbacks will be fired, + otherwise they will be ignored + + + + Completes all tweens that have this target as a reference + (meaning tweens that were started from this target, or that had this target added as an Id) + and returns the total number of tweens completed + (meaning the tweens that don't have infinite loops and were not already complete) + + For Sequences only: if TRUE also internal Sequence callbacks will be fired, + otherwise they will be ignored + + + + Kills all tweens that have this target as a reference + (meaning tweens that were started from this target, or that had this target added as an Id) + and returns the total number of tweens killed. + + If TRUE completes the tween before killing it + + + + Kills all tweens that have this target as a reference + (meaning tweens that were started from this target, or that had this target added as an Id) + and returns the total number of tweens killed. + + If TRUE completes the tween before killing it + + + + Flips the direction (backwards if it was going forward or viceversa) of all tweens that have this target as a reference + (meaning tweens that were started from this target, or that had this target added as an Id) + and returns the total number of tweens flipped. + + + + + Flips the direction (backwards if it was going forward or viceversa) of all tweens that have this target as a reference + (meaning tweens that were started from this target, or that had this target added as an Id) + and returns the total number of tweens flipped. + + + + + Sends to the given position all tweens that have this target as a reference + (meaning tweens that were started from this target, or that had this target added as an Id) + and returns the total number of tweens involved. + + Time position to reach + (if higher than the whole tween duration the tween will simply reach its end) + If TRUE will play the tween after reaching the given position, otherwise it will pause it + + + + Sends to the given position all tweens that have this target as a reference + (meaning tweens that were started from this target, or that had this target added as an Id) + and returns the total number of tweens involved. + + Time position to reach + (if higher than the whole tween duration the tween will simply reach its end) + If TRUE will play the tween after reaching the given position, otherwise it will pause it + + + + Pauses all tweens that have this target as a reference + (meaning tweens that were started from this target, or that had this target added as an Id) + and returns the total number of tweens paused. + + + + + Pauses all tweens that have this target as a reference + (meaning tweens that were started from this target, or that had this target added as an Id) + and returns the total number of tweens paused. + + + + + Plays all tweens that have this target as a reference + (meaning tweens that were started from this target, or that had this target added as an Id) + and returns the total number of tweens played. + + + + + Plays all tweens that have this target as a reference + (meaning tweens that were started from this target, or that had this target added as an Id) + and returns the total number of tweens played. + + + + + Plays backwards all tweens that have this target as a reference + (meaning tweens that were started from this target, or that had this target added as an Id) + and returns the total number of tweens played. + + + + + Plays backwards all tweens that have this target as a reference + (meaning tweens that were started from this target, or that had this target added as an Id) + and returns the total number of tweens played. + + + + + Plays forward all tweens that have this target as a reference + (meaning tweens that were started from this target, or that had this target added as an Id) + and returns the total number of tweens played. + + + + + Plays forward all tweens that have this target as a reference + (meaning tweens that were started from this target, or that had this target added as an Id) + and returns the total number of tweens played. + + + + + Restarts all tweens that have this target as a reference + (meaning tweens that were started from this target, or that had this target added as an Id) + and returns the total number of tweens restarted. + + + + + Restarts all tweens that have this target as a reference + (meaning tweens that were started from this target, or that had this target added as an Id) + and returns the total number of tweens restarted. + + + + + Rewinds all tweens that have this target as a reference + (meaning tweens that were started from this target, or that had this target added as an Id) + and returns the total number of tweens rewinded. + + + + + Rewinds all tweens that have this target as a reference + (meaning tweens that were started from this target, or that had this target added as an Id) + and returns the total number of tweens rewinded. + + + + + Smoothly rewinds all tweens that have this target as a reference + (meaning tweens that were started from this target, or that had this target added as an Id) + and returns the total number of tweens rewinded. + + + + + Smoothly rewinds all tweens that have this target as a reference + (meaning tweens that were started from this target, or that had this target added as an Id) + and returns the total number of tweens rewinded. + + + + + Toggles the paused state (plays if it was paused, pauses if it was playing) of all tweens that have this target as a reference + (meaning tweens that were started from this target, or that had this target added as an Id) + and returns the total number of tweens involved. + + + + + Toggles the paused state (plays if it was paused, pauses if it was playing) of all tweens that have this target as a reference + (meaning tweens that were started from this target, or that had this target added as an Id) + and returns the total number of tweens involved. + + + + + This class serves only as a utility class to store tween settings to apply on multiple tweens. + It is in no way needed otherwise, since you can directly apply tween settings to a tween via chaining + + + + A variable you can eventually Clear and reuse when needed, + to avoid instantiating TweenParams objects + + + Creates a new TweenParams object, which you can use to store tween settings + to pass to multiple tweens via myTween.SetAs(myTweenParms) + + + Clears and resets this TweenParams instance using default values, + so it can be reused without instantiating another one + + + Sets the autoKill behaviour of the tween. + Has no effect if the tween has already started + If TRUE the tween will be automatically killed when complete + + + Sets an ID for the tween, which can then be used as a filter with DOTween's static methods. + The ID to assign to this tween. Can be an int, a string, an object or anything else. + + + Sets an ID for the tween, which can then be used as a filter with DOTween's static methods. + The ID to assign to this tween. Can be an int, a string, an object or anything else. + + + Sets an ID for the tween, which can then be used as a filter with DOTween's static methods. + The ID to assign to this tween. Can be an int, a string, an object or anything else. + + + Sets the target for the tween, which can then be used as a filter with DOTween's static methods. + IMPORTANT: use it with caution. If you just want to set an ID for the tween use SetId instead. + When using shorcuts the shortcut target is already assigned as the tween's target, + so using this method will overwrite it and prevent shortcut-operations like myTarget.DOPause from working correctly. + The target to assign to this tween. Can be an int, a string, an object or anything else. + + + Sets the looping options for the tween. + Has no effect if the tween has already started + Number of cycles to play (-1 for infinite - will be converted to 1 in case the tween is nested in a Sequence) + Loop behaviour type (default: LoopType.Restart) + + + Sets the ease of the tween. + If applied to Sequences eases the whole sequence animation + Eventual overshoot or amplitude to use with Back or Elastic easeType (default is 1.70158) + Eventual period to use with Elastic easeType (default is 0) + + + Sets the ease of the tween using an AnimationCurve. + If applied to Sequences eases the whole sequence animation + + + Sets the ease of the tween using a custom ease function. + If applied to Sequences eases the whole sequence animation + + + Sets the recycling behaviour for the tween. + If TRUE the tween will be recycled after being killed, otherwise it will be destroyed. + + + Sets the update type to the one defined in DOTween.defaultUpdateType (UpdateType.Normal unless changed) + and lets you choose if it should be independent from Unity's Time.timeScale + If TRUE the tween will ignore Unity's Time.timeScale + + + Sets the type of update (default or independent) for the tween + The type of update (default: UpdateType.Normal) + If TRUE the tween will ignore Unity's Time.timeScale + + + Sets the onStart callback for the tween. + Called the first time the tween is set in a playing state, after any eventual delay + + + Sets the onPlay callback for the tween. + Called when the tween is set in a playing state, after any eventual delay. + Also called each time the tween resumes playing from a paused state + + + Sets the onRewind callback for the tween. + Called when the tween is rewinded, + either by calling Rewind or by reaching the start position while playing backwards. + Rewinding a tween that is already rewinded will not fire this callback + + + Sets the onUpdate callback for the tween. + Called each time the tween updates + + + Sets the onStepComplete callback for the tween. + Called the moment the tween completes one loop cycle, even when going backwards + + + Sets the onComplete callback for the tween. + Called the moment the tween reaches its final forward position, loops included + + + Sets the onKill callback for the tween. + Called the moment the tween is killed + + + Sets the onWaypointChange callback for the tween. + Called when a path tween reaches a new waypoint + + + Sets a delayed startup for the tween. + Has no effect on Sequences or if the tween has already started + + + If isRelative is TRUE sets the tween as relative + (the endValue will be calculated as startValue + endValue instead than being used directly). + Has no effect on Sequences or if the tween has already started + + + If isSpeedBased is TRUE sets the tween as speed based + (the duration will represent the number of units the tween moves x second). + Has no effect on Sequences, nested tweens, or if the tween has already started + + + + Methods that extend Tween objects and allow to set their parameters + + + + Sets the autoKill behaviour of the tween to TRUE. + Has no effect if the tween has already started or if it's added to a Sequence + + + Sets the autoKill behaviour of the tween. + Has no effect if the tween has already started or if it's added to a Sequence + If TRUE the tween will be automatically killed when complete + + + Sets an ID for the tween (), which can then be used as a filter with DOTween's static methods. + The ID to assign to this tween. Can be an int, a string, an object or anything else. + + + Sets a string ID for the tween (), which can then be used as a filter with DOTween's static methods. + Filtering via string is 2X faster than using an object as an ID (using the alternate obejct overload) + The string ID to assign to this tween. + + + Sets an int ID for the tween (), which can then be used as a filter with DOTween's static methods. + Filtering via int is 4X faster than via object, 2X faster than via string (using the alternate object/string overloads) + The int ID to assign to this tween. + + + Allows to link this tween to a GameObject + so that it will be automatically killed when the GameObject is destroyed. + Has no effect if the tween is added to a Sequence + The link target (unrelated to the target set via SetTarget) + + + Allows to link this tween to a GameObject and assign a behaviour depending on it. + This will also automatically kill the tween when the GameObject is destroyed. + Has no effect if the tween is added to a Sequence + The link target (unrelated to the target set via SetTarget) + The behaviour to use ( is always evaluated even if you choose another one) + + + Sets the target for the tween, which can then be used as a filter with DOTween's static methods. + IMPORTANT: use it with caution. If you just want to set an ID for the tween use SetId instead. + When using shorcuts the shortcut target is already assigned as the tween's target, + so using this method will overwrite it and prevent shortcut-operations like myTarget.DOPause from working correctly. + The target to assign to this tween. Can be an int, a string, an object or anything else. + + + Sets the looping options for the tween. + Has no effect if the tween has already started + Number of cycles to play (-1 for infinite - will be converted to 1 in case the tween is nested in a Sequence) + + + Sets the looping options for the tween. + Has no effect if the tween has already started + Number of cycles to play (-1 for infinite - will be converted to 1 in case the tween is nested in a Sequence) + Loop behaviour type (default: LoopType.Restart) + + + Sets the ease of the tween. + If applied to Sequences eases the whole sequence animation + + + Sets the ease of the tween. + If applied to Sequences eases the whole sequence animation + + Eventual overshoot to use with Back or Flash ease (default is 1.70158 - 1 for Flash). + In case of Flash ease it must be an intenger and sets the total number of flashes that will happen. + Using an even number will complete the tween on the starting value, while an odd one will complete it on the end value. + + + + Sets the ease of the tween. + If applied to Sequences eases the whole sequence animation + Eventual amplitude to use with Elastic easeType or overshoot to use with Flash easeType (default is 1.70158 - 1 for Flash). + In case of Flash ease it must be an integer and sets the total number of flashes that will happen. + Using an even number will complete the tween on the starting value, while an odd one will complete it on the end value. + + Eventual period to use with Elastic or Flash easeType (default is 0). + In case of Flash ease it indicates the power in time of the ease, and must be between -1 and 1. + 0 is balanced, 1 weakens the ease with time, -1 starts the ease weakened and gives it power towards the end. + + + + Sets the ease of the tween using an AnimationCurve. + If applied to Sequences eases the whole sequence animation + + + Sets the ease of the tween using a custom ease function (which must return a value between 0 and 1). + If applied to Sequences eases the whole sequence animation + + + Allows the tween to be recycled after being killed. + + + Sets the recycling behaviour for the tween. + If TRUE the tween will be recycled after being killed, otherwise it will be destroyed. + + + Sets the update type to UpdateType.Normal and lets you choose if it should be independent from Unity's Time.timeScale + If TRUE the tween will ignore Unity's Time.timeScale + + + Sets the type of update for the tween + The type of update (defalt: UpdateType.Normal) + + + Sets the type of update for the tween and lets you choose if it should be independent from Unity's Time.timeScale + The type of update + If TRUE the tween will ignore Unity's Time.timeScale + + + EXPERIMENTAL: inverts this tween, so that it will play from the end to the beginning + (playing it backwards will actually play it from the beginning to the end). + Has no effect if the tween has already started or if it's added to a Sequence + + + EXPERIMENTAL: inverts this tween, so that it will play from the end to the beginning + (playing it backwards will actually play it from the beginning to the end). + Has no effect if the tween has already started or if it's added to a Sequence + If TRUE the tween will be inverted, otherwise it won't + + + Sets the onStart callback for the tween, clearing any previous onStart callback that was set. + Called the first time the tween is set in a playing state, after any eventual delay + + + Sets the onPlay callback for the tween, clearing any previous onPlay callback that was set. + Called when the tween is set in a playing state, after any eventual delay. + Also called each time the tween resumes playing from a paused state + + + Sets the onPause callback for the tween, clearing any previous onPause callback that was set. + Called when the tween state changes from playing to paused. + If the tween has autoKill set to FALSE, this is called also when the tween reaches completion. + + + Sets the onRewind callback for the tween, clearing any previous onRewind callback that was set. + Called when the tween is rewinded, + either by calling Rewind or by reaching the start position while playing backwards. + Rewinding a tween that is already rewinded will not fire this callback + + + Sets the onUpdate callback for the tween, clearing any previous onUpdate callback that was set. + Called each time the tween updates + + + Sets the onStepComplete callback for the tween, clearing any previous onStepComplete callback that was set. + Called the moment the tween completes one loop cycle, even when going backwards + + + Sets the onComplete callback for the tween, clearing any previous onComplete callback that was set. + Called the moment the tween reaches its final forward position, loops included + + + Sets the onKill callback for the tween, clearing any previous onKill callback that was set. + Called the moment the tween is killed + + + Sets the onWaypointChange callback for the tween, clearing any previous onWaypointChange callback that was set. + Called when a path tween's current waypoint changes + + + Sets the parameters of the tween (id, ease, loops, delay, timeScale, callbacks, etc) as the parameters of the given one. + Doesn't copy specific SetOptions settings: those will need to be applied manually each time. + Has no effect if the tween has already started. + NOTE: the tween's target will not be changed + Tween from which to copy the parameters + + + Sets the parameters of the tween (id, ease, loops, delay, timeScale, callbacks, etc) as the parameters of the given TweenParams. + Has no effect if the tween has already started. + TweenParams from which to copy the parameters + + + Adds the given tween to the end of the Sequence. + Has no effect if the Sequence has already started + The tween to append + + + Adds the given tween to the beginning of the Sequence, pushing forward the other nested content. + Has no effect if the Sequence has already started + The tween to prepend + + + Inserts the given tween at the same time position of the last tween, callback or interval added to the Sequence. + Note that, in case of a Join after an interval, the insertion time will be the time where the interval starts, not where it finishes. + Has no effect if the Sequence has already started + + + Inserts the given tween at the given time position in the Sequence, + automatically adding an interval if needed. + Has no effect if the Sequence has already started + The time position where the tween will be placed + The tween to insert + + + Adds the given interval to the end of the Sequence. + Has no effect if the Sequence has already started + The interval duration + + + Adds the given interval to the beginning of the Sequence, pushing forward the other nested content. + Has no effect if the Sequence has already started + The interval duration + + + Adds the given callback to the end of the Sequence. + Has no effect if the Sequence has already started + The callback to append + + + Adds the given callback to the beginning of the Sequence, pushing forward the other nested content. + Has no effect if the Sequence has already started + The callback to prepend + + + Inserts the given callback at the same time position of the last tween, callback or interval added to the Sequence. + Note that, in case of a Join after an interval, the insertion time will be the time where the interval starts, not where it finishes. + Has no effect if the Sequence has already started + /// <param name="callback">The callback to prepend</param> + + + Inserts the given callback at the given time position in the Sequence, + automatically adding an interval if needed. + Has no effect if the Sequence has already started + The time position where the callback will be placed + The callback to insert + + + Changes a TO tween into a FROM tween: sets the current target's position as the tween's endValue + then immediately sends the target to the previously set endValue. + + + Changes a TO tween into a FROM tween: sets the current target's position as the tween's endValue + then immediately sends the target to the previously set endValue. + If TRUE the FROM value will be calculated as relative to the current one + + + Changes a TO tween into a FROM tween: sets the current value of the target as the endValue, + and the previously passed endValue as the actual startValue. + If TRUE sets the target to from value immediately, otherwise waits for the tween to start + If TRUE the FROM value will be calculated as relative to the current one + + + Changes a TO tween into a FROM tween: sets the tween's starting value to the given one + and eventually sets the tween's target to that value immediately. + Value to start from + If TRUE sets the target to from value immediately, otherwise waits for the tween to start + If TRUE the FROM/TO values will be calculated as relative to the current ones + + + Changes a TO tween into a FROM tween: sets the tween's starting value to the given one + and eventually sets the tween's target to that value immediately. + Alpha value to start from (in case of Fade tweens) + If TRUE sets the target to from value immediately, otherwise waits for the tween to start + If TRUE the FROM/TO values will be calculated as relative to the current ones + + + Changes a TO tween into a FROM tween: sets the tween's starting value to the given one + and eventually sets the tween's target to that value immediately. + Value to start from (in case of Vector tweens that act on a single coordinate or scale tweens) + If TRUE sets the target to from value immediately, otherwise waits for the tween to start + If TRUE the FROM/TO values will be calculated as relative to the current ones + + + Changes a TO tween into a FROM tween: sets the tween's starting value to the given one + and eventually sets the tween's target to that value immediately. + Value to start from (in case of Vector tweens that act on a single coordinate or scale tweens) + If TRUE sets the target to from value immediately, otherwise waits for the tween to start + If TRUE the FROM/TO values will be calculated as relative to the current ones + + + Sets a delayed startup for the tween. + In case of Sequences behaves the same as , + which means the delay will repeat in case of loops (while with tweens it's ignored after the first loop cycle). + Has no effect if the tween has already started + + + EXPERIMENTAL: implemented in v1.2.340. + Sets a delayed startup for the tween with options to choose how the delay is applied in case of Sequences. + Has no effect if the tween has already started + Only used by types: If FALSE sets the delay as a one-time occurrence + (defaults to this for types), + otherwise as a Sequence interval which will repeat at the beginning of every loop cycle + + + Sets the tween as relative + (the endValue will be calculated as startValue + endValue instead than being used directly). + Has no effect on Sequences or if the tween has already started + + + If isRelative is TRUE sets the tween as relative + (the endValue will be calculated as startValue + endValue instead than being used directly). + Has no effect on Sequences or if the tween has already started + + + If isSpeedBased is TRUE sets the tween as speed based + (the duration will represent the number of units the tween moves x second). + Has no effect on Sequences, nested tweens, or if the tween has already started + + + If isSpeedBased is TRUE sets the tween as speed based + (the duration will represent the number of units the tween moves x second). + Has no effect on Sequences, nested tweens, or if the tween has already started + + + Options for float tweens + If TRUE the tween will smoothly snap all values to integers + + + Options for Vector2 tweens + If TRUE the tween will smoothly snap all values to integers + + + Options for Vector2 tweens + Selecting an axis will tween the vector only on that axis, leaving the others untouched + If TRUE the tween will smoothly snap all values to integers + + + Options for Vector3 tweens + If TRUE the tween will smoothly snap all values to integers + + + Options for Vector3 tweens + Selecting an axis will tween the vector only on that axis, leaving the others untouched + If TRUE the tween will smoothly snap all values to integers + + + Options for Vector4 tweens + If TRUE the tween will smoothly snap all values to integers + + + Options for Vector4 tweens + Selecting an axis will tween the vector only on that axis, leaving the others untouched + If TRUE the tween will smoothly snap all values to integers + + + Options for Quaternion tweens + If TRUE (default) the rotation will take the shortest route, and will not rotate more than 360°. + If FALSE the rotation will be fully accounted. Is always FALSE if the tween is set as relative + + + Options for Color tweens + If TRUE only the alpha value of the color will be tweened + + + Options for Vector4 tweens + If TRUE the tween will smoothly snap all values to integers + + + Options for Vector4 tweens + If TRUE, rich text will be interpreted correctly while animated, + otherwise all tags will be considered as normal text + The type of scramble to use, if any + A string containing the characters to use for scrambling. + Use as many characters as possible (minimum 10) because DOTween uses a fast scramble mode which gives better results with more characters. + Leave it to NULL to use default ones + + + Options for Vector3Array tweens + If TRUE the tween will smoothly snap all values to integers + + + Options for Vector3Array tweens + If TRUE the tween will smoothly snap all values to integers + + + Options for ShapeCircle tweens + If TRUE the center you set in the DOTween.To method will be considered as relative + to the starting position of the target + If TRUE the tween will smoothly snap all values to integers + + + Options for Path tweens (created via the DOPath shortcut) + The eventual movement axis to lock. You can input multiple axis if you separate them like this: + AxisConstrain.X | AxisConstraint.Y + The eventual rotation axis to lock. You can input multiple axis if you separate them like this: + AxisConstrain.X | AxisConstraint.Y + + + Options for Path tweens (created via the DOPath shortcut) + If TRUE the path will be automatically closed + The eventual movement axis to lock. You can input multiple axis if you separate them like this: + AxisConstrain.X | AxisConstraint.Y + The eventual rotation axis to lock. You can input multiple axis if you separate them like this: + AxisConstrain.X | AxisConstraint.Y + + + Additional LookAt options for Path tweens (created via the DOPath shortcut). + Orients the target towards the given position. + Must be chained directly to the tween creation method or to a SetOptions + The position to look at + The eventual direction to consider as "forward". + If left to NULL defaults to the regular forward side of the transform + The vector that defines in which direction up is (default: Vector3.up) + + + Additional LookAt options for Path tweens (created via the DOPath shortcut). + Orients the target towards the given position with options to keep the Z rotation stable. + Must be chained directly to the tween creation method or to a SetOptions + The position to look at + If TRUE doesn't rotate the target along the Z axis + + + Additional LookAt options for Path tweens (created via the DOPath shortcut). + Orients the target towards another transform. + Must be chained directly to the tween creation method or to a SetOptions + The transform to look at + The eventual direction to consider as "forward". + If left to NULL defaults to the regular forward side of the transform + The vector that defines in which direction up is (default: Vector3.up) + + + Additional LookAt options for Path tweens (created via the DOPath shortcut). + Orients the target towards another transform with options to keep the Z rotation stable. + Must be chained directly to the tween creation method or to a SetOptions + The transform to look at + If TRUE doesn't rotate the target along the Z axis + + + Additional LookAt options for Path tweens (created via the DOPath shortcut). + Orients the target to the path, with the given lookAhead. + Must be chained directly to the tween creation method or to a SetOptions + The percentage of lookAhead to use (0 to 1) + The eventual direction to consider as "forward". + If left to NULL defaults to the regular forward side of the transform + The vector that defines in which direction up is (default: Vector3.up) + + + Additional LookAt options for Path tweens (created via the DOPath shortcut). + Orients the path with options to keep the Z rotation stable. + Must be chained directly to the tween creation method or to a SetOptions + The percentage of lookAhead to use (0 to 1) + If TRUE doesn't rotate the target along the Z axis + + + + Types of log behaviours + + + + Log only warnings and errors + + + Log warnings, errors and additional infos + + + Log only errors + + + + Indicates either a Tweener or a Sequence + + + + TimeScale for the tween + + + If TRUE the tween will play backwards + + + If TRUE the tween is completely inverted but without playing it backwards + (play backwards will actually play the tween in the original direction) + + + Object ID (usable for filtering with DOTween static methods). Can be anything except a string or an int + (use or for those) + + + String ID (usable for filtering with DOTween static methods). 2X faster than using an object id + + + Int ID (usable for filtering with DOTween static methods). 4X faster than using an object id, 2X faster than using a string id. + Default is -999 so avoid using an ID like that or it will capture all unset intIds + + + Tween target (usable for filtering with DOTween static methods). Automatically set by tween creation shortcuts + + + Called when the tween is set in a playing state, after any eventual delay. + Also called each time the tween resumes playing from a paused state + + + Called when the tween state changes from playing to paused. + If the tween has autoKill set to FALSE, this is called also when the tween reaches completion. + + + Called when the tween is rewinded, + either by calling Rewind or by reaching the start position while playing backwards. + Rewinding a tween that is already rewinded will not fire this callback + + + Called each time the tween updates + + + Called the moment the tween completes one loop cycle + + + Called the moment the tween reaches completion (loops included) + + + Called the moment the tween is killed + + + Called when a path tween's current waypoint changes + + + Tweeners-only (ignored by Sequences), returns TRUE if the tween was set as relative + + + + Set by SetTarget if DOTween's Debug Mode is on (see DOTween Utility Panel -> "Store GameObject's ID" debug option + + + + FALSE when tween is (or should be) despawned - set only by TweenManager + + + Gets and sets the time position (loops included, delays excluded) of the tween + + + Returns TRUE if the tween is set to loop (either a set number of times or infinitely) + + + TRUE after the tween was set in a play state at least once, AFTER any delay is elapsed + + + Time position within a single loop cycle + + + + Animates a single value + + + + Changes the start value of a tween and rewinds it (without pausing it). + Has no effect with tweens that are inside Sequences + The new start value + If bigger than 0 applies it as the new tween duration + + + Changes the end value of a tween and rewinds it (without pausing it). + Has no effect with tweens that are inside Sequences + The new end value + If bigger than 0 applies it as the new tween duration + If TRUE the start value will become the current target's value, otherwise it will stay the same + + + Changes the end value of a tween and rewinds it (without pausing it). + Has no effect with tweens that are inside Sequences + The new end value + If TRUE the start value will become the current target's value, otherwise it will stay the same + + + Changes the start and end value of a tween and rewinds it (without pausing it). + Has no effect with tweens that are inside Sequences + The new start value + The new end value + If bigger than 0 applies it as the new tween duration + + + + Used internally + + + + + Update type + + + + Updates every frame during Update calls + + + Updates every frame during LateUpdate calls + + + Updates using FixedUpdate calls + + + Updates using manual update calls + + + diff --git a/Assets/Plugins/Demigiant/DOTween/DOTween.XML.meta b/Assets/Plugins/Demigiant/DOTween/DOTween.XML.meta new file mode 100644 index 0000000..7a866b5 --- /dev/null +++ b/Assets/Plugins/Demigiant/DOTween/DOTween.XML.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 34192c5e0d14aee43a0e86cc4823268a +TextScriptImporter: + userData: diff --git a/Assets/Plugins/Demigiant/DOTween/DOTween.dll b/Assets/Plugins/Demigiant/DOTween/DOTween.dll new file mode 100644 index 0000000000000000000000000000000000000000..57112d34beef1b8bb4f78782d752c7bef2452e0c GIT binary patch literal 175616 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 + + + DOTweenEditor + + + + + Contains compatibility methods taken from DemiEditor (for when DOTween is without it) + + + + + Warning: some versions of this method don't have the includeInactive parameter so it won't be taken into account + + + + + Warning: some versions of this method don't have the includeInactive parameter so it won't be taken into account + + + + + Warning: some versions of this method don't have the includeInactive parameter so it won't be taken into account + + + + + Warning: some versions of this method don't have the includeInactive parameter so it won't be taken into account + + + + + Starts the update loop of tween in the editor. Has no effect during playMode. + + Eventual callback to call after every update + + + + Stops the update loop and clears the onPreviewUpdated callback. + + If TRUE also resets the tweened objects to their original state. + Note that this works by calling Rewind on all tweens, so it will work correctly + only if you have a single tween type per object and it wasn't killed + If TRUE also kills any cached tween + + + + Readies the tween for editor preview by setting its UpdateType to Manual plus eventual extra settings. + + The tween to ready + If TRUE (recommended) removes all callbacks (OnComplete/Rewind/etc) + If TRUE prevents the tween from being auto-killed at completion + If TRUE starts playing the tween immediately + + + Full major version + first minor version (ex: 2018.1f) + + + Major version + + + First minor version (ex: in 2018.1 it would be 1) + + + + Checks that the given editor texture use the correct import settings, + and applies them if they're incorrect. + + + + + Returns TRUE if setup is required + + + + + Returns TRUE if the file/directory at the given path exists. + + Path, relative to Unity's project folder + + + + + Converts the given project-relative path to a full path, + with backward (\) slashes). + + + + + Converts the given full path to a path usable with AssetDatabase methods + (relative to Unity's project folder, and with the correct Unity forward (/) slashes). + + + + + Connects to a asset. + If the asset already exists at the given path, loads it and returns it. + Otherwise, either returns NULL or automatically creates it before loading and returning it + (depending on the given parameters). + + Asset type + File path (relative to Unity's project folder) + If TRUE and the requested asset doesn't exist, forces its creation + + + + Full path for the given loaded assembly, assembly file included + + + + + Adds the given global define if it's not already present + + + + + Removes the given global define if it's present + + + + + Returns TRUE if the given global define is present in all the + or only in the given , depending on passed parameters. + + + to use. Leave NULL to check in all of them. + + + + Not used as menu item anymore, but as a utility function + + + + Full major version + first minor version (ex: 2018.1f) + + + Major version + + + First minor version (ex: in 2018.1 it would be 1) + + + diff --git a/Assets/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.XML.meta b/Assets/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.XML.meta new file mode 100644 index 0000000..7cec113 --- /dev/null +++ b/Assets/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.XML.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 2e2c6224d345d9249acfa6e8ef40bb2d +TextScriptImporter: + userData: diff --git a/Assets/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.dll b/Assets/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.dll new file mode 100644 index 0000000000000000000000000000000000000000..4911a86b3feaad8d13ba041e50ed77832d813651 GIT binary patch literal 70656 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%0Dh6|eO%in;`_q3bA z*)!uUSC#wPxdd;TOVYi8XQ2P}K!xzTzEkpN_v`v6YAR6f7aIN!d=&T=t+oQ^6#9EO z^_%Y=#kt}6s8NY%b3b3z?|R9#$Xk~8l51D6GOyizjairXzWzc4{9&D zVnKqB1>5uT^|QQ>iF`fH@I$@dMXl3?RClpg9}Av}ROy;+d4Bz~+S6LT{#I}YQvIIc zAA<3``R=bbB>{iZv;(kV4&j$EC&^HNL%nVn_y<|qHH&oGS^pQzSqe_R>p)ow{P&r& zjX3&FH^I$-`vuv#Uko;U8k~WK&v2f5!N0MY>}QBlzL0l{_WS%B(dYMhz6j|{`A@m? zb%OiFPZ=k;U*!8J6~X=DN7KHHJPGa>f5LfXzD{tzn1l1>e4XHaQPc7@=n&j5{%zX5 zzzOabD@*PNPB7+fc0UBpTTPFNcl76*e~P+%r|H?eXEEzj4!z*-bT2762u{u1Hz7UV z|2E*9mbcl%f6Hrg{}6F$k9$5&jh_|Yz)9k>Vm9jjEN1sN0RuSEJAl@~X&J^8-juo4 zqm{R412~a+!nJQk+D)8l;~jmwuhDqPwGyrTj{bJ|DC1eAst`}OF2i2+QP)^A<|(Zf zv&>$ti{afkTimO?$IxKTZH$*N{$0lZ0NAFvgD;?Tnh|ztL$lx226$$Rf0R80z%Ukj8O#fQ>{l*Qh ze}ysb^!qU)BKmI;wf1U14?ZUPkn>G0zfL{>CD*Ni@1u5Yp(l(zs8=4w`xj^a(r9!4 zd*DWlf+z6}sh3{s5`PjL6U_P9O_zXeO4K!1K6`tKs`F9IJJ?*MmsVy<I(M7tP$|IiP(o^Ksmy-8J`d#M0|$y^GeN zmc0S+%bw>&W%1WN``xrkp?}4GDb6^H82TAj0T$zXMGt$5#d`4@z>VTVz|+J$Z!z8g z^>{V$Dc0F4_JPwUegrrmKJb=e^)w4<(N_5y{@F~*XGEM0e5Y6jJSn~hd=GF9I~aoJ zGrSX;UU5ItdhzabIrz_lQ;OR&l$+P}GM3JTu6F=STpGTF;CB(f+!gc{i%Qo#z#7*I zz&h7DNb6ZT+tm+_=}P%D(c+@q=7V1<+5k0iJUE&-1<)%tF=rfjvG}#?X6V1fcvyP? zIUKFM0=QTc&`fG%;cm?YJXdQ0Olu1OFVc<$yn?0Iu=I0~w&IQ4@}gEzCOQG9ivhq{ zVkcloTm-m~;c?<};47GavbX_wH}gNquvdH^oE_rLq8IVj4F4LUi(nnYE(C5CC8G;d}2sKni4;{BpW zu$wmvUS#+ZLsuSK#ju{?a)#{;w=#?{Ofx*6;jJD@^$5ck8454w!*DsnJMu4t&ejs* zry1VL@DYY}{%eIr>iqwg1xI(>~NH z_09UI{w4h${k!_J`d{>m-LAYx@_w0@Zh>^uAzF9L7b48Wg+v9ZDX5g+z?*wJE7?!_C|BKi$CQLim165S}FOC7-dari}iCcSnlW~j4Hqw^K<{vrPe6f0TxEF7L){PDhMz#$`fp)GM9vzBWidt_) z`(nM3BuO^zibjW5LDqYT z=wNi2I1!hzB7-ZV+hfDgo;A__NbjDWjVCWyDKNSWXCRVT*~O)8j15Hx zq1@iRcIB$o0u?^IaD^3xol3LUNo1cTva36q933H| zYq)bbF~W^Rq|~*w(CXWxR&*FW&1P*%#s-<_8i@{X+OS4+?@1)1L#>@%SmT@>861uF z^oU(?t8cRv8KLHEM+b8(PK_I7jJNpET!0kjJJ!n8YWYesT zSUaK?adT2guPgN|p&Ar?YWBY9w$c7>^sVT|hy@1N%*s%)VdAZcNBTs2U!RC2x}!Ts zsqtj`-hs$)KXB?`BCW6In)IbklGwxo6exB(-p#tq14HD%y|Zw8>aTK+cJ(M9Fx6KUIgEkMJi{ zqw&z$0Dr}ZiN1)DlqKWC7&K?cqPsSY^dSuO2^nXQ8hw^%nP6osG8pftWKj$saAR-~ zc(HRp#QMb2!^OU3J9>IL5O>kNR>z`)QZo~irj$l=OsS)~=HYS~i6jTQ z2P27rjqwf9k-SeWQQG9)<%;9aoMLj6Drau9?Df%Uvzt9bTGLpl8CNHm{R%~mt>sEh*1Oac(TiC9~v2qB}XBr93~GWjz#OyI+6Y;!ezhg#4>Bqvj)*8u`#a5 zuHns*JtJ|1)(qpM7*<7A@4z0#L8lmrSkYCxd)YWd#k1o(qV`gzb7&-Pp@QqycWq>M ziqYW&xwVhhG?GJRCNmUyVR$5-l(P1YZrNan4ro!k${V7+dwO}PhE6BLn2>QxWY=w? zb7d?s5>If#4Wq+U22F4$p${Xg6QfC@R$K8Q#o5RaPjtiIkmt@)(obkFh%ymJl1B(J z8GSkMoSC4}u^d#Z7}k>pNPg$AJ@I2WQkffLNqY46DkO%EYbl(jADL{*#pQZ?Mp8OG znJMZBi8giG+Bx%=Vmpl$J=wYI2w8UXbY^EOCpViKjU6E&&vv$^n*3~%CqJ8TOnx@2 zFP@|oJDN;!rdob057}vyf9wRCI=hp5;QVb#J9_lxG9;a(HnK%DPS-~$ps2(hF)UzY zKAl4f?H`Rvp1o-7Okx`BT@%?B9h3r0vknS_44t=ItpFW@M6550(H!sWjSqLk2c2oQ zO(gA-oQY``chD4`Rzzui<7BF3?S@$I00lUQNLn?RHF{f;7f!MUnCjWAOyyys#L4K6 zq{LUphZV+wFhj+Lx5u}|cdG>KKZ+RZB11fe`AM6=p>2bEZ01TVPH5vL8Kgc;>eLoP z2$BO>jU*!!foP#8S(_YjiI&k33oc=mo)NjEkwh$^LW#gyv5&%~*i4Hw#t;m*5eExU zXD@>)ZM`P2PKqQZ&~k}5+)v3VYOffG(#mpm+{%eAhY9O~6F{BJq&1{K^y39-cW-5i1tK zjEN--9Kp@CYXCh&Eefy#Ny^E8D+E?5Y{H6O zjPk;s>)($RzQE3yhh}$@sIFlufR_3|yOYt83`xFWH^_w-Em(HZxWNjHEQ(sZ8l*i# zdlK8nZKIU;Xv{(JYP6rabXEh2PmLvLv6to9!GPz+DcDw|FFJ(1=wuO1v=}D|?2#u6 zu~OU~>mRk)cay~{qlsQCHbVRBtWegCQ*4M1Ms_on$jWU~F*)^(_9iC_R>Vj4Sh4;A zhY0N(8EUtz$eyXxu^1b62vn>hJ5ctv7*>W3DYXfYK<;CRNRq%PkjU9II@RtyvwQ5Z z4<+>`hoB_eMsdH2mZ@F$FddeCR==+r~z>$%7CfkKsDE zuZ<-VlpeW_%&A zTivxjG8`QgJU`(iU!06BEy`1LNK9tE0!tJ~9URQI=x;n|6iTZG9OAJl6w2ZmDq*uRH^gW& zBM_&1=xB)#3zcnlP*JnBuy}#}k!rL|ieO-Vq#}7-Z5(rpA`!xdUGmz6*x%_-Inm z@}Qz)G?`Rhpq`~jUV78RWMSdPUCOX!J7#NJk(h{N3xIYmrl zoro2XTnZ2OujH4U-Ft>`29ZD)l8MmqK0>2Y4iY|lmUDpq1&kJ zU#oF~13p;@kJ90I2R7;8$bCC@a2OvbhkCM2@C1g97#%Lhw&T4uFsG4FpW>lOwbJr8=_zfcW{MC`zAUbeIbRcqe46kzpwrMy|m|AAP}DA~qcQawJz>vW*hlpb!@YRL%e9oRGdeP_yArf=+u`&e9gkjVJcLwwzZAI1^ERvAripJz~DPogi#IxN4Ft8BeaKgC2(2j|+ zp(7zVajjG5@b={vr-rKMrjdR+q*0MfDxffl^vEDE;q3@YkbNb0=+FxmF(hBK(8AR| ztxDjo4^6#%bd^x|J`_Qb8ru&#(4|W8rI|r>T_;nJoY)+4Svi{xQ!^71?S9xIU~aZQt*D%!N?4f)wIvgrjjFP4MwHn*@G`vMbSO-h)hw^5Ht*0J)3}9 zD$8I~CU7#g$g^6NkiDGEL>i`IwqoPZGKqazLM{zf(G3*ZIVjrh1rEL)7UkL*Zc#78 zZCZ^7I&QI9a*4pLZ?odO5=Sf1$u=!Y5^@Ed5PjgB7&~Vu&QZwGA~<%<#wAWe96CIt z^n_#AgIBgh$ps)Xlb1@k=!A&Lcg=l@vE%rC_6yB$A(UH9<$xaswbvj11W*j8#pqWb4tw3PoOY>p&ibXSP15A$UD>E=l_w zyqlr7T{Kqdg_MmZvmTI3R=y5}K-HV<+P)p7=H6*wAE;{(S%aNiiQ{EI4pd~QmYlU1 z+7ffLG2XLKA^kK}Mz<$<4$L6iX{?+Sr4wt`7?5Z;T}i+e2SC1E@3K@sRqrvlAu;V> zWoy6Vr^${l0npj5yc;JA!|u6%7s3!&;K2Zr=~m!6OOjt~U~?dFivf@Zt7BaPb-Xj9*Drh~hHxA09_{bP zLPSl1?9W8!cJ6k97WUYwW-lJD;hifsC}&64Vby4_5NIW;YRD*cE?nRnV1iABoJJe% z(9pa=oZur5d?qKE$|9_*CMzE1%xOy9 z!`d;W_DRvfk&gIob|qeYOPBI1J-AQcq?zUm^h191$qgYb2^392enB+lxxu>l25foy zw#EDQs4jVObPpFnU6bCTQ)92%9qk?EWt`2VVb4-}1&I;T-HWi?H4Jqe{{eOl;}sYp zByzRizKi%s&#Ikxxrp5i;hn>nmL(-Smzw=aEE%dRIpS!BW1s5S4C;qA-kG4Q+g;YG zp%G+-fC&?T;ENQi@r|Nke8Z>Sro+&l5T=L1};nh*3bG; z+}WQhWkPg9C&IbJaH}8b=h%AfkiZL$aymd~%9&;BIW-dhD_gon9KW2H6l?M9BU=tr z#soWBR-(*}Vi)wIu((yF9>sUA@Qw|11aOG++b+byiQ4N?UK~2z@PGwRjiB^NX-=3r z%_`(cekPlbm>xgy;F*Sbo^vJ0{wjHywJ);#Ki{ke?$k*hh0er8G zJb|xotesfiQ91rRN=%f0guipFm!;(9@v&N=cVfAAPR`mNE?=k45q&*0v5ef7Ix44~ zbIZ%s|A>B-zT|&eoU@-r9shWI;b;tBO2U^H@tlw6QhdEAD__Pm_7Y6!OcpZ2abHje8$-(Y0HXbhZffoYl)=!u&h`rLy?rkn6HSUWw~&=tH1>W)IW_Pzlx&hj{pr?qc94$ zH3}EV5C1UGqCkNH4f;X~7(o&AM}7oF+J4_Xb9e5Y-K8iwaa``r4*s;3S&Zq=NlYS8U*FI7-qy;u89aP2s4@xYZ64cwxxrDLFJ zx(&{+;M+|t!&Te}i0-2ek02Ad;m#-dG5nxX<$g=4zE(V%iw=PXY7c%e7UNyo;dfTJ znMm{6gK$o)r#!CW#m^OJ0?ms+dJVtmYsJstQi$l&<(8;oD}G9g@_x3XtDA$SZGhqh zn5ZQ!_p5qb%QoB|fnxIv^d2URS@b3+CIG>uYd)dtD%vao8XQiZ*i{a9HR?}|rRzqg z;W7u*8H{fh?&3OVoI{TRr7FMgiqs}%0Fx;77OwymvaRU4iUG>RD5HcH_y(?T0W6sp z>tR#TDNHis8p=|_VwHt-Rl`_DE5qc0WLoY~UiWL6DUP9bxvHdcxWQl!H|**h0)1o& z{h{i#sn4qVG}v$rcxN@W=kZAex~9iCfZsH#)nTw}AcK4JUPFn{c)zO^s6%`oy;bV~ zC|SZkRWjcObOdlkv2G2u^6gEOqSX#pZpZLzNYk%zUD9uF^L{ma`!{Ptj?HTwPz~D& z9!4;=b{R8c(`s-!?d!(&)FxwNU9+*J{S2OZn(a0g&2?i-@i?^Bjm?I~2<{5#v*2dN zb{y`bncSqV@!0Hs&Bo@ov1rJQ&Bo)1*tiGb4sbSweC%>-R57taIo#axw#(yKyH?So z1@Jls1O`-Bpx;ZlqPt_jwSv#omhZuLx-y1Q47FnXLVE+Pme3ye7=j#Vb&<`}USI>3 z4pddDjZjl$Y1FiJ^r?fn9}>Rfk|04Bt-9;KPGM97dKPmgAJTUJG)B0DF>PoqJEb{7 zhfaU9q+5)m?h3xs5x<0CagDl)fQBBF?b#nz9_vJUp>(Av{xs{Cgf`XXQl@hK%Ij$~ zifq7{4g6HMnH5}#(>LCPrpOA{tWi~$8=k947gHAIj1>cn1Lhn?D;{?MqcyAlHK#@` zq;Z3-zu5rUy>`7hCDsf|qU&eQXbrTraZ*c5xc#EmOq|>Totx>c+9hzZA>Sy*#L!f2 zcR5tE0DW$GMv57aEwawEnK_BM$-vizBy*BE1zC8+pkzhQTxoX!R-vp$(a)Z{>$rBO znt~1Gdfv2Gc&-w!hrrok*pe}&5oCg+FdAG3|xUBrb0^2S-SVaJP zz?fvZ3p;r-f~mrgn?WFhX?3_+%kxlAPNcdXopgOP%QUyDa|GWflM>Z62DL_t+gx|E zHdCg1yo`1<{-#Im+Uij&>mn4I!7G4^wMI!GS|vRx9;;OM6DUlonSNG@)z2!e^;-m9 zw_j3{>6eu1k(CiZu7Ss9WVLH+WVJHg<1|KfgX2oLSG%@)xMgLSb0+n;BtpL);YX(Q z(Ud2d8jbY@K%m()SZmi7)>>JKuwKBZXk59XRo#NqDchc6bjsUbOz6E1Y;0p)C$h9k zEZ$nBd&MLTp*NF<%znt?k@CJFiQB{sm_%rdQq>nLF8c6GKeXfGk)L9CvH07~TCR&} z*2qx?8%~QIZJ8M)CR4*c+N{oG8x}z=r9?+f4AA#|**;m`plB;S|&wSMhv^av1qJDcBJfj(=k&Tf-qnU+C zeslsReiY@n(JHR3n(9xdbRvP?f(B|?Pazr^PQVxfV~r%~?3mG{HjF~dC9J+}CEc#* z1dwY6>AMJ5R@YP|`qTj=g@zy`<|!o8!0dL6{#1PCE2t<}GxQii(8~$!ghkItfioE> z$v;jV$;fjo0#kgWs0Y(jucOT>vLBKG5gMiCe&DBaaU}uvOO~{q?W4649snOw<$M%{-(wt@-UFrG+pG3NJ?Zx3S*QBbdGFY zn+;+#92rm^)~~B5-_YD=|8!cb%hz#z6MAqG930f+zG>}okY29C(wLHKIckoyZ48xe z?>b%z2}EX?XaE_}F(X3USpx10j!iy zQdW8i;}VG`CA)?|DYeu{*O<6<9jB>$jAW*2k1@3_=oNu#jp2mLxbu}dLsP=F6!CB! zF^ILRjCD}&h`ov0d6Y_|OSep2N_m~&*fkFBGU?6M4eIx%>k8`kX~2>ATXy28t*R(g zsncy5+nXq3sIZ(+Mm<{q4)TLZU3<(nbPa2-Xc|X3rA^8xRyULA_gDLjhIx4U+9c>; z(v!wU_SA%uF^v61o%kJv8)yShaC922UO-!>+us0PGV68wrwQpgN;o&u&@Tq|G^-hF zS3>8{a6|Wdtqrt^b>Rw!yd^DoTT#T5M0GIn_8j~V1!Q2v-Z!|DVFm7I=I*~{aq^f|dm0oQ+ephq zp_wfwBS4wTjLnSKBo2Cxbyy>rY>iEj#0T!S6AcU@$AE!j`GCR*L}C`fBzBf#5R)>3 z*6UD1*#|Plfq6jsfANYYq7o6@!Z^kBur-YZF`A7ta!QsDhRqx~O%t zdERch4kdA&fn7Tep56xiTsSgwu3>e#ITdx~!)w$F~kkHZ1i>^Ew~&q|2YidjtvA?R2oOVuEtXGKn!U$AlbJCeJnn9k52< zTFW41GH#5;>ST$GSQ(|Y{MS*JKK4l+GLr}7idkVKbiyc?(P~sLye=j*)7Y_mxRz5h znXF_K<*jqEjFFGw9}_&BDU8(&kECuU(K~}fy)5G}*IX1%=tz^1n92QarmfS!#aOte zsi$3tG71CN76ZgOD1J56CGvnag%qW4s5Gf^N$M|J%P@{Apa@5c|e2 z8v7XRin0ClH4U+5vc5*Y%$#qmIc7K5)Haip+9x@NLA_d7hD8_u<<3Oap3Zm$TW_qt zf~~eKI9HJNwYIa^O-ZdM0MM{7lUr)}0ZT3L~A5sI?}!(L|n$SxGh@PaF6}i882V_CZ$E46=Fni`rv?c4{|uiTn^F3GOC` zo{h1U#L^V_H;z^lkQdi_bd5UrxhQ%zsmH@SL3UP(KAOb<&jymeOpDPTQ0p2QY0RYE z?(s4E#Au@9yC)n74O*?ESjrSz%Xnzu1nbhCsJC^KK{;VFP7_DrqBBh(3 z{KwBLRTwEA38{q=w=5}S0aH1&$(o$ zt8oNo4Z(P39Mj!h#lME63R5RE1hT~^J2N+RvV}F5VLoZHXz=7X_W{62kN8L)Me-Bw zXqiRl2{2N}xSPR~1RvZ*5%bLa2FFgw%o@<3tvhl0L6mU2kx5LM@H95uw@EW1ZUAK9 zh(X&5O^rC5HPej#IRaw=fm~z?5!K667w=v5VDp0j;lq8p&3u z^AEm%#Gs3~--KSu&XL+K=YZ(oB!5Khnpf(=gJY31a^xO$SK!s~VeLQ%X&k+J`N8pU z=P`v;!_dvWH-QoZYI&)aWx8B4v>B>F=!v9j6TA+ORMGXNga-v z4EHd4b60b=)>id%CsXzo$wO(Gg>4|KesYacXXquF@za`uCCq6qSGhx63p=a13lN)# zN(hxz9L4GaktDT=T+K-urlpzkW)yD^#O_PuTThh1W{9F1q|qW-CMj>0iy7n^iGrTj zTf(v#Pqh(;Y}RY8a7DS6bU#MGjJXNJFh`r7$|qZ6!k2v@{K?ACwl);w48ACNW+h1c z%#KhVo6BznM?B~jsS%W1GbwsIT!&2!tQq|s#>CZ|2(^0{aA%6d?>ZlY%D~2u0e7^>*VHv1DAly4bL*gVU@0!Jxab?DdhsW&@d4J+;hWS&11w zQfw4VZMV0PQ(vQ=G?pv1i810^i5uL_Zq-`GI5=L_XTH(2NVLSXjaWw>*fREB(p?l1 zVvHJ9X2V%^Q!%(9Y*D1g`vR=@8I;xzdp$p;{R}O-oGvm4@KV1l3gy-X%eauCepF%+$5 zhS{kmEH17XkV^PKyDuXqJP9Qj^3%!EQjql$n$WwEc1{4EwUlzUxCW>U;MrmcqT?0) zf>;2C0^ByH#UT!c;}RxF@Jw%HTL5yFiz72m7o!N*-Y~_)y8I$w(6NiO-3ciR3A2Eq zA~K_5_|C~=Y3!6XZT*dK3)DR-umoUGX zT4NucguJPCGm$)GGmVP0WKDpSSyUB+m6Xa99sNUX15^K#rxO0zt6Jz^Xpxfyf0h>tL@oA{p$4RSIrEsdjeC7 zwx8xi_F7cC#8O;}tL!Y@6P z`tiH}_D{3_G5H(6^OJ9f4}Z4NuUcZy3v$>Q%HvC^#LJLxej(0zp&t}_qDs{ZSsRsk z@t>X_6mxyiP!J8_8MsloRL$p=imI(qoR5aWQniHdeNnluRP7034=qsy3}IgRei-7L z@9)Hhlot)5RZFa*Wk8S0VIlT=d;5BGeLEH4kK~l#O*N;Y`5x?LAau|j!%JYE)gpL%7IX}9{f%qX|jO2=5SX3=x*xTESc3y9LvB*Br zbQoRM-Fpiv#}WXDE@QmD7xn^$hXGyA103K3>oQod;6;mi#IyNW^+n4;PgGs-qhO5Z~NXfcQtzjmvFlzjgx2MnW$Po8(H zHVt&ADphY2)MAia`=%nQzTKIW0d>_2irYNk2aAijPVh0n@Vt%=aDZ|S0JU2Mg(7$n z2B3*d3Uc5{z(I#Wfa@>-Gf)p^K(Oz2s1_e=crU7ccUy<90TaQDxATWQ;K_rm%HQP* z(Fpk!y&b)+2QU&oRLqI?*zX0>!9pm(5$SgoD6r?W<@BtC+RA4OF z1qB-kp^?BDb`}eM&{wLw7vKfW0RjJrDwcqnkRMR(urJpN)(6m7=xiHR%=g%#3))rd z4n$}iRo=_t$oUPyY!Y-{GAW>gZEqq}AAZU$SydWr5|I07pTL=Cy zCp}hC>Xr9H)l#Z_?jJPuc?rK!I5p z-3O@hqsqrgRU2n+i@W?N-DxG^ z0seI9old{d0k(M^Qd`m=AVIh7(fvF1(C+Gi0-s+9OT`*eLc$+O>L}uk^tEaxkU5>I z1ta+g11#Oy=LZmUC~U!?Ya^r4MB8?7f?Q$)wDfgL=pbPSzF$c6At*wSm3M%$P`Yz~ z47+mx)S{?YK464-1vALmk4F7?t9;0Bhp8|lP^FeW*aR9BnpavoTyHBG`kmnoniits^mIZklw;*4{KtF?!$aY}@+WY(_2Jy}ijEUb>YzM;R4^#pI z+yylBV(4pw8FUs~F?39`=yCwyFvi`AcGncOK%^sLB;Zw`p0#(e3v@NwS^zt3-!Rw# z(x4q+KIbkq5E=%;{0>DO!vBQeL_0f+c?zxa)2Q+@?R!MY(L?%mw8gby!avXfP>(SS zYkEv>{2Wf?PMLfk;oEt>y{vr%TSv3hfY}6dN7%t{?JAFN9m#jJ38e)^@$+^}AI>B; z1iMLGu~52Hy5#eX_%PgQ`q|Q@pmd3tIy$rlPX~Yg)}>b-J@zkmce)Ei_jldv>M^%k z7Esx3?n8|m*{L%wILwL*2V2|@*@!R;|Kz=zH^+3)?V25)yLFBSklP288V}a(@?7IC z%?Wb5KkIhC7bD!xXYbW{t5obsL&;`$d zxlM`~ye8cYt{Ef&<%i}EOB=g_zcWu%I4yR6xc-&qhn1cXfF?@b>|{}|+f-6rOq?(& zw8yO!#c`XoFm7(~_~!Esc3icv(1VYF3B&!A3egZ=WxUS&g-)8_5!zJ-&M+J>jd**X zZ+CNrz7Wl(dGRs6yvi^CTF^!~(0yR^Xd*t%6-sCEI)_H%cuna_xbuRJ?tC4sL}j1B z9(+3;60oA6KwA-=59o}iOJ^k{Ia@l%n5=Xbp)yS9S-wZ-X-8qRF*rnrgqkFqD1>o^;W@eh3R)yUy#-0B%uxo^}!=5z?nLf^g5VP>U}#-0wt-aH9OuOGgV{ zM$@D_n#QGZb2$)OmR+sHxvspEb>OvX+2Blws`vuGMne2gNRh8d<6 zM#tqG@Zc5Z0|X~`15X9e0Ht<98`PBlFrT12y1Ig=3*$*wxF<3m;kJ5f-9tMn43-Ou7*&Db6`{Kd) z$f3i>a4ybMkDWO5^unR1PR#WmnLV`7e{Al=;r`j9hmQ6iyK?O6{LyEQ96NsaFjiBZ zDjps<#D7W+pj&$H=fN80!GyTjJeA`i5~rT<)IL5mWW7Pl>4xhXu59-AxobIEF_)C?X@lT=Jx*e)fdYFPYd7?>?^x?Y5Nq84cC{m-C4X|{hFuN=sABdIcL;GkE9mWBych38{0VQ)WzK#b_14C%ZtK~GPgxm(t$J8lqRCqVxl!w!V0<1Q@kz&wgirug_*pGIU^h&~2C zTX6rx#N^3_v+irhz;*~p*#s60H^3oY_r6@j8KFJ7#*;SYrw}QnZrEhw8o;I-_em5E zZtn$*bLh`4y(P_&HH?>(U&A&Vyj+8_SbYx@eOU8`sai@;HsC2w?nranj%P29U{t)N z2mhV`CL5PXcOHGsFBpvk6e!}@#u7RRkJK6d@=Bz!l`%f6Wg}rDe^kPK`IJlKV{@4t v(=u`UW+juA%L(1bq^^0EQVvbrtDk1lgS^F_>OjBWJ^3J=f8FQ*I|u#`O(L!I literal 0 HcmV?d00001 diff --git a/Assets/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.dll.meta b/Assets/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.dll.meta new file mode 100644 index 0000000..53590f3 --- /dev/null +++ b/Assets/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.dll.meta @@ -0,0 +1,22 @@ +fileFormatVersion: 2 +guid: 45d5034162d6cf04dbe46da84fc7d074 +PluginImporter: + serializedVersion: 1 + iconMap: {} + executionOrder: {} + isPreloaded: 0 + platformData: + Any: + enabled: 0 + settings: {} + Editor: + enabled: 1 + settings: + DefaultValueInitialized: true + WindowsStoreApps: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Demigiant/DOTween/Editor/DOTweenUpgradeManager.XML b/Assets/Plugins/Demigiant/DOTween/Editor/DOTweenUpgradeManager.XML new file mode 100644 index 0000000..02c3c95 --- /dev/null +++ b/Assets/Plugins/Demigiant/DOTween/Editor/DOTweenUpgradeManager.XML @@ -0,0 +1,14 @@ + + + + DOTweenUpgradeManager + + + + + This class and its whole library are deleted the first time DOTween's setup is run after an upgrade (or after a new install). + NOTE: DidReloadScripts doesn't work on first install so it's useless, InitializeOnLoad is the only way + + + + diff --git a/Assets/Plugins/Demigiant/DOTween/Editor/DOTweenUpgradeManager.XML.meta b/Assets/Plugins/Demigiant/DOTween/Editor/DOTweenUpgradeManager.XML.meta new file mode 100644 index 0000000..a7f43a3 --- /dev/null +++ b/Assets/Plugins/Demigiant/DOTween/Editor/DOTweenUpgradeManager.XML.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 3df9fdaadcb4c394e826a4d8d20bb952 +TextScriptImporter: + userData: diff --git a/Assets/Plugins/Demigiant/DOTween/Editor/DOTweenUpgradeManager.dll b/Assets/Plugins/Demigiant/DOTween/Editor/DOTweenUpgradeManager.dll new file mode 100644 index 0000000000000000000000000000000000000000..ec5dd4c3d4f9034e0b9482b721febf8a8a4536e0 GIT binary patch literal 10752 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 H@xXrrfJ!8a literal 0 HcmV?d00001 diff --git a/Assets/Plugins/Demigiant/DOTween/Editor/DOTweenUpgradeManager.dll.meta b/Assets/Plugins/Demigiant/DOTween/Editor/DOTweenUpgradeManager.dll.meta new file mode 100644 index 0000000..c6717e9 --- /dev/null +++ b/Assets/Plugins/Demigiant/DOTween/Editor/DOTweenUpgradeManager.dll.meta @@ -0,0 +1,22 @@ +fileFormatVersion: 2 +guid: 2bf936a5d80799e4e88ec9270fea75a4 +PluginImporter: + serializedVersion: 1 + iconMap: {} + executionOrder: {} + isPreloaded: 0 + platformData: + Any: + enabled: 0 + settings: {} + Editor: + enabled: 1 + settings: + DefaultValueInitialized: true + WindowsStoreApps: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Demigiant/DOTween/Editor/Imgs.meta b/Assets/Plugins/Demigiant/DOTween/Editor/Imgs.meta new file mode 100644 index 0000000..a81ba5f --- /dev/null +++ b/Assets/Plugins/Demigiant/DOTween/Editor/Imgs.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 0034ebae0c2a9344e897db1160d71b6d +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/DOTweenIcon.png b/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/DOTweenIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..d06fc7c3e49fb705b19f50a23884e11e08fd6e89 GIT binary patch literal 1565 zcmV+&2IBdNP)pK&q+iZU-R{R_dCD)yXSsA=iKiWUaHS%xglyYZad)#h+<5;*}0 zNm4;#XNMU$Zj;|vsJ23aE-5O{$8uo1iN`?c(v%ev86gvrQJJtDUgxox^bsB@>w%Sv@Z{F3?7c1><;yj*g<&fQ;rHj}CCd5!B9uJ9iB}?8sX9 z0l}mbA`+6NSzvKr7orW|#Qq*|(_H8{K}SN-b6PMMr68BfK|728UnV4rbuENZG2Z=Z5Wu9k@Z ztFhSr_^u&Go2vR`!G?lmnDf^U%@^vc&8BfCWA&5;S^i0KcuQ?}kJ(Z3^ukf69xF;y zhTjIduJg}*jhXlo$g+|CIjkSftK3odtF^Ij{rKV$Cnn9$)I>`OWpR2BZvMLfc!?KG z`Ygj57^xT!Rkoeb;;a>--p1*pKcW45EApC=r9;lR-6-kL1bPPs&3JrJ`3>IVgWG}u zrp-R@PdWz2X;89OBJXFclQSuKH%hu+=km#Rb8S^yF>)=)yvW|npJ`O9bTXp9hsHlb znp{n43g)Eywa^bS0=L=}#fV_6`pc{T=00UOIql`_gv<&0h%GG1sFbh_*L zqP^;2G6HL$uEjx);7q^Pe;Vac1Sb6of8vi>KZaIU-M!xHLy7h)J?TTTtlXuy)v(S-r9V9I7cw) zBJ@dWbWCbJy!KBwxl~8X#1q??E z(FRaBcRnf^OG3xEWE{XiDJhYPVBV54Q*B2`fK%)r4bJp zv@(2PX=l*%^bG!@&}Ku`gi%4ta5WNM0#2BfuE7?N_gS0ljFV#0yW1U1N=~9Q$*7V9 zs*5|&bg|QQt;WLQDrER5jfAhm2W6wJag5au!96_|(2Th-DB`E<_rUdkM#GW4COG!3 z`K~-?KL;C^l|r|5RUE^pEPvtTLR^K!B04D#hpLNGOCz;*Z|Rx&7b{!rLVU{NI)eH5 zyg0@a6A$elUi>gA6@P$cWD53gSzVnTr*}j6sd4;47Sd19E6U{>QXP%UxLJ2^hjTS@ z6ZIq2+r)$@>IAiS(jN5U4r-m;p98e&wn5+}NTri*S7~M1@c0mh@Mz$FrSMzj$u5?< P00000NkvXXu0mjftl$Bl literal 0 HcmV?d00001 diff --git a/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/DOTweenIcon.png.meta b/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/DOTweenIcon.png.meta new file mode 100644 index 0000000..61c3cce --- /dev/null +++ b/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/DOTweenIcon.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 8da095e39e9b4df488dfd436f81116d6 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 128 + textureSettings: + filterMode: 1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/DOTweenMiniIcon.png b/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/DOTweenMiniIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..7cd74c1a26df1a45564c7a0e21c62d0ef3af2fd1 GIT binary patch literal 319 zcmeAS@N?(olHy`uVBq!ia0vp^oFL4>1|%O$WD@{!3Opi<85sBugD~Uq{1quc!H=FU zjv*3LlT#WP(iF^Cl2R3(u|Mi}s1fft&-^joZ3WZ(2Ug1Y!S$8-a*li}_21XqSnvJ# z@Y+`2=i8W`Zfg*cV81TuZmqUr`JI~8M}9x(m1v%HMLo`ySuokJ?%Vq7{C4$+ST-HH z5`RuO<@s#=8XoVy+lF)YEaxg?4vAr1(jlM1>Tx0PF<0}pFUf679a{7Ee==}5`qQz? zuIUa#(3byge21?t-^6oqTDwHc&iz0s`zDdQwtGKbESsPtIM1KwqFB4+nW=frYn!|7 zvs(U9y->(A=TFZ3t)>6Hv^;B{u+A(fd3smW;eIaTDS0KOITHVv7#gf%Y$mkMJ`MCd NgQu&X%Q~loCICTRfS>>X literal 0 HcmV?d00001 diff --git a/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/DOTweenMiniIcon.png.meta b/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/DOTweenMiniIcon.png.meta new file mode 100644 index 0000000..c343a61 --- /dev/null +++ b/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/DOTweenMiniIcon.png.meta @@ -0,0 +1,68 @@ +fileFormatVersion: 2 +guid: 61521df2e071645488ba3d05e49289ae +timeCreated: 1602317874 +licenseType: Store +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/Footer.png b/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/Footer.png new file mode 100644 index 0000000000000000000000000000000000000000..e29d02fe18b777b1d316feb647b339803c5126de GIT binary patch literal 4409 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 literal 0 HcmV?d00001 diff --git a/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/Footer.png.meta b/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/Footer.png.meta new file mode 100644 index 0000000..7ca1911 --- /dev/null +++ b/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/Footer.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 7051dba417b3d53409f2918f1ea4938d +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: 1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/Footer_dark.png b/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/Footer_dark.png new file mode 100644 index 0000000000000000000000000000000000000000..e48db5ef7a2b83eff50d6e3b5fe9ba3bcd4a5015 GIT binary patch literal 4429 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 TqmFO~00000NkvXXu0mjf{EM6C literal 0 HcmV?d00001 diff --git a/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/Footer_dark.png.meta b/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/Footer_dark.png.meta new file mode 100644 index 0000000..f12a1a7 --- /dev/null +++ b/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/Footer_dark.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 519694efe2bb2914788b151fbd8c01f4 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/Header.jpg b/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/Header.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4d710d719075150879b1ee76680af87791c4d3b3 GIT binary patch literal 22787 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 QE#Li`lK-oJv9mh=KQ4fgsQ>@~ literal 0 HcmV?d00001 diff --git a/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/Header.jpg.meta b/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/Header.jpg.meta new file mode 100644 index 0000000..26e4255 --- /dev/null +++ b/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/Header.jpg.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 78a59ca99f8987941adb61f9e14a06a7 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 512 + textureSettings: + filterMode: 1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Plugins/Demigiant/DOTween/Modules.meta b/Assets/Plugins/Demigiant/DOTween/Modules.meta new file mode 100644 index 0000000..24cd2ac --- /dev/null +++ b/Assets/Plugins/Demigiant/DOTween/Modules.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 143604b8bad857d47a6f7cc7a533e2dc +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleAudio.cs b/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleAudio.cs new file mode 100644 index 0000000..d958ae0 --- /dev/null +++ b/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleAudio.cs @@ -0,0 +1,198 @@ +// Author: Daniele Giardini - http://www.demigiant.com +// Created: 2018/07/13 + +#if true // MODULE_MARKER +using System; +using DG.Tweening.Core; +using DG.Tweening.Plugins.Options; +using UnityEngine; +using UnityEngine.Audio; // Required for AudioMixer + +#pragma warning disable 1591 +namespace DG.Tweening +{ + public static class DOTweenModuleAudio + { + #region Shortcuts + + #region Audio + + /// Tweens an AudioSource's volume to the given value. + /// Also stores the AudioSource as the tween's target so it can be used for filtered operations + /// The end value to reach (0 to 1)The duration of the tween + public static TweenerCore DOFade(this AudioSource target, float endValue, float duration) + { + if (endValue < 0) endValue = 0; + else if (endValue > 1) endValue = 1; + TweenerCore t = DOTween.To(() => target.volume, x => target.volume = x, endValue, duration); + t.SetTarget(target); + return t; + } + + /// Tweens an AudioSource's pitch to the given value. + /// Also stores the AudioSource as the tween's target so it can be used for filtered operations + /// The end value to reachThe duration of the tween + public static TweenerCore DOPitch(this AudioSource target, float endValue, float duration) + { + TweenerCore t = DOTween.To(() => target.pitch, x => target.pitch = x, endValue, duration); + t.SetTarget(target); + return t; + } + + #endregion + + #region AudioMixer + + /// Tweens an AudioMixer's exposed float to the given value. + /// Also stores the AudioMixer as the tween's target so it can be used for filtered operations. + /// Note that you need to manually expose a float in an AudioMixerGroup in order to be able to tween it from an AudioMixer. + /// Name given to the exposed float to set + /// The end value to reachThe duration of the tween + public static TweenerCore DOSetFloat(this AudioMixer target, string floatName, float endValue, float duration) + { + TweenerCore t = DOTween.To(()=> { + float currVal; + target.GetFloat(floatName, out currVal); + return currVal; + }, x=> target.SetFloat(floatName, x), endValue, duration); + t.SetTarget(target); + return t; + } + + #region Operation Shortcuts + + /// + /// Completes all tweens that have this target as a reference + /// (meaning tweens that were started from this target, or that had this target added as an Id) + /// and returns the total number of tweens completed + /// (meaning the tweens that don't have infinite loops and were not already complete) + /// + /// For Sequences only: if TRUE also internal Sequence callbacks will be fired, + /// otherwise they will be ignored + public static int DOComplete(this AudioMixer target, bool withCallbacks = false) + { + return DOTween.Complete(target, withCallbacks); + } + + /// + /// Kills all tweens that have this target as a reference + /// (meaning tweens that were started from this target, or that had this target added as an Id) + /// and returns the total number of tweens killed. + /// + /// If TRUE completes the tween before killing it + public static int DOKill(this AudioMixer target, bool complete = false) + { + return DOTween.Kill(target, complete); + } + + /// + /// Flips the direction (backwards if it was going forward or viceversa) of all tweens that have this target as a reference + /// (meaning tweens that were started from this target, or that had this target added as an Id) + /// and returns the total number of tweens flipped. + /// + public static int DOFlip(this AudioMixer target) + { + return DOTween.Flip(target); + } + + /// + /// Sends to the given position all tweens that have this target as a reference + /// (meaning tweens that were started from this target, or that had this target added as an Id) + /// and returns the total number of tweens involved. + /// + /// Time position to reach + /// (if higher than the whole tween duration the tween will simply reach its end) + /// If TRUE will play the tween after reaching the given position, otherwise it will pause it + public static int DOGoto(this AudioMixer target, float to, bool andPlay = false) + { + return DOTween.Goto(target, to, andPlay); + } + + /// + /// Pauses all tweens that have this target as a reference + /// (meaning tweens that were started from this target, or that had this target added as an Id) + /// and returns the total number of tweens paused. + /// + public static int DOPause(this AudioMixer target) + { + return DOTween.Pause(target); + } + + /// + /// Plays all tweens that have this target as a reference + /// (meaning tweens that were started from this target, or that had this target added as an Id) + /// and returns the total number of tweens played. + /// + public static int DOPlay(this AudioMixer target) + { + return DOTween.Play(target); + } + + /// + /// Plays backwards all tweens that have this target as a reference + /// (meaning tweens that were started from this target, or that had this target added as an Id) + /// and returns the total number of tweens played. + /// + public static int DOPlayBackwards(this AudioMixer target) + { + return DOTween.PlayBackwards(target); + } + + /// + /// Plays forward all tweens that have this target as a reference + /// (meaning tweens that were started from this target, or that had this target added as an Id) + /// and returns the total number of tweens played. + /// + public static int DOPlayForward(this AudioMixer target) + { + return DOTween.PlayForward(target); + } + + /// + /// Restarts all tweens that have this target as a reference + /// (meaning tweens that were started from this target, or that had this target added as an Id) + /// and returns the total number of tweens restarted. + /// + public static int DORestart(this AudioMixer target) + { + return DOTween.Restart(target); + } + + /// + /// Rewinds all tweens that have this target as a reference + /// (meaning tweens that were started from this target, or that had this target added as an Id) + /// and returns the total number of tweens rewinded. + /// + public static int DORewind(this AudioMixer target) + { + return DOTween.Rewind(target); + } + + /// + /// Smoothly rewinds all tweens that have this target as a reference + /// (meaning tweens that were started from this target, or that had this target added as an Id) + /// and returns the total number of tweens rewinded. + /// + public static int DOSmoothRewind(this AudioMixer target) + { + return DOTween.SmoothRewind(target); + } + + /// + /// Toggles the paused state (plays if it was paused, pauses if it was playing) of all tweens that have this target as a reference + /// (meaning tweens that were started from this target, or that had this target added as an Id) + /// and returns the total number of tweens involved. + /// + public static int DOTogglePause(this AudioMixer target) + { + return DOTween.TogglePause(target); + } + + #endregion + + #endregion + + #endregion + } +} +#endif diff --git a/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleAudio.cs.meta b/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleAudio.cs.meta new file mode 100644 index 0000000..50aa010 --- /dev/null +++ b/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleAudio.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b766d08851589514b97afb23c6f30a70 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleEPOOutline.cs b/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleEPOOutline.cs new file mode 100644 index 0000000..2ab3775 --- /dev/null +++ b/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleEPOOutline.cs @@ -0,0 +1,146 @@ +using UnityEngine; + +#if false || EPO_DOTWEEN // MODULE_MARKER + +using EPOOutline; +using DG.Tweening.Plugins.Options; +using DG.Tweening; +using DG.Tweening.Core; + +namespace DG.Tweening +{ + public static class DOTweenModuleEPOOutline + { + public static int DOKill(this SerializedPass target, bool complete) + { + return DOTween.Kill(target, complete); + } + + public static TweenerCore DOFloat(this SerializedPass target, string propertyName, float endValue, float duration) + { + var tweener = DOTween.To(() => target.GetFloat(propertyName), x => target.SetFloat(propertyName, x), endValue, duration); + tweener.SetOptions(true).SetTarget(target); + return tweener; + } + + public static TweenerCore DOFade(this SerializedPass target, string propertyName, float endValue, float duration) + { + var tweener = DOTween.ToAlpha(() => target.GetColor(propertyName), x => target.SetColor(propertyName, x), endValue, duration); + tweener.SetOptions(true).SetTarget(target); + return tweener; + } + + public static TweenerCore DOColor(this SerializedPass target, string propertyName, Color endValue, float duration) + { + var tweener = DOTween.To(() => target.GetColor(propertyName), x => target.SetColor(propertyName, x), endValue, duration); + tweener.SetOptions(false).SetTarget(target); + return tweener; + } + + public static TweenerCore DOVector(this SerializedPass target, string propertyName, Vector4 endValue, float duration) + { + var tweener = DOTween.To(() => target.GetVector(propertyName), x => target.SetVector(propertyName, x), endValue, duration); + tweener.SetOptions(false).SetTarget(target); + return tweener; + } + + public static TweenerCore DOFloat(this SerializedPass target, int propertyId, float endValue, float duration) + { + var tweener = DOTween.To(() => target.GetFloat(propertyId), x => target.SetFloat(propertyId, x), endValue, duration); + tweener.SetOptions(true).SetTarget(target); + return tweener; + } + + public static TweenerCore DOFade(this SerializedPass target, int propertyId, float endValue, float duration) + { + var tweener = DOTween.ToAlpha(() => target.GetColor(propertyId), x => target.SetColor(propertyId, x), endValue, duration); + tweener.SetOptions(true).SetTarget(target); + return tweener; + } + + public static TweenerCore DOColor(this SerializedPass target, int propertyId, Color endValue, float duration) + { + var tweener = DOTween.To(() => target.GetColor(propertyId), x => target.SetColor(propertyId, x), endValue, duration); + tweener.SetOptions(false).SetTarget(target); + return tweener; + } + + public static TweenerCore DOVector(this SerializedPass target, int propertyId, Vector4 endValue, float duration) + { + var tweener = DOTween.To(() => target.GetVector(propertyId), x => target.SetVector(propertyId, x), endValue, duration); + tweener.SetOptions(false).SetTarget(target); + return tweener; + } + + public static int DOKill(this Outlinable.OutlineProperties target, bool complete = false) + { + return DOTween.Kill(target, complete); + } + + public static int DOKill(this Outliner target, bool complete = false) + { + return DOTween.Kill(target, complete); + } + + /// + /// Controls the alpha (transparency) of the outline + /// + public static TweenerCore DOFade(this Outlinable.OutlineProperties target, float endValue, float duration) + { + var tweener = DOTween.ToAlpha(() => target.Color, x => target.Color = x, endValue, duration); + tweener.SetOptions(true).SetTarget(target); + return tweener; + } + + /// + /// Controls the color of the outline + /// + public static TweenerCore DOColor(this Outlinable.OutlineProperties target, Color endValue, float duration) + { + var tweener = DOTween.To(() => target.Color, x => target.Color = x, endValue, duration); + tweener.SetOptions(false).SetTarget(target); + return tweener; + } + + /// + /// Controls the amount of blur applied to the outline + /// + public static TweenerCore DOBlurShift(this Outlinable.OutlineProperties target, float endValue, float duration, bool snapping = false) + { + var tweener = DOTween.To(() => target.BlurShift, x => target.BlurShift = x, endValue, duration); + tweener.SetOptions(snapping).SetTarget(target); + return tweener; + } + + /// + /// Controls the amount of blur applied to the outline + /// + public static TweenerCore DOBlurShift(this Outliner target, float endValue, float duration, bool snapping = false) + { + var tweener = DOTween.To(() => target.BlurShift, x => target.BlurShift = x, endValue, duration); + tweener.SetOptions(snapping).SetTarget(target); + return tweener; + } + + /// + /// Controls the amount of dilation applied to the outline + /// + public static TweenerCore DODilateShift(this Outlinable.OutlineProperties target, float endValue, float duration, bool snapping = false) + { + var tweener = DOTween.To(() => target.DilateShift, x => target.DilateShift = x, endValue, duration); + tweener.SetOptions(snapping).SetTarget(target); + return tweener; + } + + /// + /// Controls the amount of dilation applied to the outline + /// + public static TweenerCore DODilateShift(this Outliner target, float endValue, float duration, bool snapping = false) + { + var tweener = DOTween.To(() => target.DilateShift, x => target.DilateShift = x, endValue, duration); + tweener.SetOptions(snapping).SetTarget(target); + return tweener; + } + } +} +#endif diff --git a/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleEPOOutline.cs.meta b/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleEPOOutline.cs.meta new file mode 100644 index 0000000..4b8991f --- /dev/null +++ b/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleEPOOutline.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: e944529dcaee98f4e9498d80e541d93e +timeCreated: 1602593330 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModulePhysics.cs b/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModulePhysics.cs new file mode 100644 index 0000000..08b0700 --- /dev/null +++ b/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModulePhysics.cs @@ -0,0 +1,216 @@ +// Author: Daniele Giardini - http://www.demigiant.com +// Created: 2018/07/13 + +#if true // MODULE_MARKER +using System; +using DG.Tweening.Core; +using DG.Tweening.Core.Enums; +using DG.Tweening.Plugins; +using DG.Tweening.Plugins.Core.PathCore; +using DG.Tweening.Plugins.Options; +using UnityEngine; + +#pragma warning disable 1591 +namespace DG.Tweening +{ + public static class DOTweenModulePhysics + { + #region Shortcuts + + #region Rigidbody + + /// Tweens a Rigidbody's position to the given value. + /// Also stores the rigidbody as the tween's target so it can be used for filtered operations + /// The end value to reachThe duration of the tween + /// If TRUE the tween will smoothly snap all values to integers + public static TweenerCore DOMove(this Rigidbody target, Vector3 endValue, float duration, bool snapping = false) + { + TweenerCore t = DOTween.To(() => target.position, target.MovePosition, endValue, duration); + t.SetOptions(snapping).SetTarget(target); + return t; + } + + /// Tweens a Rigidbody's X position to the given value. + /// Also stores the rigidbody as the tween's target so it can be used for filtered operations + /// The end value to reachThe duration of the tween + /// If TRUE the tween will smoothly snap all values to integers + public static TweenerCore DOMoveX(this Rigidbody target, float endValue, float duration, bool snapping = false) + { + TweenerCore t = DOTween.To(() => target.position, target.MovePosition, new Vector3(endValue, 0, 0), duration); + t.SetOptions(AxisConstraint.X, snapping).SetTarget(target); + return t; + } + + /// Tweens a Rigidbody's Y position to the given value. + /// Also stores the rigidbody as the tween's target so it can be used for filtered operations + /// The end value to reachThe duration of the tween + /// If TRUE the tween will smoothly snap all values to integers + public static TweenerCore DOMoveY(this Rigidbody target, float endValue, float duration, bool snapping = false) + { + TweenerCore t = DOTween.To(() => target.position, target.MovePosition, new Vector3(0, endValue, 0), duration); + t.SetOptions(AxisConstraint.Y, snapping).SetTarget(target); + return t; + } + + /// Tweens a Rigidbody's Z position to the given value. + /// Also stores the rigidbody as the tween's target so it can be used for filtered operations + /// The end value to reachThe duration of the tween + /// If TRUE the tween will smoothly snap all values to integers + public static TweenerCore DOMoveZ(this Rigidbody target, float endValue, float duration, bool snapping = false) + { + TweenerCore t = DOTween.To(() => target.position, target.MovePosition, new Vector3(0, 0, endValue), duration); + t.SetOptions(AxisConstraint.Z, snapping).SetTarget(target); + return t; + } + + /// Tweens a Rigidbody's rotation to the given value. + /// Also stores the rigidbody as the tween's target so it can be used for filtered operations + /// The end value to reachThe duration of the tween + /// Rotation mode + public static TweenerCore DORotate(this Rigidbody target, Vector3 endValue, float duration, RotateMode mode = RotateMode.Fast) + { + TweenerCore t = DOTween.To(() => target.rotation, target.MoveRotation, endValue, duration); + t.SetTarget(target); + t.plugOptions.rotateMode = mode; + return t; + } + + /// Tweens a Rigidbody's rotation so that it will look towards the given position. + /// Also stores the rigidbody as the tween's target so it can be used for filtered operations + /// The position to look atThe duration of the tween + /// Eventual axis constraint for the rotation + /// The vector that defines in which direction up is (default: Vector3.up) + public static TweenerCore DOLookAt(this Rigidbody target, Vector3 towards, float duration, AxisConstraint axisConstraint = AxisConstraint.None, Vector3? up = null) + { + TweenerCore t = DOTween.To(() => target.rotation, target.MoveRotation, towards, duration) + .SetTarget(target).SetSpecialStartupMode(SpecialStartupMode.SetLookAt); + t.plugOptions.axisConstraint = axisConstraint; + t.plugOptions.up = (up == null) ? Vector3.up : (Vector3)up; + return t; + } + + #region Special + + /// Tweens a Rigidbody's position to the given value, while also applying a jump effect along the Y axis. + /// Returns a Sequence instead of a Tweener. + /// Also stores the Rigidbody as the tween's target so it can be used for filtered operations + /// The end value to reach + /// Power of the jump (the max height of the jump is represented by this plus the final Y offset) + /// Total number of jumps + /// The duration of the tween + /// If TRUE the tween will smoothly snap all values to integers + public static Sequence DOJump(this Rigidbody target, Vector3 endValue, float jumpPower, int numJumps, float duration, bool snapping = false) + { + if (numJumps < 1) numJumps = 1; + float startPosY = 0; + float offsetY = -1; + bool offsetYSet = false; + Sequence s = DOTween.Sequence(); + Tween yTween = DOTween.To(() => target.position, target.MovePosition, new Vector3(0, jumpPower, 0), duration / (numJumps * 2)) + .SetOptions(AxisConstraint.Y, snapping).SetEase(Ease.OutQuad).SetRelative() + .SetLoops(numJumps * 2, LoopType.Yoyo) + .OnStart(() => startPosY = target.position.y); + s.Append(DOTween.To(() => target.position, target.MovePosition, new Vector3(endValue.x, 0, 0), duration) + .SetOptions(AxisConstraint.X, snapping).SetEase(Ease.Linear) + ).Join(DOTween.To(() => target.position, target.MovePosition, new Vector3(0, 0, endValue.z), duration) + .SetOptions(AxisConstraint.Z, snapping).SetEase(Ease.Linear) + ).Join(yTween) + .SetTarget(target).SetEase(DOTween.defaultEaseType); + yTween.OnUpdate(() => { + if (!offsetYSet) { + offsetYSet = true; + offsetY = s.isRelative ? endValue.y : endValue.y - startPosY; + } + Vector3 pos = target.position; + pos.y += DOVirtual.EasedValue(0, offsetY, yTween.ElapsedPercentage(), Ease.OutQuad); + target.MovePosition(pos); + }); + return s; + } + + /// Tweens a Rigidbody's position through the given path waypoints, using the chosen path algorithm. + /// Also stores the Rigidbody as the tween's target so it can be used for filtered operations. + /// NOTE: to tween a rigidbody correctly it should be set to kinematic at least while being tweened. + /// BEWARE: doesn't work on Windows Phone store (waiting for Unity to fix their own bug). + /// If you plan to publish there you should use a regular transform.DOPath. + /// The waypoints to go through + /// The duration of the tween + /// The type of path: Linear (straight path), CatmullRom (curved CatmullRom path) or CubicBezier (curved with control points) + /// The path mode: 3D, side-scroller 2D, top-down 2D + /// The resolution of the path (useless in case of Linear paths): higher resolutions make for more detailed curved paths but are more expensive. + /// Defaults to 10, but a value of 5 is usually enough if you don't have dramatic long curves between waypoints + /// The color of the path (shown when gizmos are active in the Play panel and the tween is running) + public static TweenerCore DOPath( + this Rigidbody target, Vector3[] path, float duration, PathType pathType = PathType.Linear, + PathMode pathMode = PathMode.Full3D, int resolution = 10, Color? gizmoColor = null + ) + { + if (resolution < 1) resolution = 1; + TweenerCore t = DOTween.To(PathPlugin.Get(), () => target.position, target.MovePosition, new Path(pathType, path, resolution, gizmoColor), duration) + .SetTarget(target).SetUpdate(UpdateType.Fixed); + + t.plugOptions.isRigidbody = true; + t.plugOptions.mode = pathMode; + return t; + } + /// Tweens a Rigidbody's localPosition through the given path waypoints, using the chosen path algorithm. + /// Also stores the Rigidbody as the tween's target so it can be used for filtered operations + /// NOTE: to tween a rigidbody correctly it should be set to kinematic at least while being tweened. + /// BEWARE: doesn't work on Windows Phone store (waiting for Unity to fix their own bug). + /// If you plan to publish there you should use a regular transform.DOLocalPath. + /// The waypoint to go through + /// The duration of the tween + /// The type of path: Linear (straight path), CatmullRom (curved CatmullRom path) or CubicBezier (curved with control points) + /// The path mode: 3D, side-scroller 2D, top-down 2D + /// The resolution of the path: higher resolutions make for more detailed curved paths but are more expensive. + /// Defaults to 10, but a value of 5 is usually enough if you don't have dramatic long curves between waypoints + /// The color of the path (shown when gizmos are active in the Play panel and the tween is running) + public static TweenerCore DOLocalPath( + this Rigidbody target, Vector3[] path, float duration, PathType pathType = PathType.Linear, + PathMode pathMode = PathMode.Full3D, int resolution = 10, Color? gizmoColor = null + ) + { + if (resolution < 1) resolution = 1; + Transform trans = target.transform; + TweenerCore t = DOTween.To(PathPlugin.Get(), () => trans.localPosition, x => target.MovePosition(trans.parent == null ? x : trans.parent.TransformPoint(x)), new Path(pathType, path, resolution, gizmoColor), duration) + .SetTarget(target).SetUpdate(UpdateType.Fixed); + + t.plugOptions.isRigidbody = true; + t.plugOptions.mode = pathMode; + t.plugOptions.useLocalPosition = true; + return t; + } + // Used by path editor when creating the actual tween, so it can pass a pre-compiled path + internal static TweenerCore DOPath( + this Rigidbody target, Path path, float duration, PathMode pathMode = PathMode.Full3D + ) + { + TweenerCore t = DOTween.To(PathPlugin.Get(), () => target.position, target.MovePosition, path, duration) + .SetTarget(target); + + t.plugOptions.isRigidbody = true; + t.plugOptions.mode = pathMode; + return t; + } + internal static TweenerCore DOLocalPath( + this Rigidbody target, Path path, float duration, PathMode pathMode = PathMode.Full3D + ) + { + Transform trans = target.transform; + TweenerCore t = DOTween.To(PathPlugin.Get(), () => trans.localPosition, x => target.MovePosition(trans.parent == null ? x : trans.parent.TransformPoint(x)), path, duration) + .SetTarget(target); + + t.plugOptions.isRigidbody = true; + t.plugOptions.mode = pathMode; + t.plugOptions.useLocalPosition = true; + return t; + } + + #endregion + + #endregion + + #endregion + } +} +#endif diff --git a/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModulePhysics.cs.meta b/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModulePhysics.cs.meta new file mode 100644 index 0000000..0ce0d75 --- /dev/null +++ b/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModulePhysics.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: dae9aa560b4242648a3affa2bfabc365 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModulePhysics2D.cs b/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModulePhysics2D.cs new file mode 100644 index 0000000..8ce2b56 --- /dev/null +++ b/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModulePhysics2D.cs @@ -0,0 +1,193 @@ +// Author: Daniele Giardini - http://www.demigiant.com +// Created: 2018/07/13 + +#if true // MODULE_MARKER +using System; +using DG.Tweening.Core; +using DG.Tweening.Plugins; +using DG.Tweening.Plugins.Core.PathCore; +using DG.Tweening.Plugins.Options; +using UnityEngine; + +#pragma warning disable 1591 +namespace DG.Tweening +{ + public static class DOTweenModulePhysics2D + { + #region Shortcuts + + #region Rigidbody2D Shortcuts + + /// Tweens a Rigidbody2D's position to the given value. + /// Also stores the Rigidbody2D as the tween's target so it can be used for filtered operations + /// The end value to reachThe duration of the tween + /// If TRUE the tween will smoothly snap all values to integers + public static TweenerCore DOMove(this Rigidbody2D target, Vector2 endValue, float duration, bool snapping = false) + { + TweenerCore t = DOTween.To(() => target.position, target.MovePosition, endValue, duration); + t.SetOptions(snapping).SetTarget(target); + return t; + } + + /// Tweens a Rigidbody2D's X position to the given value. + /// Also stores the Rigidbody2D as the tween's target so it can be used for filtered operations + /// The end value to reachThe duration of the tween + /// If TRUE the tween will smoothly snap all values to integers + public static TweenerCore DOMoveX(this Rigidbody2D target, float endValue, float duration, bool snapping = false) + { + TweenerCore t = DOTween.To(() => target.position, target.MovePosition, new Vector2(endValue, 0), duration); + t.SetOptions(AxisConstraint.X, snapping).SetTarget(target); + return t; + } + + /// Tweens a Rigidbody2D's Y position to the given value. + /// Also stores the Rigidbody2D as the tween's target so it can be used for filtered operations + /// The end value to reachThe duration of the tween + /// If TRUE the tween will smoothly snap all values to integers + public static TweenerCore DOMoveY(this Rigidbody2D target, float endValue, float duration, bool snapping = false) + { + TweenerCore t = DOTween.To(() => target.position, target.MovePosition, new Vector2(0, endValue), duration); + t.SetOptions(AxisConstraint.Y, snapping).SetTarget(target); + return t; + } + + /// Tweens a Rigidbody2D's rotation to the given value. + /// Also stores the Rigidbody2D as the tween's target so it can be used for filtered operations + /// The end value to reachThe duration of the tween + public static TweenerCore DORotate(this Rigidbody2D target, float endValue, float duration) + { + TweenerCore t = DOTween.To(() => target.rotation, target.MoveRotation, endValue, duration); + t.SetTarget(target); + return t; + } + + #region Special + + /// Tweens a Rigidbody2D's position to the given value, while also applying a jump effect along the Y axis. + /// Returns a Sequence instead of a Tweener. + /// Also stores the Rigidbody2D as the tween's target so it can be used for filtered operations. + /// IMPORTANT: a rigidbody2D can't be animated in a jump arc using MovePosition, so the tween will directly set the position + /// The end value to reach + /// Power of the jump (the max height of the jump is represented by this plus the final Y offset) + /// Total number of jumps + /// The duration of the tween + /// If TRUE the tween will smoothly snap all values to integers + public static Sequence DOJump(this Rigidbody2D target, Vector2 endValue, float jumpPower, int numJumps, float duration, bool snapping = false) + { + if (numJumps < 1) numJumps = 1; + float startPosY = 0; + float offsetY = -1; + bool offsetYSet = false; + Sequence s = DOTween.Sequence(); + Tween yTween = DOTween.To(() => target.position, x => target.position = x, new Vector2(0, jumpPower), duration / (numJumps * 2)) + .SetOptions(AxisConstraint.Y, snapping).SetEase(Ease.OutQuad).SetRelative() + .SetLoops(numJumps * 2, LoopType.Yoyo) + .OnStart(() => startPosY = target.position.y); + s.Append(DOTween.To(() => target.position, x => target.position = x, new Vector2(endValue.x, 0), duration) + .SetOptions(AxisConstraint.X, snapping).SetEase(Ease.Linear) + ).Join(yTween) + .SetTarget(target).SetEase(DOTween.defaultEaseType); + yTween.OnUpdate(() => { + if (!offsetYSet) { + offsetYSet = true; + offsetY = s.isRelative ? endValue.y : endValue.y - startPosY; + } + Vector3 pos = target.position; + pos.y += DOVirtual.EasedValue(0, offsetY, yTween.ElapsedPercentage(), Ease.OutQuad); + target.MovePosition(pos); + }); + return s; + } + + /// Tweens a Rigidbody2D's position through the given path waypoints, using the chosen path algorithm. + /// Also stores the Rigidbody2D as the tween's target so it can be used for filtered operations. + /// NOTE: to tween a Rigidbody2D correctly it should be set to kinematic at least while being tweened. + /// BEWARE: doesn't work on Windows Phone store (waiting for Unity to fix their own bug). + /// If you plan to publish there you should use a regular transform.DOPath. + /// The waypoints to go through + /// The duration of the tween + /// The type of path: Linear (straight path), CatmullRom (curved CatmullRom path) or CubicBezier (curved with control points) + /// The path mode: 3D, side-scroller 2D, top-down 2D + /// The resolution of the path (useless in case of Linear paths): higher resolutions make for more detailed curved paths but are more expensive. + /// Defaults to 10, but a value of 5 is usually enough if you don't have dramatic long curves between waypoints + /// The color of the path (shown when gizmos are active in the Play panel and the tween is running) + public static TweenerCore DOPath( + this Rigidbody2D target, Vector2[] path, float duration, PathType pathType = PathType.Linear, + PathMode pathMode = PathMode.Full3D, int resolution = 10, Color? gizmoColor = null + ) + { + if (resolution < 1) resolution = 1; + int len = path.Length; + Vector3[] path3D = new Vector3[len]; + for (int i = 0; i < len; ++i) path3D[i] = path[i]; + TweenerCore t = DOTween.To(PathPlugin.Get(), () => target.position, x => target.MovePosition(x), new Path(pathType, path3D, resolution, gizmoColor), duration) + .SetTarget(target).SetUpdate(UpdateType.Fixed); + + t.plugOptions.isRigidbody2D = true; + t.plugOptions.mode = pathMode; + return t; + } + /// Tweens a Rigidbody2D's localPosition through the given path waypoints, using the chosen path algorithm. + /// Also stores the Rigidbody2D as the tween's target so it can be used for filtered operations + /// NOTE: to tween a Rigidbody2D correctly it should be set to kinematic at least while being tweened. + /// BEWARE: doesn't work on Windows Phone store (waiting for Unity to fix their own bug). + /// If you plan to publish there you should use a regular transform.DOLocalPath. + /// The waypoint to go through + /// The duration of the tween + /// The type of path: Linear (straight path), CatmullRom (curved CatmullRom path) or CubicBezier (curved with control points) + /// The path mode: 3D, side-scroller 2D, top-down 2D + /// The resolution of the path: higher resolutions make for more detailed curved paths but are more expensive. + /// Defaults to 10, but a value of 5 is usually enough if you don't have dramatic long curves between waypoints + /// The color of the path (shown when gizmos are active in the Play panel and the tween is running) + public static TweenerCore DOLocalPath( + this Rigidbody2D target, Vector2[] path, float duration, PathType pathType = PathType.Linear, + PathMode pathMode = PathMode.Full3D, int resolution = 10, Color? gizmoColor = null + ) + { + if (resolution < 1) resolution = 1; + int len = path.Length; + Vector3[] path3D = new Vector3[len]; + for (int i = 0; i < len; ++i) path3D[i] = path[i]; + Transform trans = target.transform; + TweenerCore t = DOTween.To(PathPlugin.Get(), () => trans.localPosition, x => target.MovePosition(trans.parent == null ? x : trans.parent.TransformPoint(x)), new Path(pathType, path3D, resolution, gizmoColor), duration) + .SetTarget(target).SetUpdate(UpdateType.Fixed); + + t.plugOptions.isRigidbody2D = true; + t.plugOptions.mode = pathMode; + t.plugOptions.useLocalPosition = true; + return t; + } + // Used by path editor when creating the actual tween, so it can pass a pre-compiled path + internal static TweenerCore DOPath( + this Rigidbody2D target, Path path, float duration, PathMode pathMode = PathMode.Full3D + ) + { + TweenerCore t = DOTween.To(PathPlugin.Get(), () => target.position, x => target.MovePosition(x), path, duration) + .SetTarget(target); + + t.plugOptions.isRigidbody2D = true; + t.plugOptions.mode = pathMode; + return t; + } + internal static TweenerCore DOLocalPath( + this Rigidbody2D target, Path path, float duration, PathMode pathMode = PathMode.Full3D + ) + { + Transform trans = target.transform; + TweenerCore t = DOTween.To(PathPlugin.Get(), () => trans.localPosition, x => target.MovePosition(trans.parent == null ? x : trans.parent.TransformPoint(x)), path, duration) + .SetTarget(target); + + t.plugOptions.isRigidbody2D = true; + t.plugOptions.mode = pathMode; + t.plugOptions.useLocalPosition = true; + return t; + } + + #endregion + + #endregion + + #endregion + } +} +#endif diff --git a/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModulePhysics2D.cs.meta b/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModulePhysics2D.cs.meta new file mode 100644 index 0000000..ca9ed29 --- /dev/null +++ b/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModulePhysics2D.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 230fe34542e175245ba74b4659dae700 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleSprite.cs b/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleSprite.cs new file mode 100644 index 0000000..72afb7b --- /dev/null +++ b/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleSprite.cs @@ -0,0 +1,93 @@ +// Author: Daniele Giardini - http://www.demigiant.com +// Created: 2018/07/13 + +#if true // MODULE_MARKER +using System; +using UnityEngine; +using DG.Tweening.Core; +using DG.Tweening.Plugins.Options; + +#pragma warning disable 1591 +namespace DG.Tweening +{ + public static class DOTweenModuleSprite + { + #region Shortcuts + + #region SpriteRenderer + + /// Tweens a SpriteRenderer's color to the given value. + /// Also stores the spriteRenderer as the tween's target so it can be used for filtered operations + /// The end value to reachThe duration of the tween + public static TweenerCore DOColor(this SpriteRenderer target, Color endValue, float duration) + { + TweenerCore t = DOTween.To(() => target.color, x => target.color = x, endValue, duration); + t.SetTarget(target); + return t; + } + + /// Tweens a Material's alpha color to the given value. + /// Also stores the spriteRenderer as the tween's target so it can be used for filtered operations + /// The end value to reachThe duration of the tween + public static TweenerCore DOFade(this SpriteRenderer target, float endValue, float duration) + { + TweenerCore t = DOTween.ToAlpha(() => target.color, x => target.color = x, endValue, duration); + t.SetTarget(target); + return t; + } + + /// Tweens a SpriteRenderer's color using the given gradient + /// (NOTE 1: only uses the colors of the gradient, not the alphas - NOTE 2: creates a Sequence, not a Tweener). + /// Also stores the image as the tween's target so it can be used for filtered operations + /// The gradient to useThe duration of the tween + public static Sequence DOGradientColor(this SpriteRenderer target, Gradient gradient, float duration) + { + Sequence s = DOTween.Sequence(); + GradientColorKey[] colors = gradient.colorKeys; + int len = colors.Length; + for (int i = 0; i < len; ++i) { + GradientColorKey c = colors[i]; + if (i == 0 && c.time <= 0) { + target.color = c.color; + continue; + } + float colorDuration = i == len - 1 + ? duration - s.Duration(false) // Verifies that total duration is correct + : duration * (i == 0 ? c.time : c.time - colors[i - 1].time); + s.Append(target.DOColor(c.color, colorDuration).SetEase(Ease.Linear)); + } + s.SetTarget(target); + return s; + } + + #endregion + + #region Blendables + + #region SpriteRenderer + + /// Tweens a SpriteRenderer's color to the given value, + /// in a way that allows other DOBlendableColor tweens to work together on the same target, + /// instead than fight each other as multiple DOColor would do. + /// Also stores the SpriteRenderer as the tween's target so it can be used for filtered operations + /// The value to tween toThe duration of the tween + public static Tweener DOBlendableColor(this SpriteRenderer target, Color endValue, float duration) + { + endValue = endValue - target.color; + Color to = new Color(0, 0, 0, 0); + return DOTween.To(() => to, x => { + Color diff = x - to; + to = x; + target.color += diff; + }, endValue, duration) + .Blendable().SetTarget(target); + } + + #endregion + + #endregion + + #endregion + } +} +#endif diff --git a/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleSprite.cs.meta b/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleSprite.cs.meta new file mode 100644 index 0000000..a0c67c4 --- /dev/null +++ b/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleSprite.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 188918ab119d93148aa0de59ccf5286b +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUI.cs b/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUI.cs new file mode 100644 index 0000000..2381f4c --- /dev/null +++ b/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUI.cs @@ -0,0 +1,662 @@ +// Author: Daniele Giardini - http://www.demigiant.com +// Created: 2018/07/13 + +#if true // MODULE_MARKER + +using System; +using System.Globalization; +using UnityEngine; +using UnityEngine.UI; +using DG.Tweening.Core; +using DG.Tweening.Core.Enums; +using DG.Tweening.Plugins; +using DG.Tweening.Plugins.Options; +using Outline = UnityEngine.UI.Outline; +using Text = UnityEngine.UI.Text; + +#pragma warning disable 1591 +namespace DG.Tweening +{ + public static class DOTweenModuleUI + { + #region Shortcuts + + #region CanvasGroup + + /// Tweens a CanvasGroup's alpha color to the given value. + /// Also stores the canvasGroup as the tween's target so it can be used for filtered operations + /// The end value to reachThe duration of the tween + public static TweenerCore DOFade(this CanvasGroup target, float endValue, float duration) + { + TweenerCore t = DOTween.To(() => target.alpha, x => target.alpha = x, endValue, duration); + t.SetTarget(target); + return t; + } + + #endregion + + #region Graphic + + /// Tweens an Graphic's color to the given value. + /// Also stores the image as the tween's target so it can be used for filtered operations + /// The end value to reachThe duration of the tween + public static TweenerCore DOColor(this Graphic target, Color endValue, float duration) + { + TweenerCore t = DOTween.To(() => target.color, x => target.color = x, endValue, duration); + t.SetTarget(target); + return t; + } + + /// Tweens an Graphic's alpha color to the given value. + /// Also stores the image as the tween's target so it can be used for filtered operations + /// The end value to reachThe duration of the tween + public static TweenerCore DOFade(this Graphic target, float endValue, float duration) + { + TweenerCore t = DOTween.ToAlpha(() => target.color, x => target.color = x, endValue, duration); + t.SetTarget(target); + return t; + } + + #endregion + + #region Image + + /// Tweens an Image's color to the given value. + /// Also stores the image as the tween's target so it can be used for filtered operations + /// The end value to reachThe duration of the tween + public static TweenerCore DOColor(this Image target, Color endValue, float duration) + { + TweenerCore t = DOTween.To(() => target.color, x => target.color = x, endValue, duration); + t.SetTarget(target); + return t; + } + + /// Tweens an Image's alpha color to the given value. + /// Also stores the image as the tween's target so it can be used for filtered operations + /// The end value to reachThe duration of the tween + public static TweenerCore DOFade(this Image target, float endValue, float duration) + { + TweenerCore t = DOTween.ToAlpha(() => target.color, x => target.color = x, endValue, duration); + t.SetTarget(target); + return t; + } + + /// Tweens an Image's fillAmount to the given value. + /// Also stores the image as the tween's target so it can be used for filtered operations + /// The end value to reach (0 to 1)The duration of the tween + public static TweenerCore DOFillAmount(this Image target, float endValue, float duration) + { + if (endValue > 1) endValue = 1; + else if (endValue < 0) endValue = 0; + TweenerCore t = DOTween.To(() => target.fillAmount, x => target.fillAmount = x, endValue, duration); + t.SetTarget(target); + return t; + } + + /// Tweens an Image's colors using the given gradient + /// (NOTE 1: only uses the colors of the gradient, not the alphas - NOTE 2: creates a Sequence, not a Tweener). + /// Also stores the image as the tween's target so it can be used for filtered operations + /// The gradient to useThe duration of the tween + public static Sequence DOGradientColor(this Image target, Gradient gradient, float duration) + { + Sequence s = DOTween.Sequence(); + GradientColorKey[] colors = gradient.colorKeys; + int len = colors.Length; + for (int i = 0; i < len; ++i) { + GradientColorKey c = colors[i]; + if (i == 0 && c.time <= 0) { + target.color = c.color; + continue; + } + float colorDuration = i == len - 1 + ? duration - s.Duration(false) // Verifies that total duration is correct + : duration * (i == 0 ? c.time : c.time - colors[i - 1].time); + s.Append(target.DOColor(c.color, colorDuration).SetEase(Ease.Linear)); + } + s.SetTarget(target); + return s; + } + + #endregion + + #region LayoutElement + + /// Tweens an LayoutElement's flexibleWidth/Height to the given value. + /// Also stores the LayoutElement as the tween's target so it can be used for filtered operations + /// The end value to reachThe duration of the tween + /// If TRUE the tween will smoothly snap all values to integers + public static TweenerCore DOFlexibleSize(this LayoutElement target, Vector2 endValue, float duration, bool snapping = false) + { + TweenerCore t = DOTween.To(() => new Vector2(target.flexibleWidth, target.flexibleHeight), x => { + target.flexibleWidth = x.x; + target.flexibleHeight = x.y; + }, endValue, duration); + t.SetOptions(snapping).SetTarget(target); + return t; + } + + /// Tweens an LayoutElement's minWidth/Height to the given value. + /// Also stores the LayoutElement as the tween's target so it can be used for filtered operations + /// The end value to reachThe duration of the tween + /// If TRUE the tween will smoothly snap all values to integers + public static TweenerCore DOMinSize(this LayoutElement target, Vector2 endValue, float duration, bool snapping = false) + { + TweenerCore t = DOTween.To(() => new Vector2(target.minWidth, target.minHeight), x => { + target.minWidth = x.x; + target.minHeight = x.y; + }, endValue, duration); + t.SetOptions(snapping).SetTarget(target); + return t; + } + + /// Tweens an LayoutElement's preferredWidth/Height to the given value. + /// Also stores the LayoutElement as the tween's target so it can be used for filtered operations + /// The end value to reachThe duration of the tween + /// If TRUE the tween will smoothly snap all values to integers + public static TweenerCore DOPreferredSize(this LayoutElement target, Vector2 endValue, float duration, bool snapping = false) + { + TweenerCore t = DOTween.To(() => new Vector2(target.preferredWidth, target.preferredHeight), x => { + target.preferredWidth = x.x; + target.preferredHeight = x.y; + }, endValue, duration); + t.SetOptions(snapping).SetTarget(target); + return t; + } + + #endregion + + #region Outline + + /// Tweens a Outline's effectColor to the given value. + /// Also stores the Outline as the tween's target so it can be used for filtered operations + /// The end value to reachThe duration of the tween + public static TweenerCore DOColor(this Outline target, Color endValue, float duration) + { + TweenerCore t = DOTween.To(() => target.effectColor, x => target.effectColor = x, endValue, duration); + t.SetTarget(target); + return t; + } + + /// Tweens a Outline's effectColor alpha to the given value. + /// Also stores the Outline as the tween's target so it can be used for filtered operations + /// The end value to reachThe duration of the tween + public static TweenerCore DOFade(this Outline target, float endValue, float duration) + { + TweenerCore t = DOTween.ToAlpha(() => target.effectColor, x => target.effectColor = x, endValue, duration); + t.SetTarget(target); + return t; + } + + /// Tweens a Outline's effectDistance to the given value. + /// Also stores the Outline as the tween's target so it can be used for filtered operations + /// The end value to reachThe duration of the tween + public static TweenerCore DOScale(this Outline target, Vector2 endValue, float duration) + { + TweenerCore t = DOTween.To(() => target.effectDistance, x => target.effectDistance = x, endValue, duration); + t.SetTarget(target); + return t; + } + + #endregion + + #region RectTransform + + /// Tweens a RectTransform's anchoredPosition to the given value. + /// Also stores the RectTransform as the tween's target so it can be used for filtered operations + /// The end value to reachThe duration of the tween + /// If TRUE the tween will smoothly snap all values to integers + public static TweenerCore DOAnchorPos(this RectTransform target, Vector2 endValue, float duration, bool snapping = false) + { + TweenerCore t = DOTween.To(() => target.anchoredPosition, x => target.anchoredPosition = x, endValue, duration); + t.SetOptions(snapping).SetTarget(target); + return t; + } + /// Tweens a RectTransform's anchoredPosition X to the given value. + /// Also stores the RectTransform as the tween's target so it can be used for filtered operations + /// The end value to reachThe duration of the tween + /// If TRUE the tween will smoothly snap all values to integers + public static TweenerCore DOAnchorPosX(this RectTransform target, float endValue, float duration, bool snapping = false) + { + TweenerCore t = DOTween.To(() => target.anchoredPosition, x => target.anchoredPosition = x, new Vector2(endValue, 0), duration); + t.SetOptions(AxisConstraint.X, snapping).SetTarget(target); + return t; + } + /// Tweens a RectTransform's anchoredPosition Y to the given value. + /// Also stores the RectTransform as the tween's target so it can be used for filtered operations + /// The end value to reachThe duration of the tween + /// If TRUE the tween will smoothly snap all values to integers + public static TweenerCore DOAnchorPosY(this RectTransform target, float endValue, float duration, bool snapping = false) + { + TweenerCore t = DOTween.To(() => target.anchoredPosition, x => target.anchoredPosition = x, new Vector2(0, endValue), duration); + t.SetOptions(AxisConstraint.Y, snapping).SetTarget(target); + return t; + } + + /// Tweens a RectTransform's anchoredPosition3D to the given value. + /// Also stores the RectTransform as the tween's target so it can be used for filtered operations + /// The end value to reachThe duration of the tween + /// If TRUE the tween will smoothly snap all values to integers + public static TweenerCore DOAnchorPos3D(this RectTransform target, Vector3 endValue, float duration, bool snapping = false) + { + TweenerCore t = DOTween.To(() => target.anchoredPosition3D, x => target.anchoredPosition3D = x, endValue, duration); + t.SetOptions(snapping).SetTarget(target); + return t; + } + /// Tweens a RectTransform's anchoredPosition3D X to the given value. + /// Also stores the RectTransform as the tween's target so it can be used for filtered operations + /// The end value to reachThe duration of the tween + /// If TRUE the tween will smoothly snap all values to integers + public static TweenerCore DOAnchorPos3DX(this RectTransform target, float endValue, float duration, bool snapping = false) + { + TweenerCore t = DOTween.To(() => target.anchoredPosition3D, x => target.anchoredPosition3D = x, new Vector3(endValue, 0, 0), duration); + t.SetOptions(AxisConstraint.X, snapping).SetTarget(target); + return t; + } + /// Tweens a RectTransform's anchoredPosition3D Y to the given value. + /// Also stores the RectTransform as the tween's target so it can be used for filtered operations + /// The end value to reachThe duration of the tween + /// If TRUE the tween will smoothly snap all values to integers + public static TweenerCore DOAnchorPos3DY(this RectTransform target, float endValue, float duration, bool snapping = false) + { + TweenerCore t = DOTween.To(() => target.anchoredPosition3D, x => target.anchoredPosition3D = x, new Vector3(0, endValue, 0), duration); + t.SetOptions(AxisConstraint.Y, snapping).SetTarget(target); + return t; + } + /// Tweens a RectTransform's anchoredPosition3D Z to the given value. + /// Also stores the RectTransform as the tween's target so it can be used for filtered operations + /// The end value to reachThe duration of the tween + /// If TRUE the tween will smoothly snap all values to integers + public static TweenerCore DOAnchorPos3DZ(this RectTransform target, float endValue, float duration, bool snapping = false) + { + TweenerCore t = DOTween.To(() => target.anchoredPosition3D, x => target.anchoredPosition3D = x, new Vector3(0, 0, endValue), duration); + t.SetOptions(AxisConstraint.Z, snapping).SetTarget(target); + return t; + } + + /// Tweens a RectTransform's anchorMax to the given value. + /// Also stores the RectTransform as the tween's target so it can be used for filtered operations + /// The end value to reachThe duration of the tween + /// If TRUE the tween will smoothly snap all values to integers + public static TweenerCore DOAnchorMax(this RectTransform target, Vector2 endValue, float duration, bool snapping = false) + { + TweenerCore t = DOTween.To(() => target.anchorMax, x => target.anchorMax = x, endValue, duration); + t.SetOptions(snapping).SetTarget(target); + return t; + } + + /// Tweens a RectTransform's anchorMin to the given value. + /// Also stores the RectTransform as the tween's target so it can be used for filtered operations + /// The end value to reachThe duration of the tween + /// If TRUE the tween will smoothly snap all values to integers + public static TweenerCore DOAnchorMin(this RectTransform target, Vector2 endValue, float duration, bool snapping = false) + { + TweenerCore t = DOTween.To(() => target.anchorMin, x => target.anchorMin = x, endValue, duration); + t.SetOptions(snapping).SetTarget(target); + return t; + } + + /// Tweens a RectTransform's pivot to the given value. + /// Also stores the RectTransform as the tween's target so it can be used for filtered operations + /// The end value to reachThe duration of the tween + public static TweenerCore DOPivot(this RectTransform target, Vector2 endValue, float duration) + { + TweenerCore t = DOTween.To(() => target.pivot, x => target.pivot = x, endValue, duration); + t.SetTarget(target); + return t; + } + /// Tweens a RectTransform's pivot X to the given value. + /// Also stores the RectTransform as the tween's target so it can be used for filtered operations + /// The end value to reachThe duration of the tween + public static TweenerCore DOPivotX(this RectTransform target, float endValue, float duration) + { + TweenerCore t = DOTween.To(() => target.pivot, x => target.pivot = x, new Vector2(endValue, 0), duration); + t.SetOptions(AxisConstraint.X).SetTarget(target); + return t; + } + /// Tweens a RectTransform's pivot Y to the given value. + /// Also stores the RectTransform as the tween's target so it can be used for filtered operations + /// The end value to reachThe duration of the tween + public static TweenerCore DOPivotY(this RectTransform target, float endValue, float duration) + { + TweenerCore t = DOTween.To(() => target.pivot, x => target.pivot = x, new Vector2(0, endValue), duration); + t.SetOptions(AxisConstraint.Y).SetTarget(target); + return t; + } + + /// Tweens a RectTransform's sizeDelta to the given value. + /// Also stores the RectTransform as the tween's target so it can be used for filtered operations + /// The end value to reachThe duration of the tween + /// If TRUE the tween will smoothly snap all values to integers + public static TweenerCore DOSizeDelta(this RectTransform target, Vector2 endValue, float duration, bool snapping = false) + { + TweenerCore t = DOTween.To(() => target.sizeDelta, x => target.sizeDelta = x, endValue, duration); + t.SetOptions(snapping).SetTarget(target); + return t; + } + + /// Punches a RectTransform's anchoredPosition towards the given direction and then back to the starting one + /// as if it was connected to the starting position via an elastic. + /// Also stores the RectTransform as the tween's target so it can be used for filtered operations + /// The direction and strength of the punch (added to the RectTransform's current position) + /// The duration of the tween + /// Indicates how much will the punch vibrate + /// Represents how much (0 to 1) the vector will go beyond the starting position when bouncing backwards. + /// 1 creates a full oscillation between the punch direction and the opposite direction, + /// while 0 oscillates only between the punch and the start position + /// If TRUE the tween will smoothly snap all values to integers + public static Tweener DOPunchAnchorPos(this RectTransform target, Vector2 punch, float duration, int vibrato = 10, float elasticity = 1, bool snapping = false) + { + return DOTween.Punch(() => target.anchoredPosition, x => target.anchoredPosition = x, punch, duration, vibrato, elasticity) + .SetTarget(target).SetOptions(snapping); + } + + /// Shakes a RectTransform's anchoredPosition with the given values. + /// Also stores the RectTransform as the tween's target so it can be used for filtered operations + /// The duration of the tween + /// The shake strength + /// Indicates how much will the shake vibrate + /// Indicates how much the shake will be random (0 to 180 - values higher than 90 kind of suck, so beware). + /// Setting it to 0 will shake along a single direction. + /// If TRUE the tween will smoothly snap all values to integers + /// If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not + /// Randomness mode + public static Tweener DOShakeAnchorPos(this RectTransform target, float duration, float strength = 100, int vibrato = 10, float randomness = 90, bool snapping = false, bool fadeOut = true, ShakeRandomnessMode randomnessMode = ShakeRandomnessMode.Full) + { + return DOTween.Shake(() => target.anchoredPosition, x => target.anchoredPosition = x, duration, strength, vibrato, randomness, true, fadeOut, randomnessMode) + .SetTarget(target).SetSpecialStartupMode(SpecialStartupMode.SetShake).SetOptions(snapping); + } + /// Shakes a RectTransform's anchoredPosition with the given values. + /// Also stores the RectTransform as the tween's target so it can be used for filtered operations + /// The duration of the tween + /// The shake strength on each axis + /// Indicates how much will the shake vibrate + /// Indicates how much the shake will be random (0 to 180 - values higher than 90 kind of suck, so beware). + /// Setting it to 0 will shake along a single direction. + /// If TRUE the tween will smoothly snap all values to integers + /// If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not + /// Randomness mode + public static Tweener DOShakeAnchorPos(this RectTransform target, float duration, Vector2 strength, int vibrato = 10, float randomness = 90, bool snapping = false, bool fadeOut = true, ShakeRandomnessMode randomnessMode = ShakeRandomnessMode.Full) + { + return DOTween.Shake(() => target.anchoredPosition, x => target.anchoredPosition = x, duration, strength, vibrato, randomness, fadeOut, randomnessMode) + .SetTarget(target).SetSpecialStartupMode(SpecialStartupMode.SetShake).SetOptions(snapping); + } + + #region Special + + /// Tweens a RectTransform's anchoredPosition to the given value, while also applying a jump effect along the Y axis. + /// Returns a Sequence instead of a Tweener. + /// Also stores the RectTransform as the tween's target so it can be used for filtered operations + /// The end value to reach + /// Power of the jump (the max height of the jump is represented by this plus the final Y offset) + /// Total number of jumps + /// The duration of the tween + /// If TRUE the tween will smoothly snap all values to integers + public static Sequence DOJumpAnchorPos(this RectTransform target, Vector2 endValue, float jumpPower, int numJumps, float duration, bool snapping = false) + { + if (numJumps < 1) numJumps = 1; + float startPosY = 0; + float offsetY = -1; + bool offsetYSet = false; + + // Separate Y Tween so we can elaborate elapsedPercentage on that insted of on the Sequence + // (in case users add a delay or other elements to the Sequence) + Sequence s = DOTween.Sequence(); + Tween yTween = DOTween.To(() => target.anchoredPosition, x => target.anchoredPosition = x, new Vector2(0, jumpPower), duration / (numJumps * 2)) + .SetOptions(AxisConstraint.Y, snapping).SetEase(Ease.OutQuad).SetRelative() + .SetLoops(numJumps * 2, LoopType.Yoyo) + .OnStart(()=> startPosY = target.anchoredPosition.y); + s.Append(DOTween.To(() => target.anchoredPosition, x => target.anchoredPosition = x, new Vector2(endValue.x, 0), duration) + .SetOptions(AxisConstraint.X, snapping).SetEase(Ease.Linear) + ).Join(yTween) + .SetTarget(target).SetEase(DOTween.defaultEaseType); + s.OnUpdate(() => { + if (!offsetYSet) { + offsetYSet = true; + offsetY = s.isRelative ? endValue.y : endValue.y - startPosY; + } + Vector2 pos = target.anchoredPosition; + pos.y += DOVirtual.EasedValue(0, offsetY, s.ElapsedDirectionalPercentage(), Ease.OutQuad); + target.anchoredPosition = pos; + }); + return s; + } + + #endregion + + #endregion + + #region ScrollRect + + /// Tweens a ScrollRect's horizontal/verticalNormalizedPosition to the given value. + /// Also stores the ScrollRect as the tween's target so it can be used for filtered operations + /// The end value to reachThe duration of the tween + /// If TRUE the tween will smoothly snap all values to integers + public static Tweener DONormalizedPos(this ScrollRect target, Vector2 endValue, float duration, bool snapping = false) + { + return DOTween.To(() => new Vector2(target.horizontalNormalizedPosition, target.verticalNormalizedPosition), + x => { + target.horizontalNormalizedPosition = x.x; + target.verticalNormalizedPosition = x.y; + }, endValue, duration) + .SetOptions(snapping).SetTarget(target); + } + /// Tweens a ScrollRect's horizontalNormalizedPosition to the given value. + /// Also stores the ScrollRect as the tween's target so it can be used for filtered operations + /// The end value to reachThe duration of the tween + /// If TRUE the tween will smoothly snap all values to integers + public static Tweener DOHorizontalNormalizedPos(this ScrollRect target, float endValue, float duration, bool snapping = false) + { + return DOTween.To(() => target.horizontalNormalizedPosition, x => target.horizontalNormalizedPosition = x, endValue, duration) + .SetOptions(snapping).SetTarget(target); + } + /// Tweens a ScrollRect's verticalNormalizedPosition to the given value. + /// Also stores the ScrollRect as the tween's target so it can be used for filtered operations + /// The end value to reachThe duration of the tween + /// If TRUE the tween will smoothly snap all values to integers + public static Tweener DOVerticalNormalizedPos(this ScrollRect target, float endValue, float duration, bool snapping = false) + { + return DOTween.To(() => target.verticalNormalizedPosition, x => target.verticalNormalizedPosition = x, endValue, duration) + .SetOptions(snapping).SetTarget(target); + } + + #endregion + + #region Slider + + /// Tweens a Slider's value to the given value. + /// Also stores the Slider as the tween's target so it can be used for filtered operations + /// The end value to reachThe duration of the tween + /// If TRUE the tween will smoothly snap all values to integers + public static TweenerCore DOValue(this Slider target, float endValue, float duration, bool snapping = false) + { + TweenerCore t = DOTween.To(() => target.value, x => target.value = x, endValue, duration); + t.SetOptions(snapping).SetTarget(target); + return t; + } + + #endregion + + #region Text + + /// Tweens a Text's color to the given value. + /// Also stores the Text as the tween's target so it can be used for filtered operations + /// The end value to reachThe duration of the tween + public static TweenerCore DOColor(this Text target, Color endValue, float duration) + { + TweenerCore t = DOTween.To(() => target.color, x => target.color = x, endValue, duration); + t.SetTarget(target); + return t; + } + + /// + /// Tweens a Text's text from one integer to another, with options for thousands separators + /// + /// The value to start from + /// The end value to reach + /// The duration of the tween + /// If TRUE (default) also adds thousands separators + /// The to use (InvariantCulture if NULL) + public static TweenerCore DOCounter( + this Text target, int fromValue, int endValue, float duration, bool addThousandsSeparator = true, CultureInfo culture = null + ){ + int v = fromValue; + CultureInfo cInfo = !addThousandsSeparator ? null : culture ?? CultureInfo.InvariantCulture; + TweenerCore t = DOTween.To(() => v, x => { + v = x; + target.text = addThousandsSeparator + ? v.ToString("N0", cInfo) + : v.ToString(); + }, endValue, duration); + t.SetTarget(target); + return t; + } + + /// Tweens a Text's alpha color to the given value. + /// Also stores the Text as the tween's target so it can be used for filtered operations + /// The end value to reachThe duration of the tween + public static TweenerCore DOFade(this Text target, float endValue, float duration) + { + TweenerCore t = DOTween.ToAlpha(() => target.color, x => target.color = x, endValue, duration); + t.SetTarget(target); + return t; + } + + /// Tweens a Text's text to the given value. + /// Also stores the Text as the tween's target so it can be used for filtered operations + /// The end string to tween toThe duration of the tween + /// If TRUE (default), rich text will be interpreted correctly while animated, + /// otherwise all tags will be considered as normal text + /// The type of scramble mode to use, if any + /// A string containing the characters to use for scrambling. + /// Use as many characters as possible (minimum 10) because DOTween uses a fast scramble mode which gives better results with more characters. + /// Leave it to NULL (default) to use default ones + public static TweenerCore DOText(this Text target, string endValue, float duration, bool richTextEnabled = true, ScrambleMode scrambleMode = ScrambleMode.None, string scrambleChars = null) + { + if (endValue == null) { + if (Debugger.logPriority > 0) Debugger.LogWarning("You can't pass a NULL string to DOText: an empty string will be used instead to avoid errors"); + endValue = ""; + } + TweenerCore t = DOTween.To(() => target.text, x => target.text = x, endValue, duration); + t.SetOptions(richTextEnabled, scrambleMode, scrambleChars) + .SetTarget(target); + return t; + } + + #endregion + + #region Blendables + + #region Graphic + + /// Tweens a Graphic's color to the given value, + /// in a way that allows other DOBlendableColor tweens to work together on the same target, + /// instead than fight each other as multiple DOColor would do. + /// Also stores the Graphic as the tween's target so it can be used for filtered operations + /// The value to tween toThe duration of the tween + public static Tweener DOBlendableColor(this Graphic target, Color endValue, float duration) + { + endValue = endValue - target.color; + Color to = new Color(0, 0, 0, 0); + return DOTween.To(() => to, x => { + Color diff = x - to; + to = x; + target.color += diff; + }, endValue, duration) + .Blendable().SetTarget(target); + } + + #endregion + + #region Image + + /// Tweens a Image's color to the given value, + /// in a way that allows other DOBlendableColor tweens to work together on the same target, + /// instead than fight each other as multiple DOColor would do. + /// Also stores the Image as the tween's target so it can be used for filtered operations + /// The value to tween toThe duration of the tween + public static Tweener DOBlendableColor(this Image target, Color endValue, float duration) + { + endValue = endValue - target.color; + Color to = new Color(0, 0, 0, 0); + return DOTween.To(() => to, x => { + Color diff = x - to; + to = x; + target.color += diff; + }, endValue, duration) + .Blendable().SetTarget(target); + } + + #endregion + + #region Text + + /// Tweens a Text's color BY the given value, + /// in a way that allows other DOBlendableColor tweens to work together on the same target, + /// instead than fight each other as multiple DOColor would do. + /// Also stores the Text as the tween's target so it can be used for filtered operations + /// The value to tween toThe duration of the tween + public static Tweener DOBlendableColor(this Text target, Color endValue, float duration) + { + endValue = endValue - target.color; + Color to = new Color(0, 0, 0, 0); + return DOTween.To(() => to, x => { + Color diff = x - to; + to = x; + target.color += diff; + }, endValue, duration) + .Blendable().SetTarget(target); + } + + #endregion + + #endregion + + #region Shapes + + /// Tweens a RectTransform's anchoredPosition so that it draws a circle around the given center. + /// Also stores the RectTransform as the tween's target so it can be used for filtered operations. + /// IMPORTANT: SetFrom(value) requires a instead of a float, where the X property represents the "from degrees value" + /// Circle-center/pivot around which to rotate (in UI anchoredPosition coordinates) + /// The end value degrees to reach (to rotate counter-clockwise pass a negative value) + /// The duration of the tween + /// If TRUE the coordinates will be considered as relative to the target's current anchoredPosition + /// If TRUE the tween will smoothly snap all values to integers + public static TweenerCore DOShapeCircle( + this RectTransform target, Vector2 center, float endValueDegrees, float duration, bool relativeCenter = false, bool snapping = false + ) + { + TweenerCore t = DOTween.To( + CirclePlugin.Get(), () => target.anchoredPosition, x => target.anchoredPosition = x, center, duration + ); + t.SetOptions(endValueDegrees, relativeCenter, snapping).SetTarget(target); + return t; + } + + #endregion + + #endregion + + // █████████████████████████████████████████████████████████████████████████████████████████████████████████████████████ + // ███ INTERNAL CLASSES ████████████████████████████████████████████████████████████████████████████████████████████████ + // █████████████████████████████████████████████████████████████████████████████████████████████████████████████████████ + + public static class Utils + { + /// + /// Converts the anchoredPosition of the first RectTransform to the second RectTransform, + /// taking into consideration offset, anchors and pivot, and returns the new anchoredPosition + /// + public static Vector2 SwitchToRectTransform(RectTransform from, RectTransform to) + { + Vector2 localPoint; + Vector2 fromPivotDerivedOffset = new Vector2(from.rect.width * 0.5f + from.rect.xMin, from.rect.height * 0.5f + from.rect.yMin); + Vector2 screenP = RectTransformUtility.WorldToScreenPoint(null, from.position); + screenP += fromPivotDerivedOffset; + RectTransformUtility.ScreenPointToLocalPointInRectangle(to, screenP, null, out localPoint); + Vector2 pivotDerivedOffset = new Vector2(to.rect.width * 0.5f + to.rect.xMin, to.rect.height * 0.5f + to.rect.yMin); + return to.anchoredPosition + localPoint - pivotDerivedOffset; + } + } + } +} +#endif diff --git a/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUI.cs.meta b/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUI.cs.meta new file mode 100644 index 0000000..60d55ef --- /dev/null +++ b/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUI.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a060394c03331a64392db53a10e7f2d1 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUnityVersion.cs b/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUnityVersion.cs new file mode 100644 index 0000000..8f818ba --- /dev/null +++ b/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUnityVersion.cs @@ -0,0 +1,389 @@ +// Author: Daniele Giardini - http://www.demigiant.com +// Created: 2018/07/13 + +using System; +using UnityEngine; +using DG.Tweening.Core; +using DG.Tweening.Plugins.Options; +//#if UNITY_2018_1_OR_NEWER && (NET_4_6 || NET_STANDARD_2_0) +//using Task = System.Threading.Tasks.Task; +//#endif + +#pragma warning disable 1591 +namespace DG.Tweening +{ + /// + /// Shortcuts/functions that are not strictly related to specific Modules + /// but are available only on some Unity versions + /// + public static class DOTweenModuleUnityVersion + { + #region Material + + /// Tweens a Material's color using the given gradient + /// (NOTE 1: only uses the colors of the gradient, not the alphas - NOTE 2: creates a Sequence, not a Tweener). + /// Also stores the image as the tween's target so it can be used for filtered operations + /// The gradient to useThe duration of the tween + public static Sequence DOGradientColor(this Material target, Gradient gradient, float duration) + { + Sequence s = DOTween.Sequence(); + GradientColorKey[] colors = gradient.colorKeys; + int len = colors.Length; + for (int i = 0; i < len; ++i) { + GradientColorKey c = colors[i]; + if (i == 0 && c.time <= 0) { + target.color = c.color; + continue; + } + float colorDuration = i == len - 1 + ? duration - s.Duration(false) // Verifies that total duration is correct + : duration * (i == 0 ? c.time : c.time - colors[i - 1].time); + s.Append(target.DOColor(c.color, colorDuration).SetEase(Ease.Linear)); + } + s.SetTarget(target); + return s; + } + /// Tweens a Material's named color property using the given gradient + /// (NOTE 1: only uses the colors of the gradient, not the alphas - NOTE 2: creates a Sequence, not a Tweener). + /// Also stores the image as the tween's target so it can be used for filtered operations + /// The gradient to use + /// The name of the material property to tween (like _Tint or _SpecColor) + /// The duration of the tween + public static Sequence DOGradientColor(this Material target, Gradient gradient, string property, float duration) + { + Sequence s = DOTween.Sequence(); + GradientColorKey[] colors = gradient.colorKeys; + int len = colors.Length; + for (int i = 0; i < len; ++i) { + GradientColorKey c = colors[i]; + if (i == 0 && c.time <= 0) { + target.SetColor(property, c.color); + continue; + } + float colorDuration = i == len - 1 + ? duration - s.Duration(false) // Verifies that total duration is correct + : duration * (i == 0 ? c.time : c.time - colors[i - 1].time); + s.Append(target.DOColor(c.color, property, colorDuration).SetEase(Ease.Linear)); + } + s.SetTarget(target); + return s; + } + + #endregion + + #region CustomYieldInstructions + + /// + /// Returns a that waits until the tween is killed or complete. + /// It can be used inside a coroutine as a yield. + /// Example usage:yield return myTween.WaitForCompletion(true); + /// + public static CustomYieldInstruction WaitForCompletion(this Tween t, bool returnCustomYieldInstruction) + { + if (!t.active) { + if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t); + return null; + } + return new DOTweenCYInstruction.WaitForCompletion(t); + } + + /// + /// Returns a that waits until the tween is killed or rewinded. + /// It can be used inside a coroutine as a yield. + /// Example usage:yield return myTween.WaitForRewind(); + /// + public static CustomYieldInstruction WaitForRewind(this Tween t, bool returnCustomYieldInstruction) + { + if (!t.active) { + if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t); + return null; + } + return new DOTweenCYInstruction.WaitForRewind(t); + } + + /// + /// Returns a that waits until the tween is killed. + /// It can be used inside a coroutine as a yield. + /// Example usage:yield return myTween.WaitForKill(); + /// + public static CustomYieldInstruction WaitForKill(this Tween t, bool returnCustomYieldInstruction) + { + if (!t.active) { + if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t); + return null; + } + return new DOTweenCYInstruction.WaitForKill(t); + } + + /// + /// Returns a that waits until the tween is killed or has gone through the given amount of loops. + /// It can be used inside a coroutine as a yield. + /// Example usage:yield return myTween.WaitForElapsedLoops(2); + /// + /// Elapsed loops to wait for + public static CustomYieldInstruction WaitForElapsedLoops(this Tween t, int elapsedLoops, bool returnCustomYieldInstruction) + { + if (!t.active) { + if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t); + return null; + } + return new DOTweenCYInstruction.WaitForElapsedLoops(t, elapsedLoops); + } + + /// + /// Returns a that waits until the tween is killed + /// or has reached the given time position (loops included, delays excluded). + /// It can be used inside a coroutine as a yield. + /// Example usage:yield return myTween.WaitForPosition(2.5f); + /// + /// Position (loops included, delays excluded) to wait for + public static CustomYieldInstruction WaitForPosition(this Tween t, float position, bool returnCustomYieldInstruction) + { + if (!t.active) { + if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t); + return null; + } + return new DOTweenCYInstruction.WaitForPosition(t, position); + } + + /// + /// Returns a that waits until the tween is killed or started + /// (meaning when the tween is set in a playing state the first time, after any eventual delay). + /// It can be used inside a coroutine as a yield. + /// Example usage:yield return myTween.WaitForStart(); + /// + public static CustomYieldInstruction WaitForStart(this Tween t, bool returnCustomYieldInstruction) + { + if (!t.active) { + if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t); + return null; + } + return new DOTweenCYInstruction.WaitForStart(t); + } + + #endregion + +#if UNITY_2018_1_OR_NEWER + #region Unity 2018.1 or Newer + + #region Material + + /// Tweens a Material's named texture offset property with the given ID to the given value. + /// Also stores the material as the tween's target so it can be used for filtered operations + /// The end value to reach + /// The ID of the material property to tween (also called nameID in Unity's manual) + /// The duration of the tween + public static TweenerCore DOOffset(this Material target, Vector2 endValue, int propertyID, float duration) + { + if (!target.HasProperty(propertyID)) { + if (Debugger.logPriority > 0) Debugger.LogMissingMaterialProperty(propertyID); + return null; + } + TweenerCore t = DOTween.To(() => target.GetTextureOffset(propertyID), x => target.SetTextureOffset(propertyID, x), endValue, duration); + t.SetTarget(target); + return t; + } + + /// Tweens a Material's named texture scale property with the given ID to the given value. + /// Also stores the material as the tween's target so it can be used for filtered operations + /// The end value to reach + /// The ID of the material property to tween (also called nameID in Unity's manual) + /// The duration of the tween + public static TweenerCore DOTiling(this Material target, Vector2 endValue, int propertyID, float duration) + { + if (!target.HasProperty(propertyID)) { + if (Debugger.logPriority > 0) Debugger.LogMissingMaterialProperty(propertyID); + return null; + } + TweenerCore t = DOTween.To(() => target.GetTextureScale(propertyID), x => target.SetTextureScale(propertyID, x), endValue, duration); + t.SetTarget(target); + return t; + } + + #endregion + + #region .NET 4.6 or Newer + +#if UNITY_2018_1_OR_NEWER && (NET_4_6 || NET_STANDARD_2_0) + + #region Async Instructions + + /// + /// Returns an async that waits until the tween is killed or complete. + /// It can be used inside an async operation. + /// Example usage:await myTween.WaitForCompletion(); + /// + public static async System.Threading.Tasks.Task AsyncWaitForCompletion(this Tween t) + { + if (!t.active) { + if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t); + return; + } + while (t.active && !t.IsComplete()) await System.Threading.Tasks.Task.Yield(); + } + + /// + /// Returns an async that waits until the tween is killed or rewinded. + /// It can be used inside an async operation. + /// Example usage:await myTween.AsyncWaitForRewind(); + /// + public static async System.Threading.Tasks.Task AsyncWaitForRewind(this Tween t) + { + if (!t.active) { + if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t); + return; + } + while (t.active && (!t.playedOnce || t.position * (t.CompletedLoops() + 1) > 0)) await System.Threading.Tasks.Task.Yield(); + } + + /// + /// Returns an async that waits until the tween is killed. + /// It can be used inside an async operation. + /// Example usage:await myTween.AsyncWaitForKill(); + /// + public static async System.Threading.Tasks.Task AsyncWaitForKill(this Tween t) + { + if (!t.active) { + if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t); + return; + } + while (t.active) await System.Threading.Tasks.Task.Yield(); + } + + /// + /// Returns an async that waits until the tween is killed or has gone through the given amount of loops. + /// It can be used inside an async operation. + /// Example usage:await myTween.AsyncWaitForElapsedLoops(); + /// + /// Elapsed loops to wait for + public static async System.Threading.Tasks.Task AsyncWaitForElapsedLoops(this Tween t, int elapsedLoops) + { + if (!t.active) { + if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t); + return; + } + while (t.active && t.CompletedLoops() < elapsedLoops) await System.Threading.Tasks.Task.Yield(); + } + + /// + /// Returns an async that waits until the tween is killed or started + /// (meaning when the tween is set in a playing state the first time, after any eventual delay). + /// It can be used inside an async operation. + /// Example usage:await myTween.AsyncWaitForPosition(); + /// + /// Position (loops included, delays excluded) to wait for + public static async System.Threading.Tasks.Task AsyncWaitForPosition(this Tween t, float position) + { + if (!t.active) { + if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t); + return; + } + while (t.active && t.position * (t.CompletedLoops() + 1) < position) await System.Threading.Tasks.Task.Yield(); + } + + /// + /// Returns an async that waits until the tween is killed. + /// It can be used inside an async operation. + /// Example usage:await myTween.AsyncWaitForKill(); + /// + public static async System.Threading.Tasks.Task AsyncWaitForStart(this Tween t) + { + if (!t.active) { + if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t); + return; + } + while (t.active && !t.playedOnce) await System.Threading.Tasks.Task.Yield(); + } + + #endregion +#endif + + #endregion + + #endregion +#endif + } + + // █████████████████████████████████████████████████████████████████████████████████████████████████████████████████████ + // ███ CLASSES █████████████████████████████████████████████████████████████████████████████████████████████████████████ + // █████████████████████████████████████████████████████████████████████████████████████████████████████████████████████ + + public static class DOTweenCYInstruction + { + public class WaitForCompletion : CustomYieldInstruction + { + public override bool keepWaiting { get { + return t.active && !t.IsComplete(); + }} + readonly Tween t; + public WaitForCompletion(Tween tween) + { + t = tween; + } + } + + public class WaitForRewind : CustomYieldInstruction + { + public override bool keepWaiting { get { + return t.active && (!t.playedOnce || t.position * (t.CompletedLoops() + 1) > 0); + }} + readonly Tween t; + public WaitForRewind(Tween tween) + { + t = tween; + } + } + + public class WaitForKill : CustomYieldInstruction + { + public override bool keepWaiting { get { + return t.active; + }} + readonly Tween t; + public WaitForKill(Tween tween) + { + t = tween; + } + } + + public class WaitForElapsedLoops : CustomYieldInstruction + { + public override bool keepWaiting { get { + return t.active && t.CompletedLoops() < elapsedLoops; + }} + readonly Tween t; + readonly int elapsedLoops; + public WaitForElapsedLoops(Tween tween, int elapsedLoops) + { + t = tween; + this.elapsedLoops = elapsedLoops; + } + } + + public class WaitForPosition : CustomYieldInstruction + { + public override bool keepWaiting { get { + return t.active && t.position * (t.CompletedLoops() + 1) < position; + }} + readonly Tween t; + readonly float position; + public WaitForPosition(Tween tween, float position) + { + t = tween; + this.position = position; + } + } + + public class WaitForStart : CustomYieldInstruction + { + public override bool keepWaiting { get { + return t.active && !t.playedOnce; + }} + readonly Tween t; + public WaitForStart(Tween tween) + { + t = tween; + } + } + } +} diff --git a/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUnityVersion.cs.meta b/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUnityVersion.cs.meta new file mode 100644 index 0000000..290189f --- /dev/null +++ b/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUnityVersion.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 63c02322328255542995bd02b47b0457 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUtils.cs b/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUtils.cs new file mode 100644 index 0000000..12a365d --- /dev/null +++ b/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUtils.cs @@ -0,0 +1,167 @@ +// Author: Daniele Giardini - http://www.demigiant.com +// Created: 2018/07/13 + +using System; +using System.Reflection; +using UnityEngine; +using DG.Tweening.Core; +using DG.Tweening.Plugins.Core.PathCore; +using DG.Tweening.Plugins.Options; + +#pragma warning disable 1591 +namespace DG.Tweening +{ + /// + /// Utility functions that deal with available Modules. + /// Modules defines: + /// - DOTAUDIO + /// - DOTPHYSICS + /// - DOTPHYSICS2D + /// - DOTSPRITE + /// - DOTUI + /// Extra defines set and used for implementation of external assets: + /// - DOTWEEN_TMP ► TextMesh Pro + /// - DOTWEEN_TK2D ► 2D Toolkit + /// + public static class DOTweenModuleUtils + { + static bool _initialized; + + #region Reflection + + /// + /// Called via Reflection by DOTweenComponent on Awake + /// +#if UNITY_2018_1_OR_NEWER + [UnityEngine.Scripting.Preserve] +#endif + public static void Init() + { + if (_initialized) return; + + _initialized = true; + DOTweenExternalCommand.SetOrientationOnPath += Physics.SetOrientationOnPath; + +#if UNITY_EDITOR +#if UNITY_4_3 || UNITY_4_4 || UNITY_4_5 || UNITY_4_6 || UNITY_5 || UNITY_2017_1 + UnityEditor.EditorApplication.playmodeStateChanged += PlaymodeStateChanged; +#else + UnityEditor.EditorApplication.playModeStateChanged += PlaymodeStateChanged; +#endif +#endif + } + +#if UNITY_2018_1_OR_NEWER +#pragma warning disable + [UnityEngine.Scripting.Preserve] + // Just used to preserve methods when building, never called + static void Preserver() + { + Assembly[] loadedAssemblies = AppDomain.CurrentDomain.GetAssemblies(); + MethodInfo mi = typeof(MonoBehaviour).GetMethod("Stub"); + } +#pragma warning restore +#endif + + #endregion + +#if UNITY_EDITOR + // Fires OnApplicationPause in DOTweenComponent even when Editor is paused (otherwise it's only fired at runtime) +#if UNITY_4_3 || UNITY_4_4 || UNITY_4_5 || UNITY_4_6 || UNITY_5 || UNITY_2017_1 + static void PlaymodeStateChanged() + #else + static void PlaymodeStateChanged(UnityEditor.PlayModeStateChange state) +#endif + { + if (DOTween.instance == null) return; + DOTween.instance.OnApplicationPause(UnityEditor.EditorApplication.isPaused); + } +#endif + + // █████████████████████████████████████████████████████████████████████████████████████████████████████████████████████ + // ███ INTERNAL CLASSES ████████████████████████████████████████████████████████████████████████████████████████████████ + // █████████████████████████████████████████████████████████████████████████████████████████████████████████████████████ + + public static class Physics + { + // Called via DOTweenExternalCommand callback + public static void SetOrientationOnPath(PathOptions options, Tween t, Quaternion newRot, Transform trans) + { +#if true // PHYSICS_MARKER + if (options.isRigidbody) ((Rigidbody)t.target).rotation = newRot; + else trans.rotation = newRot; +#else + trans.rotation = newRot; +#endif + } + + // Returns FALSE if the DOTween's Physics2D Module is disabled, or if there's no Rigidbody2D attached + public static bool HasRigidbody2D(Component target) + { +#if true // PHYSICS2D_MARKER + return target.GetComponent() != null; +#else + return false; +#endif + } + + #region Called via Reflection + + + // Called via Reflection by DOTweenPathInspector + // Returns FALSE if the DOTween's Physics Module is disabled, or if there's no rigidbody attached +#if UNITY_2018_1_OR_NEWER + [UnityEngine.Scripting.Preserve] +#endif + public static bool HasRigidbody(Component target) + { +#if true // PHYSICS_MARKER + return target.GetComponent() != null; +#else + return false; +#endif + } + + // Called via Reflection by DOTweenPath +#if UNITY_2018_1_OR_NEWER + [UnityEngine.Scripting.Preserve] +#endif + public static TweenerCore CreateDOTweenPathTween( + MonoBehaviour target, bool tweenRigidbody, bool isLocal, Path path, float duration, PathMode pathMode + ){ + TweenerCore t = null; + bool rBodyFoundAndTweened = false; +#if true // PHYSICS_MARKER + if (tweenRigidbody) { + Rigidbody rBody = target.GetComponent(); + if (rBody != null) { + rBodyFoundAndTweened = true; + t = isLocal + ? rBody.DOLocalPath(path, duration, pathMode) + : rBody.DOPath(path, duration, pathMode); + } + } +#endif +#if true // PHYSICS2D_MARKER + if (!rBodyFoundAndTweened && tweenRigidbody) { + Rigidbody2D rBody2D = target.GetComponent(); + if (rBody2D != null) { + rBodyFoundAndTweened = true; + t = isLocal + ? rBody2D.DOLocalPath(path, duration, pathMode) + : rBody2D.DOPath(path, duration, pathMode); + } + } +#endif + if (!rBodyFoundAndTweened) { + t = isLocal + ? target.transform.DOLocalPath(path, duration, pathMode) + : target.transform.DOPath(path, duration, pathMode); + } + return t; + } + + #endregion + } + } +} diff --git a/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUtils.cs.meta b/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUtils.cs.meta new file mode 100644 index 0000000..ab62186 --- /dev/null +++ b/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUtils.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7bcaf917d9cf5b84090421a5a2abe42e +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Plugins/Demigiant/DOTween/readme.txt b/Assets/Plugins/Demigiant/DOTween/readme.txt new file mode 100644 index 0000000..37ff7ef --- /dev/null +++ b/Assets/Plugins/Demigiant/DOTween/readme.txt @@ -0,0 +1,29 @@ +DOTween and DOTween Pro are copyright (c) 2014-2018 Daniele Giardini - Demigiant + +// IMPORTANT!!! ///////////////////////////////////////////// +// Upgrading DOTween from versions older than 1.2.000 /////// +// (or DOTween Pro older than 1.0.000) ////////////////////// +------------------------------------------------------------- +If you're upgrading your project from a version of DOTween older than 1.2.000 (or DOTween Pro older than 1.0.000) please follow these instructions carefully. +1) Import the new version in the same folder as the previous one, overwriting old files. A lot of errors will appear but don't worry +2) Close and reopen Unity (and your project). This is fundamental: skipping this step will cause a bloodbath +3) Open DOTween's Utility Panel (Tools > Demigiant > DOTween Utility Panel) if it doesn't open automatically, then press "Setup DOTween...": this will run the upgrade setup +4) From the Add/Remove Modules panel that opens, activate/deactivate Modules for Unity systems and for external assets (Pro version only) + +// GET STARTED ////////////////////////////////////////////// + +- After importing a new DOTween update, select DOTween's Utility Panel from the "Tools/Demigiant" menu (if it doesn't open automatically) and press the "Setup DOTween..." button to activate/deactivate Modules. You can also access a Preferences Tab from there to choose default settings for DOTween. +- In your code, add "using DG.Tweening" to each class where you want to use DOTween. +- You're ready to tween. Check out the links below for full documentation and license info. + + +// LINKS /////////////////////////////////////////////////////// + +DOTween website (documentation, examples, etc): http://dotween.demigiant.com +DOTween license: http://dotween.demigiant.com/license.php +DOTween repository (Google Code): https://code.google.com/p/dotween/ +Demigiant website (documentation, examples, etc): http://www.demigiant.com + +// NOTES ////////////////////////////////////////////////////// + +- DOTween's Utility Panel can be found under "Tools > Demigiant > DOTween Utility Panel" and also contains other useful options, plus a tab to set DOTween's preferences \ No newline at end of file diff --git a/Assets/Plugins/Demigiant/DOTween/readme.txt.meta b/Assets/Plugins/Demigiant/DOTween/readme.txt.meta new file mode 100644 index 0000000..3799165 --- /dev/null +++ b/Assets/Plugins/Demigiant/DOTween/readme.txt.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: fccfc62abf2eb0a4db614853430894fd +TextScriptImporter: + userData: diff --git a/Assets/Prefab/Gameplay.meta b/Assets/Prefab/Gameplay.meta new file mode 100644 index 0000000..8e246f4 --- /dev/null +++ b/Assets/Prefab/Gameplay.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 23415b4eb6b761f48b7a883d086ea314 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefab/Gameplay/Card.prefab b/Assets/Prefab/Gameplay/Card.prefab new file mode 100644 index 0000000..2e06d9b --- /dev/null +++ b/Assets/Prefab/Gameplay/Card.prefab @@ -0,0 +1,479 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2782175792003806444 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2653266799713255234} + - component: {fileID: 528940306177264885} + - component: {fileID: 5156951718673587996} + m_Layer: 0 + m_Name: Front + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2653266799713255234 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2782175792003806444} + serializedVersion: 2 + m_LocalRotation: {x: 0.49870676, y: 0.5012899, z: -0.49870676, w: 0.5012899} + m_LocalPosition: {x: -0, y: 0, z: -3.059569e-10} + m_LocalScale: {x: 140, y: 100.00001, z: 100.00001} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 8288806321783590124} + m_LocalEulerAnglesHint: {x: 89.704, y: 90, z: 0} +--- !u!33 &528940306177264885 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2782175792003806444} + m_Mesh: {fileID: -8023080413318814639, guid: 385fcf3412d956c4ab650555ee5f584d, type: 3} +--- !u!23 &5156951718673587996 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2782175792003806444} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: -4372536172839912495, guid: 385fcf3412d956c4ab650555ee5f584d, type: 3} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &2850323074743059847 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4429445361403306062} + - component: {fileID: 5955221871912472979} + - component: {fileID: 8076059722617504667} + - component: {fileID: 2071415116134746463} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4429445361403306062 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2850323074743059847} + m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 602904479329865416} + - {fileID: 461998205047545604} + m_Father: {fileID: 8288806321783590124} + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 2.0103, y: 2.7914} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!223 &5955221871912472979 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2850323074743059847} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 2 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_VertexColorAlwaysGammaSpace: 0 + m_AdditionalShaderChannelsFlag: 0 + m_UpdateRectTransformForStandalone: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!114 &8076059722617504667 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2850323074743059847} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 2000 + m_PresetInfoIsWorld: 1 +--- !u!114 &2071415116134746463 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2850323074743059847} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!1 &3115270704739797056 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 461998205047545604} + - component: {fileID: 299007042903040478} + - component: {fileID: 968774230685629330} + m_Layer: 5 + m_Name: Description + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &461998205047545604 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3115270704739797056} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0.05} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4429445361403306062} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0} + m_AnchorMax: {x: 0.5, y: 0} + m_AnchoredPosition: {x: -0.0151, y: 0.5809} + m_SizeDelta: {x: 1.8498, y: 1.1487} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &299007042903040478 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3115270704739797056} + m_CullTransparentMesh: 1 +--- !u!114 &968774230685629330 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3115270704739797056} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 5 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 0 + m_MaxSize: 300 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Description +--- !u!1 &3172429145652055423 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 602904479329865416} + - component: {fileID: 7076931320485618310} + - component: {fileID: 1641835144558014658} + m_Layer: 5 + m_Name: Name + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &602904479329865416 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3172429145652055423} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0.05} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4429445361403306062} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: -0.0151, y: -0.1959} + m_SizeDelta: {x: 1.8498, y: 0.3576} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &7076931320485618310 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3172429145652055423} + m_CullTransparentMesh: 1 +--- !u!114 &1641835144558014658 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3172429145652055423} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 5 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 0 + m_MaxSize: 300 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Name +--- !u!1 &5614617657564266223 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6520432709391570604} + - component: {fileID: 3884522584561958753} + - component: {fileID: 1574770595276204962} + m_Layer: 0 + m_Name: Back + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6520432709391570604 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5614617657564266223} + serializedVersion: 2 + m_LocalRotation: {x: -0.49991274, y: 0.50008726, z: 0.49991274, w: 0.50008726} + m_LocalPosition: {x: -0, y: 0.0069994777, z: 3.059569e-10} + m_LocalScale: {x: 140, y: 100, z: 100} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 8288806321783590124} + m_LocalEulerAnglesHint: {x: -89.98, y: 90, z: 0} +--- !u!33 &3884522584561958753 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5614617657564266223} + m_Mesh: {fileID: -1119430988441025290, guid: 385fcf3412d956c4ab650555ee5f584d, type: 3} +--- !u!23 &1574770595276204962 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5614617657564266223} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 830258910468995235, guid: 385fcf3412d956c4ab650555ee5f584d, type: 3} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &8257975731489021549 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8288806321783590124} + - component: {fileID: 1562880286992207475} + m_Layer: 0 + m_Name: Card + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8288806321783590124 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8257975731489021549} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -9.91, y: 4.53, z: -7.2904015} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2653266799713255234} + - {fileID: 6520432709391570604} + - {fileID: 4429445361403306062} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1562880286992207475 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8257975731489021549} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 84de392c49524b6d8da09ea51c4326c0, type: 3} + m_Name: + m_EditorClassIdentifier: + meshRenderer: {fileID: 0} + cardNameText: {fileID: 1641835144558014658} + cardDescriptionText: {fileID: 968774230685629330} diff --git a/Assets/Script/Card/Card.asmdef.meta b/Assets/Prefab/Gameplay/Card.prefab.meta similarity index 59% rename from Assets/Script/Card/Card.asmdef.meta rename to Assets/Prefab/Gameplay/Card.prefab.meta index b8ecc42..502febc 100644 --- a/Assets/Script/Card/Card.asmdef.meta +++ b/Assets/Prefab/Gameplay/Card.prefab.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: ec826b79cbc40da479bcc7969404880e -AssemblyDefinitionImporter: +guid: dc2a5cfb98ac8c241be10b65fea1e72d +PrefabImporter: externalObjects: {} userData: assetBundleName: diff --git a/Assets/Prefab/Gameplay/CombatTrigger.prefab b/Assets/Prefab/Gameplay/CombatTrigger.prefab new file mode 100644 index 0000000..fc8bb75 --- /dev/null +++ b/Assets/Prefab/Gameplay/CombatTrigger.prefab @@ -0,0 +1,70 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &9062941793741291263 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 277803484986371650} + - component: {fileID: 2998987062612580781} + - component: {fileID: 1849928976878551814} + m_Layer: 0 + m_Name: CombatTrigger + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &277803484986371650 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9062941793741291263} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2.22201, y: 2.724243, z: -81.743225} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &2998987062612580781 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9062941793741291263} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 1 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 5, y: 5, z: 5} + m_Center: {x: 0, y: 0, z: 0} +--- !u!114 &1849928976878551814 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9062941793741291263} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2d9265c2645847c2b5197ed2ba181c98, type: 3} + m_Name: + m_EditorClassIdentifier: + combatManager: {fileID: 0} + disableAfterTrigger: 1 diff --git a/Assets/Prefab/Gameplay/CombatTrigger.prefab.meta b/Assets/Prefab/Gameplay/CombatTrigger.prefab.meta new file mode 100644 index 0000000..126811d --- /dev/null +++ b/Assets/Prefab/Gameplay/CombatTrigger.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 08dc103fc56f46345889fd4f2109149b +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefab/Gameplay/Enemy.prefab b/Assets/Prefab/Gameplay/Enemy.prefab new file mode 100644 index 0000000..d0bedd4 --- /dev/null +++ b/Assets/Prefab/Gameplay/Enemy.prefab @@ -0,0 +1,156 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &440771197970748831 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2899656235242765589} + - component: {fileID: 5289525519615997488} + - component: {fileID: 2216987987592960140} + - component: {fileID: 1689477996363267361} + m_Layer: 0 + m_Name: Model + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2899656235242765589 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 440771197970748831} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: -0.23, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 798485138132604611} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &5289525519615997488 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 440771197970748831} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &2216987987592960140 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 440771197970748831} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!136 &1689477996363267361 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 440771197970748831} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 0.5000001 + m_Height: 2 + m_Direction: 1 + m_Center: {x: 0.000000059604645, y: 0, z: -0.00000008940697} +--- !u!1 &8667473653554082920 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 798485138132604611} + - component: {fileID: 1783783211067008165} + m_Layer: 0 + m_Name: Enemy + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &798485138132604611 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8667473653554082920} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0.97084504, y: 2.06, z: -80.739914} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2899656235242765589} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1783783211067008165 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8667473653554082920} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b5a587a681ae48d6b3a5dcd5a723fd5a, type: 3} + m_Name: + m_EditorClassIdentifier: + enemyName: + maxHealth: 100 diff --git a/Assets/Prefab/Gameplay/Enemy.prefab.meta b/Assets/Prefab/Gameplay/Enemy.prefab.meta new file mode 100644 index 0000000..4886cbe --- /dev/null +++ b/Assets/Prefab/Gameplay/Enemy.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 5cc5fd4f5a07afc4db2fa18398cd214d +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefab/Gameplay/Map.meta b/Assets/Prefab/Gameplay/Map.meta new file mode 100644 index 0000000..b776633 --- /dev/null +++ b/Assets/Prefab/Gameplay/Map.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 027aff250483ab048b82789dacea5f56 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefab/Gameplay/Map/MapFlag.prefab b/Assets/Prefab/Gameplay/Map/MapFlag.prefab new file mode 100644 index 0000000..187d9a5 --- /dev/null +++ b/Assets/Prefab/Gameplay/Map/MapFlag.prefab @@ -0,0 +1,72 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &4085323846378366699 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3017012476905176277} + - component: {fileID: 6899285342125436308} + - component: {fileID: 2906861983294161497} + m_Layer: 0 + m_Name: MapFlag + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3017012476905176277 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4085323846378366699} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -13.6, y: 12.27, z: -72.7} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &6899285342125436308 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4085323846378366699} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2c3ea88c92cc4d0bb6098983903be7fb, type: 3} + m_Name: + m_EditorClassIdentifier: + FlagName: 1 + Position: {x: 0, y: 0, z: 0} + LeftFlag: {fileID: 0} + RightFlag: {fileID: 0} +--- !u!135 &2906861983294161497 +SphereCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4085323846378366699} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Radius: 1.5 + m_Center: {x: 0, y: 0, z: 0} diff --git a/Assets/Prefab/Gameplay/Map/MapFlag.prefab.meta b/Assets/Prefab/Gameplay/Map/MapFlag.prefab.meta new file mode 100644 index 0000000..a053936 --- /dev/null +++ b/Assets/Prefab/Gameplay/Map/MapFlag.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 1cb34f4568333424d8224ec49401b640 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefab/Gameplay/Map/MapFlagManager.prefab b/Assets/Prefab/Gameplay/Map/MapFlagManager.prefab new file mode 100644 index 0000000..30baa5c --- /dev/null +++ b/Assets/Prefab/Gameplay/Map/MapFlagManager.prefab @@ -0,0 +1,47 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &5076912142391002860 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8279917458776975425} + - component: {fileID: 3703449653124942192} + m_Layer: 0 + m_Name: MapFlagManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8279917458776975425 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5076912142391002860} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -15.516351, y: 5.3981843, z: -73.74406} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &3703449653124942192 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5076912142391002860} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f13be1e244e84e3b93b0b3a4c054cb46, type: 3} + m_Name: + m_EditorClassIdentifier: + StartFlag: {fileID: 0} diff --git a/Assets/Prefab/Gameplay/Map/MapFlagManager.prefab.meta b/Assets/Prefab/Gameplay/Map/MapFlagManager.prefab.meta new file mode 100644 index 0000000..be362d9 --- /dev/null +++ b/Assets/Prefab/Gameplay/Map/MapFlagManager.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 8b70ed0baea90974b9bec4837fc6b03b +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefab/Gameplay/NormalCardBook.prefab b/Assets/Prefab/Gameplay/NormalCardBook.prefab new file mode 100644 index 0000000..6a17893 --- /dev/null +++ b/Assets/Prefab/Gameplay/NormalCardBook.prefab @@ -0,0 +1,121 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &8031699868756389050 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 151205406321954705} + - component: {fileID: 5690328992423205384} + - component: {fileID: 2534201213536568736} + - component: {fileID: 4332638092210716533} + - component: {fileID: 5079159534106663042} + m_Layer: 0 + m_Name: NormalCardBook + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &151205406321954705 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8031699868756389050} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1.5440545, y: 0.5792608, z: 1.0709323} + m_LocalScale: {x: 1, y: 0.35446, z: 1.004} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &5690328992423205384 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8031699868756389050} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &2534201213536568736 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8031699868756389050} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!65 &4332638092210716533 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8031699868756389050} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!114 &5079159534106663042 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8031699868756389050} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 68803a8f56734f22a3025f8028fc027f, type: 3} + m_Name: + m_EditorClassIdentifier: + LeftHandPoint: {fileID: 0} diff --git a/Assets/Prefab/Gameplay/NormalCardBook.prefab.meta b/Assets/Prefab/Gameplay/NormalCardBook.prefab.meta new file mode 100644 index 0000000..bf04af7 --- /dev/null +++ b/Assets/Prefab/Gameplay/NormalCardBook.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 396fdaee2868c534e927e0c2d4da65da +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefab/Player.prefab b/Assets/Prefab/Gameplay/Player.prefab similarity index 91% rename from Assets/Prefab/Player.prefab rename to Assets/Prefab/Gameplay/Player.prefab index 22e053c..093db4d 100644 --- a/Assets/Prefab/Player.prefab +++ b/Assets/Prefab/Gameplay/Player.prefab @@ -58,13 +58,13 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2662940045523497722} serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -0.429, y: 0.031, z: 0.503} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.42899996, y: 0.031000018, z: 0.50299835} m_LocalScale: {x: 0.18677, y: 0.11761, z: 1} m_ConstrainProportionsScale: 0 m_Children: - {fileID: 2527536271463650684} - m_Father: {fileID: 7437893023972897012} + m_Father: {fileID: 4653338744613549289} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &4279304889447075947 MeshFilter: @@ -146,12 +146,14 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 7437893023972897012} - - component: {fileID: 2443477651336594919} + - component: {fileID: 4244763631639030120} - component: {fileID: 8268117914458884828} - component: {fileID: 2963170313432786625} + - component: {fileID: 3697820982367928434} + - component: {fileID: 1774433545530707224} m_Layer: 0 m_Name: Player - m_TagString: Untagged + m_TagString: Player m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 @@ -171,24 +173,34 @@ Transform: m_Children: - {fileID: 5935896118424760811} - {fileID: 4653338744613549289} - - {fileID: 7363529627477262801} - - {fileID: 9046351536667252851} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &2443477651336594919 -MonoBehaviour: +--- !u!143 &4244763631639030120 +CharacterController: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 3550102669167288263} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4b2523ea21ee4f67b15c7c519c39aead, type: 3} - m_Name: - m_EditorClassIdentifier: - CurrentHealth: 0 - MaxHealth: 0 + serializedVersion: 3 + m_Height: 2 + m_Radius: 0.5 + m_SlopeLimit: 45 + m_StepOffset: 0.3 + m_SkinWidth: 0.08 + m_MinMoveDistance: 0.001 + m_Center: {x: 0, y: 0, z: 0} --- !u!114 &8268117914458884828 MonoBehaviour: m_ObjectHideFlags: 0 @@ -201,7 +213,14 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 14c86d6b22344680a9eba4de056d3b53, type: 3} m_Name: m_EditorClassIdentifier: - speed: 0 + speed: 8 + jumpHeight: 2 + gravity: -9.81 + groundCheck: {fileID: 0} + groundDistance: 0.4 + groundMask: + serializedVersion: 2 + m_Bits: 64 --- !u!114 &2963170313432786625 MonoBehaviour: m_ObjectHideFlags: 0 @@ -222,6 +241,36 @@ MonoBehaviour: maxDownAngle: 60 enableSmoothing: 0 smoothTime: 0.05 +--- !u!114 &3697820982367928434 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3550102669167288263} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d7071907d14f433789ea37a8367b584a, type: 3} + m_Name: + m_EditorClassIdentifier: + cardBookData: {fileID: 11400000, guid: 6884501cc489c254aaf6836e84649588, type: 2} +--- !u!114 &1774433545530707224 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3550102669167288263} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc03712b5c254b8380471356f3bac151, type: 3} + m_Name: + m_EditorClassIdentifier: + interactRange: 15 + interactableLayer: + serializedVersion: 2 + m_Bits: 4294967295 + playerCamera: {fileID: 4390370389971332335} --- !u!1 &3610935294554348573 GameObject: m_ObjectHideFlags: 0 @@ -386,13 +435,13 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 4008511358780942599} serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0.44, y: 0.031, z: 0.503} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.44, y: 0.031000018, z: 0.50299835} m_LocalScale: {x: 0.18677, y: 0.11761, z: 1} m_ConstrainProportionsScale: 0 m_Children: - {fileID: 8381260000076097252} - m_Father: {fileID: 7437893023972897012} + m_Father: {fileID: 4653338744613549289} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &4574786412237977465 MeshFilter: @@ -507,7 +556,6 @@ GameObject: - component: {fileID: 4653338744613549289} - component: {fileID: 5270693045650434665} - component: {fileID: 938550027564383474} - - component: {fileID: 7436904761217286423} m_Layer: 0 m_Name: Model m_TagString: Untagged @@ -527,7 +575,9 @@ Transform: m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 - m_Children: [] + m_Children: + - {fileID: 7363529627477262801} + - {fileID: 9046351536667252851} m_Father: {fileID: 7437893023972897012} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &5270693045650434665 @@ -580,26 +630,3 @@ MeshRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_AdditionalVertexStreams: {fileID: 0} ---- !u!136 &7436904761217286423 -CapsuleCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6004105694309553016} - m_Material: {fileID: 0} - m_IncludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_ExcludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_LayerOverridePriority: 0 - m_IsTrigger: 0 - m_ProvidesContacts: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Radius: 0.5 - m_Height: 2 - m_Direction: 1 - m_Center: {x: 0, y: 0, z: 0} diff --git a/Assets/Prefab/Player.prefab.meta b/Assets/Prefab/Gameplay/Player.prefab.meta similarity index 100% rename from Assets/Prefab/Player.prefab.meta rename to Assets/Prefab/Gameplay/Player.prefab.meta diff --git a/Assets/Resources.meta b/Assets/Resources.meta new file mode 100644 index 0000000..13621d6 --- /dev/null +++ b/Assets/Resources.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e44b690eb74fc164a92b20ef65881895 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Configs.meta b/Assets/Resources/Configs.meta new file mode 100644 index 0000000..b9a00ab --- /dev/null +++ b/Assets/Resources/Configs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6c8774e7f66a50b479a8c4a3cc8f126c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Configs/Card.meta b/Assets/Resources/Configs/Card.meta new file mode 100644 index 0000000..95b697f --- /dev/null +++ b/Assets/Resources/Configs/Card.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b65b132ec0573cd41af0bda96f0ca026 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Configs/Card/DamageCard.asset b/Assets/Resources/Configs/Card/DamageCard.asset new file mode 100644 index 0000000..1c95d71 --- /dev/null +++ b/Assets/Resources/Configs/Card/DamageCard.asset @@ -0,0 +1,22 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7c9f5640c7fc55141af2931d0caed1e0, type: 3} + m_Name: DamageCard + m_EditorClassIdentifier: + CardID: 0 + CardName: DamageCard + CardDescription: + CardTexture: {fileID: 0} + Effects: + - type: 0 + value: 1 + target: 1 diff --git a/Assets/Resources/Configs/Card/DamageCard.asset.meta b/Assets/Resources/Configs/Card/DamageCard.asset.meta new file mode 100644 index 0000000..703fd15 --- /dev/null +++ b/Assets/Resources/Configs/Card/DamageCard.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 32b7a8321e7abc844b76ed3c5b8919c5 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Configs/CardBook.meta b/Assets/Resources/Configs/CardBook.meta new file mode 100644 index 0000000..b7452f3 --- /dev/null +++ b/Assets/Resources/Configs/CardBook.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6a24496b0a5ec3548a474be1fd42b6da +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Configs/CardBook/NormalCardBook.asset b/Assets/Resources/Configs/CardBook/NormalCardBook.asset new file mode 100644 index 0000000..eb68ef4 --- /dev/null +++ b/Assets/Resources/Configs/CardBook/NormalCardBook.asset @@ -0,0 +1,17 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 54f1f8ff48b84542962110e7a9851917, type: 3} + m_Name: NormalCardBook + m_EditorClassIdentifier: + SlotCount: 24 + SpareCount: 6 + MaxLoopCount: 1 diff --git a/Assets/Resources/Configs/CardBook/NormalCardBook.asset.meta b/Assets/Resources/Configs/CardBook/NormalCardBook.asset.meta new file mode 100644 index 0000000..292e7b7 --- /dev/null +++ b/Assets/Resources/Configs/CardBook/NormalCardBook.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6884501cc489c254aaf6836e84649588 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/DOTweenSettings.asset b/Assets/Resources/DOTweenSettings.asset new file mode 100644 index 0000000..62ebbaf --- /dev/null +++ b/Assets/Resources/DOTweenSettings.asset @@ -0,0 +1,54 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 16995157, guid: a811bde74b26b53498b4f6d872b09b6d, type: 3} + m_Name: DOTweenSettings + m_EditorClassIdentifier: + useSafeMode: 1 + safeModeOptions: + logBehaviour: 2 + nestedTweenFailureBehaviour: 0 + timeScale: 1 + unscaledTimeScale: 1 + useSmoothDeltaTime: 0 + maxSmoothUnscaledTime: 0.15 + rewindCallbackMode: 0 + showUnityEditorReport: 0 + logBehaviour: 0 + drawGizmos: 1 + defaultRecyclable: 0 + defaultAutoPlay: 3 + defaultUpdateType: 0 + defaultTimeScaleIndependent: 0 + defaultEaseType: 6 + defaultEaseOvershootOrAmplitude: 1.70158 + defaultEasePeriod: 0 + defaultAutoKill: 1 + defaultLoopType: 0 + debugMode: 0 + debugStoreTargetId: 1 + showPreviewPanel: 1 + storeSettingsLocation: 0 + modules: + showPanel: 0 + audioEnabled: 1 + physicsEnabled: 1 + physics2DEnabled: 1 + spriteEnabled: 1 + uiEnabled: 1 + textMeshProEnabled: 0 + tk2DEnabled: 0 + deAudioEnabled: 0 + deUnityExtendedEnabled: 0 + epoOutlineEnabled: 0 + createASMDEF: 0 + showPlayingTweens: 0 + showPausedTweens: 0 diff --git a/Assets/Resources/DOTweenSettings.asset.meta b/Assets/Resources/DOTweenSettings.asset.meta new file mode 100644 index 0000000..67deaa9 --- /dev/null +++ b/Assets/Resources/DOTweenSettings.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 289cc4f517db2774d9416a8aef60df0f +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/Level1.unity b/Assets/Scenes/Level1.unity index c2f4bf6..c113e9c 100644 --- a/Assets/Scenes/Level1.unity +++ b/Assets/Scenes/Level1.unity @@ -122,7 +122,7 @@ NavMeshSettings: debug: m_Flags: 0 m_NavMeshData: {fileID: 0} ---- !u!1 &330585543 +--- !u!1 &370096296 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -130,135 +130,171 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 330585546} - - component: {fileID: 330585545} - - component: {fileID: 330585544} - - component: {fileID: 330585547} + - component: {fileID: 370096300} + - component: {fileID: 370096299} + - component: {fileID: 370096298} + - component: {fileID: 370096297} m_Layer: 0 - m_Name: Main Camera - m_TagString: MainCamera + m_Name: Cube + m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!81 &330585544 -AudioListener: +--- !u!65 &370096297 +BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 330585543} + m_GameObject: {fileID: 370096296} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 m_Enabled: 1 ---- !u!20 &330585545 -Camera: + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &370096298 +MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 330585543} + m_GameObject: {fileID: 370096296} m_Enabled: 1 - serializedVersion: 2 - m_ClearFlags: 1 - m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} - m_projectionMatrixMode: 1 - m_GateFitMode: 2 - m_FOVAxisMode: 0 - m_Iso: 200 - m_ShutterSpeed: 0.005 - m_Aperture: 16 - m_FocusDistance: 10 - m_FocalLength: 50 - m_BladeCount: 5 - m_Curvature: {x: 2, y: 11} - m_BarrelClipping: 0.25 - m_Anamorphism: 0 - m_SensorSize: {x: 36, y: 24} - m_LensShift: {x: 0, y: 0} - m_NormalizedViewPortRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 - near clip plane: 0.3 - far clip plane: 1000 - field of view: 60 - orthographic: 0 - orthographic size: 5 - m_Depth: -1 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_RenderingPath: -1 - m_TargetTexture: {fileID: 0} - m_TargetDisplay: 0 - m_TargetEye: 3 - m_HDR: 1 - m_AllowMSAA: 1 - m_AllowDynamicResolution: 0 - m_ForceIntoRT: 0 - m_OcclusionCulling: 1 - m_StereoConvergence: 10 - m_StereoSeparation: 0.022 ---- !u!4 &330585546 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &370096299 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 370096296} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &370096300 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 330585543} + m_GameObject: {fileID: 370096296} serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 1, z: -10} - m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalRotation: {x: -0, y: -0.34011272, z: -0, w: 0.94038475} + m_LocalPosition: {x: -5.1, y: -0.49327302, z: -3.6} + m_LocalScale: {x: 1.9331503, y: 5, z: 15.9655} m_ConstrainProportionsScale: 0 m_Children: [] - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &330585547 + m_Father: {fileID: 2021089518} + m_LocalEulerAnglesHint: {x: 0, y: -39.767, z: 0} +--- !u!1 &382458518 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 382458521} + - component: {fileID: 382458520} + - component: {fileID: 382458519} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &382458519 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 330585543} + m_GameObject: {fileID: 382458518} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3} + m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} m_Name: m_EditorClassIdentifier: - m_RenderShadows: 1 - m_RequiresDepthTextureOption: 2 - m_RequiresOpaqueTextureOption: 2 - m_CameraType: 0 - m_Cameras: [] - m_RendererIndex: -1 - m_VolumeLayerMask: - serializedVersion: 2 - m_Bits: 1 - m_VolumeTrigger: {fileID: 0} - m_VolumeFrameworkUpdateModeOption: 2 - m_RenderPostProcessing: 1 - m_Antialiasing: 0 - m_AntialiasingQuality: 2 - m_StopNaN: 0 - m_Dithering: 0 - m_ClearDepth: 1 - m_AllowXRRendering: 1 - m_AllowHDROutput: 1 - m_UseScreenCoordOverride: 0 - m_ScreenSizeOverride: {x: 0, y: 0, z: 0, w: 0} - m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0} - m_RequiresDepthTexture: 0 - m_RequiresColorTexture: 0 - m_Version: 2 - m_TaaSettings: - m_Quality: 3 - m_FrameInfluence: 0.1 - m_JitterScale: 1 - m_MipBias: 0 - m_VarianceClampScale: 0.9 - m_ContrastAdaptiveSharpening: 0 + m_SendPointerHoverToParent: 1 + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &382458520 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 382458518} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 10 +--- !u!4 &382458521 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 382458518} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &410087039 GameObject: m_ObjectHideFlags: 0 @@ -377,6 +413,216 @@ MonoBehaviour: m_LightCookieSize: {x: 1, y: 1} m_LightCookieOffset: {x: 0, y: 0} m_SoftShadowQuality: 1 +--- !u!1 &856668955 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 856668956} + - component: {fileID: 856668959} + - component: {fileID: 856668958} + - component: {fileID: 856668957} + m_Layer: 0 + m_Name: Cube (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &856668956 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 856668955} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0.12691997, z: -0, w: 0.991913} + m_LocalPosition: {x: 7, y: 1.9, z: 5} + m_LocalScale: {x: 1.9331503, y: 5, z: 5} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2021089518} + m_LocalEulerAnglesHint: {x: 0, y: -14.583, z: 0} +--- !u!65 &856668957 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 856668955} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &856668958 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 856668955} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &856668959 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 856668955} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1234629634 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1234629635} + - component: {fileID: 1234629638} + - component: {fileID: 1234629637} + - component: {fileID: 1234629636} + m_Layer: 0 + m_Name: Cube (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1234629635 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1234629634} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: 0.32946298, z: -0, w: 0.9441685} + m_LocalPosition: {x: 4.7, y: -0.49327302, z: -4.5} + m_LocalScale: {x: 1.9331502, y: 5, z: 15.503813} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2021089518} + m_LocalEulerAnglesHint: {x: 0, y: 38.472, z: 0} +--- !u!65 &1234629636 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1234629634} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1234629637 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1234629634} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1234629638 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1234629634} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1274249800 GameObject: m_ObjectHideFlags: 0 @@ -389,8 +635,8 @@ GameObject: - component: {fileID: 1274249803} - component: {fileID: 1274249802} - component: {fileID: 1274249801} - m_Layer: 0 - m_Name: Plane + m_Layer: 6 + m_Name: Ground m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -478,15 +724,689 @@ Transform: serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -0.097626016, y: 0.17689009, z: -0.20200007} - m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalScale: {x: 10, y: 1, z: 20} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1304919964 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1304919965} + - component: {fileID: 1304919968} + - component: {fileID: 1304919967} + - component: {fileID: 1304919966} + m_Layer: 0 + m_Name: Cube (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1304919965 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1304919964} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0.61563027, z: -0, w: 0.7880352} + m_LocalPosition: {x: -11.4, y: -0.49327302, z: 2.2999992} + m_LocalScale: {x: 1.9331503, y: 5, z: 5} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2021089518} + m_LocalEulerAnglesHint: {x: 0, y: -75.995, z: 0} +--- !u!65 &1304919966 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1304919964} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1304919967 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1304919964} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1304919968 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1304919964} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1553269948 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1553269949} + - component: {fileID: 1553269952} + - component: {fileID: 1553269951} + - component: {fileID: 1553269950} + m_Layer: 0 + m_Name: Cube (5) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1553269949 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1553269948} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0.61563027, z: -0, w: 0.7880352} + m_LocalPosition: {x: 12.5, y: -0.49327302, z: 17} + m_LocalScale: {x: 1.9331503, y: 5, z: 5} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2021089518} + m_LocalEulerAnglesHint: {x: 0, y: -75.995, z: 0} +--- !u!65 &1553269950 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1553269948} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1553269951 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1553269948} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1553269952 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1553269948} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1883037177 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1883037178} + - component: {fileID: 1883037181} + - component: {fileID: 1883037180} + - component: {fileID: 1883037179} + m_Layer: 0 + m_Name: Cube (4) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1883037178 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1883037177} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: 0.010316122, z: -0, w: 0.99994683} + m_LocalPosition: {x: -11.4, y: -0.49327302, z: 13.7} + m_LocalScale: {x: 1.9331503, y: 5, z: 21.1215} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2021089518} + m_LocalEulerAnglesHint: {x: 0, y: 1.182, z: 0} +--- !u!65 &1883037179 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1883037177} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1883037180 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1883037177} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1883037181 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1883037177} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!114 &1919817224 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 1783783211067008165, guid: 5cc5fd4f5a07afc4db2fa18398cd214d, + type: 3} + m_PrefabInstance: {fileID: 8808393704070049945} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b5a587a681ae48d6b3a5dcd5a723fd5a, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &1928491248 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 3697820982367928434, guid: 667aedb0d3f8c9d469819c9ff2b4472b, + type: 3} + m_PrefabInstance: {fileID: 7020889523296792185} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d7071907d14f433789ea37a8367b584a, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1001 &1969328118 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 8257975731489021549, guid: dc2a5cfb98ac8c241be10b65fea1e72d, + type: 3} + propertyPath: m_Name + value: Card + objectReference: {fileID: 0} + - target: {fileID: 8288806321783590124, guid: dc2a5cfb98ac8c241be10b65fea1e72d, + type: 3} + propertyPath: m_LocalPosition.x + value: -6.374407 + objectReference: {fileID: 0} + - target: {fileID: 8288806321783590124, guid: dc2a5cfb98ac8c241be10b65fea1e72d, + type: 3} + propertyPath: m_LocalPosition.y + value: 0.18205953 + objectReference: {fileID: 0} + - target: {fileID: 8288806321783590124, guid: dc2a5cfb98ac8c241be10b65fea1e72d, + type: 3} + propertyPath: m_LocalPosition.z + value: -86.32 + objectReference: {fileID: 0} + - target: {fileID: 8288806321783590124, guid: dc2a5cfb98ac8c241be10b65fea1e72d, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8288806321783590124, guid: dc2a5cfb98ac8c241be10b65fea1e72d, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8288806321783590124, guid: dc2a5cfb98ac8c241be10b65fea1e72d, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8288806321783590124, guid: dc2a5cfb98ac8c241be10b65fea1e72d, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8288806321783590124, guid: dc2a5cfb98ac8c241be10b65fea1e72d, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8288806321783590124, guid: dc2a5cfb98ac8c241be10b65fea1e72d, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8288806321783590124, guid: dc2a5cfb98ac8c241be10b65fea1e72d, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: dc2a5cfb98ac8c241be10b65fea1e72d, type: 3} +--- !u!1 &2021089517 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2021089518} + m_Layer: 0 + m_Name: Scene + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2021089518 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2021089517} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1.732664, y: 3.233273, z: -64.35174} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 370096300} + - {fileID: 1304919965} + - {fileID: 856668956} + - {fileID: 1883037178} + - {fileID: 1553269949} + - {fileID: 1234629635} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &4976374363246253691 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 277803484986371650, guid: 08dc103fc56f46345889fd4f2109149b, + type: 3} + propertyPath: m_LocalPosition.x + value: 2.22201 + objectReference: {fileID: 0} + - target: {fileID: 277803484986371650, guid: 08dc103fc56f46345889fd4f2109149b, + type: 3} + propertyPath: m_LocalPosition.y + value: 2.724243 + objectReference: {fileID: 0} + - target: {fileID: 277803484986371650, guid: 08dc103fc56f46345889fd4f2109149b, + type: 3} + propertyPath: m_LocalPosition.z + value: -81.743225 + objectReference: {fileID: 0} + - target: {fileID: 277803484986371650, guid: 08dc103fc56f46345889fd4f2109149b, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 277803484986371650, guid: 08dc103fc56f46345889fd4f2109149b, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 277803484986371650, guid: 08dc103fc56f46345889fd4f2109149b, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 277803484986371650, guid: 08dc103fc56f46345889fd4f2109149b, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 277803484986371650, guid: 08dc103fc56f46345889fd4f2109149b, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 277803484986371650, guid: 08dc103fc56f46345889fd4f2109149b, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 277803484986371650, guid: 08dc103fc56f46345889fd4f2109149b, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1849928976878551814, guid: 08dc103fc56f46345889fd4f2109149b, + type: 3} + propertyPath: enemy + value: + objectReference: {fileID: 1919817224} + - target: {fileID: 1849928976878551814, guid: 08dc103fc56f46345889fd4f2109149b, + type: 3} + propertyPath: player + value: + objectReference: {fileID: 1928491248} + - target: {fileID: 9062941793741291263, guid: 08dc103fc56f46345889fd4f2109149b, + type: 3} + propertyPath: m_Name + value: CombatTrigger + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 08dc103fc56f46345889fd4f2109149b, type: 3} +--- !u!1001 &7020889523296792185 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 3550102669167288263, guid: 667aedb0d3f8c9d469819c9ff2b4472b, + type: 3} + propertyPath: m_Name + value: Player + objectReference: {fileID: 0} + - target: {fileID: 7437893023972897012, guid: 667aedb0d3f8c9d469819c9ff2b4472b, + type: 3} + propertyPath: m_LocalPosition.x + value: -0.21430849 + objectReference: {fileID: 0} + - target: {fileID: 7437893023972897012, guid: 667aedb0d3f8c9d469819c9ff2b4472b, + type: 3} + propertyPath: m_LocalPosition.y + value: 1.3 + objectReference: {fileID: 0} + - target: {fileID: 7437893023972897012, guid: 667aedb0d3f8c9d469819c9ff2b4472b, + type: 3} + propertyPath: m_LocalPosition.z + value: -86.23 + objectReference: {fileID: 0} + - target: {fileID: 7437893023972897012, guid: 667aedb0d3f8c9d469819c9ff2b4472b, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7437893023972897012, guid: 667aedb0d3f8c9d469819c9ff2b4472b, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7437893023972897012, guid: 667aedb0d3f8c9d469819c9ff2b4472b, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7437893023972897012, guid: 667aedb0d3f8c9d469819c9ff2b4472b, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7437893023972897012, guid: 667aedb0d3f8c9d469819c9ff2b4472b, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7437893023972897012, guid: 667aedb0d3f8c9d469819c9ff2b4472b, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7437893023972897012, guid: 667aedb0d3f8c9d469819c9ff2b4472b, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 667aedb0d3f8c9d469819c9ff2b4472b, type: 3} +--- !u!1001 &8808393704070049945 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 798485138132604611, guid: 5cc5fd4f5a07afc4db2fa18398cd214d, + type: 3} + propertyPath: m_LocalPosition.x + value: 1.22 + objectReference: {fileID: 0} + - target: {fileID: 798485138132604611, guid: 5cc5fd4f5a07afc4db2fa18398cd214d, + type: 3} + propertyPath: m_LocalPosition.y + value: 1.83 + objectReference: {fileID: 0} + - target: {fileID: 798485138132604611, guid: 5cc5fd4f5a07afc4db2fa18398cd214d, + type: 3} + propertyPath: m_LocalPosition.z + value: -76.89 + objectReference: {fileID: 0} + - target: {fileID: 798485138132604611, guid: 5cc5fd4f5a07afc4db2fa18398cd214d, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 798485138132604611, guid: 5cc5fd4f5a07afc4db2fa18398cd214d, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 798485138132604611, guid: 5cc5fd4f5a07afc4db2fa18398cd214d, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 798485138132604611, guid: 5cc5fd4f5a07afc4db2fa18398cd214d, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 798485138132604611, guid: 5cc5fd4f5a07afc4db2fa18398cd214d, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 798485138132604611, guid: 5cc5fd4f5a07afc4db2fa18398cd214d, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 798485138132604611, guid: 5cc5fd4f5a07afc4db2fa18398cd214d, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1783783211067008165, guid: 5cc5fd4f5a07afc4db2fa18398cd214d, + type: 3} + propertyPath: enemyName + value: aaa + objectReference: {fileID: 0} + - target: {fileID: 1783783211067008165, guid: 5cc5fd4f5a07afc4db2fa18398cd214d, + type: 3} + propertyPath: cardBookData + value: + objectReference: {fileID: 11400000, guid: 6884501cc489c254aaf6836e84649588, + type: 2} + - target: {fileID: 8667473653554082920, guid: 5cc5fd4f5a07afc4db2fa18398cd214d, + type: 3} + propertyPath: m_Name + value: Enemy + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 5cc5fd4f5a07afc4db2fa18398cd214d, type: 3} --- !u!1660057539 &9223372036854775807 SceneRoots: m_ObjectHideFlags: 0 m_Roots: - - {fileID: 330585546} - {fileID: 410087041} - {fileID: 1274249804} + - {fileID: 7020889523296792185} + - {fileID: 2021089518} + - {fileID: 4976374363246253691} + - {fileID: 8808393704070049945} + - {fileID: 1969328118} + - {fileID: 382458521} diff --git a/Assets/Scenes/UIScene.unity b/Assets/Scenes/UIScene.unity index 6b8ab86..46d74f4 100644 --- a/Assets/Scenes/UIScene.unity +++ b/Assets/Scenes/UIScene.unity @@ -122,7 +122,7 @@ NavMeshSettings: debug: m_Flags: 0 m_NavMeshData: {fileID: 0} ---- !u!1 &123334584 +--- !u!1 &40417853 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -130,187 +130,471 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 123334587} - - component: {fileID: 123334586} - - component: {fileID: 123334585} + - component: {fileID: 40417856} + - component: {fileID: 40417855} + - component: {fileID: 40417854} m_Layer: 0 - m_Name: Main Camera - m_TagString: MainCamera - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!81 &123334585 -AudioListener: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 123334584} - m_Enabled: 1 ---- !u!20 &123334586 -Camera: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 123334584} - m_Enabled: 1 - serializedVersion: 2 - m_ClearFlags: 1 - m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} - m_projectionMatrixMode: 1 - m_GateFitMode: 2 - m_FOVAxisMode: 0 - m_Iso: 200 - m_ShutterSpeed: 0.005 - m_Aperture: 16 - m_FocusDistance: 10 - m_FocalLength: 50 - m_BladeCount: 5 - m_Curvature: {x: 2, y: 11} - m_BarrelClipping: 0.25 - m_Anamorphism: 0 - m_SensorSize: {x: 36, y: 24} - m_LensShift: {x: 0, y: 0} - m_NormalizedViewPortRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 - near clip plane: 0.3 - far clip plane: 1000 - field of view: 60 - orthographic: 0 - orthographic size: 5 - m_Depth: -1 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_RenderingPath: -1 - m_TargetTexture: {fileID: 0} - m_TargetDisplay: 0 - m_TargetEye: 3 - m_HDR: 1 - m_AllowMSAA: 1 - m_AllowDynamicResolution: 0 - m_ForceIntoRT: 0 - m_OcclusionCulling: 1 - m_StereoConvergence: 10 - m_StereoSeparation: 0.022 ---- !u!4 &123334587 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 123334584} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 1, z: -10} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &551973676 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 551973678} - - component: {fileID: 551973677} - m_Layer: 0 - m_Name: Directional Light + m_Name: EventSystem m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!108 &551973677 -Light: +--- !u!114 &40417854 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 551973676} + m_GameObject: {fileID: 40417853} m_Enabled: 1 - serializedVersion: 10 - m_Type: 1 - m_Shape: 0 - m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} - m_Intensity: 1 - m_Range: 10 - m_SpotAngle: 30 - m_InnerSpotAngle: 21.80208 - m_CookieSize: 10 - m_Shadows: - m_Type: 2 - m_Resolution: -1 - m_CustomResolution: -1 - m_Strength: 1 - m_Bias: 0.05 - m_NormalBias: 0.4 - m_NearPlane: 0.2 - m_CullingMatrixOverride: - e00: 1 - e01: 0 - e02: 0 - e03: 0 - e10: 0 - e11: 1 - e12: 0 - e13: 0 - e20: 0 - e21: 0 - e22: 1 - e23: 0 - e30: 0 - e31: 0 - e32: 0 - e33: 1 - m_UseCullingMatrixOverride: 0 - m_Cookie: {fileID: 0} - m_DrawHalo: 0 - m_Flare: {fileID: 0} - m_RenderMode: 0 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_RenderingLayerMask: 1 - m_Lightmapping: 4 - m_LightShadowCasterMode: 0 - m_AreaSize: {x: 1, y: 1} - m_BounceIntensity: 1 - m_ColorTemperature: 6570 - m_UseColorTemperature: 0 - m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} - m_UseBoundingSphereOverride: 0 - m_UseViewFrustumForShadowCasterCull: 1 - m_ShadowRadius: 0 - m_ShadowAngle: 0 ---- !u!4 &551973678 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} + m_Name: + m_EditorClassIdentifier: + m_SendPointerHoverToParent: 1 + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &40417855 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 40417853} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 10 +--- !u!4 &40417856 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 551973676} + m_GameObject: {fileID: 40417853} serializedVersion: 2 - m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} - m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1067459524 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1067459529} + - component: {fileID: 1067459528} + - component: {fileID: 1067459527} + - component: {fileID: 1067459526} + - component: {fileID: 1067459525} + m_Layer: 5 + m_Name: PopUp + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1067459525 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1067459524} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7a5cdded3cae71848bcb0e7ca91e4570, type: 3} + m_Name: + m_EditorClassIdentifier: + layer: 2 +--- !u!114 &1067459526 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1067459524} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &1067459527 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1067459524} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 +--- !u!223 &1067459528 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1067459524} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_VertexColorAlwaysGammaSpace: 0 + m_AdditionalShaderChannelsFlag: 0 + m_UpdateRectTransformForStandalone: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &1067459529 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1067459524} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1082771939} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!1 &1082771938 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1082771939} + - component: {fileID: 1082771941} + - component: {fileID: 1082771940} + m_Layer: 5 + m_Name: CirclePoint + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1082771939 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1082771938} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.13, y: 0.13, z: 0.13} + m_ConstrainProportionsScale: 1 + m_Children: [] + m_Father: {fileID: 1067459529} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1082771940 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1082771938} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.8760108, g: 0.5987504, b: 0.15465952, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10913, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1082771941 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1082771938} + m_CullTransparentMesh: 1 +--- !u!1 &1200522801 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1200522802} + - component: {fileID: 1200522805} + - component: {fileID: 1200522804} + - component: {fileID: 1200522803} + m_Layer: 5 + m_Name: Text (Legacy) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1200522802 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1200522801} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1780593834} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 179, y: 58} + m_SizeDelta: {x: 299.6684, y: 81.36191} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1200522803 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1200522801} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a450025fc367419faaf7481787bfac88, type: 3} + m_Name: + m_EditorClassIdentifier: + IsOpenOnFirstLoad: 1 + hpText: {fileID: 1200522804} +--- !u!114 &1200522804 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1200522801} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 50 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 5 + m_MaxSize: 50 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: HP +--- !u!222 &1200522805 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1200522801} + m_CullTransparentMesh: 1 +--- !u!1 &1780593830 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1780593834} + - component: {fileID: 1780593833} + - component: {fileID: 1780593832} + - component: {fileID: 1780593831} + - component: {fileID: 1780593835} + m_Layer: 5 + m_Name: Normal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1780593831 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1780593830} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &1780593832 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1780593830} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 +--- !u!223 &1780593833 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1780593830} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_VertexColorAlwaysGammaSpace: 0 + m_AdditionalShaderChannelsFlag: 0 + m_UpdateRectTransformForStandalone: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &1780593834 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1780593830} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1200522802} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!114 &1780593835 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1780593830} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7a5cdded3cae71848bcb0e7ca91e4570, type: 3} + m_Name: + m_EditorClassIdentifier: + layer: 1 --- !u!1660057539 &9223372036854775807 SceneRoots: m_ObjectHideFlags: 0 m_Roots: - - {fileID: 123334587} - - {fileID: 551973678} + - {fileID: 1780593834} + - {fileID: 1067459529} + - {fileID: 40417856} diff --git a/Assets/Script/Card/CardEffect/CardContext.cs b/Assets/Script/Card/CardEffect/CardContext.cs deleted file mode 100644 index 8f4e2d9..0000000 --- a/Assets/Script/Card/CardEffect/CardContext.cs +++ /dev/null @@ -1,10 +0,0 @@ -using UnityEngine; -using Share; -namespace Card -{ - public class CardContext - { - public ICharacter Player; - public ICharacter Target; - } -} \ No newline at end of file diff --git a/Assets/Script/Card/CardEffect/EffectHandler.cs b/Assets/Script/Card/CardEffect/EffectHandler.cs deleted file mode 100644 index dcdd04c..0000000 --- a/Assets/Script/Card/CardEffect/EffectHandler.cs +++ /dev/null @@ -1,33 +0,0 @@ -using UnityEngine; - -namespace Card -{ - public static class EffectHandler - { - public static void Execute(EffectData effect, CardContext context) - { - switch (effect.type) - { - case EffectType.Damage: - context.Target.TakeDamage(effect.value); - break; - - case EffectType.Heal: - context.Target.Heal(effect.value); - break; - - case EffectType.DrawCard: - context.Player.Draw(effect.value); - break; - - case EffectType.AddBuff: - //TODO:context.Target.AddBuff(effect.value); - break; - - default: - Debug.LogWarning($"未知效果类型: {effect.type}"); - break; - } - } - } -} \ No newline at end of file diff --git a/Assets/Script/Core/Core.asmdef b/Assets/Script/Core/Core.asmdef index 3d51b87..22fbf72 100644 --- a/Assets/Script/Core/Core.asmdef +++ b/Assets/Script/Core/Core.asmdef @@ -2,7 +2,6 @@ "name": "Core", "rootNamespace": "", "references": [ - "GUID:9e4105fe56ff4b1789a1683a3c08d507", "GUID:75469ad4d38634e559750d17036d5f7c" ], "includePlatforms": [], diff --git a/Assets/Script/Core/Interface.meta b/Assets/Script/Core/Interface.meta new file mode 100644 index 0000000..e09a182 --- /dev/null +++ b/Assets/Script/Core/Interface.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: f02de2f72561440b862be76a712a53a6 +timeCreated: 1760448092 \ No newline at end of file diff --git a/Assets/Script/Core/Interface/IInputManager.cs b/Assets/Script/Core/Interface/IInputManager.cs new file mode 100644 index 0000000..fc0e920 --- /dev/null +++ b/Assets/Script/Core/Interface/IInputManager.cs @@ -0,0 +1,16 @@ +using UnityEngine; + +namespace Core +{ + public interface IInputManager + { + public Vector2 Move { get; } + public Vector2 Look { get; } + public bool JumpPressed { get; } + public bool PausePressed { get; } + public bool InteractPressed { get; } + public void SetCursorState(bool visible, CursorLockMode lockMode); + public void SetInputForLook(bool enabled); + public void SetInputForMove(bool enabled); + } +} \ No newline at end of file diff --git a/Assets/Script/Core/Interface/IInputManager.cs.meta b/Assets/Script/Core/Interface/IInputManager.cs.meta new file mode 100644 index 0000000..eb3ecef --- /dev/null +++ b/Assets/Script/Core/Interface/IInputManager.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: b077e0f59a474f5a981770fae92ed42f +timeCreated: 1760447509 \ No newline at end of file diff --git a/Assets/Script/Core/UI/UIManager.cs b/Assets/Script/Core/UI/UIManager.cs index cb90954..2670dab 100644 --- a/Assets/Script/Core/UI/UIManager.cs +++ b/Assets/Script/Core/UI/UIManager.cs @@ -25,6 +25,13 @@ namespace Core private Dictionary layerRoots = new Dictionary(); private Dictionary openedUIs = new Dictionary(); + + private IInputManager inputManager; + + public void RegisterInputManager(IInputManager inputMgr) + { + inputManager = inputMgr; + } public void RegisterLayer(UILayer layer, Transform root) { @@ -122,18 +129,19 @@ namespace Core private void UpdateCursorState() { + if(inputManager == null) return; bool shouldLockCursor = !IsHasNonBackgroundUIActive; //&& !isInMainMenu; // 仅在没有非Background UI且不在主菜单时锁定鼠标 if (shouldLockCursor) { - InputManager.Instance.SetCursorState(false, CursorLockMode.Locked); + inputManager.SetCursorState(false, CursorLockMode.Locked); } else { - InputManager.Instance.SetCursorState(true, CursorLockMode.None); + inputManager.SetCursorState(true, CursorLockMode.None); } - InputManager.Instance.SetInputForLook(shouldLockCursor); - InputManager.Instance.SetInputForMove(shouldLockCursor); + inputManager.SetInputForLook(shouldLockCursor); + inputManager.SetInputForMove(shouldLockCursor); } } } \ No newline at end of file diff --git a/Assets/Script/Gameplay.meta b/Assets/Script/Gameplay.meta new file mode 100644 index 0000000..2c27a89 --- /dev/null +++ b/Assets/Script/Gameplay.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 6da45fd756c6481b8c0cffce4915e971 +timeCreated: 1760444989 \ No newline at end of file diff --git a/Assets/Script/Card.meta b/Assets/Script/Gameplay/Card.meta similarity index 100% rename from Assets/Script/Card.meta rename to Assets/Script/Gameplay/Card.meta diff --git a/Assets/Script/Card/Card.cs b/Assets/Script/Gameplay/Card/Card.cs similarity index 97% rename from Assets/Script/Card/Card.cs rename to Assets/Script/Gameplay/Card/Card.cs index cb8bed4..ce092ac 100644 --- a/Assets/Script/Card/Card.cs +++ b/Assets/Script/Gameplay/Card/Card.cs @@ -1,6 +1,6 @@ using UnityEngine; -namespace Card +namespace Gameplay { public class Card { diff --git a/Assets/Script/Card/Card.cs.meta b/Assets/Script/Gameplay/Card/Card.cs.meta similarity index 100% rename from Assets/Script/Card/Card.cs.meta rename to Assets/Script/Gameplay/Card/Card.cs.meta diff --git a/Assets/Script/Gameplay/Card/CardBook.meta b/Assets/Script/Gameplay/Card/CardBook.meta new file mode 100644 index 0000000..337a202 --- /dev/null +++ b/Assets/Script/Gameplay/Card/CardBook.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 37e71088bd934b78aa07c7a76b7e5d07 +timeCreated: 1760422523 \ No newline at end of file diff --git a/Assets/Script/Gameplay/Card/CardBook/CardBook.cs b/Assets/Script/Gameplay/Card/CardBook/CardBook.cs new file mode 100644 index 0000000..ef6cd73 --- /dev/null +++ b/Assets/Script/Gameplay/Card/CardBook/CardBook.cs @@ -0,0 +1,48 @@ +using System; +using UnityEngine; + +namespace Gameplay +{ + public class CardBook + { + public CardBookData Data; + public CardSlot[] Slots; + public CardSlot[] Spares; + + public CardBook(CardBookData data) + { + Data = data; + Slots = new CardSlot[Data.SlotCount]; + Spares = new CardSlot[Data.SpareCount]; + for (int i = 0; i < Slots.Length; i++) + { + Slots[i] = new CardSlot(); + } + for (int i = 0; i < Spares.Length; i++) + { + Spares[i] = new CardSlot(); + } + } + + // Get all cards in the card book,and not Spares + public Card[] GetCards() + { + var cards = new Card[Slots.Length + Spares.Length]; + for (int i = 0; i < Slots.Length; i++) + { + cards[i] = Slots[i].StoredCard; + } + return cards; + } + + public Card[] GetSpareCards() + { + var cards = new Card[Spares.Length + Spares.Length]; + for (int i = 0; i < Spares.Length; i++) + { + cards[i] = Spares[i].StoredCard; + } + return cards; + } + } +} \ No newline at end of file diff --git a/Assets/Script/Gameplay/Card/CardBook/CardBook.cs.meta b/Assets/Script/Gameplay/Card/CardBook/CardBook.cs.meta new file mode 100644 index 0000000..3e7d03e --- /dev/null +++ b/Assets/Script/Gameplay/Card/CardBook/CardBook.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 4bb8bfb17c6a4eaa88954871942ee72d +timeCreated: 1760422530 \ No newline at end of file diff --git a/Assets/Script/Gameplay/Card/CardBook/CardBookData.cs b/Assets/Script/Gameplay/Card/CardBook/CardBookData.cs new file mode 100644 index 0000000..ba3ba98 --- /dev/null +++ b/Assets/Script/Gameplay/Card/CardBook/CardBookData.cs @@ -0,0 +1,12 @@ +using UnityEngine; + +namespace Gameplay +{ + [CreateAssetMenu(fileName = "CardBookData", menuName = "ScriptableObject/CardBookData", order = 1)] + public class CardBookData : ScriptableObject + { + public int SlotCount; + public int SpareCount; + public int MaxLoopCount; + } +} \ No newline at end of file diff --git a/Assets/Script/Gameplay/Card/CardBook/CardBookData.cs.meta b/Assets/Script/Gameplay/Card/CardBook/CardBookData.cs.meta new file mode 100644 index 0000000..65a3e76 --- /dev/null +++ b/Assets/Script/Gameplay/Card/CardBook/CardBookData.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 54f1f8ff48b84542962110e7a9851917 +timeCreated: 1760422573 \ No newline at end of file diff --git a/Assets/Script/Gameplay/Card/CardBook/CardBookViewer.cs b/Assets/Script/Gameplay/Card/CardBook/CardBookViewer.cs new file mode 100644 index 0000000..e43ec8c --- /dev/null +++ b/Assets/Script/Gameplay/Card/CardBook/CardBookViewer.cs @@ -0,0 +1,12 @@ +using UnityEngine; + + +namespace Gameplay +{ + // 卡牌书的显示相关脚本 + public class CardBookViewer : MonoBehaviour + { + [SerializeField] private Transform LeftHandPoint; + private CardBook CardBook; + } +} \ No newline at end of file diff --git a/Assets/Script/Gameplay/Card/CardBook/CardBookViewer.cs.meta b/Assets/Script/Gameplay/Card/CardBook/CardBookViewer.cs.meta new file mode 100644 index 0000000..dff895e --- /dev/null +++ b/Assets/Script/Gameplay/Card/CardBook/CardBookViewer.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 68803a8f56734f22a3025f8028fc027f +timeCreated: 1760431288 \ No newline at end of file diff --git a/Assets/Script/Gameplay/Card/CardBook/CardSlot.cs b/Assets/Script/Gameplay/Card/CardBook/CardSlot.cs new file mode 100644 index 0000000..a334010 --- /dev/null +++ b/Assets/Script/Gameplay/Card/CardBook/CardSlot.cs @@ -0,0 +1,23 @@ +namespace Gameplay +{ + public class CardSlot + { + public Card StoredCard; + public bool IsEmpty => StoredCard == null; + public int ActiveTimes = 0; + + public void StoreCard(Card card) + { + StoredCard = card; + ActiveTimes = 0; + } + + public Card RemoveCard() + { + var card = StoredCard; + StoredCard = null; + ActiveTimes = 0; + return card; + } + } +} \ No newline at end of file diff --git a/Assets/Script/Gameplay/Card/CardBook/CardSlot.cs.meta b/Assets/Script/Gameplay/Card/CardBook/CardSlot.cs.meta new file mode 100644 index 0000000..b580f5f --- /dev/null +++ b/Assets/Script/Gameplay/Card/CardBook/CardSlot.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: e5f566603b3f4286965da48bb49c018a +timeCreated: 1760422548 \ No newline at end of file diff --git a/Assets/Script/Card/CardData.cs b/Assets/Script/Gameplay/Card/CardData.cs similarity index 68% rename from Assets/Script/Card/CardData.cs rename to Assets/Script/Gameplay/Card/CardData.cs index 5a5f6b7..b17d688 100644 --- a/Assets/Script/Card/CardData.cs +++ b/Assets/Script/Gameplay/Card/CardData.cs @@ -2,11 +2,12 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; -namespace Card +namespace Gameplay { - [CreateAssetMenu(fileName = "NewCard", menuName = "Card/CardData")] + [CreateAssetMenu(fileName = "CardData", menuName = "ScriptableObject/CardData")] public class CardData : ScriptableObject { + public int CardID; public string CardName; public string CardDescription; public Texture CardTexture; diff --git a/Assets/Script/Card/CardData.cs.meta b/Assets/Script/Gameplay/Card/CardData.cs.meta similarity index 100% rename from Assets/Script/Card/CardData.cs.meta rename to Assets/Script/Gameplay/Card/CardData.cs.meta diff --git a/Assets/Script/Card/CardEffect.meta b/Assets/Script/Gameplay/Card/CardEffect.meta similarity index 100% rename from Assets/Script/Card/CardEffect.meta rename to Assets/Script/Gameplay/Card/CardEffect.meta diff --git a/Assets/Script/Gameplay/Card/CardEffect/CardContext.cs b/Assets/Script/Gameplay/Card/CardEffect/CardContext.cs new file mode 100644 index 0000000..930f08f --- /dev/null +++ b/Assets/Script/Gameplay/Card/CardEffect/CardContext.cs @@ -0,0 +1,16 @@ +using UnityEngine; +using Share; +namespace Gameplay +{ + public class CardContext + { + public ICharacter Owner; + public ICharacter Enemy; + + public CardContext(ICharacter owner,ICharacter enemy) + { + Owner = owner; + Enemy = enemy; + } + } +} \ No newline at end of file diff --git a/Assets/Script/Card/CardEffect/CardContext.cs.meta b/Assets/Script/Gameplay/Card/CardEffect/CardContext.cs.meta similarity index 100% rename from Assets/Script/Card/CardEffect/CardContext.cs.meta rename to Assets/Script/Gameplay/Card/CardEffect/CardContext.cs.meta diff --git a/Assets/Script/Card/CardEffect/EffectData.cs b/Assets/Script/Gameplay/Card/CardEffect/EffectData.cs similarity index 90% rename from Assets/Script/Card/CardEffect/EffectData.cs rename to Assets/Script/Gameplay/Card/CardEffect/EffectData.cs index c80a1a2..fa77409 100644 --- a/Assets/Script/Card/CardEffect/EffectData.cs +++ b/Assets/Script/Gameplay/Card/CardEffect/EffectData.cs @@ -1,6 +1,6 @@ using UnityEngine; -namespace Card +namespace Gameplay { [System.Serializable] public class EffectData @@ -22,7 +22,5 @@ namespace Card { Damage, Heal, - DrawCard, - AddBuff, } } \ No newline at end of file diff --git a/Assets/Script/Card/CardEffect/EffectData.cs.meta b/Assets/Script/Gameplay/Card/CardEffect/EffectData.cs.meta similarity index 100% rename from Assets/Script/Card/CardEffect/EffectData.cs.meta rename to Assets/Script/Gameplay/Card/CardEffect/EffectData.cs.meta diff --git a/Assets/Script/Gameplay/Card/CardEffect/EffectHandler.cs b/Assets/Script/Gameplay/Card/CardEffect/EffectHandler.cs new file mode 100644 index 0000000..dea6310 --- /dev/null +++ b/Assets/Script/Gameplay/Card/CardEffect/EffectHandler.cs @@ -0,0 +1,24 @@ +using UnityEngine; + +namespace Gameplay +{ + public static class EffectHandler + { + public static void Execute(EffectData effect, CardContext context) + { + switch (effect.type) + { + case EffectType.Damage: + context.Enemy.TakeDamage(effect.value); + break; + + case EffectType.Heal: + context.Enemy.Heal(effect.value); + break; + default: + Debug.Log($"未知效果类型: {effect.type}"); + break; + } + } + } +} \ No newline at end of file diff --git a/Assets/Script/Card/CardEffect/EffectHandler.cs.meta b/Assets/Script/Gameplay/Card/CardEffect/EffectHandler.cs.meta similarity index 100% rename from Assets/Script/Card/CardEffect/EffectHandler.cs.meta rename to Assets/Script/Gameplay/Card/CardEffect/EffectHandler.cs.meta diff --git a/Assets/Script/Gameplay/Card/CardLoader.cs b/Assets/Script/Gameplay/Card/CardLoader.cs new file mode 100644 index 0000000..2ac769c --- /dev/null +++ b/Assets/Script/Gameplay/Card/CardLoader.cs @@ -0,0 +1,21 @@ +using UnityEngine; +namespace Gameplay +{ + // 从Resources文件夹加载卡牌数据的静态类 + public static class CardLoader + { + public static CardData GetCardDataByID(int cardID) + { + CardData[] allCards = Resources.LoadAll("Configs/Card"); + foreach (var card in allCards) + { + if (card.CardID == cardID) + { + return card; + } + } + Debug.LogError($"Card with ID {cardID} not found!"); + return null; + } + } +} \ No newline at end of file diff --git a/Assets/Script/Gameplay/Card/CardLoader.cs.meta b/Assets/Script/Gameplay/Card/CardLoader.cs.meta new file mode 100644 index 0000000..877de36 --- /dev/null +++ b/Assets/Script/Gameplay/Card/CardLoader.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 447cd4a06d4a497cb301f68b51a4121a +timeCreated: 1760518833 \ No newline at end of file diff --git a/Assets/Script/Card/CardViewer.cs b/Assets/Script/Gameplay/Card/CardViewer.cs similarity index 95% rename from Assets/Script/Card/CardViewer.cs rename to Assets/Script/Gameplay/Card/CardViewer.cs index ab815ac..967cdb4 100644 --- a/Assets/Script/Card/CardViewer.cs +++ b/Assets/Script/Gameplay/Card/CardViewer.cs @@ -1,8 +1,7 @@ using UnityEngine; -using Card; using UnityEngine.UI; -namespace Card +namespace Gameplay { public class CardViewer : MonoBehaviour { diff --git a/Assets/Script/Card/CardViewer.cs.meta b/Assets/Script/Gameplay/Card/CardViewer.cs.meta similarity index 100% rename from Assets/Script/Card/CardViewer.cs.meta rename to Assets/Script/Gameplay/Card/CardViewer.cs.meta diff --git a/Assets/Script/Gameplay/Combat.meta b/Assets/Script/Gameplay/Combat.meta new file mode 100644 index 0000000..6fff047 --- /dev/null +++ b/Assets/Script/Gameplay/Combat.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 649c2c30ae8a4f64ae00e35a3bf67479 +timeCreated: 1760496426 \ No newline at end of file diff --git a/Assets/Script/Gameplay/Combat/CombatFlowManager.cs b/Assets/Script/Gameplay/Combat/CombatFlowManager.cs new file mode 100644 index 0000000..51c9ee6 --- /dev/null +++ b/Assets/Script/Gameplay/Combat/CombatFlowManager.cs @@ -0,0 +1,176 @@ +using System; +using System.Collections; +using Core; +using Gameplay.Enemy; +using Gameplay.Player; +using Share; +using UnityEngine; + +namespace Gameplay +{ + /// + /// 战斗流程管理器(回合制、循环抽牌) + /// 使用方法:在场景中挂载一个空物体并配置 player 与 enemy 的 Combatant 引用。 + /// 该管理器通过事件回调让 UI 或其它系统接入“双方牌都打空时”的选择(继续/逃跑)。 + /// + public class CombatFlowManager : MonoSingleton + { + [Header("Participants")] + public PlayerController player; + public EnemyController enemy; + + [Header("Flow Settings")] + [Tooltip("玩家是否先手(true=玩家先出一张)")] + public bool playerStarts = true; + [Tooltip("每出一张牌后的间隔(秒)")] + public float turnDelay = 0.8f; + + // Events + public event Action OnCombatStarted; + public event Action OnCardPlayed; + public event Action OnCombatEnded; // 参数为胜利方(null 表示平局或逃跑) + public event Action OnBothEmpty; // 当双方都没有卡可以出时触发,UI 需要通过 ContinueAfterBothEmpty 或 EscapeFromCombat 响应 + + // internal state + private Coroutine runningRoutine; + private bool waitingForDecision = false; + private bool decisionContinue = false; + private bool decisionEscape = false; + + /// + /// 启动战斗流程(也可以在 Inspector 中提前绑定 player/enemy,然后只调用 StartCombat()) + /// + public void StartCombat(PlayerController playerController = null, EnemyController enemyController = null) + { + if (playerController != null) player = playerController; + if (enemyController != null) enemy = enemyController; + + if (player == null || enemy == null) + { + Debug.LogError("CombatFlowManager: player 或 enemy 未设置。"); + return; + } + + // 初始化双方状态 + player.StartCombat(); + enemy.StartCombat(); + player.InitializeDeckCycle(); + enemy.InitializeDeckCycle(); + + + runningRoutine = StartCoroutine(CombatRoutine()); + OnCombatStarted?.Invoke(); + } + + public void StopCombat() + { + if (runningRoutine != null) StopCoroutine(runningRoutine); + runningRoutine = null; + } + + private IEnumerator CombatRoutine() + { + ICharacter current = playerStarts ? player : enemy; + + while (true) + { + // 结束检查 + if (player.IsDead || enemy.IsDead) + { + ICharacter winner = player.IsDead ? enemy : player; + OnCombatEnded?.Invoke(winner); + runningRoutine = null; + yield break; + } + + bool playerHas = player.HasCardsLeft(); + bool enemyHas = enemy.HasCardsLeft(); + + if (!playerHas && !enemyHas) + { + // 双方都打空,等待玩家选择(由 UI 调用 ContinueAfterBothEmpty 或 EscapeFromCombat) + waitingForDecision = true; + decisionContinue = false; + decisionEscape = false; + OnBothEmpty?.Invoke(); + + // 等待选择 + while (waitingForDecision) + yield return null; + + if (decisionEscape) + { + // 玩家选择逃跑 -> 结束战斗,胜者设为 null(或按需要设成敌人/玩家) + OnCombatEnded?.Invoke(null); + runningRoutine = null; + yield break; + } + + if (decisionContinue) + { + // 重新从卡册读取(重置抽牌队列),保持生命与其它状态不变 + player.InitializeDeckCycle(); + enemy.InitializeDeckCycle(); + // 继续循环(当前先手不变) + yield return null; + continue; + } + } + + // 当前回合:如果当前方没有牌则跳过(空过) + if (current.HasCardsLeft()) + { + var card = current.GetNextCard(); + ICharacter target; + if (current is PlayerController) + { + target = enemy; + } + else + { + target = player; + } + + + // 触发卡牌效果(当前仅支持直接伤害) + if (card != null) + { + card.PlayCard(new CardContext(current, target)); + OnCardPlayed?.Invoke(current, card); + } + + // 检查死亡(将在下一循环顶部处理) + yield return new WaitForSeconds(turnDelay); + } + else + { + // 跳过一轮,不延迟太久 + yield return new WaitForSeconds(0.1f); + } + + // 切换行动方 + current = (current == player) ? enemy : player; + } + } + + /// + /// 当双方都打空时,UI 调用此方法选择继续下一轮(重新从卡册读取卡牌) + /// + public void ContinueAfterBothEmpty() + { + if (!waitingForDecision) return; + decisionContinue = true; + waitingForDecision = false; + } + + /// + /// 当双方都打空时,UI 调用此方法选择逃跑 + /// + public void EscapeFromCombat() + { + if (!waitingForDecision) return; + decisionEscape = true; + waitingForDecision = false; + } + } +} diff --git a/Assets/Script/Gameplay/Combat/CombatFlowManager.cs.meta b/Assets/Script/Gameplay/Combat/CombatFlowManager.cs.meta new file mode 100644 index 0000000..dcc9652 --- /dev/null +++ b/Assets/Script/Gameplay/Combat/CombatFlowManager.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 3e8e663fe8d349bea29b9887d29db187 +timeCreated: 1760496426 \ No newline at end of file diff --git a/Assets/Script/Gameplay/Combat/CombatTrigger.cs b/Assets/Script/Gameplay/Combat/CombatTrigger.cs new file mode 100644 index 0000000..cbe759a --- /dev/null +++ b/Assets/Script/Gameplay/Combat/CombatTrigger.cs @@ -0,0 +1,49 @@ +using System; +using UnityEngine; +using Gameplay; +using Share; +using Gameplay.Enemy; +using Gameplay.Player; + +namespace Gameplay.Combat +{ + [RequireComponent(typeof(Collider))] + public class CombatTrigger : MonoBehaviour + { + //[Tooltip("战斗管理器引用(场景中单例/对象)")] + private CombatFlowManager combatManager; + + [Tooltip("触发时指定的玩家 Combatant(可为空,manager 使用已配置的)")] + public PlayerController player; + + [Tooltip("触发时指定的敌人 Combatant(可为空,manager 使用已配置的)")] + public EnemyController enemy; + + [Tooltip("被触发后是否自动禁用触发器,避免重复触发")] + public bool disableAfterTrigger = true; + + private void Start() + { + combatManager = CombatFlowManager.Instance; + } + + private void Reset() + { + // Collider 需要 isTrigger + var col = GetComponent(); + col.isTrigger = true; + } + + private void OnTriggerEnter(Collider other) + { + // 简单检测:玩家层或带有 "Player" 标签的物体 + if (combatManager == null) return; + + if (other.CompareTag("Player") || other.gameObject.layer == LayerMask.NameToLayer("Player")) + { + combatManager.StartCombat(player, enemy); + if (disableAfterTrigger) gameObject.SetActive(false); + } + } + } +} diff --git a/Assets/Script/Gameplay/Combat/CombatTrigger.cs.meta b/Assets/Script/Gameplay/Combat/CombatTrigger.cs.meta new file mode 100644 index 0000000..10a9055 --- /dev/null +++ b/Assets/Script/Gameplay/Combat/CombatTrigger.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 2d9265c2645847c2b5197ed2ba181c98 +timeCreated: 1760496463 \ No newline at end of file diff --git a/Assets/Script/Gameplay/Enemy.meta b/Assets/Script/Gameplay/Enemy.meta new file mode 100644 index 0000000..df91e05 --- /dev/null +++ b/Assets/Script/Gameplay/Enemy.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 3b712b2fa4f743408e56868a21312535 +timeCreated: 1760495486 \ No newline at end of file diff --git a/Assets/Script/Gameplay/Enemy/EnemyController.cs b/Assets/Script/Gameplay/Enemy/EnemyController.cs new file mode 100644 index 0000000..f8e4925 --- /dev/null +++ b/Assets/Script/Gameplay/Enemy/EnemyController.cs @@ -0,0 +1,77 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using Share; +using UnityEngine; + +namespace Gameplay.Enemy +{ + public class EnemyController : MonoBehaviour, ICharacter + { + [SerializeField] private string enemyName; + [SerializeField] private int maxHealth = 100; + public int MaxHealth => maxHealth; + public int CurrentHealth { get; set; } + + [SerializeField] private CardBookData cardBookData; + private CardBook myCardBook; + private List cards; + private int currentCardIndex = 0; + + public bool IsFlight { get; private set; } + public bool IsDead { get; private set; } + + private void Awake() + { + CurrentHealth = MaxHealth; + myCardBook = new CardBook(cardBookData); + cards = new List(); + } + + public void TakeDamage(int damage) + { + CurrentHealth -= damage; + } + + public void Heal(int heal) + { + CurrentHealth += heal; + if (CurrentHealth > MaxHealth) + { + CurrentHealth = MaxHealth; + } + } + + public void StartCombat() + { + Debug.Log($"{name} Enemy Start Combat"); + IsFlight = false; + } + + public void EndFlight() + { + Debug.Log($"{name} Enemy End Flight"); + IsFlight = true; + } + + public bool HasCardsLeft() + { + return currentCardIndex < cards.Count; + } + + public Card GetNextCard() + { + if (!HasCardsLeft()) + { + return null; + } + + return cards[currentCardIndex++]; + } + + public void InitializeDeckCycle() + { + cards = myCardBook.GetCards().ToList(); + } + } +} \ No newline at end of file diff --git a/Assets/Script/Gameplay/Enemy/EnemyController.cs.meta b/Assets/Script/Gameplay/Enemy/EnemyController.cs.meta new file mode 100644 index 0000000..503b9ed --- /dev/null +++ b/Assets/Script/Gameplay/Enemy/EnemyController.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: b5a587a681ae48d6b3a5dcd5a723fd5a +timeCreated: 1760512105 \ No newline at end of file diff --git a/Assets/Script/Card/Card.asmdef b/Assets/Script/Gameplay/Gameplay.asmdef similarity index 75% rename from Assets/Script/Card/Card.asmdef rename to Assets/Script/Gameplay/Gameplay.asmdef index 2e08a0e..4b4c44d 100644 --- a/Assets/Script/Card/Card.asmdef +++ b/Assets/Script/Gameplay/Gameplay.asmdef @@ -1,9 +1,10 @@ { - "name": "Card", + "name": "Gameplay", "rootNamespace": "", "references": [ "GUID:fd0e97c21c15497f9406b8ee23c1f67e", - "GUID:9e4105fe56ff4b1789a1683a3c08d507" + "GUID:75469ad4d38634e559750d17036d5f7c", + "GUID:f51ebe6a0ceec4240a699833d6309b23" ], "includePlatforms": [], "excludePlatforms": [], diff --git a/Assets/Script/Gameplay/Gameplay.asmdef.meta b/Assets/Script/Gameplay/Gameplay.asmdef.meta new file mode 100644 index 0000000..357c259 --- /dev/null +++ b/Assets/Script/Gameplay/Gameplay.asmdef.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: ceb6a2c14699464ca35be17af198f904 +timeCreated: 1760445049 \ No newline at end of file diff --git a/Assets/Script/Gameplay/Input.meta b/Assets/Script/Gameplay/Input.meta new file mode 100644 index 0000000..b07a437 --- /dev/null +++ b/Assets/Script/Gameplay/Input.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 1c652418c7ff4cb9be7aa23ec423c5f9 +timeCreated: 1760447326 \ No newline at end of file diff --git a/Assets/Script/Core/Input/InputManager.cs b/Assets/Script/Gameplay/Input/InputManager.cs similarity index 73% rename from Assets/Script/Core/Input/InputManager.cs rename to Assets/Script/Gameplay/Input/InputManager.cs index fd92f94..81c508d 100644 --- a/Assets/Script/Core/Input/InputManager.cs +++ b/Assets/Script/Gameplay/Input/InputManager.cs @@ -1,16 +1,19 @@ +using System; using UnityEngine; -using UnityEngine.InputSystem; +using Core; -namespace Core +namespace Input { - public class InputManager : MonoSingleton + public class InputManager : MonoSingleton, IInputManager { private PlayerInputActions _input; // 自动生成的输入类 // 当前输入值 public Vector2 Move { get; private set; } public Vector2 Look { get; private set; } + public bool JumpPressed { get; private set; } public bool PausePressed { get; private set; } + public bool InteractPressed { get; private set; } private void Awake() { @@ -27,11 +30,15 @@ namespace Core _input.Player.Look.performed += ctx => Look = ctx.ReadValue(); _input.Player.Look.canceled += ctx => Look = Vector2.zero; - // - // _input.Player.Jump.performed += ctx => JumpPressed = true; - // _input.Player.Jump.canceled += ctx => JumpPressed = false; - // + _input.Player.Jump.performed += ctx => JumpPressed = true; + _input.Player.Jump.canceled += ctx => JumpPressed = false; + + // _input.Player.Pause.performed += ctx => PausePressed = true; + // _input.Player.Pause.canceled += ctx => PausePressed = false; + + _input.Player.Interact.performed += ctx => InteractPressed = true; + _input.Player.Interact.canceled += ctx => InteractPressed = false; } private void OnDisable() @@ -39,6 +46,11 @@ namespace Core _input.Disable(); } + private void Start() + { + UIManager.Instance.RegisterInputManager(this); + } + private void Update() { // 在此更新一次性触发的输入,例如“按下瞬间触发” diff --git a/Assets/Script/Core/Input/InputManager.cs.meta b/Assets/Script/Gameplay/Input/InputManager.cs.meta similarity index 100% rename from Assets/Script/Core/Input/InputManager.cs.meta rename to Assets/Script/Gameplay/Input/InputManager.cs.meta diff --git a/Assets/Script/Core/Input/PlayerInputActions.cs b/Assets/Script/Gameplay/Input/PlayerInputActions.cs similarity index 58% rename from Assets/Script/Core/Input/PlayerInputActions.cs rename to Assets/Script/Gameplay/Input/PlayerInputActions.cs index b837e4b..df94597 100644 --- a/Assets/Script/Core/Input/PlayerInputActions.cs +++ b/Assets/Script/Gameplay/Input/PlayerInputActions.cs @@ -15,7 +15,7 @@ using System.Collections.Generic; using UnityEngine.InputSystem; using UnityEngine.InputSystem.Utilities; -namespace Core +namespace Input { public partial class @PlayerInputActions: IInputActionCollection2, IDisposable { @@ -31,12 +31,12 @@ namespace Core ""actions"": [ { ""name"": ""Move"", - ""type"": ""Button"", + ""type"": ""Value"", ""id"": ""cba876cd-5594-42ac-a4b0-2f2ed0f0e120"", - ""expectedControlType"": """", + ""expectedControlType"": ""Vector2"", ""processors"": """", ""interactions"": """", - ""initialStateCheck"": false + ""initialStateCheck"": true }, { ""name"": ""Look"", @@ -46,28 +46,123 @@ namespace Core ""processors"": """", ""interactions"": """", ""initialStateCheck"": true + }, + { + ""name"": ""Jump"", + ""type"": ""Button"", + ""id"": ""850284f0-b2d8-412c-9970-c1a7256e29de"", + ""expectedControlType"": """", + ""processors"": """", + ""interactions"": """", + ""initialStateCheck"": false + }, + { + ""name"": ""Interact"", + ""type"": ""Button"", + ""id"": ""b405cb77-699f-4558-831a-c6c12a5c0300"", + ""expectedControlType"": """", + ""processors"": """", + ""interactions"": """", + ""initialStateCheck"": false } ], ""bindings"": [ { ""name"": """", - ""id"": ""dab4d8f6-9492-4327-8944-76f09907ba54"", + ""id"": ""d7c34f0b-b18e-4498-8d3e-1bdec4cb355d"", + ""path"": ""/delta"", + ""interactions"": """", + ""processors"": """", + ""groups"": """", + ""action"": ""Look"", + ""isComposite"": false, + ""isPartOfComposite"": false + }, + { + ""name"": ""2D Vector"", + ""id"": ""132c4a80-d02d-43c4-bf7b-8e0ff43a44de"", + ""path"": ""2DVector"", + ""interactions"": """", + ""processors"": """", + ""groups"": """", + ""action"": ""Move"", + ""isComposite"": true, + ""isPartOfComposite"": false + }, + { + ""name"": ""up"", + ""id"": ""a4d4ec38-2560-46b0-b57b-d9ea0f35d701"", ""path"": ""/w"", ""interactions"": """", ""processors"": """", ""groups"": """", ""action"": ""Move"", ""isComposite"": false, + ""isPartOfComposite"": true + }, + { + ""name"": ""down"", + ""id"": ""f1c59ea2-0648-4f49-8cfb-d566be529303"", + ""path"": ""/s"", + ""interactions"": """", + ""processors"": """", + ""groups"": """", + ""action"": ""Move"", + ""isComposite"": false, + ""isPartOfComposite"": true + }, + { + ""name"": ""left"", + ""id"": ""529b3ae4-cbf4-412c-a783-5bf62c57de72"", + ""path"": ""/a"", + ""interactions"": """", + ""processors"": """", + ""groups"": """", + ""action"": ""Move"", + ""isComposite"": false, + ""isPartOfComposite"": true + }, + { + ""name"": ""right"", + ""id"": ""57ddd6bd-cbf7-4cfb-98d3-5b4458a21562"", + ""path"": ""/d"", + ""interactions"": """", + ""processors"": """", + ""groups"": """", + ""action"": ""Move"", + ""isComposite"": false, + ""isPartOfComposite"": true + }, + { + ""name"": """", + ""id"": ""b6a61d59-edf3-4759-8791-8967ffa1e187"", + ""path"": ""/space"", + ""interactions"": """", + ""processors"": """", + ""groups"": """", + ""action"": ""Jump"", + ""isComposite"": false, ""isPartOfComposite"": false }, { ""name"": """", - ""id"": ""d7c34f0b-b18e-4498-8d3e-1bdec4cb355d"", - ""path"": ""/position"", + ""id"": ""c7bb1d3e-20de-4ff9-96fc-bfc70ca54e20"", + ""path"": ""/f"", ""interactions"": """", ""processors"": """", ""groups"": """", - ""action"": ""Look"", + ""action"": ""Interact"", + ""isComposite"": false, + ""isPartOfComposite"": false + }, + { + ""name"": """", + ""id"": ""ab4a9194-7003-42f9-a13b-f6edf0427a6e"", + ""path"": ""/leftButton"", + ""interactions"": """", + ""processors"": """", + ""groups"": """", + ""action"": ""Interact"", ""isComposite"": false, ""isPartOfComposite"": false } @@ -80,6 +175,8 @@ namespace Core m_Player = asset.FindActionMap("Player", throwIfNotFound: true); m_Player_Move = m_Player.FindAction("Move", throwIfNotFound: true); m_Player_Look = m_Player.FindAction("Look", throwIfNotFound: true); + m_Player_Jump = m_Player.FindAction("Jump", throwIfNotFound: true); + m_Player_Interact = m_Player.FindAction("Interact", throwIfNotFound: true); } ~@PlayerInputActions() @@ -148,12 +245,16 @@ namespace Core private List m_PlayerActionsCallbackInterfaces = new List(); private readonly InputAction m_Player_Move; private readonly InputAction m_Player_Look; + private readonly InputAction m_Player_Jump; + private readonly InputAction m_Player_Interact; public struct PlayerActions { private @PlayerInputActions m_Wrapper; public PlayerActions(@PlayerInputActions wrapper) { m_Wrapper = wrapper; } public InputAction @Move => m_Wrapper.m_Player_Move; public InputAction @Look => m_Wrapper.m_Player_Look; + public InputAction @Jump => m_Wrapper.m_Player_Jump; + public InputAction @Interact => m_Wrapper.m_Player_Interact; public InputActionMap Get() { return m_Wrapper.m_Player; } public void Enable() { Get().Enable(); } public void Disable() { Get().Disable(); } @@ -169,6 +270,12 @@ namespace Core @Look.started += instance.OnLook; @Look.performed += instance.OnLook; @Look.canceled += instance.OnLook; + @Jump.started += instance.OnJump; + @Jump.performed += instance.OnJump; + @Jump.canceled += instance.OnJump; + @Interact.started += instance.OnInteract; + @Interact.performed += instance.OnInteract; + @Interact.canceled += instance.OnInteract; } private void UnregisterCallbacks(IPlayerActions instance) @@ -179,6 +286,12 @@ namespace Core @Look.started -= instance.OnLook; @Look.performed -= instance.OnLook; @Look.canceled -= instance.OnLook; + @Jump.started -= instance.OnJump; + @Jump.performed -= instance.OnJump; + @Jump.canceled -= instance.OnJump; + @Interact.started -= instance.OnInteract; + @Interact.performed -= instance.OnInteract; + @Interact.canceled -= instance.OnInteract; } public void RemoveCallbacks(IPlayerActions instance) @@ -200,6 +313,8 @@ namespace Core { void OnMove(InputAction.CallbackContext context); void OnLook(InputAction.CallbackContext context); + void OnJump(InputAction.CallbackContext context); + void OnInteract(InputAction.CallbackContext context); } } } diff --git a/Assets/Script/Core/Input/PlayerInputActions.cs.meta b/Assets/Script/Gameplay/Input/PlayerInputActions.cs.meta similarity index 83% rename from Assets/Script/Core/Input/PlayerInputActions.cs.meta rename to Assets/Script/Gameplay/Input/PlayerInputActions.cs.meta index 812c617..991908f 100644 --- a/Assets/Script/Core/Input/PlayerInputActions.cs.meta +++ b/Assets/Script/Gameplay/Input/PlayerInputActions.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: ff05c86378543b94488d735aea6436d1 +guid: 3112886b43bfe4d40bf728a52f00436c MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Assets/Script/Gameplay/Interface.meta b/Assets/Script/Gameplay/Interface.meta new file mode 100644 index 0000000..3d5eb86 --- /dev/null +++ b/Assets/Script/Gameplay/Interface.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 6407e403d6f34e658b36489eb9954344 +timeCreated: 1760445405 \ No newline at end of file diff --git a/Assets/Script/Gameplay/Interface/ICharacter.cs b/Assets/Script/Gameplay/Interface/ICharacter.cs new file mode 100644 index 0000000..d3f0046 --- /dev/null +++ b/Assets/Script/Gameplay/Interface/ICharacter.cs @@ -0,0 +1,28 @@ +using System; +using UnityEngine; +using Gameplay; +using System.Collections.Generic; + +namespace Share +{ + /// + /// 角色接口,可受伤害、治疗和添加Buff、发生战斗 + /// 拥有卡牌书 + /// + public interface ICharacter + { + // public int MaxHealth { get; } + // public int CurrentHealth { get; } + // public CardBook CardBook { get; } + // public List Cards { get; } + public bool IsFlight { get; } + public bool IsDead { get; } + public void TakeDamage(int damage); + public void Heal(int heal); + public void StartCombat(); + public void EndFlight(); + public bool HasCardsLeft(); + public Card GetNextCard(); + public void InitializeDeckCycle(); + } +} \ No newline at end of file diff --git a/Assets/Script/Share/ICharacter.cs.meta b/Assets/Script/Gameplay/Interface/ICharacter.cs.meta similarity index 100% rename from Assets/Script/Share/ICharacter.cs.meta rename to Assets/Script/Gameplay/Interface/ICharacter.cs.meta diff --git a/Assets/Script/Gameplay/Interface/IInteractable.cs b/Assets/Script/Gameplay/Interface/IInteractable.cs new file mode 100644 index 0000000..e1a3d65 --- /dev/null +++ b/Assets/Script/Gameplay/Interface/IInteractable.cs @@ -0,0 +1,9 @@ +using UnityEngine; +namespace Share +{ + public interface IInteractable + { + string GetInteractPrompt(); // 返回提示文字,例如“按E打开门” + void Interact(GameObject interactor); // 当玩家交互时触发 + } +} \ No newline at end of file diff --git a/Assets/Script/Gameplay/Interface/IInteractable.cs.meta b/Assets/Script/Gameplay/Interface/IInteractable.cs.meta new file mode 100644 index 0000000..d5829f2 --- /dev/null +++ b/Assets/Script/Gameplay/Interface/IInteractable.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 3bb60830b6e14df78b72c49d9250fa75 +timeCreated: 1760444920 \ No newline at end of file diff --git a/Assets/Script/Map.meta b/Assets/Script/Gameplay/Map.meta similarity index 100% rename from Assets/Script/Map.meta rename to Assets/Script/Gameplay/Map.meta diff --git a/Assets/Script/Gameplay/Map/FlightTrigger.cs b/Assets/Script/Gameplay/Map/FlightTrigger.cs new file mode 100644 index 0000000..e729c98 --- /dev/null +++ b/Assets/Script/Gameplay/Map/FlightTrigger.cs @@ -0,0 +1,10 @@ +using UnityEngine; +using Share; +namespace Map +{ + public class FlightTrigger : MonoBehaviour + { + [SerializeField] public ICharacter Player; + [SerializeField] public ICharacter Enemy; + } +} \ No newline at end of file diff --git a/Assets/Script/Gameplay/Map/FlightTrigger.cs.meta b/Assets/Script/Gameplay/Map/FlightTrigger.cs.meta new file mode 100644 index 0000000..e956be8 --- /dev/null +++ b/Assets/Script/Gameplay/Map/FlightTrigger.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 5e697dc78ed84a3ab2e921a57c17be95 +timeCreated: 1760495479 \ No newline at end of file diff --git a/Assets/Script/Gameplay/Map/MapFlag.cs b/Assets/Script/Gameplay/Map/MapFlag.cs new file mode 100644 index 0000000..985d12c --- /dev/null +++ b/Assets/Script/Gameplay/Map/MapFlag.cs @@ -0,0 +1,20 @@ +using UnityEngine; +using System; +namespace Map +{ + public class MapFlag : MonoBehaviour + { + public string FlagName; + public Vector3 Position; + public MapFlag ParentFlag; + public MapFlag LeftFlag; + public MapFlag RightFlag; + + public event Action OnPlayerEnter; + private void OnTriggerEnter(Collider other) + { + OnPlayerEnter?.Invoke(this); + } + + } +} \ No newline at end of file diff --git a/Assets/Script/Gameplay/Map/MapFlag.cs.meta b/Assets/Script/Gameplay/Map/MapFlag.cs.meta new file mode 100644 index 0000000..4a69371 --- /dev/null +++ b/Assets/Script/Gameplay/Map/MapFlag.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 2c3ea88c92cc4d0bb6098983903be7fb +timeCreated: 1760444130 \ No newline at end of file diff --git a/Assets/Script/Gameplay/Map/MapFlagManager.cs b/Assets/Script/Gameplay/Map/MapFlagManager.cs new file mode 100644 index 0000000..c881b99 --- /dev/null +++ b/Assets/Script/Gameplay/Map/MapFlagManager.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using Core; +using UnityEngine; + +namespace Map +{ + public class MapFlagManager : MonoSingleton + { + public MapFlag StartFlag; + } +} \ No newline at end of file diff --git a/Assets/Script/Gameplay/Map/MapFlagManager.cs.meta b/Assets/Script/Gameplay/Map/MapFlagManager.cs.meta new file mode 100644 index 0000000..0d0e1d9 --- /dev/null +++ b/Assets/Script/Gameplay/Map/MapFlagManager.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: f13be1e244e84e3b93b0b3a4c054cb46 +timeCreated: 1760424376 \ No newline at end of file diff --git a/Assets/Script/Player.meta b/Assets/Script/Gameplay/Player.meta similarity index 100% rename from Assets/Script/Player.meta rename to Assets/Script/Gameplay/Player.meta diff --git a/Assets/Script/Player/PlayerCameraController.cs b/Assets/Script/Gameplay/Player/PlayerCameraController.cs similarity index 98% rename from Assets/Script/Player/PlayerCameraController.cs rename to Assets/Script/Gameplay/Player/PlayerCameraController.cs index 4eeb4fe..3efa0df 100644 --- a/Assets/Script/Player/PlayerCameraController.cs +++ b/Assets/Script/Gameplay/Player/PlayerCameraController.cs @@ -1,13 +1,13 @@ using Core; using UnityEngine; +using Input; -namespace Player +namespace Gameplay.Player { /// /// 玩家第一人称相机控制器 /// 挂到相机或相机父物体,playerBody 指向角色的根 Transform(用于左右旋转) /// - /// TODO:使用InputManager替换掉Input.GetAxis public class PlayerCameraController : MonoBehaviour { [Header("References")] diff --git a/Assets/Script/Player/PlayerCameraController.cs.meta b/Assets/Script/Gameplay/Player/PlayerCameraController.cs.meta similarity index 100% rename from Assets/Script/Player/PlayerCameraController.cs.meta rename to Assets/Script/Gameplay/Player/PlayerCameraController.cs.meta diff --git a/Assets/Script/Gameplay/Player/PlayerConfig.cs b/Assets/Script/Gameplay/Player/PlayerConfig.cs new file mode 100644 index 0000000..c8ffa63 --- /dev/null +++ b/Assets/Script/Gameplay/Player/PlayerConfig.cs @@ -0,0 +1,9 @@ +using UnityEngine; + +namespace Gameplay.Player +{ + public class PlayerConfig : MonoBehaviour + { + + } +} \ No newline at end of file diff --git a/Assets/Script/Gameplay/Player/PlayerConfig.cs.meta b/Assets/Script/Gameplay/Player/PlayerConfig.cs.meta new file mode 100644 index 0000000..3164f2e --- /dev/null +++ b/Assets/Script/Gameplay/Player/PlayerConfig.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 6ff9e093e80541dc93d1186499dbfd79 +timeCreated: 1760498762 \ No newline at end of file diff --git a/Assets/Script/Gameplay/Player/PlayerController.cs b/Assets/Script/Gameplay/Player/PlayerController.cs new file mode 100644 index 0000000..ab15c60 --- /dev/null +++ b/Assets/Script/Gameplay/Player/PlayerController.cs @@ -0,0 +1,92 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using Gameplay; +using Share; +using UnityEngine; +using Core; + +namespace Gameplay.Player +{ + public class PlayerController : MonoBehaviour, ICharacter + { + public int MaxHealth { get; set; } = 100; + public int CurrentHealth { get; private set; } + + [SerializeField] private CardBookData cardBookData; + public CardBook MyCardBook { get; private set; } + public List Cards { get; private set; } + private int currentCardIndex = 0; + + public bool IsFlight { get; private set; } + public bool IsDead { get; private set; } + + private PlayerMoveController playerMoveController; + private PlayerCameraController playerCameraController; + + private void Awake() + { + playerMoveController = GetComponent(); + playerCameraController = GetComponent(); + + CurrentHealth = MaxHealth; + MyCardBook = new CardBook(cardBookData); + Cards = new List(); + + UIViewerControllerLocator.Instance.Register(this); + } + + private void Start() + { + + } + + public void TakeDamage(int damage) + { + CurrentHealth -= damage; + } + + public void Heal(int heal) + { + CurrentHealth += heal; + if (CurrentHealth > MaxHealth) + { + CurrentHealth = MaxHealth; + } + } + + public void StartCombat() + { + Debug.Log("Player StartCombat"); + IsFlight = true; + playerMoveController.SetSpeed(0.5f); + } + + public void EndFlight() + { + Debug.Log("Player EndFlight"); + IsFlight = false; + playerMoveController.ResetSpeed(); + } + + public bool HasCardsLeft() + { + return currentCardIndex < Cards.Count; + } + + public Card GetNextCard() + { + if (!HasCardsLeft()) + { + return null; + } + + return Cards[currentCardIndex++]; + } + + public void InitializeDeckCycle() + { + Cards = MyCardBook.GetCards().ToList(); + } + } +} \ No newline at end of file diff --git a/Assets/Script/Gameplay/Player/PlayerController.cs.meta b/Assets/Script/Gameplay/Player/PlayerController.cs.meta new file mode 100644 index 0000000..a1ee466 --- /dev/null +++ b/Assets/Script/Gameplay/Player/PlayerController.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: d7071907d14f433789ea37a8367b584a +timeCreated: 1760495717 \ No newline at end of file diff --git a/Assets/Script/Gameplay/Player/PlayerInteractorController.cs b/Assets/Script/Gameplay/Player/PlayerInteractorController.cs new file mode 100644 index 0000000..fced6f7 --- /dev/null +++ b/Assets/Script/Gameplay/Player/PlayerInteractorController.cs @@ -0,0 +1,58 @@ +using UnityEngine; +using Share; +using System; +using Input; + +namespace Gameplay.Player +{ + public class PlayerInteractorController : MonoBehaviour + { + [SerializeField] private float interactRange = 15f; + [SerializeField] private LayerMask interactableLayer; + [SerializeField] private Camera playerCamera; + + private IInteractable currentTarget; + + void Start() + { + playerCamera = GameObject.FindWithTag("MainCamera").GetComponent(); + } + + void Update() + { + DetectInteractable(); + + if (currentTarget != null && InputManager.Instance.InteractPressed) + { + currentTarget.Interact(this.gameObject); + } + } + + void DetectInteractable() + { + Ray ray = new Ray(playerCamera.transform.position, playerCamera.transform.forward); + if (Physics.Raycast(ray, out RaycastHit hit, interactRange, interactableLayer)) + { + currentTarget = hit.collider.GetComponent(); + if (currentTarget != null) + { + // 这里可以显示交互提示UI,例如 “E - 开门” + Debug.Log(currentTarget.GetInteractPrompt()); + } + } + else + { + currentTarget = null; + } + } + + void OnDrawGizmos() + { + if (playerCamera == null) return; + Gizmos.color = Color.green; + Vector3 origin = playerCamera.transform.position; + Vector3 direction = playerCamera.transform.forward * interactRange; + Gizmos.DrawLine(origin, origin + direction); + } + } +} \ No newline at end of file diff --git a/Assets/Script/Gameplay/Player/PlayerInteractorController.cs.meta b/Assets/Script/Gameplay/Player/PlayerInteractorController.cs.meta new file mode 100644 index 0000000..ef9e234 --- /dev/null +++ b/Assets/Script/Gameplay/Player/PlayerInteractorController.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: dc03712b5c254b8380471356f3bac151 +timeCreated: 1760516273 \ No newline at end of file diff --git a/Assets/Script/Gameplay/Player/PlayerMoveController.cs b/Assets/Script/Gameplay/Player/PlayerMoveController.cs new file mode 100644 index 0000000..5dd8bb1 --- /dev/null +++ b/Assets/Script/Gameplay/Player/PlayerMoveController.cs @@ -0,0 +1,89 @@ +using System; +using Core; +using Input; +using Map; +using UnityEngine; + +namespace Gameplay.Player +{ + public class PlayerMoveController : MonoBehaviour + { + [Header("Movement Settings")] + [Tooltip("移动速度(米/秒)")] + public float speed = 5f; + [Tooltip("跳跃高度(米)")] + public float jumpHeight = 2f; + [Tooltip("重力加速度(米/秒²)")] + public float gravity = -9.81f; + + [Header("Ground Check")] + [Tooltip("检测地面的位置(通常为角色脚下)")] + public Transform groundCheck; + [Tooltip("地面检测半径")] + public float groundDistance = 0.4f; + [Tooltip("地面层(LayerMask)")] + public LayerMask groundMask; + + private float initSpeed; + + private CharacterController characterController; + private Vector3 velocity; + private bool isGrounded; + private IInputManager inputManager; + + private void Awake() + { + characterController = GetComponent(); + if (characterController == null) + Debug.LogError("PlayerMoveController 需要 CharacterController 组件!"); + + initSpeed = speed; + } + + private void Start() + { + inputManager = InputManager.Instance; + } + + private void Update() + { + // 地面检测 + if (groundCheck != null) + isGrounded = Physics.CheckSphere(groundCheck.position, groundDistance, groundMask); + else + isGrounded = characterController.isGrounded; + + if (isGrounded && velocity.y < 0) + velocity.y = -2f; // 保持贴地 + + Vector2 inputMove = inputManager.Move; + // 获取输入 + float x = inputMove.x; + float z = inputMove.y; + + // 按玩家朝向移动 + Vector3 move = transform.right * x + transform.forward * z; + characterController.Move(move * speed * Time.deltaTime); + + // 跳跃 + if (isGrounded && inputManager.JumpPressed) + { + velocity.y = Mathf.Sqrt(jumpHeight * -2f * gravity); + } + + // 重力 + velocity.y += gravity * Time.deltaTime; + characterController.Move(velocity * Time.deltaTime); + } + + public void SetSpeed(float newSpeed) + { + speed = newSpeed; + } + + public void ResetSpeed() + { + speed = initSpeed; + } + } +} \ No newline at end of file diff --git a/Assets/Script/Gameplay/Player/PlayerMoveController.cs.meta b/Assets/Script/Gameplay/Player/PlayerMoveController.cs.meta new file mode 100644 index 0000000..0172b5c --- /dev/null +++ b/Assets/Script/Gameplay/Player/PlayerMoveController.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 14c86d6b22344680a9eba4de056d3b53 +timeCreated: 1760424128 \ No newline at end of file diff --git a/Assets/Script/Map/Map.asmdef b/Assets/Script/Map/Map.asmdef deleted file mode 100644 index 5791367..0000000 --- a/Assets/Script/Map/Map.asmdef +++ /dev/null @@ -1,3 +0,0 @@ -{ - "name": "Map" -} \ No newline at end of file diff --git a/Assets/Script/Map/Map.asmdef.meta b/Assets/Script/Map/Map.asmdef.meta deleted file mode 100644 index 6588f32..0000000 --- a/Assets/Script/Map/Map.asmdef.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: ccba5c55d09a415a94ff4a5e6375019a -timeCreated: 1760362986 \ No newline at end of file diff --git a/Assets/Script/Player/Player.asmdef b/Assets/Script/Player/Player.asmdef deleted file mode 100644 index de6268d..0000000 --- a/Assets/Script/Player/Player.asmdef +++ /dev/null @@ -1,3 +0,0 @@ -{ - "name": "Player" -} \ No newline at end of file diff --git a/Assets/Script/Player/Player.asmdef.meta b/Assets/Script/Player/Player.asmdef.meta deleted file mode 100644 index 271e9f0..0000000 --- a/Assets/Script/Player/Player.asmdef.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: f9c4db94c16f41feaa2a3b1ea6785a04 -timeCreated: 1760362801 \ No newline at end of file diff --git a/Assets/Script/Player/PlayerMoveController.cs b/Assets/Script/Player/PlayerMoveController.cs deleted file mode 100644 index 36aefae..0000000 --- a/Assets/Script/Player/PlayerMoveController.cs +++ /dev/null @@ -1,9 +0,0 @@ -using UnityEngine; -namespace Player -{ - public class PlayerMoveController : MonoBehaviour - { - - } -} - diff --git a/Assets/Script/Player/PlayerMoveController.cs.meta b/Assets/Script/Player/PlayerMoveController.cs.meta deleted file mode 100644 index 551651b..0000000 --- a/Assets/Script/Player/PlayerMoveController.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 6025e0f3c5664b9c8c01a994fb1e0620 -timeCreated: 1760362812 \ No newline at end of file diff --git a/Assets/Script/Share.meta b/Assets/Script/Share.meta deleted file mode 100644 index 6dab1aa..0000000 --- a/Assets/Script/Share.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 05474807e682482694deb13b21e1bdfb -timeCreated: 1760361359 \ No newline at end of file diff --git a/Assets/Script/Share/ICharacter.cs b/Assets/Script/Share/ICharacter.cs deleted file mode 100644 index 5f37c13..0000000 --- a/Assets/Script/Share/ICharacter.cs +++ /dev/null @@ -1,15 +0,0 @@ -using UnityEngine; - -namespace Share -{ - /// - /// 角色接口,可受伤害、治疗和添加Buff - /// - public interface ICharacter - { - public void TakeDamage(int damage); - public void Heal(int heal); - public void AddBuff(string buffName, int duration); - public void Draw(int count); - } -} \ No newline at end of file diff --git a/Assets/Script/Share/Share.asmdef b/Assets/Script/Share/Share.asmdef deleted file mode 100644 index 7f732bd..0000000 --- a/Assets/Script/Share/Share.asmdef +++ /dev/null @@ -1,3 +0,0 @@ -{ - "name": "Share" -} \ No newline at end of file diff --git a/Assets/Script/Share/Share.asmdef.meta b/Assets/Script/Share/Share.asmdef.meta deleted file mode 100644 index 7944204..0000000 --- a/Assets/Script/Share/Share.asmdef.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 9e4105fe56ff4b1789a1683a3c08d507 -timeCreated: 1760361379 \ No newline at end of file diff --git a/Assets/Script/UI/PlayerHpViewer.cs b/Assets/Script/UI/PlayerHpViewer.cs new file mode 100644 index 0000000..b65244c --- /dev/null +++ b/Assets/Script/UI/PlayerHpViewer.cs @@ -0,0 +1,32 @@ +using System; +using Core; +using Gameplay.Player; +using UnityEngine; +using UnityEngine.UI; + +namespace UI +{ + public class PlayerHpViewer : UIBase + { + private PlayerController _playerController; + public Text hpText; + + private void Start() + { + UIViewerControllerLocator.Instance.TryGetWait(OnGet); + } + + private void Update() + { + if (_playerController != null) + { + hpText.text = "HP: " + _playerController.CurrentHealth; + } + } + + private void OnGet(PlayerController playerController) + { + _playerController = playerController; + } + } +} \ No newline at end of file diff --git a/Assets/Script/UI/PlayerHpViewer.cs.meta b/Assets/Script/UI/PlayerHpViewer.cs.meta new file mode 100644 index 0000000..dbbb4f4 --- /dev/null +++ b/Assets/Script/UI/PlayerHpViewer.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: a450025fc367419faaf7481787bfac88 +timeCreated: 1760514338 \ No newline at end of file diff --git a/Assets/Script/UI/UI.asmdef b/Assets/Script/UI/UI.asmdef index 4e47f84..6bb63f7 100644 --- a/Assets/Script/UI/UI.asmdef +++ b/Assets/Script/UI/UI.asmdef @@ -2,9 +2,8 @@ "name": "UI", "rootNamespace": "", "references": [ - "GUID:ec826b79cbc40da479bcc7969404880e", "GUID:fd0e97c21c15497f9406b8ee23c1f67e", - "GUID:9e4105fe56ff4b1789a1683a3c08d507" + "GUID:ceb6a2c14699464ca35be17af198f904" ], "includePlatforms": [], "excludePlatforms": [], diff --git a/Assets/Settings/Input/InputSystem_Actions.inputactions b/Assets/Settings/Input/InputSystem_Actions.inputactions new file mode 100644 index 0000000..1a12cb9 --- /dev/null +++ b/Assets/Settings/Input/InputSystem_Actions.inputactions @@ -0,0 +1,1057 @@ +{ + "name": "InputSystem_Actions", + "maps": [ + { + "name": "Player", + "id": "df70fa95-8a34-4494-b137-73ab6b9c7d37", + "actions": [ + { + "name": "Move", + "type": "Value", + "id": "351f2ccd-1f9f-44bf-9bec-d62ac5c5f408", + "expectedControlType": "Vector2", + "processors": "", + "interactions": "", + "initialStateCheck": true + }, + { + "name": "Look", + "type": "Value", + "id": "6b444451-8a00-4d00-a97e-f47457f736a8", + "expectedControlType": "Vector2", + "processors": "", + "interactions": "", + "initialStateCheck": true + }, + { + "name": "Attack", + "type": "Button", + "id": "6c2ab1b8-8984-453a-af3d-a3c78ae1679a", + "expectedControlType": "Button", + "processors": "", + "interactions": "", + "initialStateCheck": false + }, + { + "name": "Interact", + "type": "Button", + "id": "852140f2-7766-474d-8707-702459ba45f3", + "expectedControlType": "Button", + "processors": "", + "interactions": "Hold", + "initialStateCheck": false + }, + { + "name": "Crouch", + "type": "Button", + "id": "27c5f898-bc57-4ee1-8800-db469aca5fe3", + "expectedControlType": "Button", + "processors": "", + "interactions": "", + "initialStateCheck": false + }, + { + "name": "Jump", + "type": "Button", + "id": "f1ba0d36-48eb-4cd5-b651-1c94a6531f70", + "expectedControlType": "Button", + "processors": "", + "interactions": "", + "initialStateCheck": false + }, + { + "name": "Previous", + "type": "Button", + "id": "2776c80d-3c14-4091-8c56-d04ced07a2b0", + "expectedControlType": "Button", + "processors": "", + "interactions": "", + "initialStateCheck": false + }, + { + "name": "Next", + "type": "Button", + "id": "b7230bb6-fc9b-4f52-8b25-f5e19cb2c2ba", + "expectedControlType": "Button", + "processors": "", + "interactions": "", + "initialStateCheck": false + }, + { + "name": "Sprint", + "type": "Button", + "id": "641cd816-40e6-41b4-8c3d-04687c349290", + "expectedControlType": "Button", + "processors": "", + "interactions": "", + "initialStateCheck": false + } + ], + "bindings": [ + { + "name": "", + "id": "978bfe49-cc26-4a3d-ab7b-7d7a29327403", + "path": "/leftStick", + "interactions": "", + "processors": "", + "groups": ";Gamepad", + "action": "Move", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "WASD", + "id": "00ca640b-d935-4593-8157-c05846ea39b3", + "path": "Dpad", + "interactions": "", + "processors": "", + "groups": "", + "action": "Move", + "isComposite": true, + "isPartOfComposite": false + }, + { + "name": "up", + "id": "e2062cb9-1b15-46a2-838c-2f8d72a0bdd9", + "path": "/w", + "interactions": "", + "processors": "", + "groups": ";Keyboard&Mouse", + "action": "Move", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "up", + "id": "8180e8bd-4097-4f4e-ab88-4523101a6ce9", + "path": "/upArrow", + "interactions": "", + "processors": "", + "groups": ";Keyboard&Mouse", + "action": "Move", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "down", + "id": "320bffee-a40b-4347-ac70-c210eb8bc73a", + "path": "/s", + "interactions": "", + "processors": "", + "groups": ";Keyboard&Mouse", + "action": "Move", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "down", + "id": "1c5327b5-f71c-4f60-99c7-4e737386f1d1", + "path": "/downArrow", + "interactions": "", + "processors": "", + "groups": ";Keyboard&Mouse", + "action": "Move", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "left", + "id": "d2581a9b-1d11-4566-b27d-b92aff5fabbc", + "path": "/a", + "interactions": "", + "processors": "", + "groups": ";Keyboard&Mouse", + "action": "Move", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "left", + "id": "2e46982e-44cc-431b-9f0b-c11910bf467a", + "path": "/leftArrow", + "interactions": "", + "processors": "", + "groups": ";Keyboard&Mouse", + "action": "Move", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "right", + "id": "fcfe95b8-67b9-4526-84b5-5d0bc98d6400", + "path": "/d", + "interactions": "", + "processors": "", + "groups": ";Keyboard&Mouse", + "action": "Move", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "right", + "id": "77bff152-3580-4b21-b6de-dcd0c7e41164", + "path": "/rightArrow", + "interactions": "", + "processors": "", + "groups": ";Keyboard&Mouse", + "action": "Move", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "", + "id": "1635d3fe-58b6-4ba9-a4e2-f4b964f6b5c8", + "path": "/{Primary2DAxis}", + "interactions": "", + "processors": "", + "groups": "XR", + "action": "Move", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "3ea4d645-4504-4529-b061-ab81934c3752", + "path": "/stick", + "interactions": "", + "processors": "", + "groups": "Joystick", + "action": "Move", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "c1f7a91b-d0fd-4a62-997e-7fb9b69bf235", + "path": "/rightStick", + "interactions": "", + "processors": "", + "groups": ";Gamepad", + "action": "Look", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "8c8e490b-c610-4785-884f-f04217b23ca4", + "path": "/delta", + "interactions": "", + "processors": "", + "groups": ";Keyboard&Mouse;Touch", + "action": "Look", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "3e5f5442-8668-4b27-a940-df99bad7e831", + "path": "/{Hatswitch}", + "interactions": "", + "processors": "", + "groups": "Joystick", + "action": "Look", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "143bb1cd-cc10-4eca-a2f0-a3664166fe91", + "path": "/buttonWest", + "interactions": "", + "processors": "", + "groups": ";Gamepad", + "action": "Attack", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "05f6913d-c316-48b2-a6bb-e225f14c7960", + "path": "/leftButton", + "interactions": "", + "processors": "", + "groups": ";Keyboard&Mouse", + "action": "Attack", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "886e731e-7071-4ae4-95c0-e61739dad6fd", + "path": "/primaryTouch/tap", + "interactions": "", + "processors": "", + "groups": ";Touch", + "action": "Attack", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "ee3d0cd2-254e-47a7-a8cb-bc94d9658c54", + "path": "/trigger", + "interactions": "", + "processors": "", + "groups": "Joystick", + "action": "Attack", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "8255d333-5683-4943-a58a-ccb207ff1dce", + "path": "/{PrimaryAction}", + "interactions": "", + "processors": "", + "groups": "XR", + "action": "Attack", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "b3c1c7f0-bd20-4ee7-a0f1-899b24bca6d7", + "path": "/enter", + "interactions": "", + "processors": "", + "groups": "Keyboard&Mouse", + "action": "Attack", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "cbac6039-9c09-46a1-b5f2-4e5124ccb5ed", + "path": "/2", + "interactions": "", + "processors": "", + "groups": "Keyboard&Mouse", + "action": "Next", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "e15ca19d-e649-4852-97d5-7fe8ccc44e94", + "path": "/dpad/right", + "interactions": "", + "processors": "", + "groups": "Gamepad", + "action": "Next", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "f2e9ba44-c423-42a7-ad56-f20975884794", + "path": "/leftShift", + "interactions": "", + "processors": "", + "groups": "Keyboard&Mouse", + "action": "Sprint", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "8cbb2f4b-a784-49cc-8d5e-c010b8c7f4e6", + "path": "/leftStickPress", + "interactions": "", + "processors": "", + "groups": "Gamepad", + "action": "Sprint", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "d8bf24bf-3f2f-4160-a97c-38ec1eb520ba", + "path": "/trigger", + "interactions": "", + "processors": "", + "groups": "XR", + "action": "Sprint", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "eb40bb66-4559-4dfa-9a2f-820438abb426", + "path": "/space", + "interactions": "", + "processors": "", + "groups": "Keyboard&Mouse", + "action": "Jump", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "daba33a1-ad0c-4742-a909-43ad1cdfbeb6", + "path": "/buttonSouth", + "interactions": "", + "processors": "", + "groups": "Gamepad", + "action": "Jump", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "603f3daf-40bd-4854-8724-93e8017f59e3", + "path": "/secondaryButton", + "interactions": "", + "processors": "", + "groups": "XR", + "action": "Jump", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "1534dc16-a6aa-499d-9c3a-22b47347b52a", + "path": "/1", + "interactions": "", + "processors": "", + "groups": "Keyboard&Mouse", + "action": "Previous", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "25060bbd-a3a6-476e-8fba-45ae484aad05", + "path": "/dpad/left", + "interactions": "", + "processors": "", + "groups": "Gamepad", + "action": "Previous", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "1c04ea5f-b012-41d1-a6f7-02e963b52893", + "path": "/e", + "interactions": "", + "processors": "", + "groups": "Keyboard&Mouse", + "action": "Interact", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "b3f66d0b-7751-423f-908b-a11c5bd95930", + "path": "/buttonNorth", + "interactions": "", + "processors": "", + "groups": "Gamepad", + "action": "Interact", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "4f4649ac-64a8-4a73-af11-b3faef356a4d", + "path": "/buttonEast", + "interactions": "", + "processors": "", + "groups": "Gamepad", + "action": "Crouch", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "36e52cba-0905-478e-a818-f4bfcb9f3b9a", + "path": "/c", + "interactions": "", + "processors": "", + "groups": "Keyboard&Mouse", + "action": "Crouch", + "isComposite": false, + "isPartOfComposite": false + } + ] + }, + { + "name": "UI", + "id": "272f6d14-89ba-496f-b7ff-215263d3219f", + "actions": [ + { + "name": "Navigate", + "type": "PassThrough", + "id": "c95b2375-e6d9-4b88-9c4c-c5e76515df4b", + "expectedControlType": "Vector2", + "processors": "", + "interactions": "", + "initialStateCheck": false + }, + { + "name": "Submit", + "type": "Button", + "id": "7607c7b6-cd76-4816-beef-bd0341cfe950", + "expectedControlType": "Button", + "processors": "", + "interactions": "", + "initialStateCheck": false + }, + { + "name": "Cancel", + "type": "Button", + "id": "15cef263-9014-4fd5-94d9-4e4a6234a6ef", + "expectedControlType": "Button", + "processors": "", + "interactions": "", + "initialStateCheck": false + }, + { + "name": "Point", + "type": "PassThrough", + "id": "32b35790-4ed0-4e9a-aa41-69ac6d629449", + "expectedControlType": "Vector2", + "processors": "", + "interactions": "", + "initialStateCheck": true + }, + { + "name": "Click", + "type": "PassThrough", + "id": "3c7022bf-7922-4f7c-a998-c437916075ad", + "expectedControlType": "Button", + "processors": "", + "interactions": "", + "initialStateCheck": true + }, + { + "name": "RightClick", + "type": "PassThrough", + "id": "44b200b1-1557-4083-816c-b22cbdf77ddf", + "expectedControlType": "Button", + "processors": "", + "interactions": "", + "initialStateCheck": false + }, + { + "name": "MiddleClick", + "type": "PassThrough", + "id": "dad70c86-b58c-4b17-88ad-f5e53adf419e", + "expectedControlType": "Button", + "processors": "", + "interactions": "", + "initialStateCheck": false + }, + { + "name": "ScrollWheel", + "type": "PassThrough", + "id": "0489e84a-4833-4c40-bfae-cea84b696689", + "expectedControlType": "Vector2", + "processors": "", + "interactions": "", + "initialStateCheck": false + }, + { + "name": "TrackedDevicePosition", + "type": "PassThrough", + "id": "24908448-c609-4bc3-a128-ea258674378a", + "expectedControlType": "Vector3", + "processors": "", + "interactions": "", + "initialStateCheck": false + }, + { + "name": "TrackedDeviceOrientation", + "type": "PassThrough", + "id": "9caa3d8a-6b2f-4e8e-8bad-6ede561bd9be", + "expectedControlType": "Quaternion", + "processors": "", + "interactions": "", + "initialStateCheck": false + } + ], + "bindings": [ + { + "name": "Gamepad", + "id": "809f371f-c5e2-4e7a-83a1-d867598f40dd", + "path": "2DVector", + "interactions": "", + "processors": "", + "groups": "", + "action": "Navigate", + "isComposite": true, + "isPartOfComposite": false + }, + { + "name": "up", + "id": "14a5d6e8-4aaf-4119-a9ef-34b8c2c548bf", + "path": "/leftStick/up", + "interactions": "", + "processors": "", + "groups": ";Gamepad", + "action": "Navigate", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "up", + "id": "9144cbe6-05e1-4687-a6d7-24f99d23dd81", + "path": "/rightStick/up", + "interactions": "", + "processors": "", + "groups": ";Gamepad", + "action": "Navigate", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "down", + "id": "2db08d65-c5fb-421b-983f-c71163608d67", + "path": "/leftStick/down", + "interactions": "", + "processors": "", + "groups": ";Gamepad", + "action": "Navigate", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "down", + "id": "58748904-2ea9-4a80-8579-b500e6a76df8", + "path": "/rightStick/down", + "interactions": "", + "processors": "", + "groups": ";Gamepad", + "action": "Navigate", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "left", + "id": "8ba04515-75aa-45de-966d-393d9bbd1c14", + "path": "/leftStick/left", + "interactions": "", + "processors": "", + "groups": ";Gamepad", + "action": "Navigate", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "left", + "id": "712e721c-bdfb-4b23-a86c-a0d9fcfea921", + "path": "/rightStick/left", + "interactions": "", + "processors": "", + "groups": ";Gamepad", + "action": "Navigate", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "right", + "id": "fcd248ae-a788-4676-a12e-f4d81205600b", + "path": "/leftStick/right", + "interactions": "", + "processors": "", + "groups": ";Gamepad", + "action": "Navigate", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "right", + "id": "1f04d9bc-c50b-41a1-bfcc-afb75475ec20", + "path": "/rightStick/right", + "interactions": "", + "processors": "", + "groups": ";Gamepad", + "action": "Navigate", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "", + "id": "fb8277d4-c5cd-4663-9dc7-ee3f0b506d90", + "path": "/dpad", + "interactions": "", + "processors": "", + "groups": ";Gamepad", + "action": "Navigate", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "Joystick", + "id": "e25d9774-381c-4a61-b47c-7b6b299ad9f9", + "path": "2DVector", + "interactions": "", + "processors": "", + "groups": "", + "action": "Navigate", + "isComposite": true, + "isPartOfComposite": false + }, + { + "name": "up", + "id": "3db53b26-6601-41be-9887-63ac74e79d19", + "path": "/stick/up", + "interactions": "", + "processors": "", + "groups": "Joystick", + "action": "Navigate", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "down", + "id": "0cb3e13e-3d90-4178-8ae6-d9c5501d653f", + "path": "/stick/down", + "interactions": "", + "processors": "", + "groups": "Joystick", + "action": "Navigate", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "left", + "id": "0392d399-f6dd-4c82-8062-c1e9c0d34835", + "path": "/stick/left", + "interactions": "", + "processors": "", + "groups": "Joystick", + "action": "Navigate", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "right", + "id": "942a66d9-d42f-43d6-8d70-ecb4ba5363bc", + "path": "/stick/right", + "interactions": "", + "processors": "", + "groups": "Joystick", + "action": "Navigate", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "Keyboard", + "id": "ff527021-f211-4c02-933e-5976594c46ed", + "path": "2DVector", + "interactions": "", + "processors": "", + "groups": "", + "action": "Navigate", + "isComposite": true, + "isPartOfComposite": false + }, + { + "name": "up", + "id": "563fbfdd-0f09-408d-aa75-8642c4f08ef0", + "path": "/w", + "interactions": "", + "processors": "", + "groups": "Keyboard&Mouse", + "action": "Navigate", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "up", + "id": "eb480147-c587-4a33-85ed-eb0ab9942c43", + "path": "/upArrow", + "interactions": "", + "processors": "", + "groups": "Keyboard&Mouse", + "action": "Navigate", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "down", + "id": "2bf42165-60bc-42ca-8072-8c13ab40239b", + "path": "/s", + "interactions": "", + "processors": "", + "groups": "Keyboard&Mouse", + "action": "Navigate", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "down", + "id": "85d264ad-e0a0-4565-b7ff-1a37edde51ac", + "path": "/downArrow", + "interactions": "", + "processors": "", + "groups": "Keyboard&Mouse", + "action": "Navigate", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "left", + "id": "74214943-c580-44e4-98eb-ad7eebe17902", + "path": "/a", + "interactions": "", + "processors": "", + "groups": "Keyboard&Mouse", + "action": "Navigate", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "left", + "id": "cea9b045-a000-445b-95b8-0c171af70a3b", + "path": "/leftArrow", + "interactions": "", + "processors": "", + "groups": "Keyboard&Mouse", + "action": "Navigate", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "right", + "id": "8607c725-d935-4808-84b1-8354e29bab63", + "path": "/d", + "interactions": "", + "processors": "", + "groups": "Keyboard&Mouse", + "action": "Navigate", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "right", + "id": "4cda81dc-9edd-4e03-9d7c-a71a14345d0b", + "path": "/rightArrow", + "interactions": "", + "processors": "", + "groups": "Keyboard&Mouse", + "action": "Navigate", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "", + "id": "9e92bb26-7e3b-4ec4-b06b-3c8f8e498ddc", + "path": "*/{Submit}", + "interactions": "", + "processors": "", + "groups": "Keyboard&Mouse;Gamepad;Touch;Joystick;XR", + "action": "Submit", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "82627dcc-3b13-4ba9-841d-e4b746d6553e", + "path": "*/{Cancel}", + "interactions": "", + "processors": "", + "groups": "Keyboard&Mouse;Gamepad;Touch;Joystick;XR", + "action": "Cancel", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "c52c8e0b-8179-41d3-b8a1-d149033bbe86", + "path": "/position", + "interactions": "", + "processors": "", + "groups": "Keyboard&Mouse", + "action": "Point", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "e1394cbc-336e-44ce-9ea8-6007ed6193f7", + "path": "/position", + "interactions": "", + "processors": "", + "groups": "Keyboard&Mouse", + "action": "Point", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "5693e57a-238a-46ed-b5ae-e64e6e574302", + "path": "/touch*/position", + "interactions": "", + "processors": "", + "groups": "Touch", + "action": "Point", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "4faf7dc9-b979-4210-aa8c-e808e1ef89f5", + "path": "/leftButton", + "interactions": "", + "processors": "", + "groups": ";Keyboard&Mouse", + "action": "Click", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "8d66d5ba-88d7-48e6-b1cd-198bbfef7ace", + "path": "/tip", + "interactions": "", + "processors": "", + "groups": ";Keyboard&Mouse", + "action": "Click", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "47c2a644-3ebc-4dae-a106-589b7ca75b59", + "path": "/touch*/press", + "interactions": "", + "processors": "", + "groups": "Touch", + "action": "Click", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "bb9e6b34-44bf-4381-ac63-5aa15d19f677", + "path": "/trigger", + "interactions": "", + "processors": "", + "groups": "XR", + "action": "Click", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "38c99815-14ea-4617-8627-164d27641299", + "path": "/scroll", + "interactions": "", + "processors": "", + "groups": ";Keyboard&Mouse", + "action": "ScrollWheel", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "4c191405-5738-4d4b-a523-c6a301dbf754", + "path": "/rightButton", + "interactions": "", + "processors": "", + "groups": "Keyboard&Mouse", + "action": "RightClick", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "24066f69-da47-44f3-a07e-0015fb02eb2e", + "path": "/middleButton", + "interactions": "", + "processors": "", + "groups": "Keyboard&Mouse", + "action": "MiddleClick", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "7236c0d9-6ca3-47cf-a6ee-a97f5b59ea77", + "path": "/devicePosition", + "interactions": "", + "processors": "", + "groups": "XR", + "action": "TrackedDevicePosition", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "23e01e3a-f935-4948-8d8b-9bcac77714fb", + "path": "/deviceRotation", + "interactions": "", + "processors": "", + "groups": "XR", + "action": "TrackedDeviceOrientation", + "isComposite": false, + "isPartOfComposite": false + } + ] + } + ], + "controlSchemes": [ + { + "name": "Keyboard&Mouse", + "bindingGroup": "Keyboard&Mouse", + "devices": [ + { + "devicePath": "", + "isOptional": false, + "isOR": false + }, + { + "devicePath": "", + "isOptional": false, + "isOR": false + } + ] + }, + { + "name": "Gamepad", + "bindingGroup": "Gamepad", + "devices": [ + { + "devicePath": "", + "isOptional": false, + "isOR": false + } + ] + }, + { + "name": "Touch", + "bindingGroup": "Touch", + "devices": [ + { + "devicePath": "", + "isOptional": false, + "isOR": false + } + ] + }, + { + "name": "Joystick", + "bindingGroup": "Joystick", + "devices": [ + { + "devicePath": "", + "isOptional": false, + "isOR": false + } + ] + }, + { + "name": "XR", + "bindingGroup": "XR", + "devices": [ + { + "devicePath": "", + "isOptional": false, + "isOR": false + } + ] + } + ] +} \ No newline at end of file diff --git a/Assets/Settings/Input/InputSystem_Actions.inputactions.meta b/Assets/Settings/Input/InputSystem_Actions.inputactions.meta new file mode 100644 index 0000000..8db76b0 --- /dev/null +++ b/Assets/Settings/Input/InputSystem_Actions.inputactions.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 1398fae1742c4a5478b232df8ffe9c04 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 8404be70184654265930450def6a9037, type: 3} + generateWrapperCode: 0 + wrapperCodePath: + wrapperClassName: + wrapperCodeNamespace: diff --git a/Assets/Settings/Input/PlayerInputActions.inputactions b/Assets/Settings/Input/PlayerInputActions.inputactions index 444afa7..9a76a78 100644 --- a/Assets/Settings/Input/PlayerInputActions.inputactions +++ b/Assets/Settings/Input/PlayerInputActions.inputactions @@ -7,12 +7,12 @@ "actions": [ { "name": "Move", - "type": "Button", + "type": "Value", "id": "cba876cd-5594-42ac-a4b0-2f2ed0f0e120", - "expectedControlType": "", + "expectedControlType": "Vector2", "processors": "", "interactions": "", - "initialStateCheck": false + "initialStateCheck": true }, { "name": "Look", @@ -22,28 +22,123 @@ "processors": "", "interactions": "", "initialStateCheck": true + }, + { + "name": "Jump", + "type": "Button", + "id": "850284f0-b2d8-412c-9970-c1a7256e29de", + "expectedControlType": "", + "processors": "", + "interactions": "", + "initialStateCheck": false + }, + { + "name": "Interact", + "type": "Button", + "id": "b405cb77-699f-4558-831a-c6c12a5c0300", + "expectedControlType": "", + "processors": "", + "interactions": "", + "initialStateCheck": false } ], "bindings": [ { "name": "", - "id": "dab4d8f6-9492-4327-8944-76f09907ba54", + "id": "d7c34f0b-b18e-4498-8d3e-1bdec4cb355d", + "path": "/delta", + "interactions": "", + "processors": "", + "groups": "", + "action": "Look", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "2D Vector", + "id": "132c4a80-d02d-43c4-bf7b-8e0ff43a44de", + "path": "2DVector", + "interactions": "", + "processors": "", + "groups": "", + "action": "Move", + "isComposite": true, + "isPartOfComposite": false + }, + { + "name": "up", + "id": "a4d4ec38-2560-46b0-b57b-d9ea0f35d701", "path": "/w", "interactions": "", "processors": "", "groups": "", "action": "Move", "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "down", + "id": "f1c59ea2-0648-4f49-8cfb-d566be529303", + "path": "/s", + "interactions": "", + "processors": "", + "groups": "", + "action": "Move", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "left", + "id": "529b3ae4-cbf4-412c-a783-5bf62c57de72", + "path": "/a", + "interactions": "", + "processors": "", + "groups": "", + "action": "Move", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "right", + "id": "57ddd6bd-cbf7-4cfb-98d3-5b4458a21562", + "path": "/d", + "interactions": "", + "processors": "", + "groups": "", + "action": "Move", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "", + "id": "b6a61d59-edf3-4759-8791-8967ffa1e187", + "path": "/space", + "interactions": "", + "processors": "", + "groups": "", + "action": "Jump", + "isComposite": false, "isPartOfComposite": false }, { "name": "", - "id": "d7c34f0b-b18e-4498-8d3e-1bdec4cb355d", - "path": "/position", + "id": "c7bb1d3e-20de-4ff9-96fc-bfc70ca54e20", + "path": "/f", "interactions": "", "processors": "", "groups": "", - "action": "Look", + "action": "Interact", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "ab4a9194-7003-42f9-a13b-f6edf0427a6e", + "path": "/leftButton", + "interactions": "", + "processors": "", + "groups": "", + "action": "Interact", "isComposite": false, "isPartOfComposite": false } diff --git a/Assets/Settings/Input/PlayerInputActions.inputactions.meta b/Assets/Settings/Input/PlayerInputActions.inputactions.meta index 81753fd..66c6881 100644 --- a/Assets/Settings/Input/PlayerInputActions.inputactions.meta +++ b/Assets/Settings/Input/PlayerInputActions.inputactions.meta @@ -9,6 +9,6 @@ ScriptedImporter: assetBundleVariant: script: {fileID: 11500000, guid: 8404be70184654265930450def6a9037, type: 3} generateWrapperCode: 1 - wrapperCodePath: Assets/Script/Core/Input/PlayerInputActions.cs + wrapperCodePath: Assets/Script/Gameplay/Input/PlayerInputActions.cs wrapperClassName: - wrapperCodeNamespace: Core + wrapperCodeNamespace: Input diff --git a/Packages/manifest.json b/Packages/manifest.json index 94bd939..bf576f1 100644 --- a/Packages/manifest.json +++ b/Packages/manifest.json @@ -1,5 +1,6 @@ { "dependencies": { + "com.cysharp.unitask": "https://github.com/Cysharp/UniTask.git?path=src/UniTask/Assets/Plugins/UniTask", "com.unity.collab-proxy": "2.10.0", "com.unity.ide.rider": "3.0.34", "com.unity.ide.visualstudio": "2.0.22", diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json index 6294255..cee96ec 100644 --- a/Packages/packages-lock.json +++ b/Packages/packages-lock.json @@ -1,5 +1,12 @@ { "dependencies": { + "com.cysharp.unitask": { + "version": "https://github.com/Cysharp/UniTask.git?path=src/UniTask/Assets/Plugins/UniTask", + "depth": 0, + "source": "git", + "dependencies": {}, + "hash": "73a63b7f672b88f7e9992f6917eb458a8cbb6fa9" + }, "com.unity.burst": { "version": "1.8.18", "depth": 1, diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset index c7ca432..2c526e4 100644 --- a/ProjectSettings/ProjectSettings.asset +++ b/ProjectSettings/ProjectSettings.asset @@ -810,7 +810,24 @@ PlayerSettings: webGLMemoryGeometricGrowthStep: 0.2 webGLMemoryGeometricGrowthCap: 96 webGLPowerPreference: 2 - scriptingDefineSymbols: {} + scriptingDefineSymbols: + Android: DOTWEEN + EmbeddedLinux: DOTWEEN + GameCoreScarlett: DOTWEEN + GameCoreXboxOne: DOTWEEN + LinuxHeadlessSimulation: DOTWEEN + Nintendo Switch: DOTWEEN + PS4: DOTWEEN + PS5: DOTWEEN + QNX: DOTWEEN + Stadia: DOTWEEN + Standalone: DOTWEEN + VisionOS: DOTWEEN + WebGL: DOTWEEN + Windows Store Apps: DOTWEEN + XboxOne: DOTWEEN + iPhone: DOTWEEN + tvOS: DOTWEEN additionalCompilerArguments: {} platformArchitecture: {} scriptingBackend: {} diff --git a/ProjectSettings/TagManager.asset b/ProjectSettings/TagManager.asset index 1c92a78..588a62e 100644 --- a/ProjectSettings/TagManager.asset +++ b/ProjectSettings/TagManager.asset @@ -11,7 +11,7 @@ TagManager: - - Water - UI - - + - Ground - - -