Просмотр исходного кода

完成了部分射线敌人的功能,将项目渲染管线升级为urp,并将美术资产进行urp适配转换

Callum 4 месяцев назад
Родитель
Сommit
a633f14020
100 измененных файлов с 10037 добавлено и 883 удалено
  1. 8 0
      ActionTowerDefense/Assets/Animations/Bullet_Ray.meta
  2. 72 0
      ActionTowerDefense/Assets/Animations/Bullet_Ray/RayAC.controller
  3. 8 0
      ActionTowerDefense/Assets/Animations/Bullet_Ray/RayAC.controller.meta
  4. 53 0
      ActionTowerDefense/Assets/Animations/Bullet_Ray/Ray_Attack.anim
  5. 8 0
      ActionTowerDefense/Assets/Animations/Bullet_Ray/Ray_Attack.anim.meta
  6. 42 31
      ActionTowerDefense/Assets/GameLevelEditor/GAAWCITY/TimelineUI/Scenes/TimelineUI.unity
  7. 1 1
      ActionTowerDefense/Assets/GameLevelEditor/GameMap/CoreScripts/GameMapTile.cs
  8. 1 1
      ActionTowerDefense/Assets/GameLevelEditor/Prefabs/FloorTile.prefab
  9. 1 1
      ActionTowerDefense/Assets/GameLevelEditor/Prefabs/Trap.prefab
  10. 1 1
      ActionTowerDefense/Assets/GameLevelEditor/Prefabs/level_editer_box.prefab
  11. BIN
      ActionTowerDefense/Assets/GameLevelEditor/Ui_Textures/rayGhostTest_icon.png
  12. 123 0
      ActionTowerDefense/Assets/GameLevelEditor/Ui_Textures/rayGhostTest_icon.png.meta
  13. 4 2
      ActionTowerDefense/Assets/GameLevelEditor/maps.asset
  14. 43 11
      ActionTowerDefense/Assets/GameLevelEditor/tiles.asset
  15. 8 0
      ActionTowerDefense/Assets/Plugins/DOTween.meta
  16. 3089 0
      ActionTowerDefense/Assets/Plugins/DOTween/DOTween.XML
  17. 7 0
      ActionTowerDefense/Assets/Plugins/DOTween/DOTween.XML.meta
  18. BIN
      ActionTowerDefense/Assets/Plugins/DOTween/DOTween.dll
  19. 33 0
      ActionTowerDefense/Assets/Plugins/DOTween/DOTween.dll.meta
  20. 8 0
      ActionTowerDefense/Assets/Plugins/DOTween/Editor.meta
  21. 144 0
      ActionTowerDefense/Assets/Plugins/DOTween/Editor/DOTweenEditor.XML
  22. 7 0
      ActionTowerDefense/Assets/Plugins/DOTween/Editor/DOTweenEditor.XML.meta
  23. BIN
      ActionTowerDefense/Assets/Plugins/DOTween/Editor/DOTweenEditor.dll
  24. 33 0
      ActionTowerDefense/Assets/Plugins/DOTween/Editor/DOTweenEditor.dll.meta
  25. 8 0
      ActionTowerDefense/Assets/Plugins/DOTween/Editor/Imgs.meta
  26. BIN
      ActionTowerDefense/Assets/Plugins/DOTween/Editor/Imgs/DOTweenIcon.png
  27. 123 0
      ActionTowerDefense/Assets/Plugins/DOTween/Editor/Imgs/DOTweenIcon.png.meta
  28. BIN
      ActionTowerDefense/Assets/Plugins/DOTween/Editor/Imgs/DOTweenMiniIcon.png
  29. 123 0
      ActionTowerDefense/Assets/Plugins/DOTween/Editor/Imgs/DOTweenMiniIcon.png.meta
  30. BIN
      ActionTowerDefense/Assets/Plugins/DOTween/Editor/Imgs/Footer.png
  31. 123 0
      ActionTowerDefense/Assets/Plugins/DOTween/Editor/Imgs/Footer.png.meta
  32. BIN
      ActionTowerDefense/Assets/Plugins/DOTween/Editor/Imgs/Footer_dark.png
  33. 123 0
      ActionTowerDefense/Assets/Plugins/DOTween/Editor/Imgs/Footer_dark.png.meta
  34. BIN
      ActionTowerDefense/Assets/Plugins/DOTween/Editor/Imgs/Header.jpg
  35. 123 0
      ActionTowerDefense/Assets/Plugins/DOTween/Editor/Imgs/Header.jpg.meta
  36. 8 0
      ActionTowerDefense/Assets/Plugins/DOTween/Modules.meta
  37. 198 0
      ActionTowerDefense/Assets/Plugins/DOTween/Modules/DOTweenModuleAudio.cs
  38. 11 0
      ActionTowerDefense/Assets/Plugins/DOTween/Modules/DOTweenModuleAudio.cs.meta
  39. 146 0
      ActionTowerDefense/Assets/Plugins/DOTween/Modules/DOTweenModuleEPOOutline.cs
  40. 11 0
      ActionTowerDefense/Assets/Plugins/DOTween/Modules/DOTweenModuleEPOOutline.cs.meta
  41. 216 0
      ActionTowerDefense/Assets/Plugins/DOTween/Modules/DOTweenModulePhysics.cs
  42. 11 0
      ActionTowerDefense/Assets/Plugins/DOTween/Modules/DOTweenModulePhysics.cs.meta
  43. 193 0
      ActionTowerDefense/Assets/Plugins/DOTween/Modules/DOTweenModulePhysics2D.cs
  44. 11 0
      ActionTowerDefense/Assets/Plugins/DOTween/Modules/DOTweenModulePhysics2D.cs.meta
  45. 93 0
      ActionTowerDefense/Assets/Plugins/DOTween/Modules/DOTweenModuleSprite.cs
  46. 11 0
      ActionTowerDefense/Assets/Plugins/DOTween/Modules/DOTweenModuleSprite.cs.meta
  47. 662 0
      ActionTowerDefense/Assets/Plugins/DOTween/Modules/DOTweenModuleUI.cs
  48. 11 0
      ActionTowerDefense/Assets/Plugins/DOTween/Modules/DOTweenModuleUI.cs.meta
  49. 389 0
      ActionTowerDefense/Assets/Plugins/DOTween/Modules/DOTweenModuleUnityVersion.cs
  50. 11 0
      ActionTowerDefense/Assets/Plugins/DOTween/Modules/DOTweenModuleUnityVersion.cs.meta
  51. 167 0
      ActionTowerDefense/Assets/Plugins/DOTween/Modules/DOTweenModuleUtils.cs
  52. 11 0
      ActionTowerDefense/Assets/Plugins/DOTween/Modules/DOTweenModuleUtils.cs.meta
  53. 29 0
      ActionTowerDefense/Assets/Plugins/DOTween/readme.txt
  54. 7 0
      ActionTowerDefense/Assets/Plugins/DOTween/readme.txt.meta
  55. 51 3
      ActionTowerDefense/Assets/Realtime Planar Reflections/Material/Player.mat
  56. 51 3
      ActionTowerDefense/Assets/Realtime Planar Reflections/Material/PlayerGun.mat
  57. 54 0
      ActionTowerDefense/Assets/Resources/DOTweenSettings.asset
  58. 8 0
      ActionTowerDefense/Assets/Resources/DOTweenSettings.asset.meta
  59. 50 2
      ActionTowerDefense/Assets/Resources/Materials/Color1.mat
  60. 50 2
      ActionTowerDefense/Assets/Resources/Materials/Color_red.mat
  61. 63 62
      ActionTowerDefense/Assets/Resources/Prefab/Bg.prefab
  62. 4 1
      ActionTowerDefense/Assets/Resources/Prefab/Boss/WaterSprite/Boss_Braid.prefab
  63. 4 1
      ActionTowerDefense/Assets/Resources/Prefab/Boss/WaterSprite/Boss_Umbrella.prefab
  64. 1 1
      ActionTowerDefense/Assets/Resources/Prefab/Boss/WaterSprite/Circle.prefab
  65. 1 1
      ActionTowerDefense/Assets/Resources/Prefab/Boss/WaterSprite/hair.prefab
  66. 1 1
      ActionTowerDefense/Assets/Resources/Prefab/Boss/WaterSprite/hairWarning.prefab
  67. 74 37
      ActionTowerDefense/Assets/Resources/Prefab/Boss/YuMenGuan/Block/Block.prefab
  68. 74 37
      ActionTowerDefense/Assets/Resources/Prefab/Boss/YuMenGuan/Block/SpecialBlock.prefab
  69. 51 3
      ActionTowerDefense/Assets/Resources/Prefab/Boss/YuMenGuan/Block/block_moster.mat
  70. 52 4
      ActionTowerDefense/Assets/Resources/Prefab/Boss/YuMenGuan/Block/specialBlock.mat
  71. 313 228
      ActionTowerDefense/Assets/Resources/Prefab/Boss/YuMenGuan/Boss_YuMenGuan.prefab
  72. 1 1
      ActionTowerDefense/Assets/Resources/Prefab/Boss/YuMenGuan/EyeLaser/Effc_Laser.prefab
  73. 30 20
      ActionTowerDefense/Assets/Resources/Prefab/Conduct/Demonic_BigGiant.prefab
  74. 47 8
      ActionTowerDefense/Assets/Resources/Prefab/Conduct/FlyingSword.prefab
  75. 6 17
      ActionTowerDefense/Assets/Resources/Prefab/Conduct/Photosphere.prefab
  76. 17 5
      ActionTowerDefense/Assets/Resources/Prefab/Conduct/PhotosphereBullet.prefab
  77. 1 1
      ActionTowerDefense/Assets/Resources/Prefab/Conduct/SwordsControl.prefab
  78. 1 1
      ActionTowerDefense/Assets/Resources/Prefab/Conduct/TemptHP.prefab
  79. 1 1
      ActionTowerDefense/Assets/Resources/Prefab/Conduct/WavePower.prefab
  80. 16 29
      ActionTowerDefense/Assets/Resources/Prefab/Conduct/conductReady.prefab
  81. 49 4
      ActionTowerDefense/Assets/Resources/Prefab/Enemy/ESpirits_Assassin.prefab
  82. 48 4
      ActionTowerDefense/Assets/Resources/Prefab/Enemy/ESpirits_Cook.prefab
  83. 49 4
      ActionTowerDefense/Assets/Resources/Prefab/Enemy/ESpirits_Float.prefab
  84. 48 4
      ActionTowerDefense/Assets/Resources/Prefab/Enemy/ESpirits_Invisible.prefab
  85. 1535 0
      ActionTowerDefense/Assets/Resources/Prefab/Enemy/Enemy_1013.prefab
  86. 7 0
      ActionTowerDefense/Assets/Resources/Prefab/Enemy/Enemy_1013.prefab.meta
  87. 79 20
      ActionTowerDefense/Assets/Resources/Prefab/Enemy/Enemy_Arrow.prefab
  88. 228 70
      ActionTowerDefense/Assets/Resources/Prefab/Enemy/Enemy_Giant.prefab
  89. 228 70
      ActionTowerDefense/Assets/Resources/Prefab/Enemy/Enemy_Sword.prefab
  90. 1 1
      ActionTowerDefense/Assets/Resources/Prefab/FX/BackDoor.prefab
  91. 1 1
      ActionTowerDefense/Assets/Resources/Prefab/FX/SmokeEffect.prefab
  92. 1 1
      ActionTowerDefense/Assets/Resources/Prefab/FX/TranFloatRange.prefab
  93. 11 135
      ActionTowerDefense/Assets/Resources/Prefab/FX/star.prefab
  94. 4 2
      ActionTowerDefense/Assets/Resources/Prefab/MySoldier/Demonic_Giant.prefab
  95. 49 4
      ActionTowerDefense/Assets/Resources/Prefab/MySoldier/Spirits_Assassin.prefab
  96. 48 4
      ActionTowerDefense/Assets/Resources/Prefab/MySoldier/Spirits_Cook.prefab
  97. 49 4
      ActionTowerDefense/Assets/Resources/Prefab/MySoldier/Spirits_Float.prefab
  98. 2 2
      ActionTowerDefense/Assets/Resources/Prefab/MySoldier/Spirits_Invisible.prefab
  99. 13 1
      ActionTowerDefense/Assets/Resources/Prefab/Player.prefab
  100. 52 35
      ActionTowerDefense/Assets/Resources/Prefab/PlayerBullet.prefab

+ 8 - 0
ActionTowerDefense/Assets/Animations/Bullet_Ray.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: bc49494b85c09db4fa6435f6c6d365e6
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 72 - 0
ActionTowerDefense/Assets/Animations/Bullet_Ray/RayAC.controller

@@ -0,0 +1,72 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1107 &-8233915157660611500
+AnimatorStateMachine:
+  serializedVersion: 6
+  m_ObjectHideFlags: 1
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: Base Layer
+  m_ChildStates:
+  - serializedVersion: 1
+    m_State: {fileID: 1284804059867274952}
+    m_Position: {x: 200, y: 0, z: 0}
+  m_ChildStateMachines: []
+  m_AnyStateTransitions: []
+  m_EntryTransitions: []
+  m_StateMachineTransitions: {}
+  m_StateMachineBehaviours: []
+  m_AnyStatePosition: {x: 50, y: 20, z: 0}
+  m_EntryPosition: {x: 50, y: 120, z: 0}
+  m_ExitPosition: {x: 800, y: 120, z: 0}
+  m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
+  m_DefaultState: {fileID: 1284804059867274952}
+--- !u!91 &9100000
+AnimatorController:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: RayAC
+  serializedVersion: 5
+  m_AnimatorParameters: []
+  m_AnimatorLayers:
+  - serializedVersion: 5
+    m_Name: Base Layer
+    m_StateMachine: {fileID: -8233915157660611500}
+    m_Mask: {fileID: 0}
+    m_Motions: []
+    m_Behaviours: []
+    m_BlendingMode: 0
+    m_SyncedLayerIndex: -1
+    m_DefaultWeight: 0
+    m_IKPass: 0
+    m_SyncedLayerAffectsTiming: 0
+    m_Controller: {fileID: 9100000}
+--- !u!1102 &1284804059867274952
+AnimatorState:
+  serializedVersion: 6
+  m_ObjectHideFlags: 1
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: Ray_Attack
+  m_Speed: 1
+  m_CycleOffset: 0
+  m_Transitions: []
+  m_StateMachineBehaviours: []
+  m_Position: {x: 50, y: 50, z: 0}
+  m_IKOnFeet: 0
+  m_WriteDefaultValues: 1
+  m_Mirror: 0
+  m_SpeedParameterActive: 0
+  m_MirrorParameterActive: 0
+  m_CycleOffsetParameterActive: 0
+  m_TimeParameterActive: 0
+  m_Motion: {fileID: 7400000, guid: d17159f0da17d4c4f8febdb15f895600, type: 2}
+  m_Tag: 
+  m_SpeedParameter: 
+  m_MirrorParameter: 
+  m_CycleOffsetParameter: 
+  m_TimeParameter: 

+ 8 - 0
ActionTowerDefense/Assets/Animations/Bullet_Ray/RayAC.controller.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 5fe8f5fca79df23459bf75a7db9a9b64
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 9100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 53 - 0
ActionTowerDefense/Assets/Animations/Bullet_Ray/Ray_Attack.anim

@@ -0,0 +1,53 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!74 &7400000
+AnimationClip:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: Ray_Attack
+  serializedVersion: 7
+  m_Legacy: 0
+  m_Compressed: 0
+  m_UseHighQualityCurve: 1
+  m_RotationCurves: []
+  m_CompressedRotationCurves: []
+  m_EulerCurves: []
+  m_PositionCurves: []
+  m_ScaleCurves: []
+  m_FloatCurves: []
+  m_PPtrCurves: []
+  m_SampleRate: 12
+  m_WrapMode: 0
+  m_Bounds:
+    m_Center: {x: 0, y: 0, z: 0}
+    m_Extent: {x: 0, y: 0, z: 0}
+  m_ClipBindingConstant:
+    genericBindings: []
+    pptrCurveMapping: []
+  m_AnimationClipSettings:
+    serializedVersion: 2
+    m_AdditiveReferencePoseClip: {fileID: 0}
+    m_AdditiveReferencePoseTime: 0
+    m_StartTime: 0
+    m_StopTime: 1
+    m_OrientationOffsetY: 0
+    m_Level: 0
+    m_CycleOffset: 0
+    m_HasAdditiveReferencePose: 0
+    m_LoopTime: 1
+    m_LoopBlend: 0
+    m_LoopBlendOrientation: 0
+    m_LoopBlendPositionY: 0
+    m_LoopBlendPositionXZ: 0
+    m_KeepOriginalOrientation: 0
+    m_KeepOriginalPositionY: 1
+    m_KeepOriginalPositionXZ: 0
+    m_HeightFromFeet: 0
+    m_Mirror: 0
+  m_EditorCurves: []
+  m_EulerEditorCurves: []
+  m_HasGenericRootTransform: 0
+  m_HasMotionFloatCurves: 0
+  m_Events: []

+ 8 - 0
ActionTowerDefense/Assets/Animations/Bullet_Ray/Ray_Attack.anim.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: d17159f0da17d4c4f8febdb15f895600
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 7400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 42 - 31
ActionTowerDefense/Assets/GameLevelEditor/GAAWCITY/TimelineUI/Scenes/TimelineUI.unity

@@ -282,7 +282,8 @@ MonoBehaviour:
   m_isRightToLeft: 0
   m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
   m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
-  m_fontSharedMaterials: []
+  m_fontSharedMaterials:
+  - {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
   m_fontMaterial: {fileID: 0}
   m_fontMaterials: []
   m_fontColor32:
@@ -952,7 +953,8 @@ MonoBehaviour:
   m_isRightToLeft: 0
   m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
   m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
-  m_fontSharedMaterials: []
+  m_fontSharedMaterials:
+  - {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
   m_fontMaterial: {fileID: 0}
   m_fontMaterials: []
   m_fontColor32:
@@ -1128,7 +1130,8 @@ MonoBehaviour:
   m_isRightToLeft: 0
   m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
   m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
-  m_fontSharedMaterials: []
+  m_fontSharedMaterials:
+  - {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
   m_fontMaterial: {fileID: 0}
   m_fontMaterials: []
   m_fontColor32:
@@ -1263,7 +1266,8 @@ MonoBehaviour:
   m_isRightToLeft: 0
   m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
   m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
-  m_fontSharedMaterials: []
+  m_fontSharedMaterials:
+  - {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
   m_fontMaterial: {fileID: 0}
   m_fontMaterials: []
   m_fontColor32:
@@ -1398,7 +1402,8 @@ MonoBehaviour:
   m_isRightToLeft: 0
   m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
   m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
-  m_fontSharedMaterials: []
+  m_fontSharedMaterials:
+  - {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
   m_fontMaterial: {fileID: 0}
   m_fontMaterials: []
   m_fontColor32:
@@ -1961,7 +1966,8 @@ MonoBehaviour:
   m_isRightToLeft: 0
   m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
   m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
-  m_fontSharedMaterials: []
+  m_fontSharedMaterials:
+  - {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
   m_fontMaterial: {fileID: 0}
   m_fontMaterials: []
   m_fontColor32:
@@ -2096,7 +2102,8 @@ MonoBehaviour:
   m_isRightToLeft: 0
   m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
   m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
-  m_fontSharedMaterials: []
+  m_fontSharedMaterials:
+  - {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
   m_fontMaterial: {fileID: 0}
   m_fontMaterials: []
   m_fontColor32:
@@ -2231,7 +2238,8 @@ MonoBehaviour:
   m_isRightToLeft: 0
   m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
   m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
-  m_fontSharedMaterials: []
+  m_fontSharedMaterials:
+  - {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
   m_fontMaterial: {fileID: 0}
   m_fontMaterials: []
   m_fontColor32:
@@ -2639,7 +2647,8 @@ MonoBehaviour:
   m_isRightToLeft: 0
   m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
   m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
-  m_fontSharedMaterials: []
+  m_fontSharedMaterials:
+  - {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
   m_fontMaterial: {fileID: 0}
   m_fontMaterials: []
   m_fontColor32:
@@ -2984,7 +2993,8 @@ MonoBehaviour:
   m_isRightToLeft: 0
   m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
   m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
-  m_fontSharedMaterials: []
+  m_fontSharedMaterials:
+  - {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
   m_fontMaterial: {fileID: 0}
   m_fontMaterials: []
   m_fontColor32:
@@ -3248,7 +3258,8 @@ MonoBehaviour:
   m_isRightToLeft: 0
   m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
   m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
-  m_fontSharedMaterials: []
+  m_fontSharedMaterials:
+  - {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
   m_fontMaterial: {fileID: 0}
   m_fontMaterials: []
   m_fontColor32:
@@ -4133,7 +4144,8 @@ MonoBehaviour:
   m_isRightToLeft: 0
   m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
   m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
-  m_fontSharedMaterials: []
+  m_fontSharedMaterials:
+  - {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
   m_fontMaterial: {fileID: 0}
   m_fontMaterials: []
   m_fontColor32:
@@ -4358,7 +4370,8 @@ MonoBehaviour:
   m_isRightToLeft: 0
   m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
   m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
-  m_fontSharedMaterials: []
+  m_fontSharedMaterials:
+  - {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
   m_fontMaterial: {fileID: 0}
   m_fontMaterials: []
   m_fontColor32:
@@ -4493,7 +4506,8 @@ MonoBehaviour:
   m_isRightToLeft: 0
   m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
   m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
-  m_fontSharedMaterials: []
+  m_fontSharedMaterials:
+  - {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
   m_fontMaterial: {fileID: 0}
   m_fontMaterials: []
   m_fontColor32:
@@ -4664,16 +4678,6 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   timelineController: {fileID: 524146840}
-  swimLaneName: {fileID: 2058498761}
-  swimlanes: {fileID: 872502949}
-  title: {fileID: 1085083169}
-  month: {fileID: 284724728}
-  day: {fileID: 968718218}
-  year: {fileID: 1344334646}
-  hour: {fileID: 328114258}
-  min: {fileID: 1318444486}
-  eventLength: {fileID: 532905917}
-  swimLaneContainer: {fileID: 0}
 --- !u!1 &1308141599
 GameObject:
   m_ObjectHideFlags: 0
@@ -4736,7 +4740,8 @@ MonoBehaviour:
   m_isRightToLeft: 0
   m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
   m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
-  m_fontSharedMaterials: []
+  m_fontSharedMaterials:
+  - {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
   m_fontMaterial: {fileID: 0}
   m_fontMaterials: []
   m_fontColor32:
@@ -5313,7 +5318,8 @@ MonoBehaviour:
   m_isRightToLeft: 0
   m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
   m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
-  m_fontSharedMaterials: []
+  m_fontSharedMaterials:
+  - {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
   m_fontMaterial: {fileID: 0}
   m_fontMaterials: []
   m_fontColor32:
@@ -5564,7 +5570,8 @@ MonoBehaviour:
   m_isRightToLeft: 0
   m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
   m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
-  m_fontSharedMaterials: []
+  m_fontSharedMaterials:
+  - {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
   m_fontMaterial: {fileID: 0}
   m_fontMaterials: []
   m_fontColor32:
@@ -5957,7 +5964,8 @@ MonoBehaviour:
   m_isRightToLeft: 0
   m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
   m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
-  m_fontSharedMaterials: []
+  m_fontSharedMaterials:
+  - {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
   m_fontMaterial: {fileID: 0}
   m_fontMaterials: []
   m_fontColor32:
@@ -6092,7 +6100,8 @@ MonoBehaviour:
   m_isRightToLeft: 0
   m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
   m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
-  m_fontSharedMaterials: []
+  m_fontSharedMaterials:
+  - {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
   m_fontMaterial: {fileID: 0}
   m_fontMaterials: []
   m_fontColor32:
@@ -6248,7 +6257,8 @@ MonoBehaviour:
   m_isRightToLeft: 0
   m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
   m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
-  m_fontSharedMaterials: []
+  m_fontSharedMaterials:
+  - {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
   m_fontMaterial: {fileID: 0}
   m_fontMaterials: []
   m_fontColor32:
@@ -6709,7 +6719,8 @@ MonoBehaviour:
   m_isRightToLeft: 0
   m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
   m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
-  m_fontSharedMaterials: []
+  m_fontSharedMaterials:
+  - {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
   m_fontMaterial: {fileID: 0}
   m_fontMaterials: []
   m_fontColor32:

+ 1 - 1
ActionTowerDefense/Assets/GameLevelEditor/GameMap/CoreScripts/GameMapTile.cs

@@ -45,7 +45,7 @@ public class GameMapTile
 
 	public enum Type { Null = 0,  Tower=1, Enemy=2}
 	public Type type = Type.Null;   // the runtime might use something like this to identify what the placed tile means
-    public enum CH { Tower = 0, EnemyTower = 1,Enemy_1001, Enemy_1002, Enemy_1003, Enemy_1004, Enemy_1005, Enemy_1006, Enemy_1007 };            // this value could depend on the chosen type. For example, if NPC then this could indicate which NPC prefab to spawn from an array of NPC prefabs.
+    public enum CH { Tower = 0, EnemyTower = 1,Enemy_1001, Enemy_1002, Enemy_1003, Enemy_1004, Enemy_1005, Enemy_1006, Enemy_1007, Enemy_1013 };            // this value could depend on the chosen type. For example, if NPC then this could indicate which NPC prefab to spawn from an array of NPC prefabs.
     public CH ch;
 
 	public Vector2 radius;

+ 1 - 1
ActionTowerDefense/Assets/GameLevelEditor/Prefabs/FloorTile.prefab

@@ -53,7 +53,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0

+ 1 - 1
ActionTowerDefense/Assets/GameLevelEditor/Prefabs/Trap.prefab

@@ -53,7 +53,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0

+ 1 - 1
ActionTowerDefense/Assets/GameLevelEditor/Prefabs/level_editer_box.prefab

@@ -52,7 +52,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0

BIN
ActionTowerDefense/Assets/GameLevelEditor/Ui_Textures/rayGhostTest_icon.png


+ 123 - 0
ActionTowerDefense/Assets/GameLevelEditor/Ui_Textures/rayGhostTest_icon.png.meta

@@ -0,0 +1,123 @@
+fileFormatVersion: 2
+guid: f57878f004901004e814080448606340
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 12
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  vTOnly: 0
+  ignoreMasterTextureLimit: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: 1
+    aniso: 1
+    mipBias: 0
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  flipbookRows: 1
+  flipbookColumns: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  ignorePngGamma: 0
+  applyGammaDecoding: 0
+  cookieLightType: 0
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Server
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 5e97eb03825dee720800000000000000
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+    nameFileIdTable: {}
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

Разница между файлами не показана из-за своего большого размера
+ 4 - 2
ActionTowerDefense/Assets/GameLevelEditor/maps.asset


+ 43 - 11
ActionTowerDefense/Assets/GameLevelEditor/tiles.asset

@@ -56,11 +56,11 @@ MonoBehaviour:
     index: -1
     hasOut: 0
     parameter:
-      HP: 100
+      HP: 80
       Attack_summon: 0
       Attack_march: 40
-      MinMoveSpeed: 4
-      MaxMoveSpeed: 6
+      MinMoveSpeed: 6
+      MaxMoveSpeed: 9
   - id: 4
     name: "\u9053\u58EB"
     sprite: {fileID: 21300000, guid: 9427b81baf714984c8b234f2d273a79b, type: 3}
@@ -88,7 +88,7 @@ MonoBehaviour:
     index: -1
     hasOut: 0
     parameter:
-      HP: 3000
+      HP: 1000
       Attack_summon: 0
       Attack_march: 20
       MinMoveSpeed: 1
@@ -100,11 +100,11 @@ MonoBehaviour:
     _aid: -1
     type: 2
     ch: 5
-    radius: {x: 1, y: 1}
+    radius: {x: 3, y: 3}
     index: -1
     hasOut: 0
     parameter:
-      HP: 100
+      HP: 80
       Attack_summon: 0
       Attack_march: 60
       MinMoveSpeed: 6
@@ -122,7 +122,7 @@ MonoBehaviour:
     parameter:
       HP: 200
       Attack_summon: 0
-      Attack_march: 100
+      Attack_march: 150
       MinMoveSpeed: 4
       MaxMoveSpeed: 6
   - id: 8
@@ -132,15 +132,15 @@ MonoBehaviour:
     _aid: -1
     type: 2
     ch: 6
-    radius: {x: 1, y: 1}
+    radius: {x: 2, y: 1}
     index: -1
     hasOut: 0
     parameter:
       HP: 100
       Attack_summon: 0
       Attack_march: 100
-      MinMoveSpeed: 6
-      MaxMoveSpeed: 9
+      MinMoveSpeed: 5
+      MaxMoveSpeed: 8
   - id: 9
     name: "\u98DE\u80D6"
     sprite: {fileID: 21300000, guid: 7dc6bc23265efd8409e76dcdfb6dded5, type: 3}
@@ -151,6 +151,38 @@ MonoBehaviour:
     radius: {x: 1, y: 1}
     index: -1
     hasOut: 0
+    parameter:
+      HP: 1000
+      Attack_summon: 0
+      Attack_march: 40
+      MinMoveSpeed: 2
+      MaxMoveSpeed: 5
+  - id: 10
+    name: "\u98DE\u8B66"
+    sprite: {fileID: 0}
+    color: {r: 1, g: 1, b: 1, a: 1}
+    _aid: -1
+    type: 2
+    ch: 0
+    radius: {x: 2, y: 2}
+    index: -1
+    hasOut: 0
+    parameter:
+      HP: 3000
+      Attack_summon: 0
+      Attack_march: 100
+      MinMoveSpeed: 6
+      MaxMoveSpeed: 9
+  - id: 11
+    name: 1013
+    sprite: {fileID: 21300000, guid: f57878f004901004e814080448606340, type: 3}
+    color: {r: 1, g: 1, b: 1, a: 1}
+    _aid: -1
+    type: 2
+    ch: 0
+    radius: {x: 1, y: 1}
+    index: -1
+    hasOut: 0
     parameter:
       HP: 3000
       Attack_summon: 0
@@ -158,5 +190,5 @@ MonoBehaviour:
       MinMoveSpeed: 2
       MaxMoveSpeed: 5
   autoTiles: []
-  nextTileId: 10
+  nextTileId: 12
   nextAutoTileId: 1

+ 8 - 0
ActionTowerDefense/Assets/Plugins/DOTween.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: fd96bf18a36d55646b47210cea4fc969
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 3089 - 0
ActionTowerDefense/Assets/Plugins/DOTween/DOTween.XML

@@ -0,0 +1,3089 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>DOTween</name>
+    </assembly>
+    <members>
+        <member name="T:DG.Tweening.AutoPlay">
+            <summary>
+            Types of autoPlay behaviours
+            </summary>
+        </member>
+        <member name="F:DG.Tweening.AutoPlay.None">
+            <summary>No tween is automatically played</summary>
+        </member>
+        <member name="F:DG.Tweening.AutoPlay.AutoPlaySequences">
+            <summary>Only Sequences are automatically played</summary>
+        </member>
+        <member name="F:DG.Tweening.AutoPlay.AutoPlayTweeners">
+            <summary>Only Tweeners are automatically played</summary>
+        </member>
+        <member name="F:DG.Tweening.AutoPlay.All">
+            <summary>All tweens are automatically played</summary>
+        </member>
+        <member name="T:DG.Tweening.AxisConstraint">
+            <summary>
+            What axis to constrain in case of Vector tweens
+            </summary>
+        </member>
+        <member name="F:DG.Tweening.Core.ABSSequentiable.onStart">
+            <summary>Called the first time the tween is set in a playing state, after any eventual delay</summary>
+        </member>
+        <member name="T:DG.Tweening.Core.DOGetter`1">
+            <summary>
+            Used in place of <c>System.Func</c>, which is not available in mscorlib.
+            </summary>
+        </member>
+        <member name="T:DG.Tweening.Core.DOSetter`1">
+            <summary>
+            Used in place of <c>System.Action</c>.
+            </summary>
+        </member>
+        <member name="T:DG.Tweening.Core.Debugger">
+            <summary>
+            Public so it can be used by lose scripts related to DOTween (like DOTweenAnimation)
+            </summary>
+        </member>
+        <member name="T:DG.Tweening.Core.DOTweenComponent">
+            <summary>
+            Used to separate DOTween class from the MonoBehaviour instance (in order to use static constructors on DOTween).
+            Contains all instance-based methods
+            </summary>
+        </member>
+        <member name="F:DG.Tweening.Core.DOTweenComponent.inspectorUpdater">
+            <summary>Used internally inside Unity Editor, as a trick to update DOTween's inspector at every frame</summary>
+        </member>
+        <member name="M:DG.Tweening.Core.DOTweenComponent.SetCapacity(System.Int32,System.Int32)">
+            <summary>
+            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.
+            </summary>
+            <param name="tweenersCapacity">Max Tweeners capacity.
+            Default: 200</param>
+            <param name="sequencesCapacity">Max Sequences capacity.
+            Default: 50</param>
+        </member>
+        <member name="T:DG.Tweening.Core.Easing.Bounce">
+            <summary>
+            This class contains a C# port of the easing equations created by Robert Penner (http://robertpenner.com/easing).
+            </summary>
+        </member>
+        <member name="M:DG.Tweening.Core.Easing.Bounce.EaseIn(System.Single,System.Single,System.Single,System.Single)">
+            <summary>
+            Easing equation function for a bounce (exponentially decaying parabolic bounce) easing in: accelerating from zero velocity.
+            </summary>
+            <param name="time">
+            Current time (in frames or seconds).
+            </param>
+            <param name="duration">
+            Expected easing duration (in frames or seconds).
+            </param>
+            <param name="unusedOvershootOrAmplitude">Unused: here to keep same delegate for all ease types.</param>
+            <param name="unusedPeriod">Unused: here to keep same delegate for all ease types.</param>
+            <returns>
+            The eased value.
+            </returns>
+        </member>
+        <member name="M:DG.Tweening.Core.Easing.Bounce.EaseOut(System.Single,System.Single,System.Single,System.Single)">
+            <summary>
+            Easing equation function for a bounce (exponentially decaying parabolic bounce) easing out: decelerating from zero velocity.
+            </summary>
+            <param name="time">
+            Current time (in frames or seconds).
+            </param>
+            <param name="duration">
+            Expected easing duration (in frames or seconds).
+            </param>
+            <param name="unusedOvershootOrAmplitude">Unused: here to keep same delegate for all ease types.</param>
+            <param name="unusedPeriod">Unused: here to keep same delegate for all ease types.</param>
+            <returns>
+            The eased value.
+            </returns>
+        </member>
+        <member name="M:DG.Tweening.Core.Easing.Bounce.EaseInOut(System.Single,System.Single,System.Single,System.Single)">
+            <summary>
+            Easing equation function for a bounce (exponentially decaying parabolic bounce) easing in/out: acceleration until halfway, then deceleration.
+            </summary>
+            <param name="time">
+            Current time (in frames or seconds).
+            </param>
+            <param name="duration">
+            Expected easing duration (in frames or seconds).
+            </param>
+            <param name="unusedOvershootOrAmplitude">Unused: here to keep same delegate for all ease types.</param>
+            <param name="unusedPeriod">Unused: here to keep same delegate for all ease types.</param>
+            <returns>
+            The eased value.
+            </returns>
+        </member>
+        <member name="M:DG.Tweening.Core.Easing.EaseManager.Evaluate(DG.Tweening.Tween,System.Single,System.Single,System.Single,System.Single)">
+            <summary>
+            Returns a value between 0 and 1 (inclusive) based on the elapsed time and ease selected
+            </summary>
+        </member>
+        <member name="M:DG.Tweening.Core.Easing.EaseManager.Evaluate(DG.Tweening.Ease,DG.Tweening.EaseFunction,System.Single,System.Single,System.Single,System.Single)">
+            <summary>
+            Returns a value between 0 and 1 (inclusive) based on the elapsed time and ease selected
+            </summary>
+        </member>
+        <member name="T:DG.Tweening.Core.Easing.EaseCurve">
+            <summary>
+            Used to interpret AnimationCurves as eases.
+            Public so it can be used by external ease factories
+            </summary>
+        </member>
+        <member name="T:DG.Tweening.Core.Enums.NestedTweenFailureBehaviour">
+            <summary>
+            Behaviour in case a tween nested inside a Sequence fails and is captured by safe mode
+            </summary>
+        </member>
+        <member name="F:DG.Tweening.Core.Enums.NestedTweenFailureBehaviour.TryToPreserveSequence">
+            <summary>If the Sequence contains other elements, kill the failed tween but preserve the rest</summary>
+        </member>
+        <member name="F:DG.Tweening.Core.Enums.NestedTweenFailureBehaviour.KillWholeSequence">
+            <summary>Kill the whole Sequence</summary>
+        </member>
+        <member name="T:DG.Tweening.Core.Enums.SafeModeLogBehaviour">
+            <summary>
+            Log types thrown by errors captured and prevented by safe mode
+            </summary>
+        </member>
+        <member name="F:DG.Tweening.Core.Enums.SafeModeLogBehaviour.None">
+            <summary>No logs. NOT RECOMMENDED</summary>
+        </member>
+        <member name="F:DG.Tweening.Core.Enums.SafeModeLogBehaviour.Normal">
+            <summary>Throw a normal log</summary>
+        </member>
+        <member name="F:DG.Tweening.Core.Enums.SafeModeLogBehaviour.Warning">
+            <summary>Throw a warning log (default)</summary>
+        </member>
+        <member name="F:DG.Tweening.Core.Enums.SafeModeLogBehaviour.Error">
+            <summary>Throw an error log</summary>
+        </member>
+        <member name="T:DG.Tweening.Core.Enums.UpdateNotice">
+            <summary>
+            Additional notices passed to plugins when updating.
+            Public so it can be used by custom plugins. Internally, only PathPlugin uses it
+            </summary>
+        </member>
+        <member name="F:DG.Tweening.Core.Enums.UpdateNotice.None">
+            <summary>
+            None
+            </summary>
+        </member>
+        <member name="F:DG.Tweening.Core.Enums.UpdateNotice.RewindStep">
+            <summary>
+            Lets the plugin know that we restarted or rewinded
+            </summary>
+        </member>
+        <member name="T:DG.Tweening.Core.Enums.RewindCallbackMode">
+            <summary>
+            OnRewind callback behaviour (can only be set via DOTween's Utility Panel)
+            </summary>
+        </member>
+        <member name="F:DG.Tweening.Core.Enums.RewindCallbackMode.FireIfPositionChanged">
+            <summary>
+            When calling Rewind or PlayBackwards/SmoothRewind, OnRewind callbacks will be fired only if the tween isn't already rewinded
+            </summary>
+        </member>
+        <member name="F:DG.Tweening.Core.Enums.RewindCallbackMode.FireAlwaysWithRewind">
+            <summary>
+            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
+            </summary>
+        </member>
+        <member name="F:DG.Tweening.Core.Enums.RewindCallbackMode.FireAlways">
+            <summary>
+            When calling Rewind or PlayBackwards/SmoothRewind, OnRewind callbacks will always be fired, even if the tween is already rewinded
+            </summary>
+        </member>
+        <member name="T:DG.Tweening.Core.Extensions">
+            <summary>
+            Public only so custom shortcuts can access some of these methods
+            </summary>
+        </member>
+        <member name="M:DG.Tweening.Core.Extensions.SetSpecialStartupMode``1(``0,DG.Tweening.Core.Enums.SpecialStartupMode)">
+            <summary>
+            INTERNAL: used by DO shortcuts and Modules to set special startup mode
+            </summary>
+        </member>
+        <member name="M:DG.Tweening.Core.Extensions.Blendable``3(DG.Tweening.Core.TweenerCore{``0,``1,``2})">
+            <summary>
+            INTERNAL: used by DO shortcuts and Modules to set the tween as blendable
+            </summary>
+        </member>
+        <member name="M:DG.Tweening.Core.Extensions.NoFrom``3(DG.Tweening.Core.TweenerCore{``0,``1,``2})">
+            <summary>
+            INTERNAL: used by DO shortcuts and Modules to prevent a tween from using a From setup even if passed
+            </summary>
+        </member>
+        <member name="T:DG.Tweening.Core.DOTweenExternalCommand">
+            <summary>
+            Used to dispatch commands that need to be captured externally, usually by Modules
+            </summary>
+        </member>
+        <member name="T:DG.Tweening.Core.DOTweenUtils">
+            <summary>
+            Various utils
+            </summary>
+        </member>
+        <member name="M:DG.Tweening.Core.DOTweenUtils.Vector3FromAngle(System.Single,System.Single)">
+            <summary>
+            Returns a Vector3 with z = 0
+            </summary>
+        </member>
+        <member name="M:DG.Tweening.Core.DOTweenUtils.Angle2D(UnityEngine.Vector3,UnityEngine.Vector3)">
+            <summary>
+            Returns the 2D angle between two vectors
+            </summary>
+        </member>
+        <member name="M:DG.Tweening.Core.DOTweenUtils.GetPointOnCircle(UnityEngine.Vector2,System.Single,System.Single)">
+            <summary>
+            Returns a point on a circle with the given center and radius,
+            using Unity's circle coordinates (0° points up and increases clockwise)
+            </summary>
+        </member>
+        <member name="M:DG.Tweening.Core.DOTweenUtils.Vector3AreApproximatelyEqual(UnityEngine.Vector3,UnityEngine.Vector3)">
+            <summary>
+            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.
+            </summary>
+        </member>
+        <member name="M:DG.Tweening.Core.DOTweenUtils.GetLooseScriptType(System.String)">
+            <summary>
+            Looks for the type within all possible project assembly names
+            </summary>
+        </member>
+        <member name="M:DG.Tweening.Core.TweenerCore`3.ChangeStartValue(`1,System.Single)">
+            <summary>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</summary>
+            <param name="newStartValue">The new start value</param>
+            <param name="newDuration">If bigger than 0 applies it as the new tween duration</param>
+        </member>
+        <member name="M:DG.Tweening.Core.TweenerCore`3.ChangeEndValue(`1,System.Boolean)">
+            <summary>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</summary>
+            <param name="newEndValue">The new end value</param>
+            <param name="snapStartValue">If TRUE the start value will become the current target's value, otherwise it will stay the same</param>
+        </member>
+        <member name="M:DG.Tweening.Core.TweenerCore`3.ChangeEndValue(`1,System.Single,System.Boolean)">
+            <summary>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</summary>
+            <param name="newEndValue">The new end value</param>
+            <param name="newDuration">If bigger than 0 applies it as the new tween duration</param>
+            <param name="snapStartValue">If TRUE the start value will become the current target's value, otherwise it will stay the same</param>
+        </member>
+        <member name="M:DG.Tweening.Core.TweenerCore`3.ChangeValues(`1,`1,System.Single)">
+            <summary>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</summary>
+            <param name="newStartValue">The new start value</param>
+            <param name="newEndValue">The new end value</param>
+            <param name="newDuration">If bigger than 0 applies it as the new tween duration</param>
+        </member>
+        <member name="T:DG.Tweening.Color2">
+            <summary>
+            Struct that stores two colors (used for LineRenderer tweens)
+            </summary>
+        </member>
+        <member name="T:DG.Tweening.TweenCallback">
+            <summary>
+            Used for tween callbacks
+            </summary>
+        </member>
+        <member name="T:DG.Tweening.TweenCallback`1">
+            <summary>
+            Used for tween callbacks
+            </summary>
+        </member>
+        <member name="T:DG.Tweening.EaseFunction">
+            <summary>
+            Used for custom and animationCurve-based ease functions. Must return a value between 0 and 1.
+            </summary>
+        </member>
+        <member name="T:DG.Tweening.CustomPlugins.PureQuaternionPlugin">
+            <summary>
+            Straight Quaternion plugin. Instead of using Vector3 values accepts Quaternion values directly.
+            <para>Beware: doesn't work with LoopType.Incremental (neither directly nor if inside a LoopType.Incremental Sequence).</para>
+            <para>To use it, call DOTween.To with the plugin parameter overload, passing it <c>PureQuaternionPlugin.Plug()</c> as first parameter
+            (do not use any of the other public PureQuaternionPlugin methods):</para>
+            <code>DOTween.To(PureQuaternionPlugin.Plug(), ()=> myQuaternionProperty, x=> myQuaternionProperty = x, myQuaternionEndValue, duration);</code>
+            </summary>
+        </member>
+        <member name="M:DG.Tweening.CustomPlugins.PureQuaternionPlugin.Plug">
+            <summary>
+            Plug this plugin inside a DOTween.To call.
+            <para>Example:</para>
+            <code>DOTween.To(PureQuaternionPlugin.Plug(), ()=> myQuaternionProperty, x=> myQuaternionProperty = x, myQuaternionEndValue, duration);</code>
+            </summary>
+        </member>
+        <member name="M:DG.Tweening.CustomPlugins.PureQuaternionPlugin.Reset(DG.Tweening.Core.TweenerCore{UnityEngine.Quaternion,UnityEngine.Quaternion,DG.Tweening.Plugins.Options.NoOptions})">
+            <summary>INTERNAL: do not use</summary>
+        </member>
+        <member name="M:DG.Tweening.CustomPlugins.PureQuaternionPlugin.SetFrom(DG.Tweening.Core.TweenerCore{UnityEngine.Quaternion,UnityEngine.Quaternion,DG.Tweening.Plugins.Options.NoOptions},System.Boolean)">
+            <summary>INTERNAL: do not use</summary>
+        </member>
+        <member name="M:DG.Tweening.CustomPlugins.PureQuaternionPlugin.SetFrom(DG.Tweening.Core.TweenerCore{UnityEngine.Quaternion,UnityEngine.Quaternion,DG.Tweening.Plugins.Options.NoOptions},UnityEngine.Quaternion,System.Boolean,System.Boolean)">
+            <summary>INTERNAL: do not use</summary>
+        </member>
+        <member name="M:DG.Tweening.CustomPlugins.PureQuaternionPlugin.ConvertToStartValue(DG.Tweening.Core.TweenerCore{UnityEngine.Quaternion,UnityEngine.Quaternion,DG.Tweening.Plugins.Options.NoOptions},UnityEngine.Quaternion)">
+            <summary>INTERNAL: do not use</summary>
+        </member>
+        <member name="M:DG.Tweening.CustomPlugins.PureQuaternionPlugin.SetRelativeEndValue(DG.Tweening.Core.TweenerCore{UnityEngine.Quaternion,UnityEngine.Quaternion,DG.Tweening.Plugins.Options.NoOptions})">
+            <summary>INTERNAL: do not use</summary>
+        </member>
+        <member name="M:DG.Tweening.CustomPlugins.PureQuaternionPlugin.SetChangeValue(DG.Tweening.Core.TweenerCore{UnityEngine.Quaternion,UnityEngine.Quaternion,DG.Tweening.Plugins.Options.NoOptions})">
+            <summary>INTERNAL: do not use</summary>
+        </member>
+        <member name="M:DG.Tweening.CustomPlugins.PureQuaternionPlugin.GetSpeedBasedDuration(DG.Tweening.Plugins.Options.NoOptions,System.Single,UnityEngine.Quaternion)">
+            <summary>INTERNAL: do not use</summary>
+        </member>
+        <member name="M:DG.Tweening.CustomPlugins.PureQuaternionPlugin.EvaluateAndApply(DG.Tweening.Plugins.Options.NoOptions,DG.Tweening.Tween,System.Boolean,DG.Tweening.Core.DOGetter{UnityEngine.Quaternion},DG.Tweening.Core.DOSetter{UnityEngine.Quaternion},System.Single,UnityEngine.Quaternion,UnityEngine.Quaternion,System.Single,System.Boolean,System.Int32,DG.Tweening.Core.Enums.UpdateNotice)">
+            <summary>INTERNAL: do not use</summary>
+        </member>
+        <member name="T:DG.Tweening.DOCurve">
+            <summary>
+            Extra non-tweening-related curve methods
+            </summary>
+        </member>
+        <member name="T:DG.Tweening.DOCurve.CubicBezier">
+            <summary>
+            Cubic bezier curve methods
+            </summary>
+        </member>
+        <member name="M:DG.Tweening.DOCurve.CubicBezier.GetPointOnSegment(UnityEngine.Vector3,UnityEngine.Vector3,UnityEngine.Vector3,UnityEngine.Vector3,System.Single)">
+            <summary>
+            Calculates a point along the given Cubic Bezier segment-curve.<para/>
+            </summary>
+            <param name="startPoint">Segment start point</param>
+            <param name="startControlPoint">Start point's control point/handle</param>
+            <param name="endPoint">Segment end point</param>
+            <param name="endControlPoint">End point's control point/handle</param>
+            <param name="factor">0-1 percentage along which to retrieve point</param>
+        </member>
+        <member name="M:DG.Tweening.DOCurve.CubicBezier.GetSegmentPointCloud(UnityEngine.Vector3,UnityEngine.Vector3,UnityEngine.Vector3,UnityEngine.Vector3,System.Int32)">
+            <summary>
+            Returns an array containing a series of points along the given Cubic Bezier segment-curve.<para/>
+            </summary>
+            <param name="startPoint">Start point</param>
+            <param name="startControlPoint">Start point's control point/handle</param>
+            <param name="endPoint">End point</param>
+            <param name="endControlPoint">End point's control point/handle</param>
+            <param name="resolution">Cloud resolution (min: 2)</param>
+        </member>
+        <member name="M:DG.Tweening.DOCurve.CubicBezier.GetSegmentPointCloud(System.Collections.Generic.List{UnityEngine.Vector3},UnityEngine.Vector3,UnityEngine.Vector3,UnityEngine.Vector3,UnityEngine.Vector3,System.Int32)">
+            <summary>
+            Calculates a series of points along the given Cubic Bezier segment-curve and adds them to the given list.<para/>
+            </summary>
+            <param name="startPoint">Start point</param>
+            <param name="startControlPoint">Start point's control point/handle</param>
+            <param name="endPoint">End point</param>
+            <param name="endControlPoint">End point's control point/handle</param>
+            <param name="resolution">Cloud resolution (min: 2)</param>
+        </member>
+        <member name="T:DG.Tweening.DOTween">
+            <summary>
+            Main DOTween class. Contains static methods to create and control tweens in a generic way
+            </summary>
+        </member>
+        <member name="F:DG.Tweening.DOTween.Version">
+            <summary>DOTween's version</summary>
+        </member>
+        <member name="F:DG.Tweening.DOTween.useSafeMode">
+            <summary>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).
+            <para>Default: TRUE</para></summary>
+        </member>
+        <member name="F:DG.Tweening.DOTween.safeModeLogBehaviour">
+            <summary>Log type when safe mode reports capturing an error and preventing it</summary>
+        </member>
+        <member name="F:DG.Tweening.DOTween.nestedTweenFailureBehaviour">
+            <summary>Behaviour in case a tween nested inside a Sequence fails (and is caught by safe mode).
+            <para>Default: NestedTweenFailureBehaviour.TryToPreserveSequence</para></summary>
+        </member>
+        <member name="F:DG.Tweening.DOTween.showUnityEditorReport">
+            <summary>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.
+            <para>Default: FALSE</para></summary>
+        </member>
+        <member name="F:DG.Tweening.DOTween.timeScale">
+            <summary>Global DOTween global timeScale (default: 1).<para/>
+            The final timeScale of a non-timeScaleIndependent tween is:<para/>
+            <code>Unity's Time.timeScale * DOTween.timeScale * tween.timeScale</code><para/>
+            while the final timeScale of a timeScaleIndependent tween is:<para/>
+            <code>DOTween.unscaledTimeScale * DOTween.timeScale * tween.timeScale</code></summary>
+        </member>
+        <member name="F:DG.Tweening.DOTween.unscaledTimeScale">
+            <summary>DOTween timeScale applied only to timeScaleIndependent tweens (default: 1).<para/>
+            The final timeScale of a timeScaleIndependent tween is:<para/>
+            <code>DOTween.unscaledTimeScale * DOTween.timeScale * tween.timeScale</code></summary>
+        </member>
+        <member name="F:DG.Tweening.DOTween.useSmoothDeltaTime">
+            <summary>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 <see cref="F:DG.Tweening.DOTween.maxSmoothUnscaledTime"/> will be used instead).
+            Setting this to TRUE will lead to smoother animations.
+            <para>Default: FALSE</para></summary>
+        </member>
+        <member name="F:DG.Tweening.DOTween.maxSmoothUnscaledTime">
+            <summary>If <see cref="F:DG.Tweening.DOTween.useSmoothDeltaTime"/> is TRUE, this indicates the max timeStep that an independent update call can last.
+            Setting this to TRUE will lead to smoother animations.
+            <para>Default: FALSE</para></summary>
+        </member>
+        <member name="P:DG.Tweening.DOTween.logBehaviour">
+            <summary>DOTween's log behaviour.
+            <para>Default: LogBehaviour.ErrorsOnly</para></summary>
+        </member>
+        <member name="F:DG.Tweening.DOTween.onWillLog">
+            <summary>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.<para/>
+            Return TRUE if you want DOTween to proceed with the log, FALSE otherwise.<para/>
+            This method must return a <code>bool</code> and accept two parameters:<para/>
+            - <code>LogType</code>: the type of Unity log that DOTween is trying to log<para/>
+            - <code>object</code>: the log message that DOTween wants to log</summary>
+        </member>
+        <member name="F:DG.Tweening.DOTween.drawGizmos">
+            <summary>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</summary>
+        </member>
+        <member name="F:DG.Tweening.DOTween.debugMode">
+            <summary>If TRUE activates various debug options</summary>
+        </member>
+        <member name="P:DG.Tweening.DOTween.debugStoreTargetId">
+            <summary>Stores the target id so it can be used to give more info in case of safeMode error capturing.
+            Only active if both <code>debugMode</code> and <code>useSafeMode</code> are TRUE</summary>
+        </member>
+        <member name="F:DG.Tweening.DOTween.defaultUpdateType">
+            <summary>Default updateType for new tweens.
+            <para>Default: UpdateType.Normal</para></summary>
+        </member>
+        <member name="F:DG.Tweening.DOTween.defaultTimeScaleIndependent">
+            <summary>Sets whether Unity's timeScale should be taken into account by default or not.
+            <para>Default: false</para></summary>
+        </member>
+        <member name="F:DG.Tweening.DOTween.defaultAutoPlay">
+            <summary>Default autoPlay behaviour for new tweens.
+            <para>Default: AutoPlay.All</para></summary>
+        </member>
+        <member name="F:DG.Tweening.DOTween.defaultAutoKill">
+            <summary>Default autoKillOnComplete behaviour for new tweens.
+            <para>Default: TRUE</para></summary>
+        </member>
+        <member name="F:DG.Tweening.DOTween.defaultLoopType">
+            <summary>Default loopType applied to all new tweens.
+            <para>Default: LoopType.Restart</para></summary>
+        </member>
+        <member name="F:DG.Tweening.DOTween.defaultRecyclable">
+            <summary>If TRUE all newly created tweens are set as recyclable, otherwise not.
+            <para>Default: FALSE</para></summary>
+        </member>
+        <member name="F:DG.Tweening.DOTween.defaultEaseType">
+            <summary>Default ease applied to all new Tweeners (not to Sequences which always have Ease.Linear as default).
+            <para>Default: Ease.InOutQuad</para></summary>
+        </member>
+        <member name="F:DG.Tweening.DOTween.defaultEaseOvershootOrAmplitude">
+            <summary>Default overshoot/amplitude used for eases
+            <para>Default: 1.70158f</para></summary>
+        </member>
+        <member name="F:DG.Tweening.DOTween.defaultEasePeriod">
+            <summary>Default period used for eases
+            <para>Default: 0</para></summary>
+        </member>
+        <member name="F:DG.Tweening.DOTween.instance">
+            <summary>Used internally. Assigned/removed by DOTweenComponent.Create/DestroyInstance</summary>
+        </member>
+        <member name="M:DG.Tweening.DOTween.Init(System.Nullable{System.Boolean},System.Nullable{System.Boolean},System.Nullable{DG.Tweening.LogBehaviour})">
+            <summary>
+            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.
+            <para>You can chain <code>SetCapacity</code> to this method, to directly set the max starting size of Tweeners and Sequences:</para>
+            <code>DOTween.Init(false, false, LogBehaviour.Default).SetCapacity(100, 20);</code>
+            </summary>
+            <param name="recycleAllByDefault">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).
+            <para>If you want to automatically set your tween references to NULL when a tween is killed 
+            you can use the OnKill callback like this:</para>
+            <code>.OnKill(()=> myTweenReference = null)</code>
+            <para>You can change this setting at any time by changing the static <see cref="F:DG.Tweening.DOTween.defaultRecyclable"/> property,
+            or you can set the recycling behaviour for each tween separately, using:</para>
+            <para><code>SetRecyclable(bool recyclable)</code></para>
+            <para>Default: FALSE</para></param>
+            <param name="useSafeMode">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 <see cref="F:DG.Tweening.DOTween.useSafeMode"/> property.
+            <para>Default: FALSE</para></param>
+            <param name="logBehaviour">Type of logging to use.
+            You can change this setting at any time by changing the static <see cref="P:DG.Tweening.DOTween.logBehaviour"/> property.
+            <para>Default: ErrorsOnly</para></param>
+        </member>
+        <member name="M:DG.Tweening.DOTween.SetTweensCapacity(System.Int32,System.Int32)">
+            <summary>
+            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.
+            </summary>
+            <param name="tweenersCapacity">Max Tweeners capacity.
+            Default: 200</param>
+            <param name="sequencesCapacity">Max Sequences capacity.
+            Default: 50</param>
+        </member>
+        <member name="M:DG.Tweening.DOTween.Clear(System.Boolean)">
+            <summary>
+            Kills all tweens, clears all cached tween pools and plugins and resets the max Tweeners/Sequences capacities to the default values.
+            </summary>
+            <param name="destroy">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)</param>
+        </member>
+        <member name="M:DG.Tweening.DOTween.ClearCachedTweens">
+            <summary>
+            Clears all cached tween pools.
+            </summary>
+        </member>
+        <member name="M:DG.Tweening.DOTween.Validate">
+            <summary>
+            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
+            </summary>
+        </member>
+        <member name="M:DG.Tweening.DOTween.ManualUpdate(System.Single,System.Single)">
+            <summary>
+            Updates all tweens that are set to <see cref="F:DG.Tweening.UpdateType.Manual"/>.
+            </summary>
+            <param name="deltaTime">Manual deltaTime</param>
+            <param name="unscaledDeltaTime">Unscaled delta time (used with tweens set as timeScaleIndependent)</param>
+        </member>
+        <member name="M:DG.Tweening.DOTween.To(DG.Tweening.Core.DOGetter{System.Single},DG.Tweening.Core.DOSetter{System.Single},System.Single,System.Single)">
+            <summary>Tweens a property or field to the given value using default plugins</summary>
+            <param name="getter">A getter for the field or property to tween.
+            <para>Example usage with lambda:</para><code>()=> myProperty</code></param>
+            <param name="setter">A setter for the field or property to tween
+            <para>Example usage with lambda:</para><code>x=> myProperty = x</code></param>
+            <param name="endValue">The end value to reach</param><param name="duration">The tween's duration</param>
+        </member>
+        <member name="M:DG.Tweening.DOTween.To(DG.Tweening.Core.DOGetter{System.Double},DG.Tweening.Core.DOSetter{System.Double},System.Double,System.Single)">
+            <summary>Tweens a property or field to the given value using default plugins</summary>
+            <param name="getter">A getter for the field or property to tween.
+            <para>Example usage with lambda:</para><code>()=> myProperty</code></param>
+            <param name="setter">A setter for the field or property to tween
+            <para>Example usage with lambda:</para><code>x=> myProperty = x</code></param>
+            <param name="endValue">The end value to reach</param><param name="duration">The tween's duration</param>
+        </member>
+        <member name="M:DG.Tweening.DOTween.To(DG.Tweening.Core.DOGetter{System.Int32},DG.Tweening.Core.DOSetter{System.Int32},System.Int32,System.Single)">
+            <summary>Tweens a property or field to the given value using default plugins</summary>
+            <param name="getter">A getter for the field or property to tween.
+            <para>Example usage with lambda:</para><code>()=> myProperty</code></param>
+            <param name="setter">A setter for the field or property to tween
+            <para>Example usage with lambda:</para><code>x=> myProperty = x</code></param>
+            <param name="endValue">The end value to reach</param><param name="duration">The tween's duration</param>
+        </member>
+        <member name="M:DG.Tweening.DOTween.To(DG.Tweening.Core.DOGetter{System.UInt32},DG.Tweening.Core.DOSetter{System.UInt32},System.UInt32,System.Single)">
+            <summary>Tweens a property or field to the given value using default plugins</summary>
+            <param name="getter">A getter for the field or property to tween.
+            <para>Example usage with lambda:</para><code>()=> myProperty</code></param>
+            <param name="setter">A setter for the field or property to tween
+            <para>Example usage with lambda:</para><code>x=> myProperty = x</code></param>
+            <param name="endValue">The end value to reach</param><param name="duration">The tween's duration</param>
+        </member>
+        <member name="M:DG.Tweening.DOTween.To(DG.Tweening.Core.DOGetter{System.Int64},DG.Tweening.Core.DOSetter{System.Int64},System.Int64,System.Single)">
+            <summary>Tweens a property or field to the given value using default plugins</summary>
+            <param name="getter">A getter for the field or property to tween.
+            <para>Example usage with lambda:</para><code>()=> myProperty</code></param>
+            <param name="setter">A setter for the field or property to tween
+            <para>Example usage with lambda:</para><code>x=> myProperty = x</code></param>
+            <param name="endValue">The end value to reach</param><param name="duration">The tween's duration</param>
+        </member>
+        <member name="M:DG.Tweening.DOTween.To(DG.Tweening.Core.DOGetter{System.UInt64},DG.Tweening.Core.DOSetter{System.UInt64},System.UInt64,System.Single)">
+            <summary>Tweens a property or field to the given value using default plugins</summary>
+            <param name="getter">A getter for the field or property to tween.
+            <para>Example usage with lambda:</para><code>()=> myProperty</code></param>
+            <param name="setter">A setter for the field or property to tween
+            <para>Example usage with lambda:</para><code>x=> myProperty = x</code></param>
+            <param name="endValue">The end value to reach</param><param name="duration">The tween's duration</param>
+        </member>
+        <member name="M:DG.Tweening.DOTween.To(DG.Tweening.Core.DOGetter{System.String},DG.Tweening.Core.DOSetter{System.String},System.String,System.Single)">
+            <summary>Tweens a property or field to the given value using default plugins</summary>
+            <param name="getter">A getter for the field or property to tween.
+            <para>Example usage with lambda:</para><code>()=> myProperty</code></param>
+            <param name="setter">A setter for the field or property to tween
+            <para>Example usage with lambda:</para><code>x=> myProperty = x</code></param>
+            <param name="endValue">The end value to reach</param><param name="duration">The tween's duration</param>
+        </member>
+        <member name="M:DG.Tweening.DOTween.To(DG.Tweening.Core.DOGetter{UnityEngine.Vector2},DG.Tweening.Core.DOSetter{UnityEngine.Vector2},UnityEngine.Vector2,System.Single)">
+            <summary>Tweens a property or field to the given value using default plugins</summary>
+            <param name="getter">A getter for the field or property to tween.
+            <para>Example usage with lambda:</para><code>()=> myProperty</code></param>
+            <param name="setter">A setter for the field or property to tween
+            <para>Example usage with lambda:</para><code>x=> myProperty = x</code></param>
+            <param name="endValue">The end value to reach</param><param name="duration">The tween's duration</param>
+        </member>
+        <member name="M:DG.Tweening.DOTween.To(DG.Tweening.Core.DOGetter{UnityEngine.Vector3},DG.Tweening.Core.DOSetter{UnityEngine.Vector3},UnityEngine.Vector3,System.Single)">
+            <summary>Tweens a property or field to the given value using default plugins</summary>
+            <param name="getter">A getter for the field or property to tween.
+            <para>Example usage with lambda:</para><code>()=> myProperty</code></param>
+            <param name="setter">A setter for the field or property to tween
+            <para>Example usage with lambda:</para><code>x=> myProperty = x</code></param>
+            <param name="endValue">The end value to reach</param><param name="duration">The tween's duration</param>
+        </member>
+        <member name="M:DG.Tweening.DOTween.To(DG.Tweening.Core.DOGetter{UnityEngine.Vector4},DG.Tweening.Core.DOSetter{UnityEngine.Vector4},UnityEngine.Vector4,System.Single)">
+            <summary>Tweens a property or field to the given value using default plugins</summary>
+            <param name="getter">A getter for the field or property to tween.
+            <para>Example usage with lambda:</para><code>()=> myProperty</code></param>
+            <param name="setter">A setter for the field or property to tween
+            <para>Example usage with lambda:</para><code>x=> myProperty = x</code></param>
+            <param name="endValue">The end value to reach</param><param name="duration">The tween's duration</param>
+        </member>
+        <member name="M:DG.Tweening.DOTween.To(DG.Tweening.Core.DOGetter{UnityEngine.Quaternion},DG.Tweening.Core.DOSetter{UnityEngine.Quaternion},UnityEngine.Vector3,System.Single)">
+            <summary>Tweens a property or field to the given value using default plugins</summary>
+            <param name="getter">A getter for the field or property to tween.
+            <para>Example usage with lambda:</para><code>()=> myProperty</code></param>
+            <param name="setter">A setter for the field or property to tween
+            <para>Example usage with lambda:</para><code>x=> myProperty = x</code></param>
+            <param name="endValue">The end value to reach</param><param name="duration">The tween's duration</param>
+        </member>
+        <member name="M:DG.Tweening.DOTween.To(DG.Tweening.Core.DOGetter{UnityEngine.Color},DG.Tweening.Core.DOSetter{UnityEngine.Color},UnityEngine.Color,System.Single)">
+            <summary>Tweens a property or field to the given value using default plugins</summary>
+            <param name="getter">A getter for the field or property to tween.
+            <para>Example usage with lambda:</para><code>()=> myProperty</code></param>
+            <param name="setter">A setter for the field or property to tween
+            <para>Example usage with lambda:</para><code>x=> myProperty = x</code></param>
+            <param name="endValue">The end value to reach</param><param name="duration">The tween's duration</param>
+        </member>
+        <member name="M:DG.Tweening.DOTween.To(DG.Tweening.Core.DOGetter{UnityEngine.Rect},DG.Tweening.Core.DOSetter{UnityEngine.Rect},UnityEngine.Rect,System.Single)">
+            <summary>Tweens a property or field to the given value using default plugins</summary>
+            <param name="getter">A getter for the field or property to tween.
+            <para>Example usage with lambda:</para><code>()=> myProperty</code></param>
+            <param name="setter">A setter for the field or property to tween
+            <para>Example usage with lambda:</para><code>x=> myProperty = x</code></param>
+            <param name="endValue">The end value to reach</param><param name="duration">The tween's duration</param>
+        </member>
+        <member name="M:DG.Tweening.DOTween.To(DG.Tweening.Core.DOGetter{UnityEngine.RectOffset},DG.Tweening.Core.DOSetter{UnityEngine.RectOffset},UnityEngine.RectOffset,System.Single)">
+            <summary>Tweens a property or field to the given value using default plugins</summary>
+            <param name="getter">A getter for the field or property to tween.
+            <para>Example usage with lambda:</para><code>()=> myProperty</code></param>
+            <param name="setter">A setter for the field or property to tween
+            <para>Example usage with lambda:</para><code>x=> myProperty = x</code></param>
+            <param name="endValue">The end value to reach</param><param name="duration">The tween's duration</param>
+        </member>
+        <member name="M:DG.Tweening.DOTween.To``3(DG.Tweening.Plugins.Core.ABSTweenPlugin{``0,``1,``2},DG.Tweening.Core.DOGetter{``0},DG.Tweening.Core.DOSetter{``0},``1,System.Single)">
+            <summary>Tweens a property or field to the given value using a custom plugin</summary>
+            <param name="plugin">The plugin to use. Each custom plugin implements a static <code>Get()</code> method
+            you'll need to call to assign the correct plugin in the correct way, like this:
+            <para><code>CustomPlugin.Get()</code></para></param>
+            <param name="getter">A getter for the field or property to tween.
+            <para>Example usage with lambda:</para><code>()=> myProperty</code></param>
+            <param name="setter">A setter for the field or property to tween
+            <para>Example usage with lambda:</para><code>x=> myProperty = x</code></param>
+            <param name="endValue">The end value to reach</param><param name="duration">The tween's duration</param>
+        </member>
+        <member name="M:DG.Tweening.DOTween.ToAxis(DG.Tweening.Core.DOGetter{UnityEngine.Vector3},DG.Tweening.Core.DOSetter{UnityEngine.Vector3},System.Single,System.Single,DG.Tweening.AxisConstraint)">
+            <summary>Tweens only one axis of a Vector3 to the given value using default plugins.</summary>
+            <param name="getter">A getter for the field or property to tween.
+            <para>Example usage with lambda:</para><code>()=> myProperty</code></param>
+            <param name="setter">A setter for the field or property to tween
+            <para>Example usage with lambda:</para><code>x=> myProperty = x</code></param>
+            <param name="endValue">The end value to reach</param><param name="duration">The tween's duration</param>
+            <param name="axisConstraint">The axis to tween</param>
+        </member>
+        <member name="M:DG.Tweening.DOTween.ToAlpha(DG.Tweening.Core.DOGetter{UnityEngine.Color},DG.Tweening.Core.DOSetter{UnityEngine.Color},System.Single,System.Single)">
+            <summary>Tweens only the alpha of a Color to the given value using default plugins</summary>
+            <param name="getter">A getter for the field or property to tween.
+            <para>Example usage with lambda:</para><code>()=> myProperty</code></param>
+            <param name="setter">A setter for the field or property to tween
+            <para>Example usage with lambda:</para><code>x=> myProperty = x</code></param>
+            <param name="endValue">The end value to reach</param><param name="duration">The tween's duration</param>
+        </member>
+        <member name="M:DG.Tweening.DOTween.To(DG.Tweening.Core.DOSetter{System.Single},System.Single,System.Single,System.Single)">
+            <summary>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
+            <para>Example:</para>
+            <code>To(MyMethod, 0, 12, 0.5f);</code>
+            <para>Where MyMethod is a function that accepts a float parameter (which will be the result of the virtual tween)</para></summary>
+            <param name="setter">The action to perform with the tweened value</param>
+            <param name="startValue">The value to start from</param>
+            <param name="endValue">The end value to reach</param>
+            <param name="duration">The duration of the virtual tween
+            </param>
+        </member>
+        <member name="M:DG.Tweening.DOTween.Punch(DG.Tweening.Core.DOGetter{UnityEngine.Vector3},DG.Tweening.Core.DOSetter{UnityEngine.Vector3},UnityEngine.Vector3,System.Single,System.Int32,System.Single)">
+            <summary>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.
+            <para>This tween type generates some GC allocations at startup</para></summary>
+            <param name="getter">A getter for the field or property to tween.
+            <para>Example usage with lambda:</para><code>()=> myProperty</code></param>
+            <param name="setter">A setter for the field or property to tween
+            <para>Example usage with lambda:</para><code>x=> myProperty = x</code></param>
+            <param name="direction">The direction and strength of the punch</param>
+            <param name="duration">The duration of the tween</param>
+            <param name="vibrato">Indicates how much will the punch vibrate</param>
+            <param name="elasticity">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</param>
+        </member>
+        <member name="M:DG.Tweening.DOTween.Shake(DG.Tweening.Core.DOGetter{UnityEngine.Vector3},DG.Tweening.Core.DOSetter{UnityEngine.Vector3},System.Single,System.Single,System.Int32,System.Single,System.Boolean,System.Boolean,DG.Tweening.ShakeRandomnessMode)">
+            <summary>Shakes a Vector3 with the given values.</summary>
+            <param name="getter">A getter for the field or property to tween.
+            <para>Example usage with lambda:</para><code>()=> myProperty</code></param>
+            <param name="setter">A setter for the field or property to tween
+            <para>Example usage with lambda:</para><code>x=> myProperty = x</code></param>
+            <param name="duration">The duration of the tween</param>
+            <param name="strength">The shake strength</param>
+            <param name="vibrato">Indicates how much will the shake vibrate</param>
+            <param name="randomness">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.</param>
+            <param name="ignoreZAxis">If TRUE only shakes on the X Y axis (looks better with things like cameras).</param>
+            <param name="fadeOut">If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not</param>
+            <param name="randomnessMode">Randomness mode</param>
+        </member>
+        <member name="M:DG.Tweening.DOTween.Shake(DG.Tweening.Core.DOGetter{UnityEngine.Vector3},DG.Tweening.Core.DOSetter{UnityEngine.Vector3},System.Single,UnityEngine.Vector3,System.Int32,System.Single,System.Boolean,DG.Tweening.ShakeRandomnessMode)">
+            <summary>Shakes a Vector3 with the given values.</summary>
+            <param name="getter">A getter for the field or property to tween.
+            <para>Example usage with lambda:</para><code>()=> myProperty</code></param>
+            <param name="setter">A setter for the field or property to tween
+            <para>Example usage with lambda:</para><code>x=> myProperty = x</code></param>
+            <param name="duration">The duration of the tween</param>
+            <param name="strength">The shake strength on each axis</param>
+            <param name="vibrato">Indicates how much will the shake vibrate</param>
+            <param name="randomness">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.</param>
+            <param name="fadeOut">If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not</param>
+            <param name="randomnessMode">Randomness mode</param>
+        </member>
+        <member name="M:DG.Tweening.DOTween.ToArray(DG.Tweening.Core.DOGetter{UnityEngine.Vector3},DG.Tweening.Core.DOSetter{UnityEngine.Vector3},UnityEngine.Vector3[],System.Single[])">
+            <summary>Tweens a property or field to the given values using default plugins.
+            Ease is applied between each segment and not as a whole.
+            <para>This tween type generates some GC allocations at startup</para></summary>
+            <param name="getter">A getter for the field or property to tween.
+            <para>Example usage with lambda:</para><code>()=> myProperty</code></param>
+            <param name="setter">A setter for the field or property to tween
+            <para>Example usage with lambda:</para><code>x=> myProperty = x</code></param>
+            <param name="endValues">The end values to reach for each segment. This array must have the same length as <code>durations</code></param>
+            <param name="durations">The duration of each segment. This array must have the same length as <code>endValues</code></param>
+        </member>
+        <member name="M:DG.Tweening.DOTween.Sequence">
+            <summary>
+            Returns a new <see cref="T:DG.Tweening.Sequence"/> to be used for tween groups.<para/>
+            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 <see cref="M:DG.Tweening.DOTween.Sequence(System.Object)"/> overload instead of this one
+            </summary>
+        </member>
+        <member name="M:DG.Tweening.DOTween.Sequence(System.Object)">
+            <summary>
+            Returns a new <see cref="T:DG.Tweening.Sequence"/> 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.
+            </summary>
+            <param name="target">The target of the Sequence. Relevant only for static target-based methods like DOTween.Kill(target),
+            useless otherwise</param>
+        </member>
+        <member name="M:DG.Tweening.DOTween.CompleteAll(System.Boolean)">
+            <summary>Completes all tweens and returns the number of actual tweens completed
+            (meaning tweens that don't have infinite loops and were not already complete)</summary>
+            <param name="withCallbacks">For Sequences only: if TRUE also internal Sequence callbacks will be fired,
+            otherwise they will be ignored</param>
+        </member>
+        <member name="M:DG.Tweening.DOTween.Complete(System.Object,System.Boolean)">
+            <summary>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)</summary>
+            <param name="withCallbacks">For Sequences only: if TRUE internal Sequence callbacks will be fired,
+            otherwise they will be ignored</param>
+        </member>
+        <member name="M:DG.Tweening.DOTween.FlipAll">
+            <summary>Flips all tweens (changing their direction to forward if it was backwards and viceversa),
+            then returns the number of actual tweens flipped</summary>
+        </member>
+        <member name="M:DG.Tweening.DOTween.Flip(System.Object)">
+            <summary>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</summary>
+        </member>
+        <member name="M:DG.Tweening.DOTween.GotoAll(System.Single,System.Boolean)">
+            <summary>Sends all tweens to the given position (calculating also eventual loop cycles) and returns the actual tweens involved</summary>
+        </member>
+        <member name="M:DG.Tweening.DOTween.Goto(System.Object,System.Single,System.Boolean)">
+            <summary>Sends all tweens with the given ID or target to the given position (calculating also eventual loop cycles)
+            and returns the actual tweens involved</summary>
+        </member>
+        <member name="M:DG.Tweening.DOTween.KillAll(System.Boolean)">
+            <summary>Kills all tweens and returns the number of actual tweens killed</summary>
+            <param name="complete">If TRUE completes the tweens before killing them</param>
+        </member>
+        <member name="M:DG.Tweening.DOTween.KillAll(System.Boolean,System.Object[])">
+            <summary>Kills all tweens and returns the number of actual tweens killed</summary>
+            <param name="complete">If TRUE completes the tweens before killing them</param>
+            <param name="idsOrTargetsToExclude">Eventual IDs or targets to exclude from the killing</param>
+        </member>
+        <member name="M:DG.Tweening.DOTween.Kill(System.Object,System.Boolean)">
+            <summary>Kills all tweens with the given ID or target and returns the number of actual tweens killed</summary>
+            <param name="complete">If TRUE completes the tweens before killing them</param>
+        </member>
+        <member name="M:DG.Tweening.DOTween.Kill(System.Object,System.Object,System.Boolean)">
+            <summary>Kills all tweens with the given target and the given ID, and returns the number of actual tweens killed</summary>
+            <param name="complete">If TRUE completes the tweens before killing them</param>
+        </member>
+        <member name="M:DG.Tweening.DOTween.PauseAll">
+            <summary>Pauses all tweens and returns the number of actual tweens paused</summary>
+        </member>
+        <member name="M:DG.Tweening.DOTween.Pause(System.Object)">
+            <summary>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)</summary>
+        </member>
+        <member name="M:DG.Tweening.DOTween.PlayAll">
+            <summary>Plays all tweens and returns the number of actual tweens played
+            (meaning tweens that were not already playing or complete)</summary>
+        </member>
+        <member name="M:DG.Tweening.DOTween.Play(System.Object)">
+            <summary>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)</summary>
+        </member>
+        <member name="M:DG.Tweening.DOTween.Play(System.Object,System.Object)">
+            <summary>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)</summary>
+        </member>
+        <member name="M:DG.Tweening.DOTween.PlayBackwardsAll">
+            <summary>Plays backwards all tweens and returns the number of actual tweens played
+            (meaning tweens that were not already started, playing backwards or rewinded)</summary>
+        </member>
+        <member name="M:DG.Tweening.DOTween.PlayBackwards(System.Object)">
+            <summary>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)</summary>
+        </member>
+        <member name="M:DG.Tweening.DOTween.PlayBackwards(System.Object,System.Object)">
+            <summary>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)</summary>
+        </member>
+        <member name="M:DG.Tweening.DOTween.PlayForwardAll">
+            <summary>Plays forward all tweens and returns the number of actual tweens played
+            (meaning tweens that were not already playing forward or complete)</summary>
+        </member>
+        <member name="M:DG.Tweening.DOTween.PlayForward(System.Object)">
+            <summary>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)</summary>
+        </member>
+        <member name="M:DG.Tweening.DOTween.PlayForward(System.Object,System.Object)">
+            <summary>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)</summary>
+        </member>
+        <member name="M:DG.Tweening.DOTween.RestartAll(System.Boolean)">
+            <summary>Restarts all tweens, then returns the number of actual tweens restarted</summary>
+        </member>
+        <member name="M:DG.Tweening.DOTween.Restart(System.Object,System.Boolean,System.Single)">
+            <summary>Restarts all tweens with the given ID or target, then returns the number of actual tweens restarted</summary>
+            <param name="includeDelay">If TRUE includes the eventual tweens delays, otherwise skips them</param>
+            <param name="changeDelayTo">If >= 0 changes the startup delay of all involved tweens to this value, otherwise doesn't touch it</param>
+        </member>
+        <member name="M:DG.Tweening.DOTween.Restart(System.Object,System.Object,System.Boolean,System.Single)">
+            <summary>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)</summary>
+            <param name="includeDelay">If TRUE includes the eventual tweens delays, otherwise skips them</param>
+            <param name="changeDelayTo">If >= 0 changes the startup delay of all involved tweens to this value, otherwise doesn't touch it</param>
+        </member>
+        <member name="M:DG.Tweening.DOTween.RewindAll(System.Boolean)">
+            <summary>Rewinds and pauses all tweens, then returns the number of actual tweens rewinded
+            (meaning tweens that were not already rewinded)</summary>
+        </member>
+        <member name="M:DG.Tweening.DOTween.Rewind(System.Object,System.Boolean)">
+            <summary>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)</summary>
+        </member>
+        <member name="M:DG.Tweening.DOTween.SmoothRewindAll">
+            <summary>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.
+            <para>Note that a tween that was smoothly rewinded will have its play direction flipped</para></summary>
+        </member>
+        <member name="M:DG.Tweening.DOTween.SmoothRewind(System.Object)">
+            <summary>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.
+            <para>Note that a tween that was smoothly rewinded will have its play direction flipped</para></summary>
+        </member>
+        <member name="M:DG.Tweening.DOTween.TogglePauseAll">
+            <summary>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)</summary>
+        </member>
+        <member name="M:DG.Tweening.DOTween.TogglePause(System.Object)">
+            <summary>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)</summary>
+        </member>
+        <member name="M:DG.Tweening.DOTween.IsTweening(System.Object,System.Boolean)">
+            <summary>
+            Returns TRUE if a tween with the given ID or target is active.
+            <para>You can also use this to know if a shortcut tween is active for a given target.</para>
+            <para>Example:</para>
+            <para><code>transform.DOMoveX(45, 1); // transform is automatically added as the tween target</code></para>
+            <para><code>DOTween.IsTweening(transform); // Returns true</code></para>
+            </summary>
+            <param name="targetOrId">The target or ID to look for</param>
+            <param name="alsoCheckIfIsPlaying">If FALSE (default) returns TRUE as long as a tween for the given target/ID is active,
+            otherwise also requires it to be playing</param>
+        </member>
+        <member name="M:DG.Tweening.DOTween.TotalActiveTweens">
+            <summary>
+            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
+            </summary>
+        </member>
+        <member name="M:DG.Tweening.DOTween.TotalActiveTweeners">
+            <summary>
+            Returns the total number of active Tweeners.
+            A Tweener is considered active if it wasn't killed, regardless if it's playing or paused
+            </summary>
+        </member>
+        <member name="M:DG.Tweening.DOTween.TotalActiveSequences">
+            <summary>
+            Returns the total number of active Sequences.
+            A Sequence is considered active if it wasn't killed, regardless if it's playing or paused
+            </summary>
+        </member>
+        <member name="M:DG.Tweening.DOTween.TotalPlayingTweens">
+            <summary>
+            Returns the total number of active and playing tweens.
+            A tween is considered as playing even if its delay is actually playing
+            </summary>
+        </member>
+        <member name="M:DG.Tweening.DOTween.TotalTweensById(System.Object,System.Boolean)">
+            <summary>
+            Returns a the total number of active tweens with the given id.
+            </summary>
+            <param name="playingOnly">If TRUE returns only the tweens with the given ID that are currently playing</param>
+        </member>
+        <member name="M:DG.Tweening.DOTween.PlayingTweens(System.Collections.Generic.List{DG.Tweening.Tween})">
+            <summary>
+            Returns a list of all active tweens in a playing state.
+            Returns NULL if there are no active playing tweens.
+            <para>Beware: each time you call this method a new list is generated, so use it for debug only</para>
+            </summary>
+            <param name="fillableList">If NULL creates a new list, otherwise clears and fills this one (and thus saves allocations)</param>
+        </member>
+        <member name="M:DG.Tweening.DOTween.PausedTweens(System.Collections.Generic.List{DG.Tweening.Tween})">
+            <summary>
+            Returns a list of all active tweens in a paused state.
+            Returns NULL if there are no active paused tweens.
+            <para>Beware: each time you call this method a new list is generated, so use it for debug only</para>
+            </summary>
+            <param name="fillableList">If NULL creates a new list, otherwise clears and fills this one (and thus saves allocations)</param>
+        </member>
+        <member name="M:DG.Tweening.DOTween.TweensById(System.Object,System.Boolean,System.Collections.Generic.List{DG.Tweening.Tween})">
+            <summary>
+            Returns a list of all active tweens with the given id.
+            Returns NULL if there are no active tweens with the given id.
+            <para>Beware: each time you call this method a new list is generated</para>
+            </summary>
+            <param name="playingOnly">If TRUE returns only the tweens with the given ID that are currently playing</param>
+            <param name="fillableList">If NULL creates a new list, otherwise clears and fills this one (and thus saves allocations)</param>
+        </member>
+        <member name="M:DG.Tweening.DOTween.TweensByTarget(System.Object,System.Boolean,System.Collections.Generic.List{DG.Tweening.Tween})">
+            <summary>
+            Returns a list of all active tweens with the given target.
+            Returns NULL if there are no active tweens with the given target.
+            <para>Beware: each time you call this method a new list is generated</para>
+            <param name="playingOnly">If TRUE returns only the tweens with the given target that are currently playing</param>
+            <param name="fillableList">If NULL creates a new list, otherwise clears and fills this one (and thus saves allocations)</param>
+            </summary>
+        </member>
+        <member name="T:DG.Tweening.DOVirtual">
+            <summary>
+            Creates virtual tweens that can be used to change other elements via their OnUpdate calls
+            </summary>
+        </member>
+        <member name="M:DG.Tweening.DOVirtual.Float(System.Single,System.Single,System.Single,DG.Tweening.TweenCallback{System.Single})">
+            <summary>
+            Tweens a virtual float.
+            You can add regular settings to the generated tween,
+            but do not use <code>OnUpdate</code> or you will overwrite the onVirtualUpdate parameter
+            </summary>
+            <param name="from">The value to start from</param>
+            <param name="to">The value to tween to</param>
+            <param name="duration">The duration of the tween</param>
+            <param name="onVirtualUpdate">A callback which must accept a parameter of type float, called at each update</param>
+        </member>
+        <member name="M:DG.Tweening.DOVirtual.Int(System.Int32,System.Int32,System.Single,DG.Tweening.TweenCallback{System.Int32})">
+            <summary>
+            Tweens a virtual int.
+            You can add regular settings to the generated tween,
+            but do not use <code>OnUpdate</code> or you will overwrite the onVirtualUpdate parameter
+            </summary>
+            <param name="from">The value to start from</param>
+            <param name="to">The value to tween to</param>
+            <param name="duration">The duration of the tween</param>
+            <param name="onVirtualUpdate">A callback which must accept a parameter of type int, called at each update</param>
+        </member>
+        <member name="M:DG.Tweening.DOVirtual.Vector2(UnityEngine.Vector2,UnityEngine.Vector2,System.Single,DG.Tweening.TweenCallback{UnityEngine.Vector2})">
+            <summary>
+            Tweens a virtual Vector2.
+            You can add regular settings to the generated tween,
+            but do not use <code>OnUpdate</code> or you will overwrite the onVirtualUpdate parameter
+            </summary>
+            <param name="from">The value to start from</param>
+            <param name="to">The value to tween to</param>
+            <param name="duration">The duration of the tween</param>
+            <param name="onVirtualUpdate">A callback which must accept a parameter of type Vector3, called at each update</param>
+        </member>
+        <member name="M:DG.Tweening.DOVirtual.Vector3(UnityEngine.Vector3,UnityEngine.Vector3,System.Single,DG.Tweening.TweenCallback{UnityEngine.Vector3})">
+            <summary>
+            Tweens a virtual Vector3.
+            You can add regular settings to the generated tween,
+            but do not use <code>OnUpdate</code> or you will overwrite the onVirtualUpdate parameter
+            </summary>
+            <param name="from">The value to start from</param>
+            <param name="to">The value to tween to</param>
+            <param name="duration">The duration of the tween</param>
+            <param name="onVirtualUpdate">A callback which must accept a parameter of type Vector3, called at each update</param>
+        </member>
+        <member name="M:DG.Tweening.DOVirtual.Color(UnityEngine.Color,UnityEngine.Color,System.Single,DG.Tweening.TweenCallback{UnityEngine.Color})">
+            <summary>
+            Tweens a virtual Color.
+            You can add regular settings to the generated tween,
+            but do not use <code>OnUpdate</code> or you will overwrite the onVirtualUpdate parameter
+            </summary>
+            <param name="from">The value to start from</param>
+            <param name="to">The value to tween to</param>
+            <param name="duration">The duration of the tween</param>
+            <param name="onVirtualUpdate">A callback which must accept a parameter of type Color, called at each update</param>
+        </member>
+        <member name="M:DG.Tweening.DOVirtual.EasedValue(System.Single,System.Single,System.Single,DG.Tweening.Ease)">
+            <summary>Returns a value based on the given ease and lifetime percentage (0 to 1)</summary>
+            <param name="from">The value to start from when lifetimePercentage is 0</param>
+            <param name="to">The value to reach when lifetimePercentage is 1</param>
+            <param name="lifetimePercentage">The time percentage (0 to 1) at which the value should be taken</param>
+            <param name="easeType">The type of ease</param>
+        </member>
+        <member name="M:DG.Tweening.DOVirtual.EasedValue(System.Single,System.Single,System.Single,DG.Tweening.Ease,System.Single)">
+            <summary>Returns a value based on the given ease and lifetime percentage (0 to 1)</summary>
+            <param name="from">The value to start from when lifetimePercentage is 0</param>
+            <param name="to">The value to reach when lifetimePercentage is 1</param>
+            <param name="lifetimePercentage">The time percentage (0 to 1) at which the value should be taken</param>
+            <param name="easeType">The type of ease</param>
+            <param name="overshoot">Eventual overshoot to use with Back ease</param>
+        </member>
+        <member name="M:DG.Tweening.DOVirtual.EasedValue(System.Single,System.Single,System.Single,DG.Tweening.Ease,System.Single,System.Single)">
+            <summary>Returns a value based on the given ease and lifetime percentage (0 to 1)</summary>
+            <param name="from">The value to start from when lifetimePercentage is 0</param>
+            <param name="to">The value to reach when lifetimePercentage is 1</param>
+            <param name="lifetimePercentage">The time percentage (0 to 1) at which the value should be taken</param>
+            <param name="easeType">The type of ease</param>
+            <param name="amplitude">Eventual amplitude to use with Elastic easeType</param>
+            <param name="period">Eventual period to use with Elastic easeType</param>
+        </member>
+        <member name="M:DG.Tweening.DOVirtual.EasedValue(System.Single,System.Single,System.Single,UnityEngine.AnimationCurve)">
+            <summary>Returns a value based on the given ease and lifetime percentage (0 to 1)</summary>
+            <param name="from">The value to start from when lifetimePercentage is 0</param>
+            <param name="to">The value to reach when lifetimePercentage is 1</param>
+            <param name="lifetimePercentage">The time percentage (0 to 1) at which the value should be taken</param>
+            <param name="easeCurve">The AnimationCurve to use for ease</param>
+        </member>
+        <member name="M:DG.Tweening.DOVirtual.EasedValue(UnityEngine.Vector3,UnityEngine.Vector3,System.Single,DG.Tweening.Ease)">
+            <summary>Returns a value based on the given ease and lifetime percentage (0 to 1)</summary>
+            <param name="from">The value to start from when lifetimePercentage is 0</param>
+            <param name="to">The value to reach when lifetimePercentage is 1</param>
+            <param name="lifetimePercentage">The time percentage (0 to 1) at which the value should be taken</param>
+            <param name="easeType">The type of ease</param>
+        </member>
+        <member name="M:DG.Tweening.DOVirtual.EasedValue(UnityEngine.Vector3,UnityEngine.Vector3,System.Single,DG.Tweening.Ease,System.Single)">
+            <summary>Returns a value based on the given ease and lifetime percentage (0 to 1)</summary>
+            <param name="from">The value to start from when lifetimePercentage is 0</param>
+            <param name="to">The value to reach when lifetimePercentage is 1</param>
+            <param name="lifetimePercentage">The time percentage (0 to 1) at which the value should be taken</param>
+            <param name="easeType">The type of ease</param>
+            <param name="overshoot">Eventual overshoot to use with Back ease</param>
+        </member>
+        <member name="M:DG.Tweening.DOVirtual.EasedValue(UnityEngine.Vector3,UnityEngine.Vector3,System.Single,DG.Tweening.Ease,System.Single,System.Single)">
+            <summary>Returns a value based on the given ease and lifetime percentage (0 to 1)</summary>
+            <param name="from">The value to start from when lifetimePercentage is 0</param>
+            <param name="to">The value to reach when lifetimePercentage is 1</param>
+            <param name="lifetimePercentage">The time percentage (0 to 1) at which the value should be taken</param>
+            <param name="easeType">The type of ease</param>
+            <param name="amplitude">Eventual amplitude to use with Elastic easeType</param>
+            <param name="period">Eventual period to use with Elastic easeType</param>
+        </member>
+        <member name="M:DG.Tweening.DOVirtual.EasedValue(UnityEngine.Vector3,UnityEngine.Vector3,System.Single,UnityEngine.AnimationCurve)">
+            <summary>Returns a value based on the given ease and lifetime percentage (0 to 1)</summary>
+            <param name="from">The value to start from when lifetimePercentage is 0</param>
+            <param name="to">The value to reach when lifetimePercentage is 1</param>
+            <param name="lifetimePercentage">The time percentage (0 to 1) at which the value should be taken</param>
+            <param name="easeCurve">The AnimationCurve to use for ease</param>
+        </member>
+        <member name="M:DG.Tweening.DOVirtual.DelayedCall(System.Single,DG.Tweening.TweenCallback,System.Boolean)">
+            <summary>Fires the given callback after the given time.</summary>
+            <param name="delay">Callback delay</param>
+            <param name="callback">Callback to fire when the delay has expired</param>
+            <param name="ignoreTimeScale">If TRUE (default) ignores Unity's timeScale</param>
+        </member>
+        <member name="F:DG.Tweening.Ease.INTERNAL_Zero">
+            <summary>
+            Don't assign this! It's assigned automatically when creating 0 duration tweens
+            </summary>
+        </member>
+        <member name="F:DG.Tweening.Ease.INTERNAL_Custom">
+            <summary>
+            Don't assign this! It's assigned automatically when setting the ease to an AnimationCurve or to a custom ease function
+            </summary>
+        </member>
+        <member name="T:DG.Tweening.EaseFactory">
+            <summary>
+            Allows to wrap ease method in special ways, adding extra features
+            </summary>
+        </member>
+        <member name="M:DG.Tweening.EaseFactory.StopMotion(System.Int32,System.Nullable{DG.Tweening.Ease})">
+            <summary>
+            Converts the given ease so that it also creates a stop-motion effect, by playing the tween at the given FPS
+            </summary>
+            <param name="motionFps">FPS at which the tween should be played</param>
+            <param name="ease">Ease type</param>
+        </member>
+        <member name="M:DG.Tweening.EaseFactory.StopMotion(System.Int32,UnityEngine.AnimationCurve)">
+            <summary>
+            Converts the given ease so that it also creates a stop-motion effect, by playing the tween at the given FPS
+            </summary>
+            <param name="motionFps">FPS at which the tween should be played</param>
+            <param name="animCurve">AnimationCurve to use for the ease</param>
+        </member>
+        <member name="M:DG.Tweening.EaseFactory.StopMotion(System.Int32,DG.Tweening.EaseFunction)">
+            <summary>
+            Converts the given ease so that it also creates a stop-motion effect, by playing the tween at the given FPS
+            </summary>
+            <param name="motionFps">FPS at which the tween should be played</param>
+            <param name="customEase">Custom ease function to use</param>
+        </member>
+        <member name="T:DG.Tweening.IDOTweenInit">
+            <summary>
+            Used to allow method chaining with DOTween.Init
+            </summary>
+        </member>
+        <member name="M:DG.Tweening.IDOTweenInit.SetCapacity(System.Int32,System.Int32)">
+            <summary>
+            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.
+            </summary>
+            <param name="tweenersCapacity">Max Tweeners capacity.
+            Default: 200</param>
+            <param name="sequencesCapacity">Max Sequences capacity.
+            Default: 50</param>
+        </member>
+        <member name="T:DG.Tweening.LinkBehaviour">
+            <summary>
+            Behaviour that can be assigned when chaining a SetLink to a tween
+            </summary>
+        </member>
+        <member name="F:DG.Tweening.LinkBehaviour.PauseOnDisable">
+            <summary>Pauses the tween when the link target is disabled</summary>
+        </member>
+        <member name="F:DG.Tweening.LinkBehaviour.PauseOnDisablePlayOnEnable">
+            <summary>Pauses the tween when the link target is disabled, plays it when it's enabled</summary>
+        </member>
+        <member name="F:DG.Tweening.LinkBehaviour.PauseOnDisableRestartOnEnable">
+            <summary>Pauses the tween when the link target is disabled, restarts it when it's enabled</summary>
+        </member>
+        <member name="F:DG.Tweening.LinkBehaviour.PlayOnEnable">
+            <summary>Plays the tween when the link target is enabled</summary>
+        </member>
+        <member name="F:DG.Tweening.LinkBehaviour.RestartOnEnable">
+            <summary>Restarts the tween when the link target is enabled</summary>
+        </member>
+        <member name="F:DG.Tweening.LinkBehaviour.KillOnDisable">
+            <summary>Kills the tween when the link target is disabled</summary>
+        </member>
+        <member name="F:DG.Tweening.LinkBehaviour.KillOnDestroy">
+            <summary>Kills the tween when the link target is destroyed (becomes NULL). This is always active even if another behaviour is chosen</summary>
+        </member>
+        <member name="F:DG.Tweening.LinkBehaviour.CompleteOnDisable">
+            <summary>Completes the tween when the link target is disabled</summary>
+        </member>
+        <member name="F:DG.Tweening.LinkBehaviour.CompleteAndKillOnDisable">
+            <summary>Completes and kills the tween when the link target is disabled</summary>
+        </member>
+        <member name="F:DG.Tweening.LinkBehaviour.RewindOnDisable">
+            <summary>Rewinds the tween (delay excluded) when the link target is disabled</summary>
+        </member>
+        <member name="F:DG.Tweening.LinkBehaviour.RewindAndKillOnDisable">
+            <summary>Rewinds and kills the tween when the link target is disabled</summary>
+        </member>
+        <member name="T:DG.Tweening.PathMode">
+            <summary>
+            Path mode (used to determine correct LookAt orientation)
+            </summary>
+        </member>
+        <member name="F:DG.Tweening.PathMode.Ignore">
+            <summary>Ignores the path mode (and thus LookAt behaviour)</summary>
+        </member>
+        <member name="F:DG.Tweening.PathMode.Full3D">
+            <summary>Regular 3D path</summary>
+        </member>
+        <member name="F:DG.Tweening.PathMode.TopDown2D">
+            <summary>2D top-down path</summary>
+        </member>
+        <member name="F:DG.Tweening.PathMode.Sidescroller2D">
+            <summary>2D side-scroller path</summary>
+        </member>
+        <member name="T:DG.Tweening.PathType">
+            <summary>
+            Type of path to use with DOPath tweens
+            </summary>
+        </member>
+        <member name="F:DG.Tweening.PathType.Linear">
+            <summary>Linear, composed of straight segments between each waypoint</summary>
+        </member>
+        <member name="F:DG.Tweening.PathType.CatmullRom">
+            <summary>Curved path (which uses Catmull-Rom curves)</summary>
+        </member>
+        <member name="F:DG.Tweening.PathType.CubicBezier">
+            <summary><code>EXPERIMENTAL: </code>Curved path (which uses Cubic Bezier curves, where each point requires two extra control points)</summary>
+        </member>
+        <member name="T:DG.Tweening.Plugins.CirclePlugin">
+            <summary>
+            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
+            </summary>
+        </member>
+        <member name="T:DG.Tweening.Plugins.Core.PathCore.ControlPoint">
+            <summary>
+            Path control point
+            </summary>
+        </member>
+        <member name="F:DG.Tweening.Plugins.Core.PathCore.Path.wps">
+            <summary>
+            Path waypoints (modified by PathPlugin when setting relative end/change value or by CubicBezierDecoder) and by DOTweenPathInspector
+            </summary>
+        </member>
+        <member name="P:DG.Tweening.Plugins.Core.PathCore.Path.minInputWaypoints">
+            <summary>
+            Minimum input points necessary to create the path (doesn't correspond to actual waypoints required)
+            </summary>
+        </member>
+        <member name="M:DG.Tweening.Plugins.Core.PathCore.Path.GetPoint(System.Single,System.Boolean)">
+            <summary>
+            Gets the point on the path at the given percentage (0 to 1)
+            </summary>
+            <param name="perc">The percentage (0 to 1) at which to get the point</param>
+            <param name="convertToConstantPerc">If TRUE constant speed is taken into account, otherwise not</param>
+        </member>
+        <member name="T:DG.Tweening.Plugins.Options.IPlugOptions">
+            <summary>
+            Base interface for all tween plugins options
+            </summary>
+        </member>
+        <member name="M:DG.Tweening.Plugins.Options.IPlugOptions.Reset">
+            <summary>Resets the plugin</summary>
+        </member>
+        <member name="T:DG.Tweening.Plugins.Vector3ArrayPlugin">
+            <summary>
+            This plugin generates some GC allocations at startup
+            </summary>
+        </member>
+        <member name="T:DG.Tweening.Plugins.PathPlugin">
+            <summary>
+            Path plugin works exclusively with Transforms
+            </summary>
+        </member>
+        <member name="T:DG.Tweening.RotateMode">
+            <summary>
+            Rotation mode used with DORotate methods
+            </summary>
+        </member>
+        <member name="F:DG.Tweening.RotateMode.Fast">
+            <summary>
+            Fastest way that never rotates beyond 360°
+            </summary>
+        </member>
+        <member name="F:DG.Tweening.RotateMode.FastBeyond360">
+            <summary>
+            Fastest way that rotates beyond 360°
+            </summary>
+        </member>
+        <member name="F:DG.Tweening.RotateMode.WorldAxisAdd">
+            <summary>
+            Adds the given rotation to the transform using world axis and an advanced precision mode
+            (like when using transform.Rotate(Space.World)).
+            <para>In this mode the end value is is always considered relative</para>
+            </summary>
+        </member>
+        <member name="F:DG.Tweening.RotateMode.LocalAxisAdd">
+            <summary>
+            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)).
+            <para>In this mode the end value is is always considered relative</para>
+            </summary>
+        </member>
+        <member name="T:DG.Tweening.ScrambleMode">
+            <summary>
+            Type of scramble to apply to string tweens
+            </summary>
+        </member>
+        <member name="F:DG.Tweening.ScrambleMode.None">
+            <summary>
+            No scrambling of characters
+            </summary>
+        </member>
+        <member name="F:DG.Tweening.ScrambleMode.All">
+            <summary>
+            A-Z + a-z + 0-9 characters
+            </summary>
+        </member>
+        <member name="F:DG.Tweening.ScrambleMode.Uppercase">
+            <summary>
+            A-Z characters
+            </summary>
+        </member>
+        <member name="F:DG.Tweening.ScrambleMode.Lowercase">
+            <summary>
+            a-z characters
+            </summary>
+        </member>
+        <member name="F:DG.Tweening.ScrambleMode.Numerals">
+            <summary>
+            0-9 characters
+            </summary>
+        </member>
+        <member name="F:DG.Tweening.ScrambleMode.Custom">
+            <summary>
+            Custom characters
+            </summary>
+        </member>
+        <member name="T:DG.Tweening.ShakeRandomnessMode">
+            <summary>
+            Type of randomness to apply to a shake tween
+            </summary>
+        </member>
+        <member name="F:DG.Tweening.ShakeRandomnessMode.Full">
+            <summary>Default, full randomness</summary>
+        </member>
+        <member name="F:DG.Tweening.ShakeRandomnessMode.Harmonic">
+            <summary>Creates a more balanced randomness that looks more harmonic</summary>
+        </member>
+        <member name="T:DG.Tweening.TweenExtensions">
+            <summary>
+            Methods that extend Tween objects and allow to control or get data from them
+            </summary>
+        </member>
+        <member name="M:DG.Tweening.TweenExtensions.Complete(DG.Tweening.Tween)">
+            <summary>Completes the tween</summary>
+        </member>
+        <member name="M:DG.Tweening.TweenExtensions.Complete(DG.Tweening.Tween,System.Boolean)">
+            <summary>Completes the tween</summary>
+            <param name="withCallbacks">For Sequences only: if TRUE also internal Sequence callbacks will be fired,
+            otherwise they will be ignored</param>
+        </member>
+        <member name="M:DG.Tweening.TweenExtensions.Done``1(``0)">
+            <summary>Optional: indicates that the tween creation has ended, to be used (optionally) as the last element of tween chaining creation.<br/>
+            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)</summary>
+        </member>
+        <member name="M:DG.Tweening.TweenExtensions.Flip(DG.Tweening.Tween)">
+            <summary>Flips the direction of this tween (backwards if it was going forward or viceversa)</summary>
+        </member>
+        <member name="M:DG.Tweening.TweenExtensions.ForceInit(DG.Tweening.Tween)">
+            <summary>Forces the tween to initialize its settings immediately</summary>
+        </member>
+        <member name="M:DG.Tweening.TweenExtensions.Goto(DG.Tweening.Tween,System.Single,System.Boolean)">
+            <summary>Send the tween to the given position in time</summary>
+            <param name="to">Time position to reach
+            (if higher than the whole tween duration the tween will simply reach its end)</param>
+            <param name="andPlay">If TRUE will play the tween after reaching the given position, otherwise it will pause it</param>
+        </member>
+        <member name="M:DG.Tweening.TweenExtensions.GotoWithCallbacks(DG.Tweening.Tween,System.Single,System.Boolean)">
+            <summary>Send the tween to the given position in time while also executing any callback between the previous time position and the new one</summary>
+            <param name="to">Time position to reach
+            (if higher than the whole tween duration the tween will simply reach its end)</param>
+            <param name="andPlay">If TRUE will play the tween after reaching the given position, otherwise it will pause it</param>
+        </member>
+        <member name="M:DG.Tweening.TweenExtensions.Kill(DG.Tweening.Tween,System.Boolean)">
+            <summary>Kills the tween</summary>
+            <param name="complete">If TRUE completes the tween before killing it</param>
+        </member>
+        <member name="M:DG.Tweening.TweenExtensions.ManualUpdate(DG.Tweening.Tween,System.Single,System.Single)">
+            <summary>
+            Forces this tween to update manually, regardless of the <see cref="T:DG.Tweening.UpdateType"/> 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.<para/>
+            Also note that if you only want to update this tween instance manually you'll have to set it to <see cref="F:DG.Tweening.UpdateType.Manual"/> anyway,
+            so that it's not updated automatically.
+            </summary>
+            <param name="deltaTime">Manual deltaTime</param>
+            <param name="unscaledDeltaTime">Unscaled delta time (used with tweens set as timeScaleIndependent)</param>
+        </member>
+        <member name="M:DG.Tweening.TweenExtensions.Pause``1(``0)">
+            <summary>Pauses the tween</summary>
+        </member>
+        <member name="M:DG.Tweening.TweenExtensions.Play``1(``0)">
+            <summary>Plays the tween</summary>
+        </member>
+        <member name="M:DG.Tweening.TweenExtensions.PlayBackwards(DG.Tweening.Tween)">
+            <summary>Sets the tween in a backwards direction and plays it</summary>
+        </member>
+        <member name="M:DG.Tweening.TweenExtensions.PlayForward(DG.Tweening.Tween)">
+            <summary>Sets the tween in a forward direction and plays it</summary>
+        </member>
+        <member name="M:DG.Tweening.TweenExtensions.Restart(DG.Tweening.Tween,System.Boolean,System.Single)">
+            <summary>Restarts the tween from the beginning</summary>
+            <param name="includeDelay">Ignored in case of Sequences. If TRUE includes the eventual tween delay, otherwise skips it</param>
+            <param name="changeDelayTo">Ignored in case of Sequences. If >= 0 changes the startup delay to this value, otherwise doesn't touch it</param>
+        </member>
+        <member name="M:DG.Tweening.TweenExtensions.Rewind(DG.Tweening.Tween,System.Boolean)">
+            <summary>Rewinds and pauses the tween</summary>
+            <param name="includeDelay">Ignored in case of Sequences. If TRUE includes the eventual tween delay, otherwise skips it</param>
+        </member>
+        <member name="M:DG.Tweening.TweenExtensions.SmoothRewind(DG.Tweening.Tween)">
+            <summary>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.
+            <para>Note that a tween that was smoothly rewinded will have its play direction flipped</para></summary>
+        </member>
+        <member name="M:DG.Tweening.TweenExtensions.TogglePause(DG.Tweening.Tween)">
+            <summary>Plays the tween if it was paused, pauses it if it was playing</summary>
+        </member>
+        <member name="M:DG.Tweening.TweenExtensions.GotoWaypoint(DG.Tweening.Tween,System.Int32,System.Boolean)">
+            <summary>Send a path tween to the given waypoint.
+            Has no effect if this is not a path tween.
+            <para>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)</para></summary>
+            <param name="waypointIndex">Waypoint index to reach
+            (if higher than the max waypoint index the tween will simply go to the last one)</param>
+            <param name="andPlay">If TRUE will play the tween after reaching the given waypoint, otherwise it will pause it</param>
+        </member>
+        <member name="M:DG.Tweening.TweenExtensions.WaitForCompletion(DG.Tweening.Tween)">
+            <summary>
+            Creates a yield instruction that waits until the tween is killed or complete.
+            It can be used inside a coroutine as a yield.
+            <para>Example usage:</para><code>yield return myTween.WaitForCompletion();</code>
+            </summary>
+        </member>
+        <member name="M:DG.Tweening.TweenExtensions.WaitForRewind(DG.Tweening.Tween)">
+            <summary>
+            Creates a yield instruction that waits until the tween is killed or rewinded.
+            It can be used inside a coroutine as a yield.
+            <para>Example usage:</para><code>yield return myTween.WaitForRewind();</code>
+            </summary>
+        </member>
+        <member name="M:DG.Tweening.TweenExtensions.WaitForKill(DG.Tweening.Tween)">
+            <summary>
+            Creates a yield instruction that waits until the tween is killed.
+            It can be used inside a coroutine as a yield.
+            <para>Example usage:</para><code>yield return myTween.WaitForKill();</code>
+            </summary>
+        </member>
+        <member name="M:DG.Tweening.TweenExtensions.WaitForElapsedLoops(DG.Tweening.Tween,System.Int32)">
+            <summary>
+            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.
+            <para>Example usage:</para><code>yield return myTween.WaitForElapsedLoops(2);</code>
+            </summary>
+            <param name="elapsedLoops">Elapsed loops to wait for</param>
+        </member>
+        <member name="M:DG.Tweening.TweenExtensions.WaitForPosition(DG.Tweening.Tween,System.Single)">
+            <summary>
+            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.
+            <para>Example usage:</para><code>yield return myTween.WaitForPosition(2.5f);</code>
+            </summary>
+            <param name="position">Position (loops included, delays excluded) to wait for</param>
+        </member>
+        <member name="M:DG.Tweening.TweenExtensions.WaitForStart(DG.Tweening.Tween)">
+            <summary>
+            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.
+            <para>Example usage:</para><code>yield return myTween.WaitForStart();</code>
+            </summary>
+        </member>
+        <member name="M:DG.Tweening.TweenExtensions.CompletedLoops(DG.Tweening.Tween)">
+            <summary>Returns the total number of loops completed by this tween</summary>
+        </member>
+        <member name="M:DG.Tweening.TweenExtensions.Delay(DG.Tweening.Tween)">
+            <summary>Returns the eventual delay set for this tween</summary>
+        </member>
+        <member name="M:DG.Tweening.TweenExtensions.ElapsedDelay(DG.Tweening.Tween)">
+            <summary>Returns the eventual elapsed delay set for this tween</summary>
+        </member>
+        <member name="M:DG.Tweening.TweenExtensions.Duration(DG.Tweening.Tween,System.Boolean)">
+            <summary>Returns the duration of this tween (delays excluded).
+            <para>NOTE: when using settings like SpeedBased, the duration will be recalculated when the tween starts</para></summary>
+            <param name="includeLoops">If TRUE returns the full duration loops included,
+             otherwise the duration of a single loop cycle</param>
+        </member>
+        <member name="M:DG.Tweening.TweenExtensions.Elapsed(DG.Tweening.Tween,System.Boolean)">
+            <summary>Returns the elapsed time for this tween (delays exluded)</summary>
+            <param name="includeLoops">If TRUE returns the elapsed time since startup loops included,
+             otherwise the elapsed time within the current loop cycle</param>
+        </member>
+        <member name="M:DG.Tweening.TweenExtensions.ElapsedPercentage(DG.Tweening.Tween,System.Boolean)">
+            <summary>Returns the elapsed percentage (0 to 1) of this tween (delays exluded)</summary>
+            <param name="includeLoops">If TRUE returns the elapsed percentage since startup loops included,
+            otherwise the elapsed percentage within the current loop cycle</param>
+        </member>
+        <member name="M:DG.Tweening.TweenExtensions.ElapsedDirectionalPercentage(DG.Tweening.Tween)">
+            <summary>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</summary>
+        </member>
+        <member name="M:DG.Tweening.TweenExtensions.IsActive(DG.Tweening.Tween)">
+            <summary>Returns FALSE if this tween has been killed or is NULL, TRUE otherwise.
+            <para>BEWARE: if this tween is recyclable it might have been spawned again for another use and thus return TRUE anyway.</para>
+            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 <code>OnKill</code> callback like this:
+            <para><code>.OnKill(()=> myTweenReference = null)</code></para></summary>
+        </member>
+        <member name="M:DG.Tweening.TweenExtensions.IsBackwards(DG.Tweening.Tween)">
+            <summary>Returns TRUE if this tween was reversed and is set to go backwards</summary>
+        </member>
+        <member name="M:DG.Tweening.TweenExtensions.IsLoopingOrExecutingBackwards(DG.Tweening.Tween)">
+            <summary>NOTE: To check if a tween was simply set to go backwards see <see cref="M:DG.Tweening.TweenExtensions.IsBackwards(DG.Tweening.Tween)"/>.<para/>
+            Returns TRUE if this tween is going backwards for any of these reasons:<para/>
+            - The tween was reversed and is going backwards on a straight loop<para/>
+            - The tween was reversed and is going backwards on an odd Yoyo loop<para/>
+            - The tween is going forward but on an even Yoyo loop<para/>
+            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</summary>
+        </member>
+        <member name="M:DG.Tweening.TweenExtensions.IsComplete(DG.Tweening.Tween)">
+            <summary>Returns TRUE if the tween is complete
+            (silently fails and returns FALSE if the tween has been killed)</summary>
+        </member>
+        <member name="M:DG.Tweening.TweenExtensions.IsInitialized(DG.Tweening.Tween)">
+            <summary>Returns TRUE if this tween has been initialized</summary>
+        </member>
+        <member name="M:DG.Tweening.TweenExtensions.IsPlaying(DG.Tweening.Tween)">
+            <summary>Returns TRUE if this tween is playing</summary>
+        </member>
+        <member name="M:DG.Tweening.TweenExtensions.Loops(DG.Tweening.Tween)">
+            <summary>Returns the total number of loops set for this tween
+            (returns -1 if the loops are infinite)</summary>
+        </member>
+        <member name="M:DG.Tweening.TweenExtensions.PathGetPoint(DG.Tweening.Tween,System.Single)">
+            <summary>
+            Returns a point on a path based on the given path percentage.
+            Returns <code>Vector3.zero</code> 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 <code>myTween.ForceInit()</code>.
+            </summary>
+            <param name="pathPercentage">Percentage of the path (0 to 1) on which to get the point</param>
+        </member>
+        <member name="M:DG.Tweening.TweenExtensions.PathGetDrawPoints(DG.Tweening.Tween,System.Int32)">
+            <summary>
+            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 <code>NULL</code> 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 <code>myTween.ForceInit()</code>.
+            </summary>
+            <param name="subdivisionsXSegment">How many points to create for each path segment (waypoint to waypoint).
+            Only used in case of non-Linear paths</param>
+        </member>
+        <member name="M:DG.Tweening.TweenExtensions.PathLength(DG.Tweening.Tween)">
+            <summary>
+            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 <code>myTween.ForceInit()</code>.
+            </summary>
+        </member>
+        <member name="T:DG.Tweening.LoopType">
+            <summary>
+            Types of loop
+            </summary>
+        </member>
+        <member name="F:DG.Tweening.LoopType.Restart">
+            <summary>Each loop cycle restarts from the beginning</summary>
+        </member>
+        <member name="F:DG.Tweening.LoopType.Yoyo">
+            <summary>The tween moves forward and backwards at alternate cycles</summary>
+        </member>
+        <member name="F:DG.Tweening.LoopType.Incremental">
+            <summary>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".
+            <para>In case of String tweens works only if the tween is set as relative</para></summary>
+        </member>
+        <member name="T:DG.Tweening.Sequence">
+            <summary>
+            Controls other tweens as a group
+            </summary>
+        </member>
+        <member name="T:DG.Tweening.ShortcutExtensions">
+            <summary>
+            Methods that extend known Unity objects and allow to directly create and control tweens from their instances
+            </summary>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOAspect(UnityEngine.Camera,System.Single,System.Single)">
+            <summary>Tweens a Camera's <code>aspect</code> to the given value.
+            Also stores the camera as the tween's target so it can be used for filtered operations</summary>
+            <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOColor(UnityEngine.Camera,UnityEngine.Color,System.Single)">
+            <summary>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</summary>
+            <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOFarClipPlane(UnityEngine.Camera,System.Single,System.Single)">
+            <summary>Tweens a Camera's <code>farClipPlane</code> to the given value.
+            Also stores the camera as the tween's target so it can be used for filtered operations</summary>
+            <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOFieldOfView(UnityEngine.Camera,System.Single,System.Single)">
+            <summary>Tweens a Camera's <code>fieldOfView</code> to the given value.
+            Also stores the camera as the tween's target so it can be used for filtered operations</summary>
+            <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DONearClipPlane(UnityEngine.Camera,System.Single,System.Single)">
+            <summary>Tweens a Camera's <code>nearClipPlane</code> to the given value.
+            Also stores the camera as the tween's target so it can be used for filtered operations</summary>
+            <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOOrthoSize(UnityEngine.Camera,System.Single,System.Single)">
+            <summary>Tweens a Camera's <code>orthographicSize</code> to the given value.
+            Also stores the camera as the tween's target so it can be used for filtered operations</summary>
+            <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOPixelRect(UnityEngine.Camera,UnityEngine.Rect,System.Single)">
+            <summary>Tweens a Camera's <code>pixelRect</code> to the given value.
+            Also stores the camera as the tween's target so it can be used for filtered operations</summary>
+            <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DORect(UnityEngine.Camera,UnityEngine.Rect,System.Single)">
+            <summary>Tweens a Camera's <code>rect</code> to the given value.
+            Also stores the camera as the tween's target so it can be used for filtered operations</summary>
+            <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOShakePosition(UnityEngine.Camera,System.Single,System.Single,System.Int32,System.Single,System.Boolean,DG.Tweening.ShakeRandomnessMode)">
+            <summary>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</summary>
+            <param name="duration">The duration of the tween</param>
+            <param name="strength">The shake strength</param>
+            <param name="vibrato">Indicates how much will the shake vibrate</param>
+            <param name="randomness">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.</param>
+            <param name="fadeOut">If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not</param>
+            <param name="randomnessMode">Randomness mode</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOShakePosition(UnityEngine.Camera,System.Single,UnityEngine.Vector3,System.Int32,System.Single,System.Boolean,DG.Tweening.ShakeRandomnessMode)">
+            <summary>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</summary>
+            <param name="duration">The duration of the tween</param>
+            <param name="strength">The shake strength on each axis</param>
+            <param name="vibrato">Indicates how much will the shake vibrate</param>
+            <param name="randomness">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.</param>
+            <param name="fadeOut">If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not</param>
+            <param name="randomnessMode">Randomness mode</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOShakeRotation(UnityEngine.Camera,System.Single,System.Single,System.Int32,System.Single,System.Boolean,DG.Tweening.ShakeRandomnessMode)">
+            <summary>Shakes a Camera's localRotation.
+            Also stores the camera as the tween's target so it can be used for filtered operations</summary>
+            <param name="duration">The duration of the tween</param>
+            <param name="strength">The shake strength</param>
+            <param name="vibrato">Indicates how much will the shake vibrate</param>
+            <param name="randomness">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.</param>
+            <param name="fadeOut">If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not</param>
+            <param name="randomnessMode">Randomness mode</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOShakeRotation(UnityEngine.Camera,System.Single,UnityEngine.Vector3,System.Int32,System.Single,System.Boolean,DG.Tweening.ShakeRandomnessMode)">
+            <summary>Shakes a Camera's localRotation.
+            Also stores the camera as the tween's target so it can be used for filtered operations</summary>
+            <param name="duration">The duration of the tween</param>
+            <param name="strength">The shake strength on each axis</param>
+            <param name="vibrato">Indicates how much will the shake vibrate</param>
+            <param name="randomness">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.</param>
+            <param name="fadeOut">If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not</param>
+            <param name="randomnessMode">Randomness mode</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOColor(UnityEngine.Light,UnityEngine.Color,System.Single)">
+            <summary>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</summary>
+            <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOIntensity(UnityEngine.Light,System.Single,System.Single)">
+            <summary>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</summary>
+            <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOShadowStrength(UnityEngine.Light,System.Single,System.Single)">
+            <summary>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</summary>
+            <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOColor(UnityEngine.LineRenderer,DG.Tweening.Color2,DG.Tweening.Color2,System.Single)">
+            <summary>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.
+            <para>Note that this method requires to also insert the start colors for the tween, 
+            since LineRenderers have no way to get them.</para></summary>
+            <param name="startValue">The start value to tween from</param>
+            <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOColor(UnityEngine.Material,UnityEngine.Color,System.Single)">
+            <summary>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</summary>
+            <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOColor(UnityEngine.Material,UnityEngine.Color,System.String,System.Single)">
+            <summary>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</summary>
+            <param name="endValue">The end value to reach</param>
+            <param name="property">The name of the material property to tween (like _Tint or _SpecColor)</param>
+            <param name="duration">The duration of the tween</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOColor(UnityEngine.Material,UnityEngine.Color,System.Int32,System.Single)">
+            <summary>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</summary>
+            <param name="endValue">The end value to reach</param>
+            <param name="propertyID">The ID of the material property to tween (also called nameID in Unity's manual)</param>
+            <param name="duration">The duration of the tween</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOFade(UnityEngine.Material,System.Single,System.Single)">
+            <summary>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</summary>
+            <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOFade(UnityEngine.Material,System.Single,System.String,System.Single)">
+            <summary>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</summary>
+            <param name="endValue">The end value to reach</param>
+            <param name="property">The name of the material property to tween (like _Tint or _SpecColor)</param>
+            <param name="duration">The duration of the tween</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOFade(UnityEngine.Material,System.Single,System.Int32,System.Single)">
+            <summary>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</summary>
+            <param name="endValue">The end value to reach</param>
+            <param name="propertyID">The ID of the material property to tween (also called nameID in Unity's manual)</param>
+            <param name="duration">The duration of the tween</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOFloat(UnityEngine.Material,System.Single,System.String,System.Single)">
+            <summary>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</summary>
+            <param name="endValue">The end value to reach</param>
+            <param name="property">The name of the material property to tween</param>
+            <param name="duration">The duration of the tween</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOFloat(UnityEngine.Material,System.Single,System.Int32,System.Single)">
+            <summary>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</summary>
+            <param name="endValue">The end value to reach</param>
+            <param name="propertyID">The ID of the material property to tween (also called nameID in Unity's manual)</param>
+            <param name="duration">The duration of the tween</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOOffset(UnityEngine.Material,UnityEngine.Vector2,System.Single)">
+            <summary>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</summary>
+            <param name="endValue">The end value to reach</param>
+            <param name="duration">The duration of the tween</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOOffset(UnityEngine.Material,UnityEngine.Vector2,System.String,System.Single)">
+            <summary>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</summary>
+            <param name="endValue">The end value to reach</param>
+            <param name="property">The name of the material property to tween</param>
+            <param name="duration">The duration of the tween</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOTiling(UnityEngine.Material,UnityEngine.Vector2,System.Single)">
+            <summary>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</summary>
+            <param name="endValue">The end value to reach</param>
+            <param name="duration">The duration of the tween</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOTiling(UnityEngine.Material,UnityEngine.Vector2,System.String,System.Single)">
+            <summary>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</summary>
+            <param name="endValue">The end value to reach</param>
+            <param name="property">The name of the material property to tween</param>
+            <param name="duration">The duration of the tween</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOVector(UnityEngine.Material,UnityEngine.Vector4,System.String,System.Single)">
+            <summary>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</summary>
+            <param name="endValue">The end value to reach</param>
+            <param name="property">The name of the material property to tween</param>
+            <param name="duration">The duration of the tween</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOVector(UnityEngine.Material,UnityEngine.Vector4,System.Int32,System.Single)">
+            <summary>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</summary>
+            <param name="endValue">The end value to reach</param>
+            <param name="propertyID">The ID of the material property to tween (also called nameID in Unity's manual)</param>
+            <param name="duration">The duration of the tween</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOResize(UnityEngine.TrailRenderer,System.Single,System.Single,System.Single)">
+            <summary>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</summary>
+            <param name="toStartWidth">The end startWidth to reach</param><param name="toEndWidth">The end endWidth to reach</param>
+            <param name="duration">The duration of the tween</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOTime(UnityEngine.TrailRenderer,System.Single,System.Single)">
+            <summary>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</summary>
+            <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOMove(UnityEngine.Transform,UnityEngine.Vector3,System.Single,System.Boolean)">
+            <summary>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</summary>
+            <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+            <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOMoveX(UnityEngine.Transform,System.Single,System.Single,System.Boolean)">
+            <summary>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</summary>
+            <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+            <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOMoveY(UnityEngine.Transform,System.Single,System.Single,System.Boolean)">
+            <summary>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</summary>
+            <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+            <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOMoveZ(UnityEngine.Transform,System.Single,System.Single,System.Boolean)">
+            <summary>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</summary>
+            <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+            <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOLocalMove(UnityEngine.Transform,UnityEngine.Vector3,System.Single,System.Boolean)">
+            <summary>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</summary>
+            <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+            <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOLocalMoveX(UnityEngine.Transform,System.Single,System.Single,System.Boolean)">
+            <summary>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</summary>
+            <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+            <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOLocalMoveY(UnityEngine.Transform,System.Single,System.Single,System.Boolean)">
+            <summary>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</summary>
+            <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+            <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOLocalMoveZ(UnityEngine.Transform,System.Single,System.Single,System.Boolean)">
+            <summary>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</summary>
+            <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+            <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DORotate(UnityEngine.Transform,UnityEngine.Vector3,System.Single,DG.Tweening.RotateMode)">
+            <summary>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</summary>
+            <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+            <param name="mode">Rotation mode</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DORotateQuaternion(UnityEngine.Transform,UnityEngine.Quaternion,System.Single)">
+            <summary>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.
+            <para>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)</para>
+            </summary>
+            <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOLocalRotate(UnityEngine.Transform,UnityEngine.Vector3,System.Single,DG.Tweening.RotateMode)">
+            <summary>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</summary>
+            <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+            <param name="mode">Rotation mode</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOLocalRotateQuaternion(UnityEngine.Transform,UnityEngine.Quaternion,System.Single)">
+            <summary>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.
+            <para>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)</para>
+            </summary>
+            <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOScale(UnityEngine.Transform,UnityEngine.Vector3,System.Single)">
+            <summary>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</summary>
+            <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOScale(UnityEngine.Transform,System.Single,System.Single)">
+            <summary>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</summary>
+            <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOScaleX(UnityEngine.Transform,System.Single,System.Single)">
+            <summary>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</summary>
+            <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOScaleY(UnityEngine.Transform,System.Single,System.Single)">
+            <summary>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</summary>
+            <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOScaleZ(UnityEngine.Transform,System.Single,System.Single)">
+            <summary>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</summary>
+            <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOLookAt(UnityEngine.Transform,UnityEngine.Vector3,System.Single,DG.Tweening.AxisConstraint,System.Nullable{UnityEngine.Vector3})">
+            <summary>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</summary>
+            <param name="towards">The position to look at</param><param name="duration">The duration of the tween</param>
+            <param name="axisConstraint">Eventual axis constraint for the rotation</param>
+            <param name="up">The vector that defines in which direction up is (default: Vector3.up)</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DODynamicLookAt(UnityEngine.Transform,UnityEngine.Vector3,System.Single,DG.Tweening.AxisConstraint,System.Nullable{UnityEngine.Vector3})">
+            <summary><code>EXPERIMENTAL</code> 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 <see cref="M:DG.Tweening.ShortcutExtensions.DOLookAt(UnityEngine.Transform,UnityEngine.Vector3,System.Single,DG.Tweening.AxisConstraint,System.Nullable{UnityEngine.Vector3})"/> 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</summary>
+            <param name="towards">The position to look at</param><param name="duration">The duration of the tween</param>
+            <param name="axisConstraint">Eventual axis constraint for the rotation</param>
+            <param name="up">The vector that defines in which direction up is (default: Vector3.up)</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOPunchPosition(UnityEngine.Transform,UnityEngine.Vector3,System.Single,System.Int32,System.Single,System.Boolean)">
+            <summary>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.</summary>
+            <param name="punch">The direction and strength of the punch (added to the Transform's current position)</param>
+            <param name="duration">The duration of the tween</param>
+            <param name="vibrato">Indicates how much will the punch vibrate</param>
+            <param name="elasticity">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</param>
+            <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOPunchScale(UnityEngine.Transform,UnityEngine.Vector3,System.Single,System.Int32,System.Single)">
+            <summary>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.</summary>
+            <param name="punch">The punch strength (added to the Transform's current scale)</param>
+            <param name="duration">The duration of the tween</param>
+            <param name="vibrato">Indicates how much will the punch vibrate</param>
+            <param name="elasticity">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</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOPunchRotation(UnityEngine.Transform,UnityEngine.Vector3,System.Single,System.Int32,System.Single)">
+            <summary>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.</summary>
+            <param name="punch">The punch strength (added to the Transform's current rotation)</param>
+            <param name="duration">The duration of the tween</param>
+            <param name="vibrato">Indicates how much will the punch vibrate</param>
+            <param name="elasticity">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</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOShakePosition(UnityEngine.Transform,System.Single,System.Single,System.Int32,System.Single,System.Boolean,System.Boolean,DG.Tweening.ShakeRandomnessMode)">
+            <summary>Shakes a Transform's localPosition with the given values.</summary>
+            <param name="duration">The duration of the tween</param>
+            <param name="strength">The shake strength</param>
+            <param name="vibrato">Indicates how much will the shake vibrate</param>
+            <param name="randomness">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.</param>
+            <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
+            <param name="fadeOut">If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not</param>
+            <param name="randomnessMode">Randomness mode</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOShakePosition(UnityEngine.Transform,System.Single,UnityEngine.Vector3,System.Int32,System.Single,System.Boolean,System.Boolean,DG.Tweening.ShakeRandomnessMode)">
+            <summary>Shakes a Transform's localPosition with the given values.</summary>
+            <param name="duration">The duration of the tween</param>
+            <param name="strength">The shake strength on each axis</param>
+            <param name="vibrato">Indicates how much will the shake vibrate</param>
+            <param name="randomness">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.</param>
+            <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
+            <param name="fadeOut">If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not</param>
+            <param name="randomnessMode">Randomness mode</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOShakeRotation(UnityEngine.Transform,System.Single,System.Single,System.Int32,System.Single,System.Boolean,DG.Tweening.ShakeRandomnessMode)">
+            <summary>Shakes a Transform's localRotation.</summary>
+            <param name="duration">The duration of the tween</param>
+            <param name="strength">The shake strength</param>
+            <param name="vibrato">Indicates how much will the shake vibrate</param>
+            <param name="randomness">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.</param>
+            <param name="fadeOut">If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not</param>
+            <param name="randomnessMode">Randomness mode</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOShakeRotation(UnityEngine.Transform,System.Single,UnityEngine.Vector3,System.Int32,System.Single,System.Boolean,DG.Tweening.ShakeRandomnessMode)">
+            <summary>Shakes a Transform's localRotation.</summary>
+            <param name="duration">The duration of the tween</param>
+            <param name="strength">The shake strength on each axis</param>
+            <param name="vibrato">Indicates how much will the shake vibrate</param>
+            <param name="randomness">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.</param>
+            <param name="fadeOut">If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not</param>
+            <param name="randomnessMode">Randomness mode</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOShakeScale(UnityEngine.Transform,System.Single,System.Single,System.Int32,System.Single,System.Boolean,DG.Tweening.ShakeRandomnessMode)">
+            <summary>Shakes a Transform's localScale.</summary>
+            <param name="duration">The duration of the tween</param>
+            <param name="strength">The shake strength</param>
+            <param name="vibrato">Indicates how much will the shake vibrate</param>
+            <param name="randomness">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.</param>
+            <param name="fadeOut">If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not</param>
+            <param name="randomnessMode">Randomness mode</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOShakeScale(UnityEngine.Transform,System.Single,UnityEngine.Vector3,System.Int32,System.Single,System.Boolean,DG.Tweening.ShakeRandomnessMode)">
+            <summary>Shakes a Transform's localScale.</summary>
+            <param name="duration">The duration of the tween</param>
+            <param name="strength">The shake strength on each axis</param>
+            <param name="vibrato">Indicates how much will the shake vibrate</param>
+            <param name="randomness">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.</param>
+            <param name="fadeOut">If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not</param>
+            <param name="randomnessMode">Randomness mode</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOJump(UnityEngine.Transform,UnityEngine.Vector3,System.Single,System.Int32,System.Single,System.Boolean)">
+            <summary>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</summary>
+            <param name="endValue">The end value to reach</param>
+            <param name="jumpPower">Power of the jump (the max height of the jump is represented by this plus the final Y offset)</param>
+            <param name="numJumps">Total number of jumps</param>
+            <param name="duration">The duration of the tween</param>
+            <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOLocalJump(UnityEngine.Transform,UnityEngine.Vector3,System.Single,System.Int32,System.Single,System.Boolean)">
+            <summary>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</summary>
+            <param name="endValue">The end value to reach</param>
+            <param name="jumpPower">Power of the jump (the max height of the jump is represented by this plus the final Y offset)</param>
+            <param name="numJumps">Total number of jumps</param>
+            <param name="duration">The duration of the tween</param>
+            <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOPath(UnityEngine.Transform,UnityEngine.Vector3[],System.Single,DG.Tweening.PathType,DG.Tweening.PathMode,System.Int32,System.Nullable{UnityEngine.Color})">
+            <summary>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</summary>
+            <param name="path">The waypoints to go through</param>
+            <param name="duration">The duration of the tween</param>
+            <param name="pathType">The type of path: Linear (straight path), CatmullRom (curved CatmullRom path) or CubicBezier (curved with control points)</param>
+            <param name="pathMode">The path mode: 3D, side-scroller 2D, top-down 2D</param>
+            <param name="resolution">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</param>
+            <param name="gizmoColor">The color of the path (shown when gizmos are active in the Play panel and the tween is running)</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOLocalPath(UnityEngine.Transform,UnityEngine.Vector3[],System.Single,DG.Tweening.PathType,DG.Tweening.PathMode,System.Int32,System.Nullable{UnityEngine.Color})">
+            <summary>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</summary>
+            <param name="path">The waypoint to go through</param>
+            <param name="duration">The duration of the tween</param>
+            <param name="pathType">The type of path: Linear (straight path), CatmullRom (curved CatmullRom path) or CubicBezier (curved with control points)</param>
+            <param name="pathMode">The path mode: 3D, side-scroller 2D, top-down 2D</param>
+            <param name="resolution">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</param>
+            <param name="gizmoColor">The color of the path (shown when gizmos are active in the Play panel and the tween is running)</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOPath(UnityEngine.Transform,DG.Tweening.Plugins.Core.PathCore.Path,System.Single,DG.Tweening.PathMode)">
+            <summary>IMPORTANT: Unless you really know what you're doing, you should use the overload that accepts a Vector3 array instead.<para/>
+            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</summary>
+            <param name="path">The path to use</param>
+            <param name="duration">The duration of the tween</param>
+            <param name="pathMode">The path mode: 3D, side-scroller 2D, top-down 2D</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOLocalPath(UnityEngine.Transform,DG.Tweening.Plugins.Core.PathCore.Path,System.Single,DG.Tweening.PathMode)">
+            <summary>IMPORTANT: Unless you really know what you're doing, you should use the overload that accepts a Vector3 array instead.<para/>
+            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</summary>
+            <param name="path">The path to use</param>
+            <param name="duration">The duration of the tween</param>
+            <param name="pathMode">The path mode: 3D, side-scroller 2D, top-down 2D</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOTimeScale(DG.Tweening.Tween,System.Single,System.Single)">
+            <summary>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</summary>
+            <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOBlendableColor(UnityEngine.Light,UnityEngine.Color,System.Single)">
+            <summary>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</summary>
+            <param name="endValue">The value to tween to</param><param name="duration">The duration of the tween</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOBlendableColor(UnityEngine.Material,UnityEngine.Color,System.Single)">
+            <summary>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</summary>
+            <param name="endValue">The value to tween to</param><param name="duration">The duration of the tween</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOBlendableColor(UnityEngine.Material,UnityEngine.Color,System.String,System.Single)">
+            <summary>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</summary>
+            <param name="endValue">The value to tween to</param>
+            <param name="property">The name of the material property to tween (like _Tint or _SpecColor)</param>
+            <param name="duration">The duration of the tween</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOBlendableColor(UnityEngine.Material,UnityEngine.Color,System.Int32,System.Single)">
+            <summary>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</summary>
+            <param name="endValue">The value to tween to</param>
+            <param name="propertyID">The ID of the material property to tween (also called nameID in Unity's manual)</param>
+            <param name="duration">The duration of the tween</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOBlendableMoveBy(UnityEngine.Transform,UnityEngine.Vector3,System.Single,System.Boolean)">
+            <summary>Tweens a Transform's position BY the given value (as if you chained a <code>SetRelative</code>),
+            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</summary>
+            <param name="byValue">The value to tween by</param><param name="duration">The duration of the tween</param>
+            <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOBlendableLocalMoveBy(UnityEngine.Transform,UnityEngine.Vector3,System.Single,System.Boolean)">
+            <summary>Tweens a Transform's localPosition BY the given value (as if you chained a <code>SetRelative</code>),
+            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</summary>
+            <param name="byValue">The value to tween by</param><param name="duration">The duration of the tween</param>
+            <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOBlendableRotateBy(UnityEngine.Transform,UnityEngine.Vector3,System.Single,DG.Tweening.RotateMode)">
+            <summary>EXPERIMENTAL METHOD - Tweens a Transform's rotation BY the given value (as if you chained a <code>SetRelative</code>),
+            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</summary>
+            <param name="byValue">The value to tween by</param><param name="duration">The duration of the tween</param>
+            <param name="mode">Rotation mode</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOBlendableLocalRotateBy(UnityEngine.Transform,UnityEngine.Vector3,System.Single,DG.Tweening.RotateMode)">
+            <summary>EXPERIMENTAL METHOD - Tweens a Transform's lcoalRotation BY the given value (as if you chained a <code>SetRelative</code>),
+            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</summary>
+            <param name="byValue">The value to tween by</param><param name="duration">The duration of the tween</param>
+            <param name="mode">Rotation mode</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOBlendablePunchRotation(UnityEngine.Transform,UnityEngine.Vector3,System.Single,System.Int32,System.Single)">
+            <summary>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</summary>
+            <param name="punch">The punch strength (added to the Transform's current rotation)</param>
+            <param name="duration">The duration of the tween</param>
+            <param name="vibrato">Indicates how much will the punch vibrate</param>
+            <param name="elasticity">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</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOBlendableScaleBy(UnityEngine.Transform,UnityEngine.Vector3,System.Single)">
+            <summary>Tweens a Transform's localScale BY the given value (as if you chained a <code>SetRelative</code>),
+            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</summary>
+            <param name="byValue">The value to tween by</param><param name="duration">The duration of the tween</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOComplete(UnityEngine.Component,System.Boolean)">
+            <summary>
+            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)
+            </summary>
+            <param name="withCallbacks">For Sequences only: if TRUE also internal Sequence callbacks will be fired,
+            otherwise they will be ignored</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOComplete(UnityEngine.Material,System.Boolean)">
+            <summary>
+            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)
+            </summary>
+            <param name="withCallbacks">For Sequences only: if TRUE also internal Sequence callbacks will be fired,
+            otherwise they will be ignored</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOKill(UnityEngine.Component,System.Boolean)">
+            <summary>
+            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.
+            </summary>
+            <param name="complete">If TRUE completes the tween before killing it</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOKill(UnityEngine.Material,System.Boolean)">
+            <summary>
+            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.
+            </summary>
+            <param name="complete">If TRUE completes the tween before killing it</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOFlip(UnityEngine.Component)">
+            <summary>
+            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.
+            </summary>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOFlip(UnityEngine.Material)">
+            <summary>
+            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.
+            </summary>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOGoto(UnityEngine.Component,System.Single,System.Boolean)">
+            <summary>
+            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.
+            </summary>
+            <param name="to">Time position to reach
+            (if higher than the whole tween duration the tween will simply reach its end)</param>
+            <param name="andPlay">If TRUE will play the tween after reaching the given position, otherwise it will pause it</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOGoto(UnityEngine.Material,System.Single,System.Boolean)">
+            <summary>
+            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.
+            </summary>
+            <param name="to">Time position to reach
+            (if higher than the whole tween duration the tween will simply reach its end)</param>
+            <param name="andPlay">If TRUE will play the tween after reaching the given position, otherwise it will pause it</param>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOPause(UnityEngine.Component)">
+            <summary>
+            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.
+            </summary>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOPause(UnityEngine.Material)">
+            <summary>
+            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.
+            </summary>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOPlay(UnityEngine.Component)">
+            <summary>
+            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.
+            </summary>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOPlay(UnityEngine.Material)">
+            <summary>
+            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.
+            </summary>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOPlayBackwards(UnityEngine.Component)">
+            <summary>
+            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.
+            </summary>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOPlayBackwards(UnityEngine.Material)">
+            <summary>
+            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.
+            </summary>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOPlayForward(UnityEngine.Component)">
+            <summary>
+            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.
+            </summary>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOPlayForward(UnityEngine.Material)">
+            <summary>
+            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.
+            </summary>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DORestart(UnityEngine.Component,System.Boolean)">
+            <summary>
+            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.
+            </summary>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DORestart(UnityEngine.Material,System.Boolean)">
+            <summary>
+            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.
+            </summary>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DORewind(UnityEngine.Component,System.Boolean)">
+            <summary>
+            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.
+            </summary>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DORewind(UnityEngine.Material,System.Boolean)">
+            <summary>
+            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.
+            </summary>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOSmoothRewind(UnityEngine.Component)">
+            <summary>
+            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.
+            </summary>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOSmoothRewind(UnityEngine.Material)">
+            <summary>
+            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.
+            </summary>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOTogglePause(UnityEngine.Component)">
+            <summary>
+            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.
+            </summary>
+        </member>
+        <member name="M:DG.Tweening.ShortcutExtensions.DOTogglePause(UnityEngine.Material)">
+            <summary>
+            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.
+            </summary>
+        </member>
+        <member name="T:DG.Tweening.TweenParams">
+            <summary>
+            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
+            </summary>
+        </member>
+        <member name="F:DG.Tweening.TweenParams.Params">
+            <summary>A variable you can eventually Clear and reuse when needed,
+            to avoid instantiating TweenParams objects</summary>
+        </member>
+        <member name="M:DG.Tweening.TweenParams.#ctor">
+            <summary>Creates a new TweenParams object, which you can use to store tween settings
+            to pass to multiple tweens via <code>myTween.SetAs(myTweenParms)</code></summary>
+        </member>
+        <member name="M:DG.Tweening.TweenParams.Clear">
+            <summary>Clears and resets this TweenParams instance using default values,
+            so it can be reused without instantiating another one</summary>
+        </member>
+        <member name="M:DG.Tweening.TweenParams.SetAutoKill(System.Boolean)">
+            <summary>Sets the autoKill behaviour of the tween. 
+            Has no effect if the tween has already started</summary>
+            <param name="autoKillOnCompletion">If TRUE the tween will be automatically killed when complete</param>
+        </member>
+        <member name="M:DG.Tweening.TweenParams.SetId(System.Object)">
+            <summary>Sets an ID for the tween, which can then be used as a filter with DOTween's static methods.</summary>
+            <param name="objectId">The ID to assign to this tween. Can be an int, a string, an object or anything else.</param>
+        </member>
+        <member name="M:DG.Tweening.TweenParams.SetId(System.String)">
+            <summary>Sets an ID for the tween, which can then be used as a filter with DOTween's static methods.</summary>
+            <param name="stringId">The ID to assign to this tween. Can be an int, a string, an object or anything else.</param>
+        </member>
+        <member name="M:DG.Tweening.TweenParams.SetId(System.Int32)">
+            <summary>Sets an ID for the tween, which can then be used as a filter with DOTween's static methods.</summary>
+            <param name="intId">The ID to assign to this tween. Can be an int, a string, an object or anything else.</param>
+        </member>
+        <member name="M:DG.Tweening.TweenParams.SetTarget(System.Object)">
+            <summary>Sets the target for the tween, which can then be used as a filter with DOTween's static methods.
+            <para>IMPORTANT: use it with caution. If you just want to set an ID for the tween use <code>SetId</code> instead.</para>
+            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.</summary>
+            <param name="target">The target to assign to this tween. Can be an int, a string, an object or anything else.</param>
+        </member>
+        <member name="M:DG.Tweening.TweenParams.SetLoops(System.Int32,System.Nullable{DG.Tweening.LoopType})">
+            <summary>Sets the looping options for the tween. 
+            Has no effect if the tween has already started</summary>
+            <param name="loops">Number of cycles to play (-1 for infinite - will be converted to 1 in case the tween is nested in a Sequence)</param>
+            <param name="loopType">Loop behaviour type (default: LoopType.Restart)</param>
+        </member>
+        <member name="M:DG.Tweening.TweenParams.SetEase(DG.Tweening.Ease,System.Nullable{System.Single},System.Nullable{System.Single})">
+            <summary>Sets the ease of the tween.
+            <para>If applied to Sequences eases the whole sequence animation</para></summary>
+            <param name="overshootOrAmplitude">Eventual overshoot or amplitude to use with Back or Elastic easeType (default is 1.70158)</param>
+            <param name="period">Eventual period to use with Elastic easeType (default is 0)</param>
+        </member>
+        <member name="M:DG.Tweening.TweenParams.SetEase(UnityEngine.AnimationCurve)">
+            <summary>Sets the ease of the tween using an AnimationCurve.
+            <para>If applied to Sequences eases the whole sequence animation</para></summary>
+        </member>
+        <member name="M:DG.Tweening.TweenParams.SetEase(DG.Tweening.EaseFunction)">
+            <summary>Sets the ease of the tween using a custom ease function.
+            <para>If applied to Sequences eases the whole sequence animation</para></summary>
+        </member>
+        <member name="M:DG.Tweening.TweenParams.SetRecyclable(System.Boolean)">
+            <summary>Sets the recycling behaviour for the tween.</summary>
+            <param name="recyclable">If TRUE the tween will be recycled after being killed, otherwise it will be destroyed.</param>
+        </member>
+        <member name="M:DG.Tweening.TweenParams.SetUpdate(System.Boolean)">
+            <summary>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</summary>
+            <param name="isIndependentUpdate">If TRUE the tween will ignore Unity's Time.timeScale</param>
+        </member>
+        <member name="M:DG.Tweening.TweenParams.SetUpdate(DG.Tweening.UpdateType,System.Boolean)">
+            <summary>Sets the type of update (default or independent) for the tween</summary>
+            <param name="updateType">The type of update (default: UpdateType.Normal)</param>
+            <param name="isIndependentUpdate">If TRUE the tween will ignore Unity's Time.timeScale</param>
+        </member>
+        <member name="M:DG.Tweening.TweenParams.OnStart(DG.Tweening.TweenCallback)">
+            <summary>Sets the onStart callback for the tween.
+            Called the first time the tween is set in a playing state, after any eventual delay</summary>
+        </member>
+        <member name="M:DG.Tweening.TweenParams.OnPlay(DG.Tweening.TweenCallback)">
+            <summary>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</summary>
+        </member>
+        <member name="M:DG.Tweening.TweenParams.OnRewind(DG.Tweening.TweenCallback)">
+            <summary>Sets the onRewind callback for the tween.
+            Called when the tween is rewinded,
+            either by calling <code>Rewind</code> or by reaching the start position while playing backwards.
+            Rewinding a tween that is already rewinded will not fire this callback</summary>
+        </member>
+        <member name="M:DG.Tweening.TweenParams.OnUpdate(DG.Tweening.TweenCallback)">
+            <summary>Sets the onUpdate callback for the tween.
+            Called each time the tween updates</summary>
+        </member>
+        <member name="M:DG.Tweening.TweenParams.OnStepComplete(DG.Tweening.TweenCallback)">
+            <summary>Sets the onStepComplete callback for the tween.
+            Called the moment the tween completes one loop cycle, even when going backwards</summary>
+        </member>
+        <member name="M:DG.Tweening.TweenParams.OnComplete(DG.Tweening.TweenCallback)">
+            <summary>Sets the onComplete callback for the tween.
+            Called the moment the tween reaches its final forward position, loops included</summary>
+        </member>
+        <member name="M:DG.Tweening.TweenParams.OnKill(DG.Tweening.TweenCallback)">
+            <summary>Sets the onKill callback for the tween.
+            Called the moment the tween is killed</summary>
+        </member>
+        <member name="M:DG.Tweening.TweenParams.OnWaypointChange(DG.Tweening.TweenCallback{System.Int32})">
+            <summary>Sets the onWaypointChange callback for the tween.
+            Called when a path tween reaches a new waypoint</summary>
+        </member>
+        <member name="M:DG.Tweening.TweenParams.SetDelay(System.Single)">
+            <summary>Sets a delayed startup for the tween.
+            <para>Has no effect on Sequences or if the tween has already started</para></summary>
+        </member>
+        <member name="M:DG.Tweening.TweenParams.SetRelative(System.Boolean)">
+            <summary>If isRelative is TRUE sets the tween as relative
+            (the endValue will be calculated as <code>startValue + endValue</code> instead than being used directly).
+            <para>Has no effect on Sequences or if the tween has already started</para></summary>
+        </member>
+        <member name="M:DG.Tweening.TweenParams.SetSpeedBased(System.Boolean)">
+            <summary>If isSpeedBased is TRUE sets the tween as speed based
+            (the duration will represent the number of units the tween moves x second).
+            <para>Has no effect on Sequences, nested tweens, or if the tween has already started</para></summary>
+        </member>
+        <member name="T:DG.Tweening.TweenSettingsExtensions">
+            <summary>
+            Methods that extend Tween objects and allow to set their parameters
+            </summary>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.SetAutoKill``1(``0)">
+            <summary>Sets the autoKill behaviour of the tween to TRUE. 
+            <code>Has no effect</code> if the tween has already started or if it's added to a Sequence</summary>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.SetAutoKill``1(``0,System.Boolean)">
+            <summary>Sets the autoKill behaviour of the tween. 
+            <code>Has no effect</code> if the tween has already started or if it's added to a Sequence</summary>
+            <param name="autoKillOnCompletion">If TRUE the tween will be automatically killed when complete</param>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.SetId``1(``0,System.Object)">
+            <summary>Sets an ID for the tween (<see cref="F:DG.Tweening.Tween.id"/>), which can then be used as a filter with DOTween's static methods.</summary>
+            <param name="objectId">The ID to assign to this tween. Can be an int, a string, an object or anything else.</param>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.SetId``1(``0,System.String)">
+            <summary>Sets a string ID for the tween (<see cref="F:DG.Tweening.Tween.stringId"/>), which can then be used as a filter with DOTween's static methods.<para/>
+            Filtering via string is 2X faster than using an object as an ID (using the alternate obejct overload)</summary>
+            <param name="stringId">The string ID to assign to this tween.</param>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.SetId``1(``0,System.Int32)">
+            <summary>Sets an int ID for the tween (<see cref="F:DG.Tweening.Tween.intId"/>), which can then be used as a filter with DOTween's static methods.<para/>
+            Filtering via int is 4X faster than via object, 2X faster than via string (using the alternate object/string overloads)</summary>
+            <param name="intId">The int ID to assign to this tween.</param>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.SetLink``1(``0,UnityEngine.GameObject)">
+            <summary>Allows to link this tween to a GameObject
+            so that it will be automatically killed when the GameObject is destroyed.
+            <code>Has no effect</code> if the tween is added to a Sequence</summary>
+            <param name="gameObject">The link target (unrelated to the target set via <code>SetTarget</code>)</param>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.SetLink``1(``0,UnityEngine.GameObject,DG.Tweening.LinkBehaviour)">
+            <summary>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.
+            <code>Has no effect</code> if the tween is added to a Sequence</summary>
+            <param name="gameObject">The link target (unrelated to the target set via <code>SetTarget</code>)</param>
+            <param name="behaviour">The behaviour to use (<see cref="F:DG.Tweening.LinkBehaviour.KillOnDestroy"/> is always evaluated even if you choose another one)</param>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.SetTarget``1(``0,System.Object)">
+            <summary>Sets the target for the tween, which can then be used as a filter with DOTween's static methods.
+            <para>IMPORTANT: use it with caution. If you just want to set an ID for the tween use <code>SetId</code> instead.</para>
+            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.</summary>
+            <param name="target">The target to assign to this tween. Can be an int, a string, an object or anything else.</param>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.SetLoops``1(``0,System.Int32)">
+            <summary>Sets the looping options for the tween. 
+            Has no effect if the tween has already started</summary>
+            <param name="loops">Number of cycles to play (-1 for infinite - will be converted to 1 in case the tween is nested in a Sequence)</param>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.SetLoops``1(``0,System.Int32,DG.Tweening.LoopType)">
+            <summary>Sets the looping options for the tween. 
+            Has no effect if the tween has already started</summary>
+            <param name="loops">Number of cycles to play (-1 for infinite - will be converted to 1 in case the tween is nested in a Sequence)</param>
+            <param name="loopType">Loop behaviour type (default: LoopType.Restart)</param>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.SetEase``1(``0,DG.Tweening.Ease)">
+            <summary>Sets the ease of the tween.
+            <para>If applied to Sequences eases the whole sequence animation</para></summary>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.SetEase``1(``0,DG.Tweening.Ease,System.Single)">
+            <summary>Sets the ease of the tween.
+            <para>If applied to Sequences eases the whole sequence animation</para></summary>
+            <param name="overshoot">
+            Eventual overshoot to use with Back or Flash ease (default is 1.70158 - 1 for Flash).
+            <para>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.</para>
+            </param>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.SetEase``1(``0,DG.Tweening.Ease,System.Single,System.Single)">
+            <summary>Sets the ease of the tween.
+            <para>If applied to Sequences eases the whole sequence animation</para></summary>
+            <param name="amplitude">Eventual amplitude to use with Elastic easeType or overshoot to use with Flash easeType (default is 1.70158 - 1 for Flash).
+            <para>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.</para>
+            </param>
+            <param name="period">Eventual period to use with Elastic or Flash easeType (default is 0).
+            <para>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.</para>
+            </param>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.SetEase``1(``0,UnityEngine.AnimationCurve)">
+            <summary>Sets the ease of the tween using an AnimationCurve.
+            <para>If applied to Sequences eases the whole sequence animation</para></summary>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.SetEase``1(``0,DG.Tweening.EaseFunction)">
+            <summary>Sets the ease of the tween using a custom ease function (which must return a value between 0 and 1).
+            <para>If applied to Sequences eases the whole sequence animation</para></summary>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.SetRecyclable``1(``0)">
+            <summary>Allows the tween to be recycled after being killed.</summary>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.SetRecyclable``1(``0,System.Boolean)">
+            <summary>Sets the recycling behaviour for the tween.</summary>
+            <param name="recyclable">If TRUE the tween will be recycled after being killed, otherwise it will be destroyed.</param>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.SetUpdate``1(``0,System.Boolean)">
+            <summary>Sets the update type to UpdateType.Normal and lets you choose if it should be independent from Unity's Time.timeScale</summary>
+            <param name="isIndependentUpdate">If TRUE the tween will ignore Unity's Time.timeScale</param>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.SetUpdate``1(``0,DG.Tweening.UpdateType)">
+            <summary>Sets the type of update for the tween</summary>
+            <param name="updateType">The type of update (defalt: UpdateType.Normal)</param>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.SetUpdate``1(``0,DG.Tweening.UpdateType,System.Boolean)">
+            <summary>Sets the type of update for the tween and lets you choose if it should be independent from Unity's Time.timeScale</summary>
+            <param name="updateType">The type of update</param>
+            <param name="isIndependentUpdate">If TRUE the tween will ignore Unity's Time.timeScale</param>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.SetInverted``1(``0)">
+            <summary>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). 
+            <code>Has no effect</code> if the tween has already started or if it's added to a Sequence</summary>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.SetInverted``1(``0,System.Boolean)">
+            <summary>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). 
+            <code>Has no effect</code> if the tween has already started or if it's added to a Sequence</summary>
+            <param name="inverted">If TRUE the tween will be inverted, otherwise it won't</param>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.OnStart``1(``0,DG.Tweening.TweenCallback)">
+            <summary>Sets the <code>onStart</code> callback for the tween, clearing any previous <code>onStart</code> callback that was set.
+            Called the first time the tween is set in a playing state, after any eventual delay</summary>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.OnPlay``1(``0,DG.Tweening.TweenCallback)">
+            <summary>Sets the <code>onPlay</code> callback for the tween, clearing any previous <code>onPlay</code> 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</summary>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.OnPause``1(``0,DG.Tweening.TweenCallback)">
+            <summary>Sets the <code>onPause</code> callback for the tween, clearing any previous <code>onPause</code> 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.</summary>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.OnRewind``1(``0,DG.Tweening.TweenCallback)">
+            <summary>Sets the <code>onRewind</code> callback for the tween, clearing any previous <code>onRewind</code> callback that was set.
+            Called when the tween is rewinded,
+            either by calling <code>Rewind</code> or by reaching the start position while playing backwards.
+            Rewinding a tween that is already rewinded will not fire this callback</summary>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.OnUpdate``1(``0,DG.Tweening.TweenCallback)">
+            <summary>Sets the <code>onUpdate</code> callback for the tween, clearing any previous <code>onUpdate</code> callback that was set.
+            Called each time the tween updates</summary>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.OnStepComplete``1(``0,DG.Tweening.TweenCallback)">
+            <summary>Sets the <code>onStepComplete</code> callback for the tween, clearing any previous <code>onStepComplete</code> callback that was set.
+            Called the moment the tween completes one loop cycle, even when going backwards</summary>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.OnComplete``1(``0,DG.Tweening.TweenCallback)">
+            <summary>Sets the <code>onComplete</code> callback for the tween, clearing any previous <code>onComplete</code> callback that was set.
+            Called the moment the tween reaches its final forward position, loops included</summary>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.OnKill``1(``0,DG.Tweening.TweenCallback)">
+            <summary>Sets the <code>onKill</code> callback for the tween, clearing any previous <code>onKill</code> callback that was set.
+            Called the moment the tween is killed</summary>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.OnWaypointChange``1(``0,DG.Tweening.TweenCallback{System.Int32})">
+            <summary>Sets the <code>onWaypointChange</code> callback for the tween, clearing any previous <code>onWaypointChange</code> callback that was set.
+            Called when a path tween's current waypoint changes</summary>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.SetAs``1(``0,DG.Tweening.Tween)">
+            <summary>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.
+            <para>Has no effect if the tween has already started.</para>
+            NOTE: the tween's <code>target</code> will not be changed</summary>
+            <param name="asTween">Tween from which to copy the parameters</param>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.SetAs``1(``0,DG.Tweening.TweenParams)">
+            <summary>Sets the parameters of the tween (id, ease, loops, delay, timeScale, callbacks, etc) as the parameters of the given TweenParams.
+            <para>Has no effect if the tween has already started.</para></summary>
+            <param name="tweenParams">TweenParams from which to copy the parameters</param>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.Append(DG.Tweening.Sequence,DG.Tweening.Tween)">
+            <summary>Adds the given tween to the end of the Sequence. 
+            Has no effect if the Sequence has already started</summary>
+            <param name="t">The tween to append</param>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.Prepend(DG.Tweening.Sequence,DG.Tweening.Tween)">
+            <summary>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</summary>
+            <param name="t">The tween to prepend</param>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.Join(DG.Tweening.Sequence,DG.Tweening.Tween)">
+            <summary>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</summary>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.Insert(DG.Tweening.Sequence,System.Single,DG.Tweening.Tween)">
+            <summary>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</summary>
+            <param name="atPosition">The time position where the tween will be placed</param>
+            <param name="t">The tween to insert</param>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.AppendInterval(DG.Tweening.Sequence,System.Single)">
+            <summary>Adds the given interval to the end of the Sequence. 
+            Has no effect if the Sequence has already started</summary>
+            <param name="interval">The interval duration</param>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.PrependInterval(DG.Tweening.Sequence,System.Single)">
+            <summary>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</summary>
+            <param name="interval">The interval duration</param>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.AppendCallback(DG.Tweening.Sequence,DG.Tweening.TweenCallback)">
+            <summary>Adds the given callback to the end of the Sequence. 
+            Has no effect if the Sequence has already started</summary>
+            <param name="callback">The callback to append</param>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.PrependCallback(DG.Tweening.Sequence,DG.Tweening.TweenCallback)">
+            <summary>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</summary>
+            <param name="callback">The callback to prepend</param>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.JoinCallback(DG.Tweening.Sequence,DG.Tweening.TweenCallback)">
+            <summary>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</summary>
+            /// &lt;param name="callback"&gt;The callback to prepend&lt;/param&gt;
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.InsertCallback(DG.Tweening.Sequence,System.Single,DG.Tweening.TweenCallback)">
+            <summary>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</summary>
+            <param name="atPosition">The time position where the callback will be placed</param>
+            <param name="callback">The callback to insert</param>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.From``1(``0)">
+            <summary>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.</summary>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.From``1(``0,System.Boolean)">
+            <summary>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.</summary>
+            <param name="isRelative">If TRUE the FROM value will be calculated as relative to the current one</param>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.From``1(``0,System.Boolean,System.Boolean)">
+            <summary>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.</summary>
+            <param name="setImmediately">If TRUE sets the target to from value immediately, otherwise waits for the tween to start</param>
+            <param name="isRelative">If TRUE the FROM value will be calculated as relative to the current one</param>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.From``3(DG.Tweening.Core.TweenerCore{``0,``1,``2},``1,System.Boolean,System.Boolean)">
+            <summary>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.</summary>
+            <param name="fromValue">Value to start from</param>
+            <param name="setImmediately">If TRUE sets the target to from value immediately, otherwise waits for the tween to start</param>
+            <param name="isRelative">If TRUE the FROM/TO values will be calculated as relative to the current ones</param>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.From(DG.Tweening.Core.TweenerCore{UnityEngine.Color,UnityEngine.Color,DG.Tweening.Plugins.Options.ColorOptions},System.Single,System.Boolean,System.Boolean)">
+            <summary>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.</summary>
+            <param name="fromAlphaValue">Alpha value to start from (in case of Fade tweens)</param>
+            <param name="setImmediately">If TRUE sets the target to from value immediately, otherwise waits for the tween to start</param>
+            <param name="isRelative">If TRUE the FROM/TO values will be calculated as relative to the current ones</param>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.From(DG.Tweening.Core.TweenerCore{UnityEngine.Vector3,UnityEngine.Vector3,DG.Tweening.Plugins.Options.VectorOptions},System.Single,System.Boolean,System.Boolean)">
+            <summary>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.</summary>
+            <param name="fromValue">Value to start from (in case of Vector tweens that act on a single coordinate or scale tweens)</param>
+            <param name="setImmediately">If TRUE sets the target to from value immediately, otherwise waits for the tween to start</param>
+            <param name="isRelative">If TRUE the FROM/TO values will be calculated as relative to the current ones</param>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.From(DG.Tweening.Core.TweenerCore{UnityEngine.Vector2,UnityEngine.Vector2,DG.Tweening.Plugins.CircleOptions},System.Single,System.Boolean,System.Boolean)">
+            <summary>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.</summary>
+            <param name="fromValueDegrees">Value to start from (in case of Vector tweens that act on a single coordinate or scale tweens)</param>
+            <param name="setImmediately">If TRUE sets the target to from value immediately, otherwise waits for the tween to start</param>
+            <param name="isRelative">If TRUE the FROM/TO values will be calculated as relative to the current ones</param>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.SetDelay``1(``0,System.Single)">
+            <summary>Sets a delayed startup for the tween.<para/>
+            In case of Sequences behaves the same as <see cref="M:DG.Tweening.TweenSettingsExtensions.PrependInterval(DG.Tweening.Sequence,System.Single)"/>,
+            which means the delay will repeat in case of loops (while with tweens it's ignored after the first loop cycle).<para/>
+            Has no effect if the tween has already started</summary>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.SetDelay``1(``0,System.Single,System.Boolean)">
+            <summary>EXPERIMENTAL: implemented in v1.2.340.<para/>
+            Sets a delayed startup for the tween with options to choose how the delay is applied in case of Sequences.<para/>
+            Has no effect if the tween has already started</summary>
+            <param name="asPrependedIntervalIfSequence">Only used by <see cref="T:DG.Tweening.Sequence"/> types: If FALSE sets the delay as a one-time occurrence
+            (defaults to this for <see cref="T:DG.Tweening.Tweener"/> types),
+            otherwise as a Sequence interval which will repeat at the beginning of every loop cycle</param>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.SetRelative``1(``0)">
+            <summary>Sets the tween as relative
+            (the endValue will be calculated as <code>startValue + endValue</code> instead than being used directly).
+            <para>Has no effect on Sequences or if the tween has already started</para></summary>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.SetRelative``1(``0,System.Boolean)">
+            <summary>If isRelative is TRUE sets the tween as relative
+            (the endValue will be calculated as <code>startValue + endValue</code> instead than being used directly).
+            <para>Has no effect on Sequences or if the tween has already started</para></summary>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.SetSpeedBased``1(``0)">
+            <summary>If isSpeedBased is TRUE sets the tween as speed based
+            (the duration will represent the number of units the tween moves x second).
+            <para>Has no effect on Sequences, nested tweens, or if the tween has already started</para></summary>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.SetSpeedBased``1(``0,System.Boolean)">
+            <summary>If isSpeedBased is TRUE sets the tween as speed based
+            (the duration will represent the number of units the tween moves x second).
+            <para>Has no effect on Sequences, nested tweens, or if the tween has already started</para></summary>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.SetOptions(DG.Tweening.Core.TweenerCore{System.Single,System.Single,DG.Tweening.Plugins.Options.FloatOptions},System.Boolean)">
+            <summary>Options for float tweens</summary>
+            <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.SetOptions(DG.Tweening.Core.TweenerCore{UnityEngine.Vector2,UnityEngine.Vector2,DG.Tweening.Plugins.Options.VectorOptions},System.Boolean)">
+            <summary>Options for Vector2 tweens</summary>
+            <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.SetOptions(DG.Tweening.Core.TweenerCore{UnityEngine.Vector2,UnityEngine.Vector2,DG.Tweening.Plugins.Options.VectorOptions},DG.Tweening.AxisConstraint,System.Boolean)">
+            <summary>Options for Vector2 tweens</summary>
+            <param name="axisConstraint">Selecting an axis will tween the vector only on that axis, leaving the others untouched</param>
+            <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.SetOptions(DG.Tweening.Core.TweenerCore{UnityEngine.Vector3,UnityEngine.Vector3,DG.Tweening.Plugins.Options.VectorOptions},System.Boolean)">
+            <summary>Options for Vector3 tweens</summary>
+            <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.SetOptions(DG.Tweening.Core.TweenerCore{UnityEngine.Vector3,UnityEngine.Vector3,DG.Tweening.Plugins.Options.VectorOptions},DG.Tweening.AxisConstraint,System.Boolean)">
+            <summary>Options for Vector3 tweens</summary>
+            <param name="axisConstraint">Selecting an axis will tween the vector only on that axis, leaving the others untouched</param>
+            <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.SetOptions(DG.Tweening.Core.TweenerCore{UnityEngine.Vector4,UnityEngine.Vector4,DG.Tweening.Plugins.Options.VectorOptions},System.Boolean)">
+            <summary>Options for Vector4 tweens</summary>
+            <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.SetOptions(DG.Tweening.Core.TweenerCore{UnityEngine.Vector4,UnityEngine.Vector4,DG.Tweening.Plugins.Options.VectorOptions},DG.Tweening.AxisConstraint,System.Boolean)">
+            <summary>Options for Vector4 tweens</summary>
+            <param name="axisConstraint">Selecting an axis will tween the vector only on that axis, leaving the others untouched</param>
+            <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.SetOptions(DG.Tweening.Core.TweenerCore{UnityEngine.Quaternion,UnityEngine.Vector3,DG.Tweening.Plugins.Options.QuaternionOptions},System.Boolean)">
+            <summary>Options for Quaternion tweens</summary>
+            <param name="useShortest360Route">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</param>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.SetOptions(DG.Tweening.Core.TweenerCore{UnityEngine.Color,UnityEngine.Color,DG.Tweening.Plugins.Options.ColorOptions},System.Boolean)">
+            <summary>Options for Color tweens</summary>
+            <param name="alphaOnly">If TRUE only the alpha value of the color will be tweened</param>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.SetOptions(DG.Tweening.Core.TweenerCore{UnityEngine.Rect,UnityEngine.Rect,DG.Tweening.Plugins.Options.RectOptions},System.Boolean)">
+            <summary>Options for Vector4 tweens</summary>
+            <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.SetOptions(DG.Tweening.Core.TweenerCore{System.String,System.String,DG.Tweening.Plugins.Options.StringOptions},System.Boolean,DG.Tweening.ScrambleMode,System.String)">
+            <summary>Options for Vector4 tweens</summary>
+            <param name="richTextEnabled">If TRUE, rich text will be interpreted correctly while animated,
+            otherwise all tags will be considered as normal text</param>
+            <param name="scrambleMode">The type of scramble to use, if any</param>
+            <param name="scrambleChars">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</param>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.SetOptions(DG.Tweening.Core.TweenerCore{UnityEngine.Vector3,UnityEngine.Vector3[],DG.Tweening.Plugins.Options.Vector3ArrayOptions},System.Boolean)">
+            <summary>Options for Vector3Array tweens</summary>
+            <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.SetOptions(DG.Tweening.Core.TweenerCore{UnityEngine.Vector3,UnityEngine.Vector3[],DG.Tweening.Plugins.Options.Vector3ArrayOptions},DG.Tweening.AxisConstraint,System.Boolean)">
+            <summary>Options for Vector3Array tweens</summary>
+            <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.SetOptions(DG.Tweening.Core.TweenerCore{UnityEngine.Vector2,UnityEngine.Vector2,DG.Tweening.Plugins.CircleOptions},System.Single,System.Boolean,System.Boolean)">
+            <summary>Options for ShapeCircle tweens</summary>
+            <param name="relativeCenter">If TRUE the center you set in the DOTween.To method will be considered as relative
+            to the starting position of the target</param>
+            <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.SetOptions(DG.Tweening.Core.TweenerCore{UnityEngine.Vector3,DG.Tweening.Plugins.Core.PathCore.Path,DG.Tweening.Plugins.Options.PathOptions},DG.Tweening.AxisConstraint,DG.Tweening.AxisConstraint)">
+            <summary>Options for Path tweens (created via the <code>DOPath</code> shortcut)</summary>
+            <param name="lockPosition">The eventual movement axis to lock. You can input multiple axis if you separate them like this:
+            <para>AxisConstrain.X | AxisConstraint.Y</para></param>
+            <param name="lockRotation">The eventual rotation axis to lock. You can input multiple axis if you separate them like this:
+            <para>AxisConstrain.X | AxisConstraint.Y</para></param>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.SetOptions(DG.Tweening.Core.TweenerCore{UnityEngine.Vector3,DG.Tweening.Plugins.Core.PathCore.Path,DG.Tweening.Plugins.Options.PathOptions},System.Boolean,DG.Tweening.AxisConstraint,DG.Tweening.AxisConstraint)">
+            <summary>Options for Path tweens (created via the <code>DOPath</code> shortcut)</summary>
+            <param name="closePath">If TRUE the path will be automatically closed</param>
+            <param name="lockPosition">The eventual movement axis to lock. You can input multiple axis if you separate them like this:
+            <para>AxisConstrain.X | AxisConstraint.Y</para></param>
+            <param name="lockRotation">The eventual rotation axis to lock. You can input multiple axis if you separate them like this:
+            <para>AxisConstrain.X | AxisConstraint.Y</para></param>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.SetLookAt(DG.Tweening.Core.TweenerCore{UnityEngine.Vector3,DG.Tweening.Plugins.Core.PathCore.Path,DG.Tweening.Plugins.Options.PathOptions},UnityEngine.Vector3,System.Nullable{UnityEngine.Vector3},System.Nullable{UnityEngine.Vector3})">
+            <summary>Additional LookAt options for Path tweens (created via the <code>DOPath</code> shortcut).
+            Orients the target towards the given position.
+            Must be chained directly to the tween creation method or to a <code>SetOptions</code></summary>
+            <param name="lookAtPosition">The position to look at</param>
+            <param name="forwardDirection">The eventual direction to consider as "forward".
+            If left to NULL defaults to the regular forward side of the transform</param>
+            <param name="up">The vector that defines in which direction up is (default: Vector3.up)</param>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.SetLookAt(DG.Tweening.Core.TweenerCore{UnityEngine.Vector3,DG.Tweening.Plugins.Core.PathCore.Path,DG.Tweening.Plugins.Options.PathOptions},UnityEngine.Vector3,System.Boolean)">
+            <summary>Additional LookAt options for Path tweens (created via the <code>DOPath</code> 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 <code>SetOptions</code></summary>
+            <param name="lookAtPosition">The position to look at</param>
+            <param name="stableZRotation">If TRUE doesn't rotate the target along the Z axis</param>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.SetLookAt(DG.Tweening.Core.TweenerCore{UnityEngine.Vector3,DG.Tweening.Plugins.Core.PathCore.Path,DG.Tweening.Plugins.Options.PathOptions},UnityEngine.Transform,System.Nullable{UnityEngine.Vector3},System.Nullable{UnityEngine.Vector3})">
+            <summary>Additional LookAt options for Path tweens (created via the <code>DOPath</code> shortcut).
+            Orients the target towards another transform.
+            Must be chained directly to the tween creation method or to a <code>SetOptions</code></summary>
+            <param name="lookAtTransform">The transform to look at</param>
+            <param name="forwardDirection">The eventual direction to consider as "forward".
+            If left to NULL defaults to the regular forward side of the transform</param>
+            <param name="up">The vector that defines in which direction up is (default: Vector3.up)</param>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.SetLookAt(DG.Tweening.Core.TweenerCore{UnityEngine.Vector3,DG.Tweening.Plugins.Core.PathCore.Path,DG.Tweening.Plugins.Options.PathOptions},UnityEngine.Transform,System.Boolean)">
+            <summary>Additional LookAt options for Path tweens (created via the <code>DOPath</code> 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 <code>SetOptions</code></summary>
+            <param name="lookAtTransform">The transform to look at</param>
+            <param name="stableZRotation">If TRUE doesn't rotate the target along the Z axis</param>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.SetLookAt(DG.Tweening.Core.TweenerCore{UnityEngine.Vector3,DG.Tweening.Plugins.Core.PathCore.Path,DG.Tweening.Plugins.Options.PathOptions},System.Single,System.Nullable{UnityEngine.Vector3},System.Nullable{UnityEngine.Vector3})">
+            <summary>Additional LookAt options for Path tweens (created via the <code>DOPath</code> shortcut).
+            Orients the target to the path, with the given lookAhead.
+            Must be chained directly to the tween creation method or to a <code>SetOptions</code></summary>
+            <param name="lookAhead">The percentage of lookAhead to use (0 to 1)</param>
+            <param name="forwardDirection">The eventual direction to consider as "forward".
+            If left to NULL defaults to the regular forward side of the transform</param>
+            <param name="up">The vector that defines in which direction up is (default: Vector3.up)</param>
+        </member>
+        <member name="M:DG.Tweening.TweenSettingsExtensions.SetLookAt(DG.Tweening.Core.TweenerCore{UnityEngine.Vector3,DG.Tweening.Plugins.Core.PathCore.Path,DG.Tweening.Plugins.Options.PathOptions},System.Single,System.Boolean)">
+            <summary>Additional LookAt options for Path tweens (created via the <code>DOPath</code> shortcut).
+            Orients the path with options to keep the Z rotation stable.
+            Must be chained directly to the tween creation method or to a <code>SetOptions</code></summary>
+            <param name="lookAhead">The percentage of lookAhead to use (0 to 1)</param>
+            <param name="stableZRotation">If TRUE doesn't rotate the target along the Z axis</param>
+        </member>
+        <member name="T:DG.Tweening.LogBehaviour">
+            <summary>
+            Types of log behaviours
+            </summary>
+        </member>
+        <member name="F:DG.Tweening.LogBehaviour.Default">
+            <summary>Log only warnings and errors</summary>
+        </member>
+        <member name="F:DG.Tweening.LogBehaviour.Verbose">
+            <summary>Log warnings, errors and additional infos</summary>
+        </member>
+        <member name="F:DG.Tweening.LogBehaviour.ErrorsOnly">
+            <summary>Log only errors</summary>
+        </member>
+        <member name="T:DG.Tweening.Tween">
+            <summary>
+            Indicates either a Tweener or a Sequence
+            </summary>
+        </member>
+        <member name="F:DG.Tweening.Tween.timeScale">
+            <summary>TimeScale for the tween</summary>
+        </member>
+        <member name="F:DG.Tweening.Tween.isBackwards">
+            <summary>If TRUE the tween will play backwards</summary>
+        </member>
+        <member name="F:DG.Tweening.Tween.isInverted">
+            <summary>If TRUE the tween is completely inverted but without playing it backwards
+            (play backwards will actually play the tween in the original direction)</summary>
+        </member>
+        <member name="F:DG.Tweening.Tween.id">
+            <summary>Object ID (usable for filtering with DOTween static methods). Can be anything except a string or an int
+            (use <see cref="F:DG.Tweening.Tween.stringId"/> or <see cref="F:DG.Tweening.Tween.intId"/> for those)</summary>
+        </member>
+        <member name="F:DG.Tweening.Tween.stringId">
+            <summary>String ID (usable for filtering with DOTween static methods). 2X faster than using an object id</summary>
+        </member>
+        <member name="F:DG.Tweening.Tween.intId">
+            <summary>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</summary>
+        </member>
+        <member name="F:DG.Tweening.Tween.target">
+            <summary>Tween target (usable for filtering with DOTween static methods). Automatically set by tween creation shortcuts</summary>
+        </member>
+        <member name="F:DG.Tweening.Tween.onPlay">
+            <summary>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</summary>
+        </member>
+        <member name="F:DG.Tweening.Tween.onPause">
+            <summary>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.</summary>
+        </member>
+        <member name="F:DG.Tweening.Tween.onRewind">
+            <summary>Called when the tween is rewinded,
+            either by calling <code>Rewind</code> or by reaching the start position while playing backwards.
+            Rewinding a tween that is already rewinded will not fire this callback</summary>
+        </member>
+        <member name="F:DG.Tweening.Tween.onUpdate">
+            <summary>Called each time the tween updates</summary>
+        </member>
+        <member name="F:DG.Tweening.Tween.onStepComplete">
+            <summary>Called the moment the tween completes one loop cycle</summary>
+        </member>
+        <member name="F:DG.Tweening.Tween.onComplete">
+            <summary>Called the moment the tween reaches completion (loops included)</summary>
+        </member>
+        <member name="F:DG.Tweening.Tween.onKill">
+            <summary>Called the moment the tween is killed</summary>
+        </member>
+        <member name="F:DG.Tweening.Tween.onWaypointChange">
+            <summary>Called when a path tween's current waypoint changes</summary>
+        </member>
+        <member name="P:DG.Tweening.Tween.isRelative">
+            <summary>Tweeners-only (ignored by Sequences), returns TRUE if the tween was set as relative</summary>
+        </member>
+        <member name="F:DG.Tweening.Tween.debugTargetId">
+            <summary>
+            Set by SetTarget if DOTween's Debug Mode is on (see DOTween Utility Panel -> "Store GameObject's ID" debug option
+            </summary>
+        </member>
+        <member name="P:DG.Tweening.Tween.active">
+            <summary>FALSE when tween is (or should be) despawned - set only by TweenManager</summary>
+        </member>
+        <member name="P:DG.Tweening.Tween.fullPosition">
+            <summary>Gets and sets the time position (loops included, delays excluded) of the tween</summary>
+        </member>
+        <member name="P:DG.Tweening.Tween.hasLoops">
+            <summary>Returns TRUE if the tween is set to loop (either a set number of times or infinitely)</summary>
+        </member>
+        <member name="P:DG.Tweening.Tween.playedOnce">
+            <summary>TRUE after the tween was set in a play state at least once, AFTER any delay is elapsed</summary>
+        </member>
+        <member name="P:DG.Tweening.Tween.position">
+            <summary>Time position within a single loop cycle</summary>
+        </member>
+        <member name="T:DG.Tweening.Tweener">
+            <summary>
+            Animates a single value
+            </summary>
+        </member>
+        <member name="M:DG.Tweening.Tweener.ChangeStartValue(System.Object,System.Single)">
+            <summary>Changes the start value of a tween and rewinds it (without pausing it).
+            Has no effect with tweens that are inside Sequences</summary>
+            <param name="newStartValue">The new start value</param>
+            <param name="newDuration">If bigger than 0 applies it as the new tween duration</param>
+        </member>
+        <member name="M:DG.Tweening.Tweener.ChangeEndValue(System.Object,System.Single,System.Boolean)">
+            <summary>Changes the end value of a tween and rewinds it (without pausing it).
+            Has no effect with tweens that are inside Sequences</summary>
+            <param name="newEndValue">The new end value</param>
+            <param name="newDuration">If bigger than 0 applies it as the new tween duration</param>
+            <param name="snapStartValue">If TRUE the start value will become the current target's value, otherwise it will stay the same</param>
+        </member>
+        <member name="M:DG.Tweening.Tweener.ChangeEndValue(System.Object,System.Boolean)">
+            <summary>Changes the end value of a tween and rewinds it (without pausing it).
+            Has no effect with tweens that are inside Sequences</summary>
+            <param name="newEndValue">The new end value</param>
+            <param name="snapStartValue">If TRUE the start value will become the current target's value, otherwise it will stay the same</param>
+        </member>
+        <member name="M:DG.Tweening.Tweener.ChangeValues(System.Object,System.Object,System.Single)">
+            <summary>Changes the start and end value of a tween and rewinds it (without pausing it).
+            Has no effect with tweens that are inside Sequences</summary>
+            <param name="newStartValue">The new start value</param>
+            <param name="newEndValue">The new end value</param>
+            <param name="newDuration">If bigger than 0 applies it as the new tween duration</param>
+        </member>
+        <member name="T:DG.Tweening.TweenType">
+            <summary>
+            Used internally
+            </summary>
+        </member>
+        <member name="T:DG.Tweening.UpdateType">
+            <summary>
+            Update type
+            </summary>
+        </member>
+        <member name="F:DG.Tweening.UpdateType.Normal">
+            <summary>Updates every frame during Update calls</summary>
+        </member>
+        <member name="F:DG.Tweening.UpdateType.Late">
+            <summary>Updates every frame during LateUpdate calls</summary>
+        </member>
+        <member name="F:DG.Tweening.UpdateType.Fixed">
+            <summary>Updates using FixedUpdate calls</summary>
+        </member>
+        <member name="F:DG.Tweening.UpdateType.Manual">
+            <summary>Updates using manual update calls</summary>
+        </member>
+    </members>
+</doc>

+ 7 - 0
ActionTowerDefense/Assets/Plugins/DOTween/DOTween.XML.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: f60b74622b3ade644a629bda504071fa
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
ActionTowerDefense/Assets/Plugins/DOTween/DOTween.dll


+ 33 - 0
ActionTowerDefense/Assets/Plugins/DOTween/DOTween.dll.meta

@@ -0,0 +1,33 @@
+fileFormatVersion: 2
+guid: 276d69f0faf858a4b86ea4a546e08988
+PluginImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  iconMap: {}
+  executionOrder: {}
+  defineConstraints: []
+  isPreloaded: 0
+  isOverridable: 0
+  isExplicitlyReferenced: 0
+  validateReferences: 1
+  platformData:
+  - first:
+      Any: 
+    second:
+      enabled: 1
+      settings: {}
+  - first:
+      Editor: Editor
+    second:
+      enabled: 0
+      settings:
+        DefaultValueInitialized: true
+  - first:
+      Windows Store Apps: WindowsStoreApps
+    second:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
ActionTowerDefense/Assets/Plugins/DOTween/Editor.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 861f92c9f6a3cb3489d7dc36b8fc1f67
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 144 - 0
ActionTowerDefense/Assets/Plugins/DOTween/Editor/DOTweenEditor.XML

@@ -0,0 +1,144 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>DOTweenEditor</name>
+    </assembly>
+    <members>
+        <member name="T:DG.DOTweenEditor.EditorCompatibilityUtils">
+            <summary>
+            Contains compatibility methods taken from DemiEditor (for when DOTween is without it)
+            </summary>
+        </member>
+        <member name="M:DG.DOTweenEditor.EditorCompatibilityUtils.FindObjectOfType``1(System.Boolean)">
+            <summary>
+            Warning: some versions of this method don't have the includeInactive parameter so it won't be taken into account
+            </summary>
+        </member>
+        <member name="M:DG.DOTweenEditor.EditorCompatibilityUtils.FindObjectOfType(System.Type,System.Boolean)">
+            <summary>
+            Warning: some versions of this method don't have the includeInactive parameter so it won't be taken into account
+            </summary>
+        </member>
+        <member name="M:DG.DOTweenEditor.EditorCompatibilityUtils.FindObjectsOfType``1(System.Boolean)">
+            <summary>
+            Warning: some versions of this method don't have the includeInactive parameter so it won't be taken into account
+            </summary>
+        </member>
+        <member name="M:DG.DOTweenEditor.EditorCompatibilityUtils.FindObjectsOfType(System.Type,System.Boolean)">
+            <summary>
+            Warning: some versions of this method don't have the includeInactive parameter so it won't be taken into account
+            </summary>
+        </member>
+        <member name="M:DG.DOTweenEditor.DOTweenEditorPreview.Start(System.Action)">
+            <summary>
+            Starts the update loop of tween in the editor. Has no effect during playMode.
+            </summary>
+            <param name="onPreviewUpdated">Eventual callback to call after every update</param>
+        </member>
+        <member name="M:DG.DOTweenEditor.DOTweenEditorPreview.Stop(System.Boolean,System.Boolean)">
+            <summary>
+            Stops the update loop and clears the onPreviewUpdated callback.
+            </summary>
+            <param name="resetTweenTargets">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</param>
+            <param name="clearTweens">If TRUE also kills any cached tween</param>
+        </member>
+        <member name="M:DG.DOTweenEditor.DOTweenEditorPreview.PrepareTweenForPreview(DG.Tweening.Tween,System.Boolean,System.Boolean,System.Boolean)">
+            <summary>
+            Readies the tween for editor preview by setting its UpdateType to Manual plus eventual extra settings.
+            </summary>
+            <param name="t">The tween to ready</param>
+            <param name="clearCallbacks">If TRUE (recommended) removes all callbacks (OnComplete/Rewind/etc)</param>
+            <param name="preventAutoKill">If TRUE prevents the tween from being auto-killed at completion</param>
+            <param name="andPlay">If TRUE starts playing the tween immediately</param>
+        </member>
+        <member name="F:DG.DOTweenEditor.EditorVersion.Version">
+            <summary>Full major version + first minor version (ex: 2018.1f)</summary>
+        </member>
+        <member name="F:DG.DOTweenEditor.EditorVersion.MajorVersion">
+            <summary>Major version</summary>
+        </member>
+        <member name="F:DG.DOTweenEditor.EditorVersion.MinorVersion">
+            <summary>First minor version (ex: in 2018.1 it would be 1)</summary>
+        </member>
+        <member name="M:DG.DOTweenEditor.EditorUtils.SetEditorTexture(UnityEngine.Texture2D,UnityEngine.FilterMode,System.Int32)">
+            <summary>
+            Checks that the given editor texture use the correct import settings,
+            and applies them if they're incorrect.
+            </summary>
+        </member>
+        <member name="M:DG.DOTweenEditor.EditorUtils.DOTweenSetupRequired">
+            <summary>
+            Returns TRUE if setup is required
+            </summary>
+        </member>
+        <member name="M:DG.DOTweenEditor.EditorUtils.AssetExists(System.String)">
+            <summary>
+            Returns TRUE if the file/directory at the given path exists.
+            </summary>
+            <param name="adbPath">Path, relative to Unity's project folder</param>
+            <returns></returns>
+        </member>
+        <member name="M:DG.DOTweenEditor.EditorUtils.ADBPathToFullPath(System.String)">
+            <summary>
+            Converts the given project-relative path to a full path,
+            with backward (\) slashes).
+            </summary>
+        </member>
+        <member name="M:DG.DOTweenEditor.EditorUtils.FullPathToADBPath(System.String)">
+            <summary>
+            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).
+            </summary>
+        </member>
+        <member name="M:DG.DOTweenEditor.EditorUtils.ConnectToSourceAsset``1(System.String,System.Boolean)">
+            <summary>
+            Connects to a <see cref="T:UnityEngine.ScriptableObject"/> 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).
+            </summary>
+            <typeparam name="T">Asset type</typeparam>
+            <param name="adbFilePath">File path (relative to Unity's project folder)</param>
+            <param name="createIfMissing">If TRUE and the requested asset doesn't exist, forces its creation</param>
+        </member>
+        <member name="M:DG.DOTweenEditor.EditorUtils.GetAssemblyFilePath(System.Reflection.Assembly)">
+            <summary>
+            Full path for the given loaded assembly, assembly file included
+            </summary>
+        </member>
+        <member name="M:DG.DOTweenEditor.EditorUtils.AddGlobalDefine(System.String)">
+            <summary>
+            Adds the given global define if it's not already present
+            </summary>
+        </member>
+        <member name="M:DG.DOTweenEditor.EditorUtils.RemoveGlobalDefine(System.String)">
+            <summary>
+            Removes the given global define if it's present
+            </summary>
+        </member>
+        <member name="M:DG.DOTweenEditor.EditorUtils.HasGlobalDefine(System.String,System.Nullable{UnityEditor.BuildTargetGroup})">
+            <summary>
+            Returns TRUE if the given global define is present in all the <see cref="T:UnityEditor.BuildTargetGroup"/>
+            or only in the given <see cref="T:UnityEditor.BuildTargetGroup"/>, depending on passed parameters.<para/>
+            </summary>
+            <param name="id"></param>
+            <param name="buildTargetGroup"><see cref="T:UnityEditor.BuildTargetGroup"/>to use. Leave NULL to check in all of them.</param>
+        </member>
+        <member name="T:DG.DOTweenEditor.DOTweenDefines">
+            <summary>
+            Not used as menu item anymore, but as a utility function
+            </summary>
+        </member>
+        <member name="F:DG.DOTweenEditor.UnityEditorVersion.Version">
+            <summary>Full major version + first minor version (ex: 2018.1f)</summary>
+        </member>
+        <member name="F:DG.DOTweenEditor.UnityEditorVersion.MajorVersion">
+            <summary>Major version</summary>
+        </member>
+        <member name="F:DG.DOTweenEditor.UnityEditorVersion.MinorVersion">
+            <summary>First minor version (ex: in 2018.1 it would be 1)</summary>
+        </member>
+    </members>
+</doc>

+ 7 - 0
ActionTowerDefense/Assets/Plugins/DOTween/Editor/DOTweenEditor.XML.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: cc1e56b75d97fdc4a8988e3c1f15c491
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
ActionTowerDefense/Assets/Plugins/DOTween/Editor/DOTweenEditor.dll


+ 33 - 0
ActionTowerDefense/Assets/Plugins/DOTween/Editor/DOTweenEditor.dll.meta

@@ -0,0 +1,33 @@
+fileFormatVersion: 2
+guid: cfda28a9c77846844ad2db8f7f34442a
+PluginImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  iconMap: {}
+  executionOrder: {}
+  defineConstraints: []
+  isPreloaded: 0
+  isOverridable: 0
+  isExplicitlyReferenced: 0
+  validateReferences: 1
+  platformData:
+  - first:
+      Any: 
+    second:
+      enabled: 0
+      settings: {}
+  - first:
+      Editor: Editor
+    second:
+      enabled: 1
+      settings:
+        DefaultValueInitialized: true
+  - first:
+      Windows Store Apps: WindowsStoreApps
+    second:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
ActionTowerDefense/Assets/Plugins/DOTween/Editor/Imgs.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 5543c4b205ebf1a4f8773bfe9eb73a65
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
ActionTowerDefense/Assets/Plugins/DOTween/Editor/Imgs/DOTweenIcon.png


+ 123 - 0
ActionTowerDefense/Assets/Plugins/DOTween/Editor/Imgs/DOTweenIcon.png.meta

@@ -0,0 +1,123 @@
+fileFormatVersion: 2
+guid: f622f5aec6fc0c54e9677a5b7db3a27b
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 12
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  vTOnly: 0
+  ignoreMasterTextureLimit: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: 1
+    aniso: 1
+    mipBias: 0
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  flipbookRows: 1
+  flipbookColumns: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  ignorePngGamma: 0
+  applyGammaDecoding: 0
+  cookieLightType: 0
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Server
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 5e97eb03825dee720800000000000000
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+    nameFileIdTable: {}
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
ActionTowerDefense/Assets/Plugins/DOTween/Editor/Imgs/DOTweenMiniIcon.png


+ 123 - 0
ActionTowerDefense/Assets/Plugins/DOTween/Editor/Imgs/DOTweenMiniIcon.png.meta

@@ -0,0 +1,123 @@
+fileFormatVersion: 2
+guid: 72dcace94f58767498b93b16b7ad0ec0
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 12
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  vTOnly: 0
+  ignoreMasterTextureLimit: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: 1
+    aniso: 1
+    mipBias: 0
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  flipbookRows: 1
+  flipbookColumns: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  ignorePngGamma: 0
+  applyGammaDecoding: 0
+  cookieLightType: 0
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Server
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 5e97eb03825dee720800000000000000
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+    nameFileIdTable: {}
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
ActionTowerDefense/Assets/Plugins/DOTween/Editor/Imgs/Footer.png


+ 123 - 0
ActionTowerDefense/Assets/Plugins/DOTween/Editor/Imgs/Footer.png.meta

@@ -0,0 +1,123 @@
+fileFormatVersion: 2
+guid: 14bc09283a0ce554ab5ca740188fa244
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 12
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  vTOnly: 0
+  ignoreMasterTextureLimit: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: 1
+    aniso: 1
+    mipBias: 0
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  flipbookRows: 1
+  flipbookColumns: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  ignorePngGamma: 0
+  applyGammaDecoding: 0
+  cookieLightType: 0
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Server
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 5e97eb03825dee720800000000000000
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+    nameFileIdTable: {}
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
ActionTowerDefense/Assets/Plugins/DOTween/Editor/Imgs/Footer_dark.png


+ 123 - 0
ActionTowerDefense/Assets/Plugins/DOTween/Editor/Imgs/Footer_dark.png.meta

@@ -0,0 +1,123 @@
+fileFormatVersion: 2
+guid: de7ef95792d97f14a8f766f09e3ae4bc
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 12
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  vTOnly: 0
+  ignoreMasterTextureLimit: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: 1
+    aniso: 1
+    mipBias: 0
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  flipbookRows: 1
+  flipbookColumns: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  ignorePngGamma: 0
+  applyGammaDecoding: 0
+  cookieLightType: 0
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Server
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 5e97eb03825dee720800000000000000
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+    nameFileIdTable: {}
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
ActionTowerDefense/Assets/Plugins/DOTween/Editor/Imgs/Header.jpg


+ 123 - 0
ActionTowerDefense/Assets/Plugins/DOTween/Editor/Imgs/Header.jpg.meta

@@ -0,0 +1,123 @@
+fileFormatVersion: 2
+guid: e59a889ea8354d94491fabef452d3924
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 12
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  vTOnly: 0
+  ignoreMasterTextureLimit: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: 1
+    aniso: 1
+    mipBias: 0
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  flipbookRows: 1
+  flipbookColumns: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  ignorePngGamma: 0
+  applyGammaDecoding: 0
+  cookieLightType: 0
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Server
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 5e97eb03825dee720800000000000000
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+    nameFileIdTable: {}
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
ActionTowerDefense/Assets/Plugins/DOTween/Modules.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 328604f7394b0cd4c82de9f7361337e0
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 198 - 0
ActionTowerDefense/Assets/Plugins/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
+
+        /// <summary>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</summary>
+        /// <param name="endValue">The end value to reach (0 to 1)</param><param name="duration">The duration of the tween</param>
+        public static TweenerCore<float, float, FloatOptions> DOFade(this AudioSource target, float endValue, float duration)
+        {
+            if (endValue < 0) endValue = 0;
+            else if (endValue > 1) endValue = 1;
+            TweenerCore<float, float, FloatOptions> t = DOTween.To(() => target.volume, x => target.volume = x, endValue, duration);
+            t.SetTarget(target);
+            return t;
+        }
+
+        /// <summary>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</summary>
+        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        public static TweenerCore<float, float, FloatOptions> DOPitch(this AudioSource target, float endValue, float duration)
+        {
+            TweenerCore<float, float, FloatOptions> t = DOTween.To(() => target.pitch, x => target.pitch = x, endValue, duration);
+            t.SetTarget(target);
+            return t;
+        }
+
+        #endregion
+
+        #region AudioMixer
+
+        /// <summary>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.</summary>
+        /// <param name="floatName">Name given to the exposed float to set</param>
+        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        public static TweenerCore<float, float, FloatOptions> DOSetFloat(this AudioMixer target, string floatName, float endValue, float duration)
+        {
+            TweenerCore<float, float, FloatOptions> 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
+
+        /// <summary>
+        /// 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)
+        /// </summary>
+        /// <param name="withCallbacks">For Sequences only: if TRUE also internal Sequence callbacks will be fired,
+        /// otherwise they will be ignored</param>
+        public static int DOComplete(this AudioMixer target, bool withCallbacks = false)
+        {
+            return DOTween.Complete(target, withCallbacks);
+        }
+
+        /// <summary>
+        /// 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.
+        /// </summary>
+        /// <param name="complete">If TRUE completes the tween before killing it</param>
+        public static int DOKill(this AudioMixer target, bool complete = false)
+        {
+            return DOTween.Kill(target, complete);
+        }
+
+        /// <summary>
+        /// 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.
+        /// </summary>
+        public static int DOFlip(this AudioMixer target)
+        {
+            return DOTween.Flip(target);
+        }
+
+        /// <summary>
+        /// 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.
+        /// </summary>
+        /// <param name="to">Time position to reach
+        /// (if higher than the whole tween duration the tween will simply reach its end)</param>
+        /// <param name="andPlay">If TRUE will play the tween after reaching the given position, otherwise it will pause it</param>
+        public static int DOGoto(this AudioMixer target, float to, bool andPlay = false)
+        {
+            return DOTween.Goto(target, to, andPlay);
+        }
+
+        /// <summary>
+        /// 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.
+        /// </summary>
+        public static int DOPause(this AudioMixer target)
+        {
+            return DOTween.Pause(target);
+        }
+
+        /// <summary>
+        /// 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.
+        /// </summary>
+        public static int DOPlay(this AudioMixer target)
+        {
+            return DOTween.Play(target);
+        }
+
+        /// <summary>
+        /// 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.
+        /// </summary>
+        public static int DOPlayBackwards(this AudioMixer target)
+        {
+            return DOTween.PlayBackwards(target);
+        }
+
+        /// <summary>
+        /// 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.
+        /// </summary>
+        public static int DOPlayForward(this AudioMixer target)
+        {
+            return DOTween.PlayForward(target);
+        }
+
+        /// <summary>
+        /// 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.
+        /// </summary>
+        public static int DORestart(this AudioMixer target)
+        {
+            return DOTween.Restart(target);
+        }
+
+        /// <summary>
+        /// 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.
+        /// </summary>
+        public static int DORewind(this AudioMixer target)
+        {
+            return DOTween.Rewind(target);
+        }
+
+        /// <summary>
+        /// 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.
+        /// </summary>
+        public static int DOSmoothRewind(this AudioMixer target)
+        {
+            return DOTween.SmoothRewind(target);
+        }
+
+        /// <summary>
+        /// 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.
+        /// </summary>
+        public static int DOTogglePause(this AudioMixer target)
+        {
+            return DOTween.TogglePause(target);
+        }
+
+        #endregion
+
+        #endregion
+
+        #endregion
+    }
+}
+#endif

+ 11 - 0
ActionTowerDefense/Assets/Plugins/DOTween/Modules/DOTweenModuleAudio.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 14a106342fd2e324baefebda4a3b360e
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 146 - 0
ActionTowerDefense/Assets/Plugins/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<float, float, FloatOptions> 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<Color, Color, ColorOptions> 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<Color, Color, ColorOptions> 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<Vector4, Vector4, VectorOptions> 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<float, float, FloatOptions> 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<Color, Color, ColorOptions> 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<Color, Color, ColorOptions> 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<Vector4, Vector4, VectorOptions> 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);
+        }
+
+        /// <summary>
+        /// Controls the alpha (transparency) of the outline
+        /// </summary>
+        public static TweenerCore<Color, Color, ColorOptions> 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;
+        }
+
+        /// <summary>
+        /// Controls the color of the outline
+        /// </summary>
+        public static TweenerCore<Color, Color, ColorOptions> 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;
+        }
+
+        /// <summary>
+        /// Controls the amount of blur applied to the outline
+        /// </summary>
+        public static TweenerCore<float, float, FloatOptions> 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;
+        }
+
+        /// <summary>
+        /// Controls the amount of blur applied to the outline
+        /// </summary>
+        public static TweenerCore<float, float, FloatOptions> 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;
+        }
+
+        /// <summary>
+        /// Controls the amount of dilation applied to the outline
+        /// </summary>
+        public static TweenerCore<float, float, FloatOptions> 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;
+        }
+
+        /// <summary>
+        /// Controls the amount of dilation applied to the outline
+        /// </summary>
+        public static TweenerCore<float, float, FloatOptions> 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

+ 11 - 0
ActionTowerDefense/Assets/Plugins/DOTween/Modules/DOTweenModuleEPOOutline.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 549cd47dc30184446a91216045e52cd5
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 216 - 0
ActionTowerDefense/Assets/Plugins/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
+
+        /// <summary>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</summary>
+        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
+        public static TweenerCore<Vector3, Vector3, VectorOptions> DOMove(this Rigidbody target, Vector3 endValue, float duration, bool snapping = false)
+        {
+            TweenerCore<Vector3, Vector3, VectorOptions> t = DOTween.To(() => target.position, target.MovePosition, endValue, duration);
+            t.SetOptions(snapping).SetTarget(target);
+            return t;
+        }
+
+        /// <summary>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</summary>
+        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
+        public static TweenerCore<Vector3, Vector3, VectorOptions> DOMoveX(this Rigidbody target, float endValue, float duration, bool snapping = false)
+        {
+            TweenerCore<Vector3, Vector3, VectorOptions> t = DOTween.To(() => target.position, target.MovePosition, new Vector3(endValue, 0, 0), duration);
+            t.SetOptions(AxisConstraint.X, snapping).SetTarget(target);
+            return t;
+        }
+
+        /// <summary>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</summary>
+        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
+        public static TweenerCore<Vector3, Vector3, VectorOptions> DOMoveY(this Rigidbody target, float endValue, float duration, bool snapping = false)
+        {
+            TweenerCore<Vector3, Vector3, VectorOptions> t = DOTween.To(() => target.position, target.MovePosition, new Vector3(0, endValue, 0), duration);
+            t.SetOptions(AxisConstraint.Y, snapping).SetTarget(target);
+            return t;
+        }
+
+        /// <summary>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</summary>
+        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
+        public static TweenerCore<Vector3, Vector3, VectorOptions> DOMoveZ(this Rigidbody target, float endValue, float duration, bool snapping = false)
+        {
+            TweenerCore<Vector3, Vector3, VectorOptions> t = DOTween.To(() => target.position, target.MovePosition, new Vector3(0, 0, endValue), duration);
+            t.SetOptions(AxisConstraint.Z, snapping).SetTarget(target);
+            return t;
+        }
+
+        /// <summary>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</summary>
+        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        /// <param name="mode">Rotation mode</param>
+        public static TweenerCore<Quaternion, Vector3, QuaternionOptions> DORotate(this Rigidbody target, Vector3 endValue, float duration, RotateMode mode = RotateMode.Fast)
+        {
+            TweenerCore<Quaternion, Vector3, QuaternionOptions> t = DOTween.To(() => target.rotation, target.MoveRotation, endValue, duration);
+            t.SetTarget(target);
+            t.plugOptions.rotateMode = mode;
+            return t;
+        }
+
+        /// <summary>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</summary>
+        /// <param name="towards">The position to look at</param><param name="duration">The duration of the tween</param>
+        /// <param name="axisConstraint">Eventual axis constraint for the rotation</param>
+        /// <param name="up">The vector that defines in which direction up is (default: Vector3.up)</param>
+        public static TweenerCore<Quaternion, Vector3, QuaternionOptions> DOLookAt(this Rigidbody target, Vector3 towards, float duration, AxisConstraint axisConstraint = AxisConstraint.None, Vector3? up = null)
+        {
+            TweenerCore<Quaternion, Vector3, QuaternionOptions> 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
+
+        /// <summary>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</summary>
+        /// <param name="endValue">The end value to reach</param>
+        /// <param name="jumpPower">Power of the jump (the max height of the jump is represented by this plus the final Y offset)</param>
+        /// <param name="numJumps">Total number of jumps</param>
+        /// <param name="duration">The duration of the tween</param>
+        /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
+        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;
+        }
+
+        /// <summary>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.
+        /// <para>NOTE: to tween a rigidbody correctly it should be set to kinematic at least while being tweened.</para>
+        /// <para>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.</para></summary>
+        /// <param name="path">The waypoints to go through</param>
+        /// <param name="duration">The duration of the tween</param>
+        /// <param name="pathType">The type of path: Linear (straight path), CatmullRom (curved CatmullRom path) or CubicBezier (curved with control points)</param>
+        /// <param name="pathMode">The path mode: 3D, side-scroller 2D, top-down 2D</param>
+        /// <param name="resolution">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</param>
+        /// <param name="gizmoColor">The color of the path (shown when gizmos are active in the Play panel and the tween is running)</param>
+        public static TweenerCore<Vector3, Path, PathOptions> 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<Vector3, Path, PathOptions> 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;
+        }
+        /// <summary>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
+        /// <para>NOTE: to tween a rigidbody correctly it should be set to kinematic at least while being tweened.</para>
+        /// <para>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.</para></summary>
+        /// <param name="path">The waypoint to go through</param>
+        /// <param name="duration">The duration of the tween</param>
+        /// <param name="pathType">The type of path: Linear (straight path), CatmullRom (curved CatmullRom path) or CubicBezier (curved with control points)</param>
+        /// <param name="pathMode">The path mode: 3D, side-scroller 2D, top-down 2D</param>
+        /// <param name="resolution">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</param>
+        /// <param name="gizmoColor">The color of the path (shown when gizmos are active in the Play panel and the tween is running)</param>
+        public static TweenerCore<Vector3, Path, PathOptions> 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<Vector3, Path, PathOptions> 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<Vector3, Path, PathOptions> DOPath(
+            this Rigidbody target, Path path, float duration, PathMode pathMode = PathMode.Full3D
+        )
+        {
+            TweenerCore<Vector3, Path, PathOptions> 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<Vector3, Path, PathOptions> DOLocalPath(
+            this Rigidbody target, Path path, float duration, PathMode pathMode = PathMode.Full3D
+        )
+        {
+            Transform trans = target.transform;
+            TweenerCore<Vector3, Path, PathOptions> 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

+ 11 - 0
ActionTowerDefense/Assets/Plugins/DOTween/Modules/DOTweenModulePhysics.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 79eaf18275c1818418c94c24d2874b60
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 193 - 0
ActionTowerDefense/Assets/Plugins/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
+
+        /// <summary>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</summary>
+        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
+        public static TweenerCore<Vector2, Vector2, VectorOptions> DOMove(this Rigidbody2D target, Vector2 endValue, float duration, bool snapping = false)
+        {
+            TweenerCore<Vector2, Vector2, VectorOptions> t = DOTween.To(() => target.position, target.MovePosition, endValue, duration);
+            t.SetOptions(snapping).SetTarget(target);
+            return t;
+        }
+
+        /// <summary>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</summary>
+        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
+        public static TweenerCore<Vector2, Vector2, VectorOptions> DOMoveX(this Rigidbody2D target, float endValue, float duration, bool snapping = false)
+        {
+            TweenerCore<Vector2, Vector2, VectorOptions> t = DOTween.To(() => target.position, target.MovePosition, new Vector2(endValue, 0), duration);
+            t.SetOptions(AxisConstraint.X, snapping).SetTarget(target);
+            return t;
+        }
+
+        /// <summary>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</summary>
+        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
+        public static TweenerCore<Vector2, Vector2, VectorOptions> DOMoveY(this Rigidbody2D target, float endValue, float duration, bool snapping = false)
+        {
+            TweenerCore<Vector2, Vector2, VectorOptions> t = DOTween.To(() => target.position, target.MovePosition, new Vector2(0, endValue), duration);
+            t.SetOptions(AxisConstraint.Y, snapping).SetTarget(target);
+            return t;
+        }
+
+        /// <summary>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</summary>
+        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        public static TweenerCore<float, float, FloatOptions> DORotate(this Rigidbody2D target, float endValue, float duration)
+        {
+            TweenerCore<float, float, FloatOptions> t = DOTween.To(() => target.rotation, target.MoveRotation, endValue, duration);
+            t.SetTarget(target);
+            return t;
+        }
+
+        #region Special
+
+        /// <summary>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.
+        /// <para>IMPORTANT: a rigidbody2D can't be animated in a jump arc using MovePosition, so the tween will directly set the position</para></summary>
+        /// <param name="endValue">The end value to reach</param>
+        /// <param name="jumpPower">Power of the jump (the max height of the jump is represented by this plus the final Y offset)</param>
+        /// <param name="numJumps">Total number of jumps</param>
+        /// <param name="duration">The duration of the tween</param>
+        /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
+        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;
+        }
+
+        /// <summary>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.
+        /// <para>NOTE: to tween a Rigidbody2D correctly it should be set to kinematic at least while being tweened.</para>
+        /// <para>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.</para></summary>
+        /// <param name="path">The waypoints to go through</param>
+        /// <param name="duration">The duration of the tween</param>
+        /// <param name="pathType">The type of path: Linear (straight path), CatmullRom (curved CatmullRom path) or CubicBezier (curved with control points)</param>
+        /// <param name="pathMode">The path mode: 3D, side-scroller 2D, top-down 2D</param>
+        /// <param name="resolution">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</param>
+        /// <param name="gizmoColor">The color of the path (shown when gizmos are active in the Play panel and the tween is running)</param>
+        public static TweenerCore<Vector3, Path, PathOptions> 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<Vector3, Path, PathOptions> 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;
+        }
+        /// <summary>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
+        /// <para>NOTE: to tween a Rigidbody2D correctly it should be set to kinematic at least while being tweened.</para>
+        /// <para>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.</para></summary>
+        /// <param name="path">The waypoint to go through</param>
+        /// <param name="duration">The duration of the tween</param>
+        /// <param name="pathType">The type of path: Linear (straight path), CatmullRom (curved CatmullRom path) or CubicBezier (curved with control points)</param>
+        /// <param name="pathMode">The path mode: 3D, side-scroller 2D, top-down 2D</param>
+        /// <param name="resolution">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</param>
+        /// <param name="gizmoColor">The color of the path (shown when gizmos are active in the Play panel and the tween is running)</param>
+        public static TweenerCore<Vector3, Path, PathOptions> 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<Vector3, Path, PathOptions> 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<Vector3, Path, PathOptions> DOPath(
+            this Rigidbody2D target, Path path, float duration, PathMode pathMode = PathMode.Full3D
+        )
+        {
+            TweenerCore<Vector3, Path, PathOptions> 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<Vector3, Path, PathOptions> DOLocalPath(
+            this Rigidbody2D target, Path path, float duration, PathMode pathMode = PathMode.Full3D
+        )
+        {
+            Transform trans = target.transform;
+            TweenerCore<Vector3, Path, PathOptions> 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

+ 11 - 0
ActionTowerDefense/Assets/Plugins/DOTween/Modules/DOTweenModulePhysics2D.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 495410a22cc474b419de7cf192fd9ef0
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 93 - 0
ActionTowerDefense/Assets/Plugins/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
+
+        /// <summary>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</summary>
+        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        public static TweenerCore<Color, Color, ColorOptions> DOColor(this SpriteRenderer target, Color endValue, float duration)
+        {
+            TweenerCore<Color, Color, ColorOptions> t = DOTween.To(() => target.color, x => target.color = x, endValue, duration);
+            t.SetTarget(target);
+            return t;
+        }
+
+        /// <summary>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</summary>
+        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        public static TweenerCore<Color, Color, ColorOptions> DOFade(this SpriteRenderer target, float endValue, float duration)
+        {
+            TweenerCore<Color, Color, ColorOptions> t = DOTween.ToAlpha(() => target.color, x => target.color = x, endValue, duration);
+            t.SetTarget(target);
+            return t;
+        }
+
+        /// <summary>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</summary>
+        /// <param name="gradient">The gradient to use</param><param name="duration">The duration of the tween</param>
+        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
+
+        /// <summary>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</summary>
+        /// <param name="endValue">The value to tween to</param><param name="duration">The duration of the tween</param>
+        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

+ 11 - 0
ActionTowerDefense/Assets/Plugins/DOTween/Modules/DOTweenModuleSprite.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: df90feb9ef7ad6242bd3786fb785f22e
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 662 - 0
ActionTowerDefense/Assets/Plugins/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
+
+        /// <summary>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</summary>
+        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        public static TweenerCore<float, float, FloatOptions> DOFade(this CanvasGroup target, float endValue, float duration)
+        {
+            TweenerCore<float, float, FloatOptions> t = DOTween.To(() => target.alpha, x => target.alpha = x, endValue, duration);
+            t.SetTarget(target);
+            return t;
+        }
+
+        #endregion
+
+        #region Graphic
+
+        /// <summary>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</summary>
+        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        public static TweenerCore<Color, Color, ColorOptions> DOColor(this Graphic target, Color endValue, float duration)
+        {
+            TweenerCore<Color, Color, ColorOptions> t = DOTween.To(() => target.color, x => target.color = x, endValue, duration);
+            t.SetTarget(target);
+            return t;
+        }
+
+        /// <summary>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</summary>
+        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        public static TweenerCore<Color, Color, ColorOptions> DOFade(this Graphic target, float endValue, float duration)
+        {
+            TweenerCore<Color, Color, ColorOptions> t = DOTween.ToAlpha(() => target.color, x => target.color = x, endValue, duration);
+            t.SetTarget(target);
+            return t;
+        }
+
+        #endregion
+
+        #region Image
+
+        /// <summary>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</summary>
+        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        public static TweenerCore<Color, Color, ColorOptions> DOColor(this Image target, Color endValue, float duration)
+        {
+            TweenerCore<Color, Color, ColorOptions> t = DOTween.To(() => target.color, x => target.color = x, endValue, duration);
+            t.SetTarget(target);
+            return t;
+        }
+
+        /// <summary>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</summary>
+        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        public static TweenerCore<Color, Color, ColorOptions> DOFade(this Image target, float endValue, float duration)
+        {
+            TweenerCore<Color, Color, ColorOptions> t = DOTween.ToAlpha(() => target.color, x => target.color = x, endValue, duration);
+            t.SetTarget(target);
+            return t;
+        }
+
+        /// <summary>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</summary>
+        /// <param name="endValue">The end value to reach (0 to 1)</param><param name="duration">The duration of the tween</param>
+        public static TweenerCore<float, float, FloatOptions> DOFillAmount(this Image target, float endValue, float duration)
+        {
+            if (endValue > 1) endValue = 1;
+            else if (endValue < 0) endValue = 0;
+            TweenerCore<float, float, FloatOptions> t = DOTween.To(() => target.fillAmount, x => target.fillAmount = x, endValue, duration);
+            t.SetTarget(target);
+            return t;
+        }
+
+        /// <summary>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</summary>
+        /// <param name="gradient">The gradient to use</param><param name="duration">The duration of the tween</param>
+        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
+
+        /// <summary>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</summary>
+        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
+        public static TweenerCore<Vector2, Vector2, VectorOptions> DOFlexibleSize(this LayoutElement target, Vector2 endValue, float duration, bool snapping = false)
+        {
+            TweenerCore<Vector2, Vector2, VectorOptions> 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;
+        }
+
+        /// <summary>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</summary>
+        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
+        public static TweenerCore<Vector2, Vector2, VectorOptions> DOMinSize(this LayoutElement target, Vector2 endValue, float duration, bool snapping = false)
+        {
+            TweenerCore<Vector2, Vector2, VectorOptions> 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;
+        }
+
+        /// <summary>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</summary>
+        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
+        public static TweenerCore<Vector2, Vector2, VectorOptions> DOPreferredSize(this LayoutElement target, Vector2 endValue, float duration, bool snapping = false)
+        {
+            TweenerCore<Vector2, Vector2, VectorOptions> 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
+
+        /// <summary>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</summary>
+        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        public static TweenerCore<Color, Color, ColorOptions> DOColor(this Outline target, Color endValue, float duration)
+        {
+            TweenerCore<Color, Color, ColorOptions> t = DOTween.To(() => target.effectColor, x => target.effectColor = x, endValue, duration);
+            t.SetTarget(target);
+            return t;
+        }
+
+        /// <summary>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</summary>
+        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        public static TweenerCore<Color, Color, ColorOptions> DOFade(this Outline target, float endValue, float duration)
+        {
+            TweenerCore<Color, Color, ColorOptions> t = DOTween.ToAlpha(() => target.effectColor, x => target.effectColor = x, endValue, duration);
+            t.SetTarget(target);
+            return t;
+        }
+
+        /// <summary>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</summary>
+        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        public static TweenerCore<Vector2, Vector2, VectorOptions> DOScale(this Outline target, Vector2 endValue, float duration)
+        {
+            TweenerCore<Vector2, Vector2, VectorOptions> t = DOTween.To(() => target.effectDistance, x => target.effectDistance = x, endValue, duration);
+            t.SetTarget(target);
+            return t;
+        }
+
+        #endregion
+
+        #region RectTransform
+
+        /// <summary>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</summary>
+        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
+        public static TweenerCore<Vector2, Vector2, VectorOptions> DOAnchorPos(this RectTransform target, Vector2 endValue, float duration, bool snapping = false)
+        {
+            TweenerCore<Vector2, Vector2, VectorOptions> t = DOTween.To(() => target.anchoredPosition, x => target.anchoredPosition = x, endValue, duration);
+            t.SetOptions(snapping).SetTarget(target);
+            return t;
+        }
+        /// <summary>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</summary>
+        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
+        public static TweenerCore<Vector2, Vector2, VectorOptions> DOAnchorPosX(this RectTransform target, float endValue, float duration, bool snapping = false)
+        {
+            TweenerCore<Vector2, Vector2, VectorOptions> t = DOTween.To(() => target.anchoredPosition, x => target.anchoredPosition = x, new Vector2(endValue, 0), duration);
+            t.SetOptions(AxisConstraint.X, snapping).SetTarget(target);
+            return t;
+        }
+        /// <summary>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</summary>
+        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
+        public static TweenerCore<Vector2, Vector2, VectorOptions> DOAnchorPosY(this RectTransform target, float endValue, float duration, bool snapping = false)
+        {
+            TweenerCore<Vector2, Vector2, VectorOptions> t = DOTween.To(() => target.anchoredPosition, x => target.anchoredPosition = x, new Vector2(0, endValue), duration);
+            t.SetOptions(AxisConstraint.Y, snapping).SetTarget(target);
+            return t;
+        }
+
+        /// <summary>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</summary>
+        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
+        public static TweenerCore<Vector3, Vector3, VectorOptions> DOAnchorPos3D(this RectTransform target, Vector3 endValue, float duration, bool snapping = false)
+        {
+            TweenerCore<Vector3, Vector3, VectorOptions> t = DOTween.To(() => target.anchoredPosition3D, x => target.anchoredPosition3D = x, endValue, duration);
+            t.SetOptions(snapping).SetTarget(target);
+            return t;
+        }
+        /// <summary>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</summary>
+        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
+        public static TweenerCore<Vector3, Vector3, VectorOptions> DOAnchorPos3DX(this RectTransform target, float endValue, float duration, bool snapping = false)
+        {
+            TweenerCore<Vector3, Vector3, VectorOptions> t = DOTween.To(() => target.anchoredPosition3D, x => target.anchoredPosition3D = x, new Vector3(endValue, 0, 0), duration);
+            t.SetOptions(AxisConstraint.X, snapping).SetTarget(target);
+            return t;
+        }
+        /// <summary>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</summary>
+        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
+        public static TweenerCore<Vector3, Vector3, VectorOptions> DOAnchorPos3DY(this RectTransform target, float endValue, float duration, bool snapping = false)
+        {
+            TweenerCore<Vector3, Vector3, VectorOptions> t = DOTween.To(() => target.anchoredPosition3D, x => target.anchoredPosition3D = x, new Vector3(0, endValue, 0), duration);
+            t.SetOptions(AxisConstraint.Y, snapping).SetTarget(target);
+            return t;
+        }
+        /// <summary>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</summary>
+        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
+        public static TweenerCore<Vector3, Vector3, VectorOptions> DOAnchorPos3DZ(this RectTransform target, float endValue, float duration, bool snapping = false)
+        {
+            TweenerCore<Vector3, Vector3, VectorOptions> t = DOTween.To(() => target.anchoredPosition3D, x => target.anchoredPosition3D = x, new Vector3(0, 0, endValue), duration);
+            t.SetOptions(AxisConstraint.Z, snapping).SetTarget(target);
+            return t;
+        }
+
+        /// <summary>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</summary>
+        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
+        public static TweenerCore<Vector2, Vector2, VectorOptions> DOAnchorMax(this RectTransform target, Vector2 endValue, float duration, bool snapping = false)
+        {
+            TweenerCore<Vector2, Vector2, VectorOptions> t = DOTween.To(() => target.anchorMax, x => target.anchorMax = x, endValue, duration);
+            t.SetOptions(snapping).SetTarget(target);
+            return t;
+        }
+
+        /// <summary>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</summary>
+        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
+        public static TweenerCore<Vector2, Vector2, VectorOptions> DOAnchorMin(this RectTransform target, Vector2 endValue, float duration, bool snapping = false)
+        {
+            TweenerCore<Vector2, Vector2, VectorOptions> t = DOTween.To(() => target.anchorMin, x => target.anchorMin = x, endValue, duration);
+            t.SetOptions(snapping).SetTarget(target);
+            return t;
+        }
+
+        /// <summary>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</summary>
+        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        public static TweenerCore<Vector2, Vector2, VectorOptions> DOPivot(this RectTransform target, Vector2 endValue, float duration)
+        {
+            TweenerCore<Vector2, Vector2, VectorOptions> t = DOTween.To(() => target.pivot, x => target.pivot = x, endValue, duration);
+            t.SetTarget(target);
+            return t;
+        }
+        /// <summary>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</summary>
+        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        public static TweenerCore<Vector2, Vector2, VectorOptions> DOPivotX(this RectTransform target, float endValue, float duration)
+        {
+            TweenerCore<Vector2, Vector2, VectorOptions> t = DOTween.To(() => target.pivot, x => target.pivot = x, new Vector2(endValue, 0), duration);
+            t.SetOptions(AxisConstraint.X).SetTarget(target);
+            return t;
+        }
+        /// <summary>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</summary>
+        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        public static TweenerCore<Vector2, Vector2, VectorOptions> DOPivotY(this RectTransform target, float endValue, float duration)
+        {
+            TweenerCore<Vector2, Vector2, VectorOptions> t = DOTween.To(() => target.pivot, x => target.pivot = x, new Vector2(0, endValue), duration);
+            t.SetOptions(AxisConstraint.Y).SetTarget(target);
+            return t;
+        }
+
+        /// <summary>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</summary>
+        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
+        public static TweenerCore<Vector2, Vector2, VectorOptions> DOSizeDelta(this RectTransform target, Vector2 endValue, float duration, bool snapping = false)
+        {
+            TweenerCore<Vector2, Vector2, VectorOptions> t = DOTween.To(() => target.sizeDelta, x => target.sizeDelta = x, endValue, duration);
+            t.SetOptions(snapping).SetTarget(target);
+            return t;
+        }
+
+        /// <summary>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</summary>
+        /// <param name="punch">The direction and strength of the punch (added to the RectTransform's current position)</param>
+        /// <param name="duration">The duration of the tween</param>
+        /// <param name="vibrato">Indicates how much will the punch vibrate</param>
+        /// <param name="elasticity">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</param>
+        /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
+        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);
+        }
+
+        /// <summary>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</summary>
+        /// <param name="duration">The duration of the tween</param>
+        /// <param name="strength">The shake strength</param>
+        /// <param name="vibrato">Indicates how much will the shake vibrate</param>
+        /// <param name="randomness">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.</param>
+        /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
+        /// <param name="fadeOut">If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not</param>
+        /// <param name="randomnessMode">Randomness mode</param>
+        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);
+        }
+        /// <summary>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</summary>
+        /// <param name="duration">The duration of the tween</param>
+        /// <param name="strength">The shake strength on each axis</param>
+        /// <param name="vibrato">Indicates how much will the shake vibrate</param>
+        /// <param name="randomness">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.</param>
+        /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
+        /// <param name="fadeOut">If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not</param>
+        /// <param name="randomnessMode">Randomness mode</param>
+        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
+
+        /// <summary>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</summary>
+        /// <param name="endValue">The end value to reach</param>
+        /// <param name="jumpPower">Power of the jump (the max height of the jump is represented by this plus the final Y offset)</param>
+        /// <param name="numJumps">Total number of jumps</param>
+        /// <param name="duration">The duration of the tween</param>
+        /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
+        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
+
+        /// <summary>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</summary>
+        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
+        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);
+        }
+        /// <summary>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</summary>
+        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
+        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);
+        }
+        /// <summary>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</summary>
+        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
+        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
+
+        /// <summary>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</summary>
+        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
+        public static TweenerCore<float, float, FloatOptions> DOValue(this Slider target, float endValue, float duration, bool snapping = false)
+        {
+            TweenerCore<float, float, FloatOptions> t = DOTween.To(() => target.value, x => target.value = x, endValue, duration);
+            t.SetOptions(snapping).SetTarget(target);
+            return t;
+        }
+
+        #endregion
+
+        #region Text
+
+        /// <summary>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</summary>
+        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        public static TweenerCore<Color, Color, ColorOptions> DOColor(this Text target, Color endValue, float duration)
+        {
+            TweenerCore<Color, Color, ColorOptions> t = DOTween.To(() => target.color, x => target.color = x, endValue, duration);
+            t.SetTarget(target);
+            return t;
+        }
+
+        /// <summary>
+        /// Tweens a Text's text from one integer to another, with options for thousands separators
+        /// </summary>
+        /// <param name="fromValue">The value to start from</param>
+        /// <param name="endValue">The end value to reach</param>
+        /// <param name="duration">The duration of the tween</param>
+        /// <param name="addThousandsSeparator">If TRUE (default) also adds thousands separators</param>
+        /// <param name="culture">The <see cref="CultureInfo"/> to use (InvariantCulture if NULL)</param>
+        public static TweenerCore<int, int, NoOptions> 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<int, int, NoOptions> t = DOTween.To(() => v, x => {
+                v = x;
+                target.text = addThousandsSeparator
+                    ? v.ToString("N0", cInfo)
+                    : v.ToString();
+            }, endValue, duration);
+            t.SetTarget(target);
+            return t;
+        }
+
+        /// <summary>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</summary>
+        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
+        public static TweenerCore<Color, Color, ColorOptions> DOFade(this Text target, float endValue, float duration)
+        {
+            TweenerCore<Color, Color, ColorOptions> t = DOTween.ToAlpha(() => target.color, x => target.color = x, endValue, duration);
+            t.SetTarget(target);
+            return t;
+        }
+
+        /// <summary>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</summary>
+        /// <param name="endValue">The end string to tween to</param><param name="duration">The duration of the tween</param>
+        /// <param name="richTextEnabled">If TRUE (default), rich text will be interpreted correctly while animated,
+        /// otherwise all tags will be considered as normal text</param>
+        /// <param name="scrambleMode">The type of scramble mode to use, if any</param>
+        /// <param name="scrambleChars">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</param>
+        public static TweenerCore<string, string, StringOptions> 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<string, string, StringOptions> 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
+
+        /// <summary>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</summary>
+        /// <param name="endValue">The value to tween to</param><param name="duration">The duration of the tween</param>
+        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
+
+        /// <summary>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</summary>
+        /// <param name="endValue">The value to tween to</param><param name="duration">The duration of the tween</param>
+        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
+
+        /// <summary>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</summary>
+        /// <param name="endValue">The value to tween to</param><param name="duration">The duration of the tween</param>
+        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
+
+        /// <summary>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.<para/>
+        /// IMPORTANT: SetFrom(value) requires a <see cref="Vector2"/> instead of a float, where the X property represents the "from degrees value"</summary>
+        /// <param name="center">Circle-center/pivot around which to rotate (in UI anchoredPosition coordinates)</param>
+        /// <param name="endValueDegrees">The end value degrees to reach (to rotate counter-clockwise pass a negative value)</param>
+        /// <param name="duration">The duration of the tween</param>
+        /// <param name="relativeCenter">If TRUE the <see cref="center"/> coordinates will be considered as relative to the target's current anchoredPosition</param>
+        /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
+        public static TweenerCore<Vector2, Vector2, CircleOptions> DOShapeCircle(
+            this RectTransform target, Vector2 center, float endValueDegrees, float duration, bool relativeCenter = false, bool snapping = false
+        )
+        {
+            TweenerCore<Vector2, Vector2, CircleOptions> 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
+        {
+            /// <summary>
+            /// Converts the anchoredPosition of the first RectTransform to the second RectTransform,
+            /// taking into consideration offset, anchors and pivot, and returns the new anchoredPosition
+            /// </summary>
+            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

+ 11 - 0
ActionTowerDefense/Assets/Plugins/DOTween/Modules/DOTweenModuleUI.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 57ce5ea06071f5c48bdd83e0a2c5cb27
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 389 - 0
ActionTowerDefense/Assets/Plugins/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
+{
+    /// <summary>
+    /// Shortcuts/functions that are not strictly related to specific Modules
+    /// but are available only on some Unity versions
+    /// </summary>
+	public static class DOTweenModuleUnityVersion
+    {
+        #region Material
+
+        /// <summary>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</summary>
+        /// <param name="gradient">The gradient to use</param><param name="duration">The duration of the tween</param>
+        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;
+        }
+        /// <summary>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</summary>
+        /// <param name="gradient">The gradient to use</param>
+        /// <param name="property">The name of the material property to tween (like _Tint or _SpecColor)</param>
+        /// <param name="duration">The duration of the tween</param>
+        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
+
+        /// <summary>
+        /// Returns a <see cref="CustomYieldInstruction"/> that waits until the tween is killed or complete.
+        /// It can be used inside a coroutine as a yield.
+        /// <para>Example usage:</para><code>yield return myTween.WaitForCompletion(true);</code>
+        /// </summary>
+        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);
+        }
+
+        /// <summary>
+        /// Returns a <see cref="CustomYieldInstruction"/> that waits until the tween is killed or rewinded.
+        /// It can be used inside a coroutine as a yield.
+        /// <para>Example usage:</para><code>yield return myTween.WaitForRewind();</code>
+        /// </summary>
+        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);
+        }
+
+        /// <summary>
+        /// Returns a <see cref="CustomYieldInstruction"/> that waits until the tween is killed.
+        /// It can be used inside a coroutine as a yield.
+        /// <para>Example usage:</para><code>yield return myTween.WaitForKill();</code>
+        /// </summary>
+        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);
+        }
+
+        /// <summary>
+        /// Returns a <see cref="CustomYieldInstruction"/> 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.
+        /// <para>Example usage:</para><code>yield return myTween.WaitForElapsedLoops(2);</code>
+        /// </summary>
+        /// <param name="elapsedLoops">Elapsed loops to wait for</param>
+        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);
+        }
+
+        /// <summary>
+        /// Returns a <see cref="CustomYieldInstruction"/> 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.
+        /// <para>Example usage:</para><code>yield return myTween.WaitForPosition(2.5f);</code>
+        /// </summary>
+        /// <param name="position">Position (loops included, delays excluded) to wait for</param>
+        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);
+        }
+
+        /// <summary>
+        /// Returns a <see cref="CustomYieldInstruction"/> 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.
+        /// <para>Example usage:</para><code>yield return myTween.WaitForStart();</code>
+        /// </summary>
+        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
+
+        /// <summary>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</summary>
+        /// <param name="endValue">The end value to reach</param>
+        /// <param name="propertyID">The ID of the material property to tween (also called nameID in Unity's manual)</param>
+        /// <param name="duration">The duration of the tween</param>
+        public static TweenerCore<Vector2, Vector2, VectorOptions> DOOffset(this Material target, Vector2 endValue, int propertyID, float duration)
+        {
+            if (!target.HasProperty(propertyID)) {
+                if (Debugger.logPriority > 0) Debugger.LogMissingMaterialProperty(propertyID);
+                return null;
+            }
+            TweenerCore<Vector2, Vector2, VectorOptions> t = DOTween.To(() => target.GetTextureOffset(propertyID), x => target.SetTextureOffset(propertyID, x), endValue, duration);
+            t.SetTarget(target);
+            return t;
+        }
+
+        /// <summary>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</summary>
+        /// <param name="endValue">The end value to reach</param>
+        /// <param name="propertyID">The ID of the material property to tween (also called nameID in Unity's manual)</param>
+        /// <param name="duration">The duration of the tween</param>
+        public static TweenerCore<Vector2, Vector2, VectorOptions> DOTiling(this Material target, Vector2 endValue, int propertyID, float duration)
+        {
+            if (!target.HasProperty(propertyID)) {
+                if (Debugger.logPriority > 0) Debugger.LogMissingMaterialProperty(propertyID);
+                return null;
+            }
+            TweenerCore<Vector2, Vector2, VectorOptions> 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
+
+        /// <summary>
+        /// Returns an async <see cref="System.Threading.Tasks.Task"/> that waits until the tween is killed or complete.
+        /// It can be used inside an async operation.
+        /// <para>Example usage:</para><code>await myTween.WaitForCompletion();</code>
+        /// </summary>
+        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();
+        }
+
+        /// <summary>
+        /// Returns an async <see cref="System.Threading.Tasks.Task"/> that waits until the tween is killed or rewinded.
+        /// It can be used inside an async operation.
+        /// <para>Example usage:</para><code>await myTween.AsyncWaitForRewind();</code>
+        /// </summary>
+        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();
+        }
+
+        /// <summary>
+        /// Returns an async <see cref="System.Threading.Tasks.Task"/> that waits until the tween is killed.
+        /// It can be used inside an async operation.
+        /// <para>Example usage:</para><code>await myTween.AsyncWaitForKill();</code>
+        /// </summary>
+        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();
+        }
+
+        /// <summary>
+        /// Returns an async <see cref="System.Threading.Tasks.Task"/> that waits until the tween is killed or has gone through the given amount of loops.
+        /// It can be used inside an async operation.
+        /// <para>Example usage:</para><code>await myTween.AsyncWaitForElapsedLoops();</code>
+        /// </summary>
+        /// <param name="elapsedLoops">Elapsed loops to wait for</param>
+        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();
+        }
+
+        /// <summary>
+        /// Returns an async <see cref="System.Threading.Tasks.Task"/> 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.
+        /// <para>Example usage:</para><code>await myTween.AsyncWaitForPosition();</code>
+        /// </summary>
+        /// <param name="position">Position (loops included, delays excluded) to wait for</param>
+        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();
+        }
+
+        /// <summary>
+        /// Returns an async <see cref="System.Threading.Tasks.Task"/> that waits until the tween is killed.
+        /// It can be used inside an async operation.
+        /// <para>Example usage:</para><code>await myTween.AsyncWaitForKill();</code>
+        /// </summary>
+        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;
+            }
+        }
+    }
+}

+ 11 - 0
ActionTowerDefense/Assets/Plugins/DOTween/Modules/DOTweenModuleUnityVersion.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 3ee6f7851c5153f49b341333f910992a
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 167 - 0
ActionTowerDefense/Assets/Plugins/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
+{
+    /// <summary>
+    /// 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
+    /// </summary>
+	public static class DOTweenModuleUtils
+    {
+        static bool _initialized;
+
+        #region Reflection
+
+        /// <summary>
+        /// Called via Reflection by DOTweenComponent on Awake
+        /// </summary>
+#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<Rigidbody2D>() != 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<Rigidbody>() != null;
+#else
+                return false;
+#endif
+            }
+
+            // Called via Reflection by DOTweenPath
+#if UNITY_2018_1_OR_NEWER
+            [UnityEngine.Scripting.Preserve]
+#endif
+            public static TweenerCore<Vector3, Path, PathOptions> CreateDOTweenPathTween(
+                MonoBehaviour target, bool tweenRigidbody, bool isLocal, Path path, float duration, PathMode pathMode
+            ){
+                TweenerCore<Vector3, Path, PathOptions> t = null;
+                bool rBodyFoundAndTweened = false;
+#if true // PHYSICS_MARKER
+                if (tweenRigidbody) {
+                    Rigidbody rBody = target.GetComponent<Rigidbody>();
+                    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<Rigidbody2D>();
+                    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
+        }
+    }
+}

+ 11 - 0
ActionTowerDefense/Assets/Plugins/DOTween/Modules/DOTweenModuleUtils.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: b7043f5b4229a324e8bd496d96496923
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 29 - 0
ActionTowerDefense/Assets/Plugins/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

+ 7 - 0
ActionTowerDefense/Assets/Plugins/DOTween/readme.txt.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: ed1c29c9fa41013449a5844bb71d8184
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 51 - 3
ActionTowerDefense/Assets/Realtime Planar Reflections/Material/Player.mat

@@ -1,5 +1,18 @@
 %YAML 1.1
 %TAG !u! tag:unity3d.com,2011:
+--- !u!114 &-7183497182745213895
+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: 5
 --- !u!21 &2100000
 Material:
   serializedVersion: 8
@@ -8,7 +21,7 @@ Material:
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: Player
-  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
   m_ValidKeywords:
   - _EMISSION
   m_InvalidKeywords: []
@@ -16,11 +29,16 @@ Material:
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
-  stringTagMap: {}
+  stringTagMap:
+    RenderType: Opaque
   disabledShaderPasses: []
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
+    - _BaseMap:
+        m_Texture: {fileID: 2800000, guid: dc1e87e09a32b194eb08420abdfb7f93, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
     - _BumpMap:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
@@ -42,7 +60,7 @@ Material:
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
     - _MainTex:
-        m_Texture: {fileID: 2800000, guid: dc1e87e09a32b194eb08420abdfb7f93, type: 3}
+        m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
     - _MetallicGlossMap:
@@ -57,12 +75,35 @@ Material:
         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
+    - _Blend: 0
     - _BumpScale: 1
+    - _ClearCoatMask: 0
+    - _ClearCoatSmoothness: 0
+    - _Cull: 2
     - _Cutoff: 0.5
+    - _DetailAlbedoMapScale: 1
     - _DetailNormalMapScale: 1
     - _DstBlend: 0
+    - _EnvironmentReflections: 1
     - _GlossMapScale: 1
     - _Glossiness: 0.5
     - _GlossyReflections: 1
@@ -70,12 +111,19 @@ Material:
     - _Mode: 0
     - _OcclusionStrength: 1
     - _Parallax: 0.02
+    - _QueueOffset: 0
+    - _ReceiveShadows: 1
+    - _Smoothness: 0.5
     - _SmoothnessTextureChannel: 0
     - _SpecularHighlights: 1
     - _SrcBlend: 1
+    - _Surface: 0
     - _UVSec: 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.2, g: 0.2, b: 0.2, a: 1}
   m_BuildTextureStacks: []

+ 51 - 3
ActionTowerDefense/Assets/Realtime Planar Reflections/Material/PlayerGun.mat

@@ -8,7 +8,7 @@ Material:
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: PlayerGun
-  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
   m_ValidKeywords:
   - _EMISSION
   m_InvalidKeywords: []
@@ -16,11 +16,16 @@ Material:
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
-  stringTagMap: {}
+  stringTagMap:
+    RenderType: Opaque
   disabledShaderPasses: []
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
+    - _BaseMap:
+        m_Texture: {fileID: 2800000, guid: 6fef107f23622bb4a929fc0cc0b23bc2, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
     - _BumpMap:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
@@ -42,7 +47,7 @@ Material:
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
     - _MainTex:
-        m_Texture: {fileID: 2800000, guid: 6fef107f23622bb4a929fc0cc0b23bc2, type: 3}
+        m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
     - _MetallicGlossMap:
@@ -57,12 +62,35 @@ Material:
         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
+    - _Blend: 0
     - _BumpScale: 1
+    - _ClearCoatMask: 0
+    - _ClearCoatSmoothness: 0
+    - _Cull: 2
     - _Cutoff: 0.5
+    - _DetailAlbedoMapScale: 1
     - _DetailNormalMapScale: 1
     - _DstBlend: 0
+    - _EnvironmentReflections: 1
     - _GlossMapScale: 1
     - _Glossiness: 0.5
     - _GlossyReflections: 1
@@ -70,12 +98,32 @@ Material:
     - _Mode: 0
     - _OcclusionStrength: 1
     - _Parallax: 0.02
+    - _QueueOffset: 0
+    - _ReceiveShadows: 1
+    - _Smoothness: 0.5
     - _SmoothnessTextureChannel: 0
     - _SpecularHighlights: 1
     - _SrcBlend: 1
+    - _Surface: 0
     - _UVSec: 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.2, g: 0.2, b: 0.2, a: 1}
   m_BuildTextureStacks: []
+--- !u!114 &2547579441026304476
+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: 5

+ 54 - 0
ActionTowerDefense/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: 276d69f0faf858a4b86ea4a546e08988, 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

+ 8 - 0
ActionTowerDefense/Assets/Resources/DOTweenSettings.asset.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 7427ff27744b9e441911f8a00333d36f
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 50 - 2
ActionTowerDefense/Assets/Resources/Materials/Color1.mat

@@ -8,18 +8,23 @@ Material:
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: Color1
-  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
   m_ValidKeywords: []
   m_InvalidKeywords: []
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
-  stringTagMap: {}
+  stringTagMap:
+    RenderType: Opaque
   disabledShaderPasses: []
   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}
@@ -56,12 +61,35 @@ Material:
         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
+    - _Blend: 0
     - _BumpScale: 1
+    - _ClearCoatMask: 0
+    - _ClearCoatSmoothness: 0
+    - _Cull: 2
     - _Cutoff: 0.5
+    - _DetailAlbedoMapScale: 1
     - _DetailNormalMapScale: 1
     - _DstBlend: 0
+    - _EnvironmentReflections: 1
     - _GlossMapScale: 1
     - _Glossiness: 0.5
     - _GlossyReflections: 1
@@ -69,12 +97,32 @@ Material:
     - _Mode: 0
     - _OcclusionStrength: 1
     - _Parallax: 0.02
+    - _QueueOffset: 0
+    - _ReceiveShadows: 1
+    - _Smoothness: 0.5
     - _SmoothnessTextureChannel: 0
     - _SpecularHighlights: 1
     - _SrcBlend: 1
+    - _Surface: 0
     - _UVSec: 0
+    - _WorkflowMode: 1
     - _ZWrite: 1
     m_Colors:
+    - _BaseColor: {r: 0.16078432, g: 0.5019608, b: 0.49411768, a: 1}
     - _Color: {r: 0.16078432, g: 0.5019608, b: 0.49411768, a: 1}
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+    - _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
   m_BuildTextureStacks: []
+--- !u!114 &6013397154178001959
+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: 5

+ 50 - 2
ActionTowerDefense/Assets/Resources/Materials/Color_red.mat

@@ -8,18 +8,23 @@ Material:
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: Color_red
-  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
   m_ValidKeywords: []
   m_InvalidKeywords: []
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
-  stringTagMap: {}
+  stringTagMap:
+    RenderType: Opaque
   disabledShaderPasses: []
   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}
@@ -56,12 +61,35 @@ Material:
         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
+    - _Blend: 0
     - _BumpScale: 1
+    - _ClearCoatMask: 0
+    - _ClearCoatSmoothness: 0
+    - _Cull: 2
     - _Cutoff: 0.5
+    - _DetailAlbedoMapScale: 1
     - _DetailNormalMapScale: 1
     - _DstBlend: 0
+    - _EnvironmentReflections: 1
     - _GlossMapScale: 1
     - _Glossiness: 0.5
     - _GlossyReflections: 1
@@ -69,12 +97,32 @@ Material:
     - _Mode: 0
     - _OcclusionStrength: 1
     - _Parallax: 0.02
+    - _QueueOffset: 0
+    - _ReceiveShadows: 1
+    - _Smoothness: 0.5
     - _SmoothnessTextureChannel: 0
     - _SpecularHighlights: 1
     - _SrcBlend: 1
+    - _Surface: 0
     - _UVSec: 0
+    - _WorkflowMode: 1
     - _ZWrite: 1
     m_Colors:
+    - _BaseColor: {r: 1, g: 0, b: 0, a: 1}
     - _Color: {r: 1, g: 0, b: 0, a: 1}
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+    - _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
   m_BuildTextureStacks: []
+--- !u!114 &6684222722852654327
+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: 5

+ 63 - 62
ActionTowerDefense/Assets/Resources/Prefab/Bg.prefab

@@ -52,7 +52,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -146,7 +146,7 @@ MeshRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -233,7 +233,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -317,7 +317,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -401,7 +401,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -485,7 +485,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -569,7 +569,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -653,7 +653,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -737,7 +737,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -821,7 +821,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -961,7 +961,7 @@ MeshRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -1013,6 +1013,7 @@ MonoBehaviour:
   left: {fileID: 0}
   right: {fileID: 0}
   canDown: 1
+  haveMagnetic: 0
 --- !u!1 &306163363
 GameObject:
   m_ObjectHideFlags: 0
@@ -1065,7 +1066,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -1149,7 +1150,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -1233,7 +1234,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -1317,7 +1318,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -1401,7 +1402,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -1485,7 +1486,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -1569,7 +1570,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -1653,7 +1654,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -1737,7 +1738,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -1821,7 +1822,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -1950,7 +1951,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -6883,7 +6884,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -6967,7 +6968,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -11863,7 +11864,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -11947,7 +11948,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -12031,7 +12032,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -12115,7 +12116,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -12199,7 +12200,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -12377,7 +12378,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -12461,7 +12462,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -12545,7 +12546,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -12629,7 +12630,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -17525,7 +17526,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -17609,7 +17610,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -17693,7 +17694,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -17777,7 +17778,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -17906,7 +17907,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -17990,7 +17991,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -18074,7 +18075,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -18158,7 +18159,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -18242,7 +18243,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -18371,7 +18372,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -18505,7 +18506,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -18589,7 +18590,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -18673,7 +18674,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -18757,7 +18758,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -18841,7 +18842,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -18925,7 +18926,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -23821,7 +23822,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -23905,7 +23906,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -23989,7 +23990,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -24073,7 +24074,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -24157,7 +24158,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -24241,7 +24242,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -29137,7 +29138,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -29221,7 +29222,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -29305,7 +29306,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -29389,7 +29390,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -29473,7 +29474,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -29557,7 +29558,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -29641,7 +29642,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0

+ 4 - 1
ActionTowerDefense/Assets/Resources/Prefab/Boss/WaterSprite/Boss_Braid.prefab

@@ -119,7 +119,10 @@ MonoBehaviour:
   extraFallGravity: -10
   extraGroundGravity: -28.8
   velocityAddition: 0
-  platformY: 0
+  platformPosY: 0
+  platformRotZ: 0
+  RotLerpSpeed: 0.6
+  RotLerpTime: 0
   matState: 1
   spinee: {fileID: 0}
   mesh: {fileID: 0}

+ 4 - 1
ActionTowerDefense/Assets/Resources/Prefab/Boss/WaterSprite/Boss_Umbrella.prefab

@@ -739,7 +739,10 @@ MonoBehaviour:
   extraFallGravity: -10
   extraGroundGravity: -28.8
   velocityAddition: 0
-  platformY: 0
+  platformPosY: 0
+  platformRotZ: 0
+  RotLerpSpeed: 0.6
+  RotLerpTime: 0
   matState: 1
   spinee: {fileID: 0}
   mesh: {fileID: 0}

+ 1 - 1
ActionTowerDefense/Assets/Resources/Prefab/Boss/WaterSprite/Circle.prefab

@@ -160,7 +160,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0

+ 1 - 1
ActionTowerDefense/Assets/Resources/Prefab/Boss/WaterSprite/hair.prefab

@@ -54,7 +54,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0

+ 1 - 1
ActionTowerDefense/Assets/Resources/Prefab/Boss/WaterSprite/hairWarning.prefab

@@ -52,7 +52,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0

+ 74 - 37
ActionTowerDefense/Assets/Resources/Prefab/Boss/YuMenGuan/Block/Block.prefab

@@ -223,55 +223,55 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: aca7a94cfe101a046a88ac9a1ad680ab, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  mecanim: {fileID: 0}
-  meshRenderer: {fileID: 0}
-  ani: {fileID: 2070971370305004341}
-  aniCollider: {fileID: 0}
   rb: {fileID: 4789982423637502596}
   bodyTrans: {fileID: 7412701798663147638}
   beSearchTrigger: {fileID: 3073048637990606779}
   searchTrigger: {fileID: 0}
   bodyCollider: {fileID: 3121816624605619044}
   uiHp: {fileID: 0}
+  beHitTrigger: {fileID: 0}
+  attackController: {fileID: 0}
+  platform: {fileID: 0}
+  mecanim: {fileID: 0}
+  meshRenderer: {fileID: 0}
+  ani: {fileID: 2070971370305004341}
+  totalDieKeepTime: 2.1
+  totalAttack_summonTime: 0.5
+  totalAttack_marchTime: 0.5
+  showInjuryNum: 1
+  injuryNumText: {fileID: 6467251191553420251, guid: 9b37289f93ea76745ab2cefb79a93e3c, type: 3}
+  injuryNumTextSummon: {fileID: 0}
+  injuryNumPos_summon: {x: 0, y: 1}
+  injuryNumRandom_summon: {x: 1, y: 1}
+  injuryNumPos_march: {x: 0, y: 1}
+  injuryNumRandom_march: {x: 2, y: 2}
+  dieKeepTime: 0
+  beHitDistance: 0
+  attackDis: 0
+  targetCharacter: {fileID: 0}
+  attackTarget: {fileID: 0}
   state: 0
   totalHp: 300
   hp: 0
-  isDie: 0
-  isRevive: 0
-  linked: 0
+  canFly: 0
+  nowCanFly: 0
   canNotAddForce: 0
   canNotChangeHurt: 0
+  isDie: 0
+  isRevive: 0
   invincibleTime: 0
-  injuryNumText: {fileID: 6467251191553420251, guid: 9b37289f93ea76745ab2cefb79a93e3c, type: 3}
-  showInjuryNum: 1
-  totalDieKeepTime: 2.1
-  dieKeepTime: 0
-  canHitFly: 0
-  isNonAttack: 0
-  attackTime: 0
-  totalAttack1Time: 0.5
-  totalAttack2Time: 0.5
-  attackType: 0
-  bulletPrefab: {fileID: 0}
-  shootPos: []
-  shootTrack: 0
-  attack1Infos: []
-  attack2Infos: []
-  attackTriggers: []
-  targetTypes: 030000000200000001000000
-  targetCharacter: {fileID: 0}
-  attackTarget: {fileID: 0}
-  beTargetCharacter: []
-  isSpirit: 0
-  isTran: 0
-  pc: {fileID: 0}
-  hptp: 0
-  joint: {fileID: 0}
-  rope: {fileID: 0}
+  isBeHitBySummonAttack: 0
+  statePre: {fileID: 0}
+  ls: {fileID: 0}
+  isInSoulTower: 0
   beLarger: 0
   toLargeSize: 0
   cookEffect: {fileID: 0}
-  attack1ShootCanTransmit: 0
+  Attack_summonShootCanTransmit: 0
+  debugAttackFrom: 0
+  ymg: {fileID: 0}
+  isSpecial: 0
+  isSpecialDie: 0
   soulPrefab: {fileID: 1723151111827507807, guid: e2b65aa482f2f1447a4074208d72b778, type: 3}
   soulStartSpeed: 1
   dropSoul: 3
@@ -281,12 +281,48 @@ MonoBehaviour:
   outSpeed: 10
   maxHeight: 12
   minHeight: 1
+  height: 0
   outDamage:
+    attackValue: 0
     damage: 100
     attackDir: {x: 0, y: -1, z: 0}
-    force: 5000
-    changeHurt: 0
-    repelValue: 10
+    attackEffect: 
+    floatState:
+      time: 0
+      upTime: {x: 0, y: 0}
+      backSpeed: {x: 0, y: 0}
+      rotateSpeed: {x: 0, y: 0}
+      height: {x: 0, y: 0}
+      ControlOrder: 0
+    blowUp:
+      directionType: 0
+      dir: {x: 0, y: 0, z: 0}
+      force: 0
+      time: 0
+      haveLandingDamage: 0
+      landingDamage: 0
+      ControlOrder: 0
+    shotDown:
+      directionType: 0
+      dir: {x: 0, y: 0, z: 0}
+      force: 0
+      time: 0
+      haveLandingDamage: 0
+      landingDamage: 0
+      ControlOrder: 0
+    weak:
+      time: 0
+      ControlOrder: 0
+    armorPiercing:
+      rate: 0
+    vulnerable:
+      rate: 0
+      time: 0
+    changeDamage:
+      rate: 0
+    sustainedInjury:
+      damage: 0
+    isDemSummon: 0
   sprintAccSpeed: 0.5
   warning: {fileID: 1580639205095811614, guid: 32d68daf96c9cdc42a3babd8eb9962ab, type: 3}
   posYZ: {x: 0, y: -0.5, z: 0}
@@ -921,6 +957,7 @@ MonoBehaviour:
   m_EditorClassIdentifier: 
   owner: {fileID: 0}
   attackerID: 0
+  curX: 0
 --- !u!1 &5643998679008871008
 GameObject:
   m_ObjectHideFlags: 0

+ 74 - 37
ActionTowerDefense/Assets/Resources/Prefab/Boss/YuMenGuan/Block/SpecialBlock.prefab

@@ -223,55 +223,55 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: aca7a94cfe101a046a88ac9a1ad680ab, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  mecanim: {fileID: 0}
-  meshRenderer: {fileID: 0}
-  ani: {fileID: 2070971370305004341}
-  aniCollider: {fileID: 0}
   rb: {fileID: 4789982423637502596}
   bodyTrans: {fileID: 7412701798663147638}
   beSearchTrigger: {fileID: 3073048637990606779}
   searchTrigger: {fileID: 0}
   bodyCollider: {fileID: 3121816624605619044}
   uiHp: {fileID: 0}
+  beHitTrigger: {fileID: 0}
+  attackController: {fileID: 0}
+  platform: {fileID: 0}
+  mecanim: {fileID: 0}
+  meshRenderer: {fileID: 0}
+  ani: {fileID: 2070971370305004341}
+  totalDieKeepTime: 2.1
+  totalAttack_summonTime: 0.5
+  totalAttack_marchTime: 0.5
+  showInjuryNum: 1
+  injuryNumText: {fileID: 6467251191553420251, guid: 9b37289f93ea76745ab2cefb79a93e3c, type: 3}
+  injuryNumTextSummon: {fileID: 0}
+  injuryNumPos_summon: {x: 0, y: 1}
+  injuryNumRandom_summon: {x: 1, y: 1}
+  injuryNumPos_march: {x: 0, y: 1}
+  injuryNumRandom_march: {x: 2, y: 2}
+  dieKeepTime: 0
+  beHitDistance: 0
+  attackDis: 0
+  targetCharacter: {fileID: 0}
+  attackTarget: {fileID: 0}
   state: 0
   totalHp: 300
   hp: 0
-  isDie: 0
-  isRevive: 0
-  linked: 0
+  canFly: 0
+  nowCanFly: 0
   canNotAddForce: 0
   canNotChangeHurt: 0
+  isDie: 0
+  isRevive: 0
   invincibleTime: 0
-  injuryNumText: {fileID: 6467251191553420251, guid: 9b37289f93ea76745ab2cefb79a93e3c, type: 3}
-  showInjuryNum: 1
-  totalDieKeepTime: 2.1
-  dieKeepTime: 0
-  canHitFly: 0
-  isNonAttack: 0
-  attackTime: 0
-  totalAttack1Time: 0.5
-  totalAttack2Time: 0.5
-  attackType: 0
-  bulletPrefab: {fileID: 0}
-  shootPos: []
-  shootTrack: 0
-  attack1Infos: []
-  attack2Infos: []
-  attackTriggers: []
-  targetTypes: 030000000200000001000000
-  targetCharacter: {fileID: 0}
-  attackTarget: {fileID: 0}
-  beTargetCharacter: []
-  isSpirit: 0
-  isTran: 0
-  pc: {fileID: 0}
-  hptp: 0
-  joint: {fileID: 0}
-  rope: {fileID: 0}
+  isBeHitBySummonAttack: 0
+  statePre: {fileID: 0}
+  ls: {fileID: 0}
+  isInSoulTower: 0
   beLarger: 0
   toLargeSize: 0
   cookEffect: {fileID: 0}
-  attack1ShootCanTransmit: 0
+  Attack_summonShootCanTransmit: 0
+  debugAttackFrom: 0
+  ymg: {fileID: 0}
+  isSpecial: 0
+  isSpecialDie: 0
   soulPrefab: {fileID: 1723151111827507807, guid: e2b65aa482f2f1447a4074208d72b778, type: 3}
   soulStartSpeed: 1
   dropSoul: 3
@@ -281,12 +281,48 @@ MonoBehaviour:
   outSpeed: 10
   maxHeight: 12
   minHeight: 1
+  height: 0
   outDamage:
+    attackValue: 0
     damage: 100
     attackDir: {x: 0, y: -1, z: 0}
-    force: 5000
-    changeHurt: 0
-    repelValue: 10
+    attackEffect: 
+    floatState:
+      time: 0
+      upTime: {x: 0, y: 0}
+      backSpeed: {x: 0, y: 0}
+      rotateSpeed: {x: 0, y: 0}
+      height: {x: 0, y: 0}
+      ControlOrder: 0
+    blowUp:
+      directionType: 0
+      dir: {x: 0, y: 0, z: 0}
+      force: 0
+      time: 0
+      haveLandingDamage: 0
+      landingDamage: 0
+      ControlOrder: 0
+    shotDown:
+      directionType: 0
+      dir: {x: 0, y: 0, z: 0}
+      force: 0
+      time: 0
+      haveLandingDamage: 0
+      landingDamage: 0
+      ControlOrder: 0
+    weak:
+      time: 0
+      ControlOrder: 0
+    armorPiercing:
+      rate: 0
+    vulnerable:
+      rate: 0
+      time: 0
+    changeDamage:
+      rate: 0
+    sustainedInjury:
+      damage: 0
+    isDemSummon: 0
   sprintAccSpeed: 0.5
   warning: {fileID: 1580639205095811614, guid: 32d68daf96c9cdc42a3babd8eb9962ab, type: 3}
   posYZ: {x: 0, y: -0.5, z: 0}
@@ -921,6 +957,7 @@ MonoBehaviour:
   m_EditorClassIdentifier: 
   owner: {fileID: 0}
   attackerID: 0
+  curX: 0
 --- !u!1 &5643998679008871008
 GameObject:
   m_ObjectHideFlags: 0

+ 51 - 3
ActionTowerDefense/Assets/Resources/Prefab/Boss/YuMenGuan/Block/block_moster.mat

@@ -1,5 +1,18 @@
 %YAML 1.1
 %TAG !u! tag:unity3d.com,2011:
+--- !u!114 &-7125069051161086842
+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: 5
 --- !u!21 &2100000
 Material:
   serializedVersion: 8
@@ -8,18 +21,23 @@ Material:
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: block_moster
-  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
   m_ValidKeywords: []
   m_InvalidKeywords: []
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
-  stringTagMap: {}
+  stringTagMap:
+    RenderType: Opaque
   disabledShaderPasses: []
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
+    - _BaseMap:
+        m_Texture: {fileID: 2800000, guid: e985f4fafc1c62f4aae20cb9016e7e13, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
     - _BumpMap:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
@@ -41,7 +59,7 @@ Material:
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
     - _MainTex:
-        m_Texture: {fileID: 2800000, guid: e985f4fafc1c62f4aae20cb9016e7e13, type: 3}
+        m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
     - _MetallicGlossMap:
@@ -56,15 +74,38 @@ Material:
         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
+    - _Blend: 0
     - _BumpScale: 1
+    - _ClearCoatMask: 0
+    - _ClearCoatSmoothness: 0
+    - _Cull: 2
     - _Cutoff: 0.5
+    - _DetailAlbedoMapScale: 1
     - _DetailNormalMapScale: 1
     - _DstBlend: 0
     - _DualGrid: 0
     - _EdgeAlphaThreshold: 1
     - _EdgeDampRate: 2
+    - _EnvironmentReflections: 1
     - _GlossMapScale: 1
     - _Glossiness: 0.5
     - _GlossyReflections: 1
@@ -73,13 +114,20 @@ Material:
     - _OcclusionStrength: 1
     - _OriginAlphaThreshold: 0.2
     - _Parallax: 0.02
+    - _QueueOffset: 0
+    - _ReceiveShadows: 1
+    - _Smoothness: 0.5
     - _SmoothnessTextureChannel: 0
     - _SpecularHighlights: 1
     - _SrcBlend: 1
+    - _Surface: 0
     - _UVSec: 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}
     - _EdgeColor: {r: 0, g: 0, b: 0, a: 1}
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+    - _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
   m_BuildTextureStacks: []

+ 52 - 4
ActionTowerDefense/Assets/Resources/Prefab/Boss/YuMenGuan/Block/specialBlock.mat

@@ -1,5 +1,18 @@
 %YAML 1.1
 %TAG !u! tag:unity3d.com,2011:
+--- !u!114 &-6663634286932452480
+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: 5
 --- !u!21 &2100000
 Material:
   serializedVersion: 8
@@ -8,18 +21,23 @@ Material:
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: specialBlock
-  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
   m_ValidKeywords: []
   m_InvalidKeywords: []
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
   m_CustomRenderQueue: -1
-  stringTagMap: {}
+  stringTagMap:
+    RenderType: Opaque
   disabledShaderPasses: []
   m_SavedProperties:
     serializedVersion: 3
     m_TexEnvs:
+    - _BaseMap:
+        m_Texture: {fileID: 2800000, guid: e985f4fafc1c62f4aae20cb9016e7e13, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
     - _BumpMap:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
@@ -41,7 +59,7 @@ Material:
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
     - _MainTex:
-        m_Texture: {fileID: 2800000, guid: e985f4fafc1c62f4aae20cb9016e7e13, type: 3}
+        m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
     - _MetallicGlossMap:
@@ -56,15 +74,38 @@ Material:
         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
+    - _Blend: 0
     - _BumpScale: 1
+    - _ClearCoatMask: 0
+    - _ClearCoatSmoothness: 0
+    - _Cull: 2
     - _Cutoff: 0.5
+    - _DetailAlbedoMapScale: 1
     - _DetailNormalMapScale: 1
     - _DstBlend: 0
     - _DualGrid: 0
     - _EdgeAlphaThreshold: 1
     - _EdgeDampRate: 2
+    - _EnvironmentReflections: 1
     - _GlossMapScale: 1
     - _Glossiness: 0.5
     - _GlossyReflections: 1
@@ -73,13 +114,20 @@ Material:
     - _OcclusionStrength: 1
     - _OriginAlphaThreshold: 0.2
     - _Parallax: 0.02
+    - _QueueOffset: 0
+    - _ReceiveShadows: 1
+    - _Smoothness: 0.5
     - _SmoothnessTextureChannel: 0
     - _SpecularHighlights: 1
     - _SrcBlend: 1
+    - _Surface: 0
     - _UVSec: 0
+    - _WorkflowMode: 1
     - _ZWrite: 1
     m_Colors:
-    - _Color: {r: 0.5754717, g: 0.040174417, b: 0.07003327, a: 1}
+    - _BaseColor: {r: 0.5754717, g: 0.040174417, b: 0.07003327, a: 1}
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
     - _EdgeColor: {r: 0, g: 0, b: 0, a: 1}
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+    - _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
   m_BuildTextureStacks: []

+ 313 - 228
ActionTowerDefense/Assets/Resources/Prefab/Boss/YuMenGuan/Boss_YuMenGuan.prefab

@@ -15563,6 +15563,7 @@ MonoBehaviour:
   m_EditorClassIdentifier: 
   owner: {fileID: 0}
   attackerID: 0
+  curX: 0
 --- !u!114 &4180808611868739864
 MonoBehaviour:
   m_ObjectHideFlags: 0
@@ -15588,55 +15589,52 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: 7f497f5eaf59ac6499fcb1e6b0c5f857, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  mecanim: {fileID: 0}
-  meshRenderer: {fileID: 0}
-  ani: {fileID: 0}
-  aniCollider: {fileID: 0}
   rb: {fileID: 0}
   bodyTrans: {fileID: 0}
   beSearchTrigger: {fileID: 0}
   searchTrigger: {fileID: 0}
   bodyCollider: {fileID: 0}
   uiHp: {fileID: 0}
+  beHitTrigger: {fileID: 0}
+  attackController: {fileID: 0}
+  platform: {fileID: 0}
+  mecanim: {fileID: 0}
+  meshRenderer: {fileID: 0}
+  ani: {fileID: 0}
+  totalDieKeepTime: 2
+  totalAttack_summonTime: 0.5
+  totalAttack_marchTime: 0.5
+  showInjuryNum: 0
+  injuryNumText: {fileID: 0}
+  injuryNumTextSummon: {fileID: 0}
+  injuryNumPos_summon: {x: 0, y: 1}
+  injuryNumRandom_summon: {x: 1, y: 1}
+  injuryNumPos_march: {x: 0, y: 1}
+  injuryNumRandom_march: {x: 2, y: 2}
+  dieKeepTime: 0
+  beHitDistance: 0
+  attackDis: 0
+  targetCharacter: {fileID: 0}
+  attackTarget: {fileID: 0}
   state: 0
   totalHp: 100
   hp: 0
-  isDie: 0
-  isRevive: 0
-  linked: 0
+  canFly: 0
+  nowCanFly: 0
   canNotAddForce: 0
   canNotChangeHurt: 0
+  isDie: 0
+  isRevive: 0
   invincibleTime: 0
-  injuryNumText: {fileID: 0}
-  showInjuryNum: 0
-  totalDieKeepTime: 2
-  dieKeepTime: 0
-  canHitFly: 0
-  isNonAttack: 0
-  attackTime: 0
-  totalAttack1Time: 0.5
-  totalAttack2Time: 0.5
-  attackType: 0
-  bulletPrefab: {fileID: 0}
-  shootPos: []
-  shootTrack: 0
-  attack1Infos: []
-  attack2Infos: []
-  attackTriggers: []
-  targetTypes: 
-  targetCharacter: {fileID: 0}
-  attackTarget: {fileID: 0}
-  beTargetCharacter: []
-  isSpirit: 0
-  isTran: 0
-  pc: {fileID: 0}
-  hptp: 0
-  joint: {fileID: 0}
-  rope: {fileID: 0}
+  isBeHitBySummonAttack: 0
+  statePre: {fileID: 0}
+  ls: {fileID: 0}
+  isInSoulTower: 0
   beLarger: 0
   toLargeSize: 0
   cookEffect: {fileID: 0}
-  attack1ShootCanTransmit: 0
+  Attack_summonShootCanTransmit: 0
+  debugAttackFrom: 0
   boss: {fileID: 0}
   isCore: 0
 --- !u!1 &2878654456088225154
@@ -15702,6 +15700,7 @@ MonoBehaviour:
   m_EditorClassIdentifier: 
   owner: {fileID: 0}
   attackerID: 0
+  curX: 0
 --- !u!114 &2512363039354484990
 MonoBehaviour:
   m_ObjectHideFlags: 0
@@ -15727,55 +15726,52 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: 7f497f5eaf59ac6499fcb1e6b0c5f857, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  mecanim: {fileID: 0}
-  meshRenderer: {fileID: 0}
-  ani: {fileID: 0}
-  aniCollider: {fileID: 0}
   rb: {fileID: 0}
   bodyTrans: {fileID: 0}
   beSearchTrigger: {fileID: 0}
   searchTrigger: {fileID: 0}
   bodyCollider: {fileID: 0}
   uiHp: {fileID: 0}
+  beHitTrigger: {fileID: 0}
+  attackController: {fileID: 0}
+  platform: {fileID: 0}
+  mecanim: {fileID: 0}
+  meshRenderer: {fileID: 0}
+  ani: {fileID: 0}
+  totalDieKeepTime: 2
+  totalAttack_summonTime: 0.5
+  totalAttack_marchTime: 0.5
+  showInjuryNum: 1
+  injuryNumText: {fileID: 6467251191553420251, guid: 9b37289f93ea76745ab2cefb79a93e3c, type: 3}
+  injuryNumTextSummon: {fileID: 0}
+  injuryNumPos_summon: {x: 0, y: 1}
+  injuryNumRandom_summon: {x: 1, y: 1}
+  injuryNumPos_march: {x: 0, y: 1}
+  injuryNumRandom_march: {x: 2, y: 2}
+  dieKeepTime: 0
+  beHitDistance: 0
+  attackDis: 0
+  targetCharacter: {fileID: 0}
+  attackTarget: {fileID: 0}
   state: 0
   totalHp: 100
   hp: 0
-  isDie: 0
-  isRevive: 0
-  linked: 0
+  canFly: 0
+  nowCanFly: 0
   canNotAddForce: 0
   canNotChangeHurt: 0
+  isDie: 0
+  isRevive: 0
   invincibleTime: 0
-  injuryNumText: {fileID: 6467251191553420251, guid: 9b37289f93ea76745ab2cefb79a93e3c, type: 3}
-  showInjuryNum: 1
-  totalDieKeepTime: 2
-  dieKeepTime: 0
-  canHitFly: 0
-  isNonAttack: 0
-  attackTime: 0
-  totalAttack1Time: 0.5
-  totalAttack2Time: 0.5
-  attackType: 0
-  bulletPrefab: {fileID: 0}
-  shootPos: []
-  shootTrack: 0
-  attack1Infos: []
-  attack2Infos: []
-  attackTriggers: []
-  targetTypes: 
-  targetCharacter: {fileID: 0}
-  attackTarget: {fileID: 0}
-  beTargetCharacter: []
-  isSpirit: 0
-  isTran: 0
-  pc: {fileID: 0}
-  hptp: 0
-  joint: {fileID: 0}
-  rope: {fileID: 0}
+  isBeHitBySummonAttack: 0
+  statePre: {fileID: 0}
+  ls: {fileID: 0}
+  isInSoulTower: 0
   beLarger: 0
   toLargeSize: 0
   cookEffect: {fileID: 0}
-  attack1ShootCanTransmit: 0
+  Attack_summonShootCanTransmit: 0
+  debugAttackFrom: 0
   boss: {fileID: 0}
   isCore: 0
 --- !u!1 &2878654456367988527
@@ -21431,6 +21427,8 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   imgHp: {fileID: 1237964381651570455}
+  pc: {fileID: 0}
+  points: []
 --- !u!1 &5809762182049288564
 GameObject:
   m_ObjectHideFlags: 0
@@ -21723,10 +21721,10 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   rb: {fileID: 0}
+  moveCharacter: {fileID: 0}
   haveGravity: 1
   trigGroundList: []
-  myBaGuaTrigger: {fileID: 0}
-  baGuaTrigger: []
+  platform: {fileID: 0}
 --- !u!1 &6300475371285612510
 GameObject:
   m_ObjectHideFlags: 0
@@ -27035,11 +27033,12 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   owner: {fileID: 0}
-  isCook: 0
-  isEnemy: 1
-  trigObjList: []
-  eCook: {fileID: 0}
-  dCook: {fileID: 0}
+  trigDemonicList: []
+  trigTowerList: []
+  trigPlayerList: []
+  trigEnemyList: []
+  trigEnemyTowerList: []
+  trigBossList: []
   needToChange: 0
   maxLen: 45
   minLen: 35
@@ -27119,6 +27118,7 @@ MonoBehaviour:
   m_EditorClassIdentifier: 
   owner: {fileID: 0}
   attackerID: 0
+  curX: 0
 --- !u!114 &368189835966341323
 MonoBehaviour:
   m_ObjectHideFlags: 0
@@ -27144,55 +27144,52 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: 7f497f5eaf59ac6499fcb1e6b0c5f857, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  mecanim: {fileID: 0}
-  meshRenderer: {fileID: 0}
-  ani: {fileID: 0}
-  aniCollider: {fileID: 0}
   rb: {fileID: 0}
   bodyTrans: {fileID: 0}
   beSearchTrigger: {fileID: 0}
   searchTrigger: {fileID: 0}
   bodyCollider: {fileID: 0}
   uiHp: {fileID: 0}
+  beHitTrigger: {fileID: 0}
+  attackController: {fileID: 0}
+  platform: {fileID: 0}
+  mecanim: {fileID: 0}
+  meshRenderer: {fileID: 0}
+  ani: {fileID: 0}
+  totalDieKeepTime: 2
+  totalAttack_summonTime: 0.5
+  totalAttack_marchTime: 0.5
+  showInjuryNum: 0
+  injuryNumText: {fileID: 0}
+  injuryNumTextSummon: {fileID: 0}
+  injuryNumPos_summon: {x: 0, y: 1}
+  injuryNumRandom_summon: {x: 1, y: 1}
+  injuryNumPos_march: {x: 0, y: 1}
+  injuryNumRandom_march: {x: 2, y: 2}
+  dieKeepTime: 0
+  beHitDistance: 0
+  attackDis: 0
+  targetCharacter: {fileID: 0}
+  attackTarget: {fileID: 0}
   state: 0
   totalHp: 100
   hp: 0
-  isDie: 0
-  isRevive: 0
-  linked: 0
+  canFly: 0
+  nowCanFly: 0
   canNotAddForce: 0
   canNotChangeHurt: 0
+  isDie: 0
+  isRevive: 0
   invincibleTime: 0
-  injuryNumText: {fileID: 0}
-  showInjuryNum: 0
-  totalDieKeepTime: 2
-  dieKeepTime: 0
-  canHitFly: 0
-  isNonAttack: 0
-  attackTime: 0
-  totalAttack1Time: 0.5
-  totalAttack2Time: 0.5
-  attackType: 0
-  bulletPrefab: {fileID: 0}
-  shootPos: []
-  shootTrack: 0
-  attack1Infos: []
-  attack2Infos: []
-  attackTriggers: []
-  targetTypes: 
-  targetCharacter: {fileID: 0}
-  attackTarget: {fileID: 0}
-  beTargetCharacter: []
-  isSpirit: 0
-  isTran: 0
-  pc: {fileID: 0}
-  hptp: 0
-  joint: {fileID: 0}
-  rope: {fileID: 0}
+  isBeHitBySummonAttack: 0
+  statePre: {fileID: 0}
+  ls: {fileID: 0}
+  isInSoulTower: 0
   beLarger: 0
   toLargeSize: 0
   cookEffect: {fileID: 0}
-  attack1ShootCanTransmit: 0
+  Attack_summonShootCanTransmit: 0
+  debugAttackFrom: 0
   boss: {fileID: 0}
   isCore: 0
 --- !u!1 &7592656178151385091
@@ -27395,105 +27392,85 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: 05b385860a2112d4e9e58b2284fbc6c5, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  mecanim: {fileID: 0}
-  meshRenderer: {fileID: 0}
-  ani: {fileID: 7907975740994812595}
-  aniCollider: {fileID: 4308159754961789826}
   rb: {fileID: 7555546965864599635}
   bodyTrans: {fileID: 7652881806103649629}
   beSearchTrigger: {fileID: 0}
   searchTrigger: {fileID: 4515056868385938181}
   bodyCollider: {fileID: 2468179666100849968}
   uiHp: {fileID: 2012235014588880424}
+  beHitTrigger: {fileID: 0}
+  attackController: {fileID: 0}
+  platform: {fileID: 0}
+  mecanim: {fileID: 0}
+  meshRenderer: {fileID: 0}
+  ani: {fileID: 7907975740994812595}
+  totalDieKeepTime: 2
+  totalAttack_summonTime: 0.5
+  totalAttack_marchTime: 0.5
+  showInjuryNum: 1
+  injuryNumText: {fileID: 6467251191553420251, guid: 9b37289f93ea76745ab2cefb79a93e3c, type: 3}
+  injuryNumTextSummon: {fileID: 0}
+  injuryNumPos_summon: {x: 0, y: 1}
+  injuryNumRandom_summon: {x: 1, y: 1}
+  injuryNumPos_march: {x: 0, y: 1}
+  injuryNumRandom_march: {x: 2, y: 2}
+  dieKeepTime: 0
+  beHitDistance: 0
+  attackDis: 0
+  targetCharacter: {fileID: 0}
+  attackTarget: {fileID: 0}
   state: 0
   totalHp: 100
   hp: 0
-  isDie: 0
-  isRevive: 0
-  linked: 0
+  canFly: 0
+  nowCanFly: 0
   canNotAddForce: 1
   canNotChangeHurt: 1
+  isDie: 0
+  isRevive: 0
   invincibleTime: 0
-  injuryNumText: {fileID: 6467251191553420251, guid: 9b37289f93ea76745ab2cefb79a93e3c, type: 3}
-  showInjuryNum: 1
-  totalDieKeepTime: 2
-  dieKeepTime: 0
-  canHitFly: 0
-  isNonAttack: 0
-  attackTime: 0
-  totalAttack1Time: 0.5
-  totalAttack2Time: 0.5
-  attackType: 0
-  bulletPrefab: {fileID: 0}
-  shootPos: []
-  shootTrack: 0
-  attack1Infos: []
-  attack2Infos: []
-  attackTriggers: []
-  targetTypes: 010000000300000002000000
-  targetCharacter: {fileID: 0}
-  attackTarget: {fileID: 0}
-  beTargetCharacter: []
-  isSpirit: 0
-  isTran: 0
-  pc: {fileID: 0}
-  hptp: 0
-  joint: {fileID: 0}
-  rope: {fileID: 0}
+  isBeHitBySummonAttack: 0
+  statePre: {fileID: 0}
+  ls: {fileID: 0}
+  isInSoulTower: 0
   beLarger: 0
   toLargeSize: 0
   cookEffect: {fileID: 0}
-  attack1ShootCanTransmit: 0
+  Attack_summonShootCanTransmit: 0
+  debugAttackFrom: 0
+  hitResistance: 0
+  foot: {fileID: 6255311901631402453}
+  attributeStatus: {fileID: 0}
+  hitFeedbackSystem: {fileID: 0}
+  extraRiseGravity: 0
+  extraFallGravity: -10
+  extraGroundGravity: -28.8
+  velocityAddition: 0
+  platformPosY: 0
+  platformRotZ: 0
+  RotLerpSpeed: 0.6
+  RotLerpTime: 0
   matState: 1
   spinee: {fileID: 0}
   mesh: {fileID: 0}
   mats: []
   outlineMats: []
   outline1Mats: []
-  foot: {fileID: 6255311901631402453}
-  extraRiseGravity: 0
-  extraFallGravity: -10
-  canMove: 1
   moveSpeed: 1
-  totalBeRepelValue: 0
-  beRepelValue: 0
-  weakTime: 0
-  totalWeakTime: 0
-  weakHitRate: 2
-  easyToGetHit: 0.2
+  needToAdjustFlyHeight: 0
+  flyHeight: 0
+  maxFlyHeight: 0
+  minFlyHeight: 0
+  flyUpTime: 0
+  isAdjustHeight: 0
   isDamageReduction: 0
   reductionDegree: 0
   reductionEffect: {fileID: 0}
-  decelerationRatio: 1
-  comaTime: 5
-  pastComaTime: 0
-  floatState: 0
-  maxTime: 1.5
-  minTime: 0.1
-  maxHeight: 12
-  minHeight: 7
-  floatTime: 20
-  maxRotateSpeed: 20
-  minRotateSpeed: 5
-  isFloat: 0
-  normalFallSpeed: 0
-  playerMe: {fileID: 0}
-  playerAni: {fileID: 0}
-  playerCol: {fileID: 0}
-  playerTran: {fileID: 0}
-  playerBst: {fileID: 0}
-  playerBullet: {fileID: 0}
-  playerST: {fileID: 0}
-  playerFoot: {fileID: 0}
-  playerSpinee: {fileID: 0}
-  playerMesh: {fileID: 0}
-  playerMats: []
-  playerOut: []
+  effect: {fileID: 0}
   soulPrefab: {fileID: 1723151111827507807, guid: e2b65aa482f2f1447a4074208d72b778, type: 3}
   soulStartSpeed: 1
   isInvisible: 0
   invisibleTime: 0
-  velocityAddition: 0
   haveTransmit: 0
   transmitTime: 0
   portalsController: {fileID: 0}
@@ -27502,36 +27479,9 @@ MonoBehaviour:
   sustainedInjury_IntervalTime: 0
   sustainedInjury_damage: 0
   heavyDamage: 0
-  states:
-  - coreHp: 3000
-    scale: 1
-    weaknesses:
-    - obj: {fileID: 2878654456088225154}
-      Hp: 1000
-    core: {fileID: 7551100372909007610}
-  - coreHp: 3000
-    scale: 2
-    weaknesses:
-    - obj: {fileID: 2878654456088225154}
-      Hp: 1000
-    - obj: {fileID: 2878654455883567284}
-      Hp: 1000
-    core: {fileID: 7551100372909007610}
-  - coreHp: 5000
-    scale: 3
-    weaknesses:
-    - obj: {fileID: 2878654456088225154}
-      Hp: 2000
-    - obj: {fileID: 2878654455883567284}
-      Hp: 2000
-    core: {fileID: 7551100372909007610}
-  curStateId: 0
-  restWeaknessNum: 0
-  roarEffect: {fileID: 3274725863406055185}
-  roarTime: 2
-  isChangeState: 0
-  coreDamageRate: 2
+  killer: {fileID: 0}
   curTarget: 2
+  pc: {fileID: 0}
   circulate: AABAAAB
   categories: 
   curCategoryID: 0
@@ -27557,27 +27507,167 @@ MonoBehaviour:
   wave1: {fileID: 8481532737664997307, guid: 5e9b05873d774fa4888dc4c56a1002f0, type: 3}
   wave2: {fileID: 8481532737664997307, guid: 5e9b05873d774fa4888dc4c56a1002f0, type: 3}
   wave1Damage:
+    attackValue: 0
     damage: 100
     attackDir: {x: 0, y: 0, z: 0}
-    force: 0
-    changeHurt: 0
-    repelValue: 0
+    attackEffect: 
+    floatState:
+      time: 0
+      upTime: {x: 0, y: 0}
+      backSpeed: {x: 0, y: 0}
+      rotateSpeed: {x: 0, y: 0}
+      height: {x: 0, y: 0}
+      ControlOrder: 0
+    blowUp:
+      directionType: 0
+      dir: {x: 0, y: 0, z: 0}
+      force: 0
+      time: 0
+      haveLandingDamage: 0
+      landingDamage: 0
+      ControlOrder: 0
+    shotDown:
+      directionType: 0
+      dir: {x: 0, y: 0, z: 0}
+      force: 0
+      time: 0
+      haveLandingDamage: 0
+      landingDamage: 0
+      ControlOrder: 0
+    weak:
+      time: 0
+      ControlOrder: 0
+    armorPiercing:
+      rate: 0
+    vulnerable:
+      rate: 0
+      time: 0
+    changeDamage:
+      rate: 0
+    sustainedInjury:
+      damage: 0
+    isDemSummon: 0
   wave2Damage:
-  - damage: 100
+  - attackValue: 0
+    damage: 100
     attackDir: {x: 0, y: 0, z: 0}
-    force: 0
-    changeHurt: 0
-    repelValue: 0
-  - damage: 150
+    attackEffect: 
+    floatState:
+      time: 0
+      upTime: {x: 0, y: 0}
+      backSpeed: {x: 0, y: 0}
+      rotateSpeed: {x: 0, y: 0}
+      height: {x: 0, y: 0}
+      ControlOrder: 0
+    blowUp:
+      directionType: 0
+      dir: {x: 0, y: 0, z: 0}
+      force: 0
+      time: 0
+      haveLandingDamage: 0
+      landingDamage: 0
+      ControlOrder: 0
+    shotDown:
+      directionType: 0
+      dir: {x: 0, y: 0, z: 0}
+      force: 0
+      time: 0
+      haveLandingDamage: 0
+      landingDamage: 0
+      ControlOrder: 0
+    weak:
+      time: 0
+      ControlOrder: 0
+    armorPiercing:
+      rate: 0
+    vulnerable:
+      rate: 0
+      time: 0
+    changeDamage:
+      rate: 0
+    sustainedInjury:
+      damage: 0
+    isDemSummon: 0
+  - attackValue: 0
+    damage: 150
     attackDir: {x: 0, y: 0, z: 0}
-    force: 0
-    changeHurt: 0
-    repelValue: 0
-  - damage: 200
+    attackEffect: 
+    floatState:
+      time: 0
+      upTime: {x: 0, y: 0}
+      backSpeed: {x: 0, y: 0}
+      rotateSpeed: {x: 0, y: 0}
+      height: {x: 0, y: 0}
+      ControlOrder: 0
+    blowUp:
+      directionType: 0
+      dir: {x: 0, y: 0, z: 0}
+      force: 0
+      time: 0
+      haveLandingDamage: 0
+      landingDamage: 0
+      ControlOrder: 0
+    shotDown:
+      directionType: 0
+      dir: {x: 0, y: 0, z: 0}
+      force: 0
+      time: 0
+      haveLandingDamage: 0
+      landingDamage: 0
+      ControlOrder: 0
+    weak:
+      time: 0
+      ControlOrder: 0
+    armorPiercing:
+      rate: 0
+    vulnerable:
+      rate: 0
+      time: 0
+    changeDamage:
+      rate: 0
+    sustainedInjury:
+      damage: 0
+    isDemSummon: 0
+  - attackValue: 0
+    damage: 200
     attackDir: {x: 0, y: 0, z: 0}
-    force: 0
-    changeHurt: 0
-    repelValue: 0
+    attackEffect: 
+    floatState:
+      time: 0
+      upTime: {x: 0, y: 0}
+      backSpeed: {x: 0, y: 0}
+      rotateSpeed: {x: 0, y: 0}
+      height: {x: 0, y: 0}
+      ControlOrder: 0
+    blowUp:
+      directionType: 0
+      dir: {x: 0, y: 0, z: 0}
+      force: 0
+      time: 0
+      haveLandingDamage: 0
+      landingDamage: 0
+      ControlOrder: 0
+    shotDown:
+      directionType: 0
+      dir: {x: 0, y: 0, z: 0}
+      force: 0
+      time: 0
+      haveLandingDamage: 0
+      landingDamage: 0
+      ControlOrder: 0
+    weak:
+      time: 0
+      ControlOrder: 0
+    armorPiercing:
+      rate: 0
+    vulnerable:
+      rate: 0
+      time: 0
+    changeDamage:
+      rate: 0
+    sustainedInjury:
+      damage: 0
+    isDemSummon: 0
   wave1pos: {fileID: 4306865386881122374}
   wave2pos: {fileID: 8182546596261761909}
   launchDelayTime1: 1.083333
@@ -32940,11 +33030,6 @@ PrefabInstance:
       objectReference: {fileID: 0}
     m_RemovedComponents: []
   m_SourcePrefab: {fileID: 100100000, guid: cadb01e8f53a04e47995d48a23436d21, type: 3}
---- !u!1 &3274725863406055185 stripped
-GameObject:
-  m_CorrespondingSourceObject: {fileID: 4256629854486027117, guid: cadb01e8f53a04e47995d48a23436d21, type: 3}
-  m_PrefabInstance: {fileID: 1612499353030390908}
-  m_PrefabAsset: {fileID: 0}
 --- !u!4 &3472427944151914781 stripped
 Transform:
   m_CorrespondingSourceObject: {fileID: 2760765185109847393, guid: cadb01e8f53a04e47995d48a23436d21, type: 3}

+ 1 - 1
ActionTowerDefense/Assets/Resources/Prefab/Boss/YuMenGuan/EyeLaser/Effc_Laser.prefab

@@ -73424,7 +73424,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0

+ 30 - 20
ActionTowerDefense/Assets/Resources/Prefab/Conduct/Demonic_BigGiant.prefab

@@ -91,6 +91,8 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: 5eaed0a6b9d6fc6409bef80cf41a0a8e, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
+  canBreakWall: 0
+  wallBrealNum: 10
   isShoot: 0
   type: 0
   owner: {fileID: 0}
@@ -143,7 +145,6 @@ MonoBehaviour:
   repelValue: 0
   offsetY: 1
   hitRate: 1
-  onlyFlyCanWeak: 0
 --- !u!1 &2460330936527559963
 GameObject:
   m_ObjectHideFlags: 0
@@ -516,8 +517,10 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   rb: {fileID: 0}
+  moveCharacter: {fileID: 0}
   haveGravity: 1
   trigGroundList: []
+  platform: {fileID: 0}
 --- !u!1 &5440846222648032759
 GameObject:
   m_ObjectHideFlags: 0
@@ -592,12 +595,20 @@ MonoBehaviour:
   uiHp: {fileID: 478072938412589135}
   beHitTrigger: {fileID: 3377671071202039733}
   attackController: {fileID: 1713614217752587255}
+  platform: {fileID: 0}
   mecanim: {fileID: 7573527827155227431}
   meshRenderer: {fileID: 0}
   ani: {fileID: 3333436509305836838}
   totalDieKeepTime: 0
   totalAttack_summonTime: 2.2
   totalAttack_marchTime: 4
+  showInjuryNum: 0
+  injuryNumText: {fileID: 6467251191553420251, guid: 9b37289f93ea76745ab2cefb79a93e3c, type: 3}
+  injuryNumTextSummon: {fileID: 0}
+  injuryNumPos_summon: {x: 0, y: 1}
+  injuryNumRandom_summon: {x: 1, y: 1}
+  injuryNumPos_march: {x: 0, y: 1}
+  injuryNumRandom_march: {x: 2, y: 2}
   dieKeepTime: 0
   beHitDistance: 0
   attackDis: 0
@@ -606,17 +617,14 @@ MonoBehaviour:
   state: 0
   totalHp: 4000
   hp: 0
-  isDie: 0
-  isRevive: 0
+  canFly: 0
+  nowCanFly: 0
   canNotAddForce: 0
   canNotChangeHurt: 0
+  isDie: 0
+  isRevive: 0
   invincibleTime: 0
-  injuryNumText: {fileID: 6467251191553420251, guid: 9b37289f93ea76745ab2cefb79a93e3c, type: 3}
-  injuryNumTextSummon: {fileID: 0}
   isBeHitBySummonAttack: 0
-  showInjuryNum: 0
-  canFly: 0
-  nowCanFly: 0
   statePre: {fileID: 0}
   ls: {fileID: 0}
   isInSoulTower: 0
@@ -625,22 +633,24 @@ MonoBehaviour:
   cookEffect: {fileID: 0}
   Attack_summonShootCanTransmit: 0
   debugAttackFrom: 0
-  injuryNumPos_summon: {x: 0, y: 1}
-  injuryNumRandom_summon: {x: 1, y: 1}
-  injuryNumPos_march: {x: 0, y: 1}
-  injuryNumRandom_march: {x: 2, y: 2}
+  hitResistance: 0
   foot: {fileID: 5440846222604650418}
   attributeStatus: {fileID: 0}
   hitFeedbackSystem: {fileID: 0}
-  hitResistance: 0
+  extraRiseGravity: -28.8
+  extraFallGravity: -14.4
+  extraGroundGravity: -28.8
+  velocityAddition: 0
+  platformPosY: 0
+  platformRotZ: 0
+  RotLerpSpeed: 0.6
+  RotLerpTime: 0
   matState: 1
   spinee: {fileID: 0}
   mesh: {fileID: 0}
   mats: []
   outlineMats: []
   outline1Mats: []
-  extraRiseGravity: -28.8
-  extraFallGravity: -14.4
   moveSpeed: 2
   needToAdjustFlyHeight: 0
   flyHeight: 0
@@ -656,7 +666,6 @@ MonoBehaviour:
   soulStartSpeed: 1
   isInvisible: 0
   invisibleTime: 0
-  velocityAddition: 0
   haveTransmit: 0
   transmitTime: 0
   portalsController: {fileID: 0}
@@ -666,6 +675,7 @@ MonoBehaviour:
   sustainedInjury_damage: 0
   heavyDamage: 0
   killer: {fileID: 0}
+  searchState: 0
   soldierType: 0
   player: {fileID: 0}
   playerID: 0
@@ -678,8 +688,6 @@ MonoBehaviour:
   isReturnSoulTower: 0
   origSoulPos: {x: 0, y: 0, z: 0}
   isRecorded: 0
-  searchState: 0
-  soulCollector: {fileID: 0}
   curAttackID: 0
   adsorbSpeed: 0
   adsorbTarget: {x: 0, y: 0, z: 0}
@@ -1216,8 +1224,6 @@ MeshRenderer:
   m_Materials:
   - {fileID: 2100000, guid: 466a6130b6c56614caef9c2f5961b3a8, type: 2}
   - {fileID: 2100000, guid: dc7a2704fc39fb24997c9f6279033f5c, type: 2}
-  - {fileID: 2100000, guid: 466a6130b6c56614caef9c2f5961b3a8, type: 2}
-  - {fileID: 2100000, guid: dc7a2704fc39fb24997c9f6279033f5c, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -1487,6 +1493,10 @@ PrefabInstance:
   m_Modification:
     m_TransformParent: {fileID: 901824162977467732}
     m_Modifications:
+    - target: {fileID: 56796490675054764, guid: 12435a63399f44f4a919a57010981786, type: 3}
+      propertyPath: m_Materials.Array.data[0]
+      value: 
+      objectReference: {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2}
     - target: {fileID: 262311660969425103, guid: 12435a63399f44f4a919a57010981786, type: 3}
       propertyPath: m_RootOrder
       value: 5

+ 47 - 8
ActionTowerDefense/Assets/Resources/Prefab/Conduct/FlyingSword.prefab

@@ -52,7 +52,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -144,26 +144,65 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: 9a4a2dbc1e482cd4b9f1532e1fddcb30, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
+  canStop: 0
+  stopTime: 0
   owner: {fileID: 0}
+  attackInfo:
+    attackValue: 0
+    damage: 0
+    attackDir: {x: 0, y: 0, z: 0}
+    attackEffect: 
+    floatState:
+      time: 0
+      upTime: {x: 0, y: 0}
+      backSpeed: {x: 0, y: 0}
+      rotateSpeed: {x: 0, y: 0}
+      height: {x: 0, y: 0}
+      ControlOrder: 0
+    blowUp:
+      directionType: 0
+      dir: {x: 0, y: 0, z: 0}
+      force: 0
+      time: 0
+      haveLandingDamage: 0
+      landingDamage: 0
+      ControlOrder: 0
+    shotDown:
+      directionType: 0
+      dir: {x: 0, y: 0, z: 0}
+      force: 0
+      time: 0
+      haveLandingDamage: 0
+      landingDamage: 0
+      ControlOrder: 0
+    weak:
+      time: 0
+      ControlOrder: 0
+    armorPiercing:
+      rate: 0
+    vulnerable:
+      rate: 0
+      time: 0
+    changeDamage:
+      rate: 0
+    sustainedInjury:
+      damage: 0
+    isDemSummon: 0
   rb: {fileID: 0}
   trigedObjs: []
-  damage: 0
-  force: 0
-  changeHurt: 0
-  repelValue: 0
   bulletType: 0
   isGetTarget: 0
   speed: 20
   maxFlyTime: 2
   flyTime: 0
   isTrack: 0
+  canAlwaysTrack: 0
   trackTarget: {fileID: 0}
-  isBack: 0
-  stayTime: 0
+  effect: {fileID: 0}
+  disappearEffect: {fileID: 0}
   canTransmit: 0
   haveTransmit: 0
   transmitTime: 0
-  portalsController: {fileID: 0}
 --- !u!54 &8541051486027365006
 Rigidbody:
   m_ObjectHideFlags: 0

+ 6 - 17
ActionTowerDefense/Assets/Resources/Prefab/Conduct/Photosphere.prefab

@@ -24,7 +24,6 @@ Transform:
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 256012001268456902}
-  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}
@@ -33,6 +32,7 @@ Transform:
   - {fileID: 8283194513254342148}
   - {fileID: 7905728122997361441}
   m_Father: {fileID: 0}
+  m_RootOrder: 0
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!114 &471243943054815319
 MonoBehaviour:
@@ -47,6 +47,7 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   owner: {fileID: 0}
+  conductController: {fileID: 0}
   conductId: 0
   stayTime: 10
   hp: 0
@@ -76,13 +77,13 @@ Transform:
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1373031044951819773}
-  serializedVersion: 2
   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
   m_LocalPosition: {x: 0, y: 0, z: 0}
   m_LocalScale: {x: 0.79999995, y: 0.79999995, z: 0.79999995}
   m_ConstrainProportionsScale: 1
   m_Children: []
   m_Father: {fileID: 1639900831015566504}
+  m_RootOrder: 0
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!212 &8894579418163447399
 SpriteRenderer:
@@ -101,13 +102,10 @@ SpriteRenderer:
   m_ReflectionProbeUsage: 1
   m_RayTracingMode: 0
   m_RayTraceProcedural: 0
-  m_RayTracingAccelStructBuildFlagsOverride: 0
-  m_RayTracingAccelStructBuildFlags: 1
-  m_SmallMeshCulling: 1
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -163,13 +161,13 @@ Transform:
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 5080240558872983884}
-  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: 7905728122997361441}
+  m_RootOrder: 0
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!136 &6336452897766439345
 CapsuleCollider:
@@ -179,17 +177,8 @@ CapsuleCollider:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 5080240558872983884}
   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: 2
   m_Radius: 2
   m_Height: 20
   m_Direction: 2
@@ -217,7 +206,6 @@ Transform:
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 8828199222583713393}
-  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}
@@ -225,4 +213,5 @@ Transform:
   m_Children:
   - {fileID: 6527116474255812546}
   m_Father: {fileID: 1639900831015566504}
+  m_RootOrder: 1
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}

+ 17 - 5
ActionTowerDefense/Assets/Resources/Prefab/Conduct/PhotosphereBullet.prefab

@@ -52,7 +52,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -136,7 +136,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -246,17 +246,27 @@ MonoBehaviour:
       backSpeed: {x: 0, y: 0}
       rotateSpeed: {x: 0, y: 0}
       height: {x: 0, y: 0}
+      ControlOrder: 0
     blowUp:
+      directionType: 0
       dir: {x: 0, y: 0, z: 0}
       force: 0
       time: 0
+      haveLandingDamage: 0
+      landingDamage: 0
+      ControlOrder: 0
     shotDown:
+      directionType: 0
       dir: {x: 0, y: 0, z: 0}
       force: 0
       time: 0
+      haveLandingDamage: 0
+      landingDamage: 0
+      ControlOrder: 0
     weak:
       time: 0
-    armor:
+      ControlOrder: 0
+    armorPiercing:
       rate: 0
     vulnerable:
       rate: 0
@@ -265,6 +275,7 @@ MonoBehaviour:
       rate: 0
     sustainedInjury:
       damage: 0
+    isDemSummon: 0
   rb: {fileID: 0}
   trigedObjs: []
   bulletType: 0
@@ -275,10 +286,11 @@ MonoBehaviour:
   isTrack: 1
   canAlwaysTrack: 0
   trackTarget: {fileID: 0}
+  effect: {fileID: 0}
+  disappearEffect: {fileID: 0}
   canTransmit: 0
   haveTransmit: 0
   transmitTime: 0
-  portalsController: {fileID: 0}
   damage: 0
 --- !u!1 &7473170563757732086
 GameObject:
@@ -332,7 +344,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0

+ 1 - 1
ActionTowerDefense/Assets/Resources/Prefab/Conduct/SwordsControl.prefab

@@ -85,7 +85,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0

+ 1 - 1
ActionTowerDefense/Assets/Resources/Prefab/Conduct/TemptHP.prefab

@@ -52,7 +52,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0

+ 1 - 1
ActionTowerDefense/Assets/Resources/Prefab/Conduct/WavePower.prefab

@@ -54,7 +54,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0

+ 16 - 29
ActionTowerDefense/Assets/Resources/Prefab/Conduct/conductReady.prefab

@@ -24,7 +24,6 @@ Transform:
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 256012001268456902}
-  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}
@@ -34,6 +33,7 @@ Transform:
   - {fileID: 8329788656594862105}
   - {fileID: 243363536863934398}
   m_Father: {fileID: 0}
+  m_RootOrder: 0
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!114 &653345970205402394
 MonoBehaviour:
@@ -81,13 +81,13 @@ Transform:
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 3583200161068769245}
-  serializedVersion: 2
   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
   m_LocalPosition: {x: 0, y: 1.92, z: 0}
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_ConstrainProportionsScale: 0
   m_Children: []
   m_Father: {fileID: 2000463482163487298}
+  m_RootOrder: 0
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!212 &2811050683347318329
 SpriteRenderer:
@@ -106,13 +106,10 @@ SpriteRenderer:
   m_ReflectionProbeUsage: 1
   m_RayTracingMode: 0
   m_RayTraceProcedural: 0
-  m_RayTracingAccelStructBuildFlagsOverride: 0
-  m_RayTracingAccelStructBuildFlags: 1
-  m_SmallMeshCulling: 1
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -167,7 +164,6 @@ Transform:
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 4474067736365301123}
-  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}
@@ -177,6 +173,7 @@ Transform:
   - {fileID: 4002859848822319346}
   - {fileID: 1490322033751740168}
   m_Father: {fileID: 1639900831015566504}
+  m_RootOrder: 2
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1 &4869387178989597256
 GameObject:
@@ -202,13 +199,13 @@ Transform:
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 4869387178989597256}
-  serializedVersion: 2
   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
   m_LocalPosition: {x: 0, y: 2.15, z: 0}
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_ConstrainProportionsScale: 0
   m_Children: []
   m_Father: {fileID: 1490322033751740168}
+  m_RootOrder: 0
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!212 &1292434953686859961
 SpriteRenderer:
@@ -227,13 +224,10 @@ SpriteRenderer:
   m_ReflectionProbeUsage: 1
   m_RayTracingMode: 0
   m_RayTraceProcedural: 0
-  m_RayTracingAccelStructBuildFlagsOverride: 0
-  m_RayTracingAccelStructBuildFlags: 1
-  m_SmallMeshCulling: 1
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -289,13 +283,13 @@ Transform:
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 5513671627936461487}
-  serializedVersion: 2
   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
   m_LocalPosition: {x: 0, y: 2.13, z: 0}
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_ConstrainProportionsScale: 0
   m_Children: []
   m_Father: {fileID: 4002859848822319346}
+  m_RootOrder: 0
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!212 &1558734470160678060
 SpriteRenderer:
@@ -314,13 +308,10 @@ SpriteRenderer:
   m_ReflectionProbeUsage: 1
   m_RayTracingMode: 0
   m_RayTraceProcedural: 0
-  m_RayTracingAccelStructBuildFlagsOverride: 0
-  m_RayTracingAccelStructBuildFlags: 1
-  m_SmallMeshCulling: 1
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -375,7 +366,6 @@ Transform:
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 6947932848260307626}
-  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}
@@ -383,6 +373,7 @@ Transform:
   m_Children:
   - {fileID: 1702532985161889935}
   m_Father: {fileID: 243363536863934398}
+  m_RootOrder: 0
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1 &8008102666287253248
 GameObject:
@@ -407,7 +398,6 @@ Transform:
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 8008102666287253248}
-  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}
@@ -415,6 +405,7 @@ Transform:
   m_Children:
   - {fileID: 1905913200867361685}
   m_Father: {fileID: 243363536863934398}
+  m_RootOrder: 2
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1 &8849285440770725057
 GameObject:
@@ -439,7 +430,6 @@ Transform:
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 8849285440770725057}
-  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}
@@ -447,13 +437,13 @@ Transform:
   m_Children:
   - {fileID: 8538645069558948278}
   m_Father: {fileID: 243363536863934398}
+  m_RootOrder: 1
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1001 &5104131334889947190
 PrefabInstance:
   m_ObjectHideFlags: 0
   serializedVersion: 2
   m_Modification:
-    serializedVersion: 3
     m_TransformParent: {fileID: 1639900831015566504}
     m_Modifications:
     - target: {fileID: 1630186243596328373, guid: ac0eaf066ef7deb49aff148e7ecf465c, type: 3}
@@ -461,9 +451,13 @@ PrefabInstance:
       value: 10
       objectReference: {fileID: 0}
     - target: {fileID: 1630186243596328373, guid: ac0eaf066ef7deb49aff148e7ecf465c, type: 3}
-      propertyPath: 'm_Materials.Array.data[0]'
+      propertyPath: m_Materials.Array.data[0]
       value: 
       objectReference: {fileID: 2100000, guid: 774d3eac0093d1049a171c7ea1aca258, type: 2}
+    - target: {fileID: 3840689505256603695, guid: ac0eaf066ef7deb49aff148e7ecf465c, type: 3}
+      propertyPath: m_RootOrder
+      value: 1
+      objectReference: {fileID: 0}
     - target: {fileID: 3840689505256603695, guid: ac0eaf066ef7deb49aff148e7ecf465c, type: 3}
       propertyPath: m_LocalPosition.x
       value: 0
@@ -553,9 +547,6 @@ PrefabInstance:
       value: star_end
       objectReference: {fileID: 0}
     m_RemovedComponents: []
-    m_RemovedGameObjects: []
-    m_AddedGameObjects: []
-    m_AddedComponents: []
   m_SourcePrefab: {fileID: 100100000, guid: ac0eaf066ef7deb49aff148e7ecf465c, type: 3}
 --- !u!1 &2388403796897772461 stripped
 GameObject:
@@ -572,7 +563,6 @@ PrefabInstance:
   m_ObjectHideFlags: 0
   serializedVersion: 2
   m_Modification:
-    serializedVersion: 3
     m_TransformParent: {fileID: 1639900831015566504}
     m_Modifications:
     - target: {fileID: 184376631592237918, guid: f3a0026daa5674441b25b18d98ea18cd, type: 3}
@@ -952,9 +942,6 @@ PrefabInstance:
       value: 0.33333334
       objectReference: {fileID: 0}
     m_RemovedComponents: []
-    m_RemovedGameObjects: []
-    m_AddedGameObjects: []
-    m_AddedComponents: []
   m_SourcePrefab: {fileID: 100100000, guid: f3a0026daa5674441b25b18d98ea18cd, type: 3}
 --- !u!4 &3157771271738667440 stripped
 Transform:

+ 49 - 4
ActionTowerDefense/Assets/Resources/Prefab/Enemy/ESpirits_Assassin.prefab

@@ -140,6 +140,7 @@ MonoBehaviour:
   m_EditorClassIdentifier: 
   owner: {fileID: 0}
   hitRate: 1
+  isDemSummon: 0
 --- !u!1 &2437299196472462361
 GameObject:
   m_ObjectHideFlags: 0
@@ -251,10 +252,10 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   rb: {fileID: 0}
+  moveCharacter: {fileID: 0}
   haveGravity: 1
   trigGroundList: []
-  myBaGuaTrigger: {fileID: 0}
-  baGuaTrigger: []
+  platform: {fileID: 0}
 --- !u!1 &5216717017252562314
 GameObject:
   m_ObjectHideFlags: 0
@@ -396,6 +397,8 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   imgHp: {fileID: 5739271224899468351}
+  pc: {fileID: 0}
+  points: []
 --- !u!1 &6526817785665782971
 GameObject:
   m_ObjectHideFlags: 0
@@ -513,19 +516,60 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: 5eaed0a6b9d6fc6409bef80cf41a0a8e, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
+  canBreakWall: 0
+  wallBrealNum: 10
   isShoot: 0
   type: 0
   owner: {fileID: 0}
   isSingleAttack: 0
   cantSingleAttack: 0
   trigedObjs: []
-  damage: 0
+  attackInfo:
+    attackValue: 0
+    damage: 0
+    attackDir: {x: 0, y: 0, z: 0}
+    attackEffect: 
+    floatState:
+      time: 0
+      upTime: {x: 0, y: 0}
+      backSpeed: {x: 0, y: 0}
+      rotateSpeed: {x: 0, y: 0}
+      height: {x: 0, y: 0}
+      ControlOrder: 0
+    blowUp:
+      directionType: 0
+      dir: {x: 0, y: 0, z: 0}
+      force: 0
+      time: 0
+      haveLandingDamage: 0
+      landingDamage: 0
+      ControlOrder: 0
+    shotDown:
+      directionType: 0
+      dir: {x: 0, y: 0, z: 0}
+      force: 0
+      time: 0
+      haveLandingDamage: 0
+      landingDamage: 0
+      ControlOrder: 0
+    weak:
+      time: 0
+      ControlOrder: 0
+    armorPiercing:
+      rate: 0
+    vulnerable:
+      rate: 0
+      time: 0
+    changeDamage:
+      rate: 0
+    sustainedInjury:
+      damage: 0
+    isDemSummon: 0
   force: {x: 0, y: 0, z: 0}
   changeHurt: 0
   repelValue: 0
   offsetY: 1
   hitRate: 1
-  onlyFlyCanWeak: 0
 --- !u!1 &7669620205589286043
 GameObject:
   m_ObjectHideFlags: 0
@@ -956,6 +1000,7 @@ MonoBehaviour:
   m_EditorClassIdentifier: 
   owner: {fileID: 0}
   attackerID: 0
+  curX: 0
 --- !u!1 &8802879426389446295
 GameObject:
   m_ObjectHideFlags: 0

+ 48 - 4
ActionTowerDefense/Assets/Resources/Prefab/Enemy/ESpirits_Cook.prefab

@@ -91,19 +91,60 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: 5eaed0a6b9d6fc6409bef80cf41a0a8e, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
+  canBreakWall: 0
+  wallBrealNum: 10
   isShoot: 0
   type: 0
   owner: {fileID: 0}
   isSingleAttack: 0
   cantSingleAttack: 0
   trigedObjs: []
-  damage: 0
+  attackInfo:
+    attackValue: 0
+    damage: 0
+    attackDir: {x: 0, y: 0, z: 0}
+    attackEffect: 
+    floatState:
+      time: 0
+      upTime: {x: 0, y: 0}
+      backSpeed: {x: 0, y: 0}
+      rotateSpeed: {x: 0, y: 0}
+      height: {x: 0, y: 0}
+      ControlOrder: 0
+    blowUp:
+      directionType: 0
+      dir: {x: 0, y: 0, z: 0}
+      force: 0
+      time: 0
+      haveLandingDamage: 0
+      landingDamage: 0
+      ControlOrder: 0
+    shotDown:
+      directionType: 0
+      dir: {x: 0, y: 0, z: 0}
+      force: 0
+      time: 0
+      haveLandingDamage: 0
+      landingDamage: 0
+      ControlOrder: 0
+    weak:
+      time: 0
+      ControlOrder: 0
+    armorPiercing:
+      rate: 0
+    vulnerable:
+      rate: 0
+      time: 0
+    changeDamage:
+      rate: 0
+    sustainedInjury:
+      damage: 0
+    isDemSummon: 0
   force: {x: 0, y: 0, z: 0}
   changeHurt: 0
   repelValue: 0
   offsetY: 1
   hitRate: 1
-  onlyFlyCanWeak: 0
 --- !u!1 &2024103903726213949
 GameObject:
   m_ObjectHideFlags: 0
@@ -211,6 +252,8 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   imgHp: {fileID: 1927691970271605732}
+  pc: {fileID: 0}
+  points: []
 --- !u!1 &2460330936527559963
 GameObject:
   m_ObjectHideFlags: 0
@@ -271,6 +314,7 @@ MonoBehaviour:
   m_EditorClassIdentifier: 
   owner: {fileID: 0}
   attackerID: 0
+  curX: 0
 --- !u!1 &2885380845639701439
 GameObject:
   m_ObjectHideFlags: 0
@@ -729,10 +773,10 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   rb: {fileID: 0}
+  moveCharacter: {fileID: 0}
   haveGravity: 1
   trigGroundList: []
-  myBaGuaTrigger: {fileID: 0}
-  baGuaTrigger: []
+  platform: {fileID: 0}
 --- !u!1 &5440846222648032759
 GameObject:
   m_ObjectHideFlags: 0

+ 49 - 4
ActionTowerDefense/Assets/Resources/Prefab/Enemy/ESpirits_Float.prefab

@@ -91,6 +91,7 @@ MonoBehaviour:
   m_EditorClassIdentifier: 
   owner: {fileID: 0}
   attackerID: 0
+  curX: 0
 --- !u!1 &1637528673901708253
 GameObject:
   m_ObjectHideFlags: 0
@@ -198,6 +199,8 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   imgHp: {fileID: 3266580543050502037}
+  pc: {fileID: 0}
+  points: []
 --- !u!1 &2234394376273647362
 GameObject:
   m_ObjectHideFlags: 0
@@ -736,6 +739,7 @@ MonoBehaviour:
   m_EditorClassIdentifier: 
   owner: {fileID: 0}
   hitRate: 1
+  isDemSummon: 0
 --- !u!1 &7414577738945366659
 GameObject:
   m_ObjectHideFlags: 0
@@ -927,10 +931,10 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   rb: {fileID: 0}
+  moveCharacter: {fileID: 0}
   haveGravity: 1
   trigGroundList: []
-  myBaGuaTrigger: {fileID: 0}
-  baGuaTrigger: []
+  platform: {fileID: 0}
 --- !u!1 &8639832132491289359
 GameObject:
   m_ObjectHideFlags: 0
@@ -1040,16 +1044,57 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: 5eaed0a6b9d6fc6409bef80cf41a0a8e, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
+  canBreakWall: 0
+  wallBrealNum: 10
   isShoot: 1
   type: 0
   owner: {fileID: 0}
   isSingleAttack: 0
   cantSingleAttack: 0
   trigedObjs: []
-  damage: 0
+  attackInfo:
+    attackValue: 0
+    damage: 0
+    attackDir: {x: 0, y: 0, z: 0}
+    attackEffect: 
+    floatState:
+      time: 0
+      upTime: {x: 0, y: 0}
+      backSpeed: {x: 0, y: 0}
+      rotateSpeed: {x: 0, y: 0}
+      height: {x: 0, y: 0}
+      ControlOrder: 0
+    blowUp:
+      directionType: 0
+      dir: {x: 0, y: 0, z: 0}
+      force: 0
+      time: 0
+      haveLandingDamage: 0
+      landingDamage: 0
+      ControlOrder: 0
+    shotDown:
+      directionType: 0
+      dir: {x: 0, y: 0, z: 0}
+      force: 0
+      time: 0
+      haveLandingDamage: 0
+      landingDamage: 0
+      ControlOrder: 0
+    weak:
+      time: 0
+      ControlOrder: 0
+    armorPiercing:
+      rate: 0
+    vulnerable:
+      rate: 0
+      time: 0
+    changeDamage:
+      rate: 0
+    sustainedInjury:
+      damage: 0
+    isDemSummon: 0
   force: {x: 0, y: 0, z: 0}
   changeHurt: 0
   repelValue: 0
   offsetY: 1
   hitRate: 1
-  onlyFlyCanWeak: 0

+ 48 - 4
ActionTowerDefense/Assets/Resources/Prefab/Enemy/ESpirits_Invisible.prefab

@@ -235,10 +235,10 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   rb: {fileID: 0}
+  moveCharacter: {fileID: 0}
   haveGravity: 1
   trigGroundList: []
-  myBaGuaTrigger: {fileID: 0}
-  baGuaTrigger: []
+  platform: {fileID: 0}
 --- !u!1 &5216717017252562314
 GameObject:
   m_ObjectHideFlags: 0
@@ -382,6 +382,8 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   imgHp: {fileID: 5739271224899468351}
+  pc: {fileID: 0}
+  points: []
 --- !u!1 &6526817785665782971
 GameObject:
   m_ObjectHideFlags: 0
@@ -499,19 +501,60 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: 5eaed0a6b9d6fc6409bef80cf41a0a8e, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
+  canBreakWall: 0
+  wallBrealNum: 10
   isShoot: 0
   type: 0
   owner: {fileID: 0}
   isSingleAttack: 0
   cantSingleAttack: 0
   trigedObjs: []
-  damage: 0
+  attackInfo:
+    attackValue: 0
+    damage: 0
+    attackDir: {x: 0, y: 0, z: 0}
+    attackEffect: 
+    floatState:
+      time: 0
+      upTime: {x: 0, y: 0}
+      backSpeed: {x: 0, y: 0}
+      rotateSpeed: {x: 0, y: 0}
+      height: {x: 0, y: 0}
+      ControlOrder: 0
+    blowUp:
+      directionType: 0
+      dir: {x: 0, y: 0, z: 0}
+      force: 0
+      time: 0
+      haveLandingDamage: 0
+      landingDamage: 0
+      ControlOrder: 0
+    shotDown:
+      directionType: 0
+      dir: {x: 0, y: 0, z: 0}
+      force: 0
+      time: 0
+      haveLandingDamage: 0
+      landingDamage: 0
+      ControlOrder: 0
+    weak:
+      time: 0
+      ControlOrder: 0
+    armorPiercing:
+      rate: 0
+    vulnerable:
+      rate: 0
+      time: 0
+    changeDamage:
+      rate: 0
+    sustainedInjury:
+      damage: 0
+    isDemSummon: 0
   force: {x: 0, y: 0, z: 0}
   changeHurt: 0
   repelValue: 0
   offsetY: 1
   hitRate: 1
-  onlyFlyCanWeak: 0
 --- !u!1 &7341864646967346330
 GameObject:
   m_ObjectHideFlags: 0
@@ -781,6 +824,7 @@ MonoBehaviour:
   m_EditorClassIdentifier: 
   owner: {fileID: 0}
   attackerID: 0
+  curX: 0
 --- !u!1 &8802879426389446295
 GameObject:
   m_ObjectHideFlags: 0

+ 1535 - 0
ActionTowerDefense/Assets/Resources/Prefab/Enemy/Enemy_1013.prefab

@@ -0,0 +1,1535 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &62193483963602753
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 3942375886028316266}
+  - component: {fileID: 3116949711425810006}
+  - component: {fileID: 6224941985586762102}
+  - component: {fileID: 5560211363568367860}
+  - component: {fileID: 3554121294786083614}
+  m_Layer: 8
+  m_Name: Spine
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &3942375886028316266
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 62193483963602753}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0.21, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 5750929845489165894}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!33 &3116949711425810006
+MeshFilter:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 62193483963602753}
+  m_Mesh: {fileID: 0}
+--- !u!23 &6224941985586762102
+MeshRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 62193483963602753}
+  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: 20e0a6d9eab39084284cbaf1c9de29b4, 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: 341237651
+  m_SortingLayer: 3
+  m_SortingOrder: 0
+  m_AdditionalVertexStreams: {fileID: 0}
+--- !u!95 &5560211363568367860
+Animator:
+  serializedVersion: 4
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 62193483963602753}
+  m_Enabled: 1
+  m_Avatar: {fileID: 0}
+  m_Controller: {fileID: 9100000, guid: f4e4a337d03dc7549b035b7fbaece4d0, type: 2}
+  m_CullingMode: 0
+  m_UpdateMode: 0
+  m_ApplyRootMotion: 0
+  m_LinearVelocityBlending: 0
+  m_StabilizeFeet: 0
+  m_WarningMessage: 
+  m_HasTransformHierarchy: 1
+  m_AllowConstantClipSamplingOptimization: 1
+  m_KeepAnimatorControllerStateOnDisable: 0
+--- !u!114 &3554121294786083614
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 62193483963602753}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: f9db98c60740638449864eb028fbe7ad, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  skeletonDataAsset: {fileID: 11400000, guid: 97ddd4ed1a05f5344b3f918ac9fff790, type: 2}
+  initialSkinName: enermy
+  fixPrefabOverrideViaMeshFilter: 2
+  initialFlipX: 0
+  initialFlipY: 0
+  updateWhenInvisible: 3
+  separatorSlotNames: []
+  zSpacing: 0
+  useClipping: 1
+  immutableTriangles: 0
+  pmaVertexColors: 1
+  clearStateOnDisable: 0
+  tintBlack: 0
+  singleSubmesh: 0
+  fixDrawOrder: 0
+  addNormals: 0
+  calculateTangents: 0
+  maskInteraction: 0
+  maskMaterials:
+    materialsMaskDisabled: []
+    materialsInsideMask: []
+    materialsOutsideMask: []
+  disableRenderingOnOverride: 1
+  physicsPositionInheritanceFactor: {x: 1, y: 1}
+  physicsRotationInheritanceFactor: 1
+  physicsMovementRelativeTo: {fileID: 0}
+  translator:
+    autoReset: 1
+    useCustomMixMode: 1
+    layerMixModes: 01000000
+    layerBlendModes: 01000000
+  updateTiming: 1
+--- !u!1 &677640952155259806
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 6673131648494439356}
+  - component: {fileID: 583629741893418841}
+  - component: {fileID: 2966337928085406604}
+  - component: {fileID: 666798180511057136}
+  - component: {fileID: 3321490551121258877}
+  m_Layer: 8
+  m_Name: HP
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &6673131648494439356
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 677640952155259806}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 6414890992313262877}
+  m_Father: {fileID: 2143960108418147034}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: 150}
+  m_SizeDelta: {x: 150, y: 30}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &583629741893418841
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 677640952155259806}
+  m_CullTransparentMesh: 1
+--- !u!114 &2966337928085406604
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 677640952155259806}
+  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.3301887, g: 0, b: 0, 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: 21300000, guid: 97bdb0b0817469147954ce720ea6f795, type: 3}
+  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!114 &666798180511057136
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 677640952155259806}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: e19747de3f5aca642ab2be37e372fb86, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_EffectColor: {r: 0, g: 0, b: 0, a: 1}
+  m_EffectDistance: {x: 3, y: -3}
+  m_UseGraphicAlpha: 1
+--- !u!114 &3321490551121258877
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 677640952155259806}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: c5cfe48b68a3fd64f95e7a1c19316726, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  imgHp: {fileID: 3642256298309783510}
+  pc: {fileID: 0}
+  points: []
+--- !u!1 &1106295709183090560
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 2291007611967978960}
+  - component: {fileID: 7625104424040598248}
+  - component: {fileID: 7129233333148614685}
+  - component: {fileID: 650816231199212684}
+  - component: {fileID: 3801306177617918126}
+  m_Layer: 19
+  m_Name: BeHitTrigger
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &2291007611967978960
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1106295709183090560}
+  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: 4957964626776353153}
+  m_RootOrder: 4
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!65 &7625104424040598248
+BoxCollider:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1106295709183090560}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 1
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 0.64, y: 1.64, z: 2}
+  m_Center: {x: 0, y: 0.792, z: 0}
+--- !u!114 &7129233333148614685
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1106295709183090560}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 8b2c8973c65adf4448805aa906f6ad29, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  owner: {fileID: 310501218864092228}
+  attackerID: 0
+  curX: 0
+--- !u!114 &650816231199212684
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1106295709183090560}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 1d04dd6e35d71724689001e450625c39, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  curSpecialStates: -1
+  attributeTime: 0
+  floatingState: 0
+  hitState: 0
+  isFly: 0
+  decelerationRatioX: 2
+  decelerationRatioY: 15
+  haveVulnerable: 0
+  vulnerableTime: 0
+  resistances:
+    controlOrder: 0
+    Float: -0
+    BlowUp: 0
+    ShotDown: 0
+    Weak: 0
+    armor: 0
+--- !u!114 &3801306177617918126
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1106295709183090560}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 38dc6c579f75e924697fbe3639d11c9f, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  freezeFrame: 0
+  isFreeze: 0
+  canFreeze: 0
+  curCharacterState: 0
+  attackInfoData:
+    attackValue: 0
+    damage: 0
+    attackDir: {x: 0, y: 0, z: 0}
+    attackEffect: 
+    floatState:
+      time: 0
+      upTime: {x: 0, y: 0}
+      backSpeed: {x: 0, y: 0}
+      rotateSpeed: {x: 0, y: 0}
+      height: {x: 0, y: 0}
+      ControlOrder: 0
+    blowUp:
+      directionType: 0
+      dir: {x: 0, y: 0, z: 0}
+      force: 0
+      time: 0
+      haveLandingDamage: 0
+      landingDamage: 0
+      ControlOrder: 0
+    shotDown:
+      directionType: 0
+      dir: {x: 0, y: 0, z: 0}
+      force: 0
+      time: 0
+      haveLandingDamage: 0
+      landingDamage: 0
+      ControlOrder: 0
+    weak:
+      time: 0
+      ControlOrder: 0
+    armorPiercing:
+      rate: 0
+    vulnerable:
+      rate: 0
+      time: 0
+    changeDamage:
+      rate: 0
+    sustainedInjury:
+      damage: 0
+    isDemSummon: 0
+  attackFromData: {fileID: 0}
+  hitStunTime: 0
+  canHitStun: 0
+--- !u!1 &1589201868364652273
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 4820246395096838559}
+  - component: {fileID: 1849989954511674498}
+  - component: {fileID: 7207961735131840907}
+  m_Layer: 20
+  m_Name: AttackTrigger
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!4 &4820246395096838559
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1589201868364652273}
+  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: 4957964626776353153}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!65 &1849989954511674498
+BoxCollider:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1589201868364652273}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 1
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 2.8041406, y: 1.6068753, z: 2}
+  m_Center: {x: -1.4829297, y: 0.81343764, z: 0}
+--- !u!114 &7207961735131840907
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1589201868364652273}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5eaed0a6b9d6fc6409bef80cf41a0a8e, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  canBreakWall: 0
+  wallBrealNum: 10
+  isShoot: 0
+  type: 0
+  owner: {fileID: 0}
+  isSingleAttack: 0
+  cantSingleAttack: 0
+  trigedObjs: []
+  attackInfo:
+    attackValue: 0
+    damage: 0
+    attackDir: {x: 0, y: 0, z: 0}
+    attackEffect: 
+    floatState:
+      time: 0
+      upTime: {x: 0, y: 0}
+      backSpeed: {x: 0, y: 0}
+      rotateSpeed: {x: 0, y: 0}
+      height: {x: 0, y: 0}
+      ControlOrder: 0
+    blowUp:
+      directionType: 0
+      dir: {x: 0, y: 0, z: 0}
+      force: 0
+      time: 0
+      haveLandingDamage: 0
+      landingDamage: 0
+      ControlOrder: 0
+    shotDown:
+      directionType: 0
+      dir: {x: 0, y: 0, z: 0}
+      force: 0
+      time: 0
+      haveLandingDamage: 0
+      landingDamage: 0
+      ControlOrder: 0
+    weak:
+      time: 0
+      ControlOrder: 0
+    armorPiercing:
+      rate: 0
+    vulnerable:
+      rate: 0
+      time: 0
+    changeDamage:
+      rate: 0
+    sustainedInjury:
+      damage: 0
+    isDemSummon: 0
+  force: {x: 0, y: 0, z: 0}
+  changeHurt: 0
+  repelValue: 0
+  offsetY: 1
+  hitRate: 1
+--- !u!1 &1705970300553955488
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 7667886840453062047}
+  m_Layer: 0
+  m_Name: ShootPos
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &7667886840453062047
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1705970300553955488}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: -0.5, y: 1, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 4957964626776353153}
+  m_RootOrder: 5
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &3885004631441165385
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 5750929845489165894}
+  m_Layer: 8
+  m_Name: Body
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &5750929845489165894
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3885004631441165385}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 3942375886028316266}
+  - {fileID: 4957964626776353153}
+  m_Father: {fileID: 7509757808874840905}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &4291913155277166932
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 3693453015003453627}
+  - component: {fileID: 9006042122818810042}
+  m_Layer: 8
+  m_Name: BodyCollider
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &3693453015003453627
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4291913155277166932}
+  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: 4957964626776353153}
+  m_RootOrder: 3
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!65 &9006042122818810042
+BoxCollider:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4291913155277166932}
+  m_Material: {fileID: 13400000, guid: ae11ca82bc783194e8fdded3f8828a76, type: 2}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 0.67, y: 1.6074685, z: 2}
+  m_Center: {x: 0, y: 0.79826576, z: 0}
+--- !u!1 &4302299655184948832
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 6414890992313262877}
+  - component: {fileID: 8441111531430342066}
+  - component: {fileID: 3642256298309783510}
+  m_Layer: 8
+  m_Name: Progress
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &6414890992313262877
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4302299655184948832}
+  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: 6673131648494439356}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 150, y: 30}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &8441111531430342066
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4302299655184948832}
+  m_CullTransparentMesh: 1
+--- !u!114 &3642256298309783510
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4302299655184948832}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 0, b: 0, 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: 21300000, guid: 97bdb0b0817469147954ce720ea6f795, type: 3}
+  m_Type: 3
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 0
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+--- !u!1 &4433566668067320664
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1520979673470698302}
+  m_Layer: 0
+  m_Name: ShootPos2
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &1520979673470698302
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4433566668067320664}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: -0.5, y: 1, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 4957964626776353153}
+  m_RootOrder: 6
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &4626386554916393863
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 4957964626776353153}
+  - component: {fileID: 4655464519156080382}
+  - component: {fileID: 8616603029935564780}
+  m_Layer: 8
+  m_Name: Colliders
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4957964626776353153
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4626386554916393863}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 4820246395096838559}
+  - {fileID: 7509757809066842375}
+  - {fileID: 6418325964315787590}
+  - {fileID: 3693453015003453627}
+  - {fileID: 2291007611967978960}
+  - {fileID: 7667886840453062047}
+  - {fileID: 1520979673470698302}
+  - {fileID: 5300041099201382531}
+  m_Father: {fileID: 5750929845489165894}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!95 &4655464519156080382
+Animator:
+  serializedVersion: 4
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4626386554916393863}
+  m_Enabled: 0
+  m_Avatar: {fileID: 0}
+  m_Controller: {fileID: 9100000, guid: 88f41572d39c5b44e972f9bb92fb3e5e, type: 2}
+  m_CullingMode: 0
+  m_UpdateMode: 0
+  m_ApplyRootMotion: 0
+  m_LinearVelocityBlending: 0
+  m_StabilizeFeet: 0
+  m_WarningMessage: 
+  m_HasTransformHierarchy: 1
+  m_AllowConstantClipSamplingOptimization: 1
+  m_KeepAnimatorControllerStateOnDisable: 0
+--- !u!114 &8616603029935564780
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4626386554916393863}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 492983f5b77df7e4b82cba32bc74fb94, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  owner: {fileID: 310501218864092228}
+  hitRate: 1
+  isDemSummon: 0
+--- !u!1 &6131469217929101009
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 6418325964315787590}
+  - component: {fileID: 4687302262495775435}
+  - component: {fileID: 1998279994081605721}
+  m_Layer: 18
+  m_Name: BeSearchTrigger
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &6418325964315787590
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6131469217929101009}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0.792, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 4957964626776353153}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!65 &4687302262495775435
+BoxCollider:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6131469217929101009}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 1
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 1.3769803, y: 1.7231023, z: 20}
+  m_Center: {x: 0.09656358, y: 0.027589917, z: 0}
+--- !u!114 &1998279994081605721
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6131469217929101009}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 8ff1eeae99d9b8142acd628550a50e26, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  owner: {fileID: 310501218864092228}
+--- !u!1 &6230301930144668012
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 6503840653547434417}
+  - component: {fileID: 3359943989488728415}
+  - component: {fileID: 2591286860030658626}
+  m_Layer: 17
+  m_Name: SearchTrigger
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &6503840653547434417
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6230301930144668012}
+  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: 7509757808874840905}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &3359943989488728415
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6230301930144668012}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 21f006d2c845e2e43bce70ea7a2d8dcc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  owner: {fileID: 310501218864092228}
+  trigDemonicList: []
+  trigTowerList: []
+  trigPlayerList: []
+  trigEnemyList: []
+  trigEnemyTowerList: []
+  trigBossList: []
+  needToChange: 1
+  maxLen: 45
+  minLen: 35
+--- !u!65 &2591286860030658626
+BoxCollider:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6230301930144668012}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 1
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 21.102495, y: 25, z: 20}
+  m_Center: {x: -1.308753, y: -8, z: 0}
+--- !u!1 &7509757808874840908
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 7509757808874840905}
+  - component: {fileID: 310501218864092228}
+  - component: {fileID: 7509757808874840902}
+  - component: {fileID: 2947245350102849825}
+  m_Layer: 8
+  m_Name: Enemy_1013
+  m_TagString: Enemy
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &7509757808874840905
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7509757808874840908}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 5750929845489165894}
+  - {fileID: 6503840653547434417}
+  - {fileID: 2143960108418147034}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &310501218864092228
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7509757808874840908}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 7475a7d33f657b146a4994b1e02710ad, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  rb: {fileID: 7509757808874840902}
+  bodyTrans: {fileID: 5750929845489165894}
+  beSearchTrigger: {fileID: 1998279994081605721}
+  searchTrigger: {fileID: 3359943989488728415}
+  bodyCollider: {fileID: 4291913155277166932}
+  uiHp: {fileID: 3321490551121258877}
+  beHitTrigger: {fileID: 7129233333148614685}
+  attackController: {fileID: 2947245350102849825}
+  platform: {fileID: 0}
+  mecanim: {fileID: 3554121294786083614}
+  meshRenderer: {fileID: 6224941985586762102}
+  ani: {fileID: 5560211363568367860}
+  totalDieKeepTime: 1
+  totalAttack_summonTime: 1
+  totalAttack_marchTime: 2
+  showInjuryNum: 1
+  injuryNumText: {fileID: 6467251191553420251, guid: 9b37289f93ea76745ab2cefb79a93e3c, type: 3}
+  injuryNumTextSummon: {fileID: 6467251191553420251, guid: 71b4c570c9e403d429846b71878a20c4, type: 3}
+  injuryNumPos_summon: {x: 0, y: 1}
+  injuryNumRandom_summon: {x: 1, y: 1}
+  injuryNumPos_march: {x: 0, y: 1}
+  injuryNumRandom_march: {x: 1, y: 1}
+  dieKeepTime: 0
+  beHitDistance: 0.2
+  attackDis: 0
+  targetCharacter: {fileID: 0}
+  attackTarget: {fileID: 0}
+  state: 1
+  totalHp: 100
+  hp: 100
+  canFly: 1
+  nowCanFly: 0
+  canNotAddForce: 0
+  canNotChangeHurt: 0
+  isDie: 0
+  isRevive: 0
+  invincibleTime: 0
+  isBeHitBySummonAttack: 0
+  statePre: {fileID: 4272231268506418309, guid: cf5ca93704f49c744b0d6cfc2cd25a01, type: 3}
+  ls: {fileID: 0}
+  isInSoulTower: 0
+  beLarger: 0
+  toLargeSize: 0
+  cookEffect: {fileID: 0}
+  Attack_summonShootCanTransmit: 0
+  debugAttackFrom: 0
+  hitResistance: 0
+  foot: {fileID: 7509757809066842377}
+  attributeStatus: {fileID: 0}
+  hitFeedbackSystem: {fileID: 0}
+  extraRiseGravity: -28.8
+  extraFallGravity: -14.4
+  extraGroundGravity: -28.8
+  velocityAddition: 0
+  platformPosY: 0
+  platformRotZ: 0
+  RotLerpSpeed: 0.6
+  RotLerpTime: 0
+  matState: 1
+  spinee: {fileID: 0}
+  mesh: {fileID: 0}
+  mats: []
+  outlineMats:
+  - {fileID: 2100000, guid: b634d447d9a02a14abc964532eedfc35, type: 2}
+  outline1Mats:
+  - {fileID: 2100000, guid: 916bb121eaeae3b43914636f946abdcd, type: 2}
+  moveSpeed: 8.205597
+  needToAdjustFlyHeight: 1
+  flyHeight: 0
+  maxFlyHeight: 6
+  minFlyHeight: 10
+  flyUpTime: 0.527
+  isAdjustHeight: 0
+  isDamageReduction: 0
+  reductionDegree: 0
+  reductionEffect: {fileID: 0}
+  effect: {fileID: 0}
+  soulPrefab: {fileID: 1723151111827507807, guid: e2b65aa482f2f1447a4074208d72b778, type: 3}
+  soulStartSpeed: 1
+  isInvisible: 0
+  invisibleTime: 0
+  haveTransmit: 0
+  transmitTime: 0
+  portalsController: {fileID: 0}
+  isSustainedInjury: 0
+  sustainedInjuryTime: 0
+  sustainedInjury_IntervalTime: 0
+  sustainedInjury_damage: 0
+  heavyDamage: 0
+  killer: {fileID: 0}
+  exp: 10
+  name: 
+  baseSortingOrder: 7000
+  isBack: 0
+  jumpSpeed: 10
+  maxMoveSpeed: 12
+  minMoveSpeed: 8
+  runSpeed: 0
+  isBeBlownUp: 0
+  isBeReboundedX: 0
+  isBeReboundedY: 0
+  reboundXSpeed: 0
+  reboundYSpeed: 0
+  wallDamage: 0
+  type: -1
+  searchState: 0
+  attackRatio: 0
+  dropSoulMax: 1
+  dropSoulMin: 1
+  dropSoulAngle: 90
+--- !u!54 &7509757808874840902
+Rigidbody:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7509757808874840908}
+  serializedVersion: 2
+  m_Mass: 7
+  m_Drag: 0.1
+  m_AngularDrag: 0.05
+  m_UseGravity: 0
+  m_IsKinematic: 0
+  m_Interpolate: 0
+  m_Constraints: 124
+  m_CollisionDetection: 0
+--- !u!114 &2947245350102849825
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7509757808874840908}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 565fb65a48a8ef648b3096d46e15efd9, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  attackKeys:
+  - aniName: attack_march
+    keys:
+    - attackMethod: 0
+      attackType: 0
+      startKeyName: attack_on
+      startKeyTime: 0.43333337
+      endType: 1
+      endKeyName: attack_off
+      endKeyTime: 0.6666667
+  - aniName: attack_summon
+    keys:
+    - attackMethod: 0
+      attackType: 0
+      startKeyName: attack_on
+      startKeyTime: 0.43333337
+      endType: 1
+      endKeyName: attack_off
+      endKeyTime: 0.6666667
+  keyTimes: []
+  attackTime: 0
+  attackKeyCount: 0
+  nextStartKeyTime: 0
+  nextEndKeyTime: 0
+  curKeyNum: 0
+  attackType: 1
+  attackInterval: 0
+  curDamage: 0
+  canHitFly: 1
+  attackInfo:
+    attackValue: 0
+    damage: 0
+    attackDir: {x: 0, y: 0, z: 0}
+    attackEffect: 
+    floatState:
+      time: 0
+      upTime: {x: 0, y: 0}
+      backSpeed: {x: 0, y: 0}
+      rotateSpeed: {x: 0, y: 0}
+      height: {x: 0, y: 0}
+      ControlOrder: 0
+    blowUp:
+      directionType: 0
+      dir: {x: 0, y: 0, z: 0}
+      force: 0
+      time: 0
+      haveLandingDamage: 0
+      landingDamage: 0
+      ControlOrder: 0
+    shotDown:
+      directionType: 0
+      dir: {x: 0, y: 0, z: 0}
+      force: 0
+      time: 0
+      haveLandingDamage: 0
+      landingDamage: 0
+      ControlOrder: 0
+    weak:
+      time: 0
+      ControlOrder: 0
+    armorPiercing:
+      rate: 0
+    vulnerable:
+      rate: 0
+      time: 0
+    changeDamage:
+      rate: 0
+    sustainedInjury:
+      damage: 0
+    isDemSummon: 0
+  addAttackEffect: {fileID: 0}
+  skill: {fileID: 0}
+  attackEffect: {fileID: 0}
+  effect: {fileID: 0}
+  attackDistance: 0
+  attackTrigger: {fileID: 7207961735131840907}
+  isAttackTriggerOn: 0
+  bulletPrefab: {fileID: 7473170563405908938, guid: 0460e8750cef0df4292f6d2bb56a4843, type: 3}
+  shootPos:
+  - {fileID: 7667886840453062047}
+  - {fileID: 1520979673470698302}
+  - {fileID: 5300041099201382531}
+  shootTrack: 1
+  shootAlwaysTrack: 0
+  targetTypes: 010000000200000003000000
+  beTargetCharacter: []
+  attackMethod:
+  - id: 1
+    attackName: "\u5C04\u7BAD"
+    attackType: 1
+    attackInfo:
+      attackValue: 0
+      damage: 60
+      attackDir: {x: -1, y: 0, z: 0}
+      attackEffect: 04000000
+      floatState:
+        time: 0
+        upTime: {x: 0, y: 0}
+        backSpeed: {x: 0, y: 0}
+        rotateSpeed: {x: 0, y: 0}
+        height: {x: 0, y: 0}
+        ControlOrder: 0
+      blowUp:
+        directionType: 0
+        dir: {x: 0, y: 0, z: 0}
+        force: 0
+        time: 0
+        haveLandingDamage: 0
+        landingDamage: 0
+        ControlOrder: 0
+      shotDown:
+        directionType: 0
+        dir: {x: 0, y: 0, z: 0}
+        force: 0
+        time: 0
+        haveLandingDamage: 0
+        landingDamage: 0
+        ControlOrder: 0
+      weak:
+        time: 0
+        ControlOrder: 0
+      armorPiercing:
+        rate: 30
+      vulnerable:
+        rate: 0
+        time: 0
+      changeDamage:
+        rate: 0
+      sustainedInjury:
+        damage: 0
+      isDemSummon: 0
+    attackTrigger: {fileID: 7207961735131840907}
+    attackDistance: 0
+    maxAttackDis: 15
+    minAttackDis: 9
+    needToChange: 1
+    targetTypes: 010000000200000003000000
+    canHitFly: 1
+    armorPiercing: 0
+    bulletPrefab: {fileID: 8136386918643143278, guid: 475f6b5e9a49ede44b229db115606737, type: 3}
+    shootPos:
+    - {fileID: 7667886840453062047}
+    - {fileID: 1520979673470698302}
+    - {fileID: 5300041099201382531}
+    maxUpAngle: 180
+    maxDownAngle: 180
+    shootTrack: 1
+    shootAlwaysTrack: 0
+    skillPrefab: {fileID: 3174868161031788453, guid: 9eb41f096fe437e47b16a65344bd9922, type: 3}
+    skill: {fileID: 0}
+  curAttackMethod:
+    id: 0
+    attackName: 
+    attackType: 0
+    attackInfo:
+      attackValue: 0
+      damage: 0
+      attackDir: {x: 0, y: 0, z: 0}
+      attackEffect: 
+      floatState:
+        time: 0
+        upTime: {x: 0, y: 0}
+        backSpeed: {x: 0, y: 0}
+        rotateSpeed: {x: 0, y: 0}
+        height: {x: 0, y: 0}
+        ControlOrder: 0
+      blowUp:
+        directionType: 0
+        dir: {x: 0, y: 0, z: 0}
+        force: 0
+        time: 0
+        haveLandingDamage: 0
+        landingDamage: 0
+        ControlOrder: 0
+      shotDown:
+        directionType: 0
+        dir: {x: 0, y: 0, z: 0}
+        force: 0
+        time: 0
+        haveLandingDamage: 0
+        landingDamage: 0
+        ControlOrder: 0
+      weak:
+        time: 0
+        ControlOrder: 0
+      armorPiercing:
+        rate: 0
+      vulnerable:
+        rate: 0
+        time: 0
+      changeDamage:
+        rate: 0
+      sustainedInjury:
+        damage: 0
+      isDemSummon: 0
+    attackTrigger: {fileID: 0}
+    attackDistance: 0
+    maxAttackDis: 0
+    minAttackDis: 0
+    needToChange: 0
+    targetTypes: 
+    canHitFly: 0
+    armorPiercing: 0
+    bulletPrefab: {fileID: 0}
+    shootPos: []
+    maxUpAngle: 0
+    maxDownAngle: 0
+    shootTrack: 0
+    shootAlwaysTrack: 0
+    skillPrefab: {fileID: 0}
+    skill: {fileID: 0}
+--- !u!1 &7509757809066842376
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 7509757809066842375}
+  - component: {fileID: 7509757809066842374}
+  - component: {fileID: 7509757809066842377}
+  m_Layer: 22
+  m_Name: Foot
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &7509757809066842375
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7509757809066842376}
+  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: 4957964626776353153}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!65 &7509757809066842374
+BoxCollider:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7509757809066842376}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 1
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 0.3636719, y: 0.5, z: 2}
+  m_Center: {x: 0.19423956, y: 0, z: 0}
+--- !u!114 &7509757809066842377
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7509757809066842376}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: c42213c575288a148b692aad7ab56bab, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  rb: {fileID: 0}
+  moveCharacter: {fileID: 0}
+  haveGravity: 1
+  trigGroundList: []
+  platform: {fileID: 0}
+--- !u!1 &7615885443834496126
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 5300041099201382531}
+  m_Layer: 0
+  m_Name: ShootPos3
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &5300041099201382531
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7615885443834496126}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: -0.5, y: 1, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 4957964626776353153}
+  m_RootOrder: 7
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &8735578476147296960
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 2143960108418147034}
+  - component: {fileID: 9133336811236048253}
+  - component: {fileID: 3528114880426642723}
+  - component: {fileID: 6681785202006238685}
+  m_Layer: 8
+  m_Name: UI
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!224 &2143960108418147034
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8735578476147296960}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 0.01, y: 0.01, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 6673131648494439356}
+  m_Father: {fileID: 7509757808874840905}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0.9}
+  m_SizeDelta: {x: 300, y: 500}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!223 &9133336811236048253
+Canvas:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8735578476147296960}
+  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_AdditionalShaderChannelsFlag: 0
+  m_SortingLayerID: 1516060329
+  m_SortingOrder: 0
+  m_TargetDisplay: 0
+--- !u!114 &3528114880426642723
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8735578476147296960}
+  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: 1
+--- !u!114 &6681785202006238685
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8735578476147296960}
+  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

+ 7 - 0
ActionTowerDefense/Assets/Resources/Prefab/Enemy/Enemy_1013.prefab.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: e42acda9a250b1547857345f4ce7d96e
+PrefabImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 79 - 20
ActionTowerDefense/Assets/Resources/Prefab/Enemy/Enemy_Arrow.prefab

@@ -593,6 +593,8 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: 5eaed0a6b9d6fc6409bef80cf41a0a8e, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
+  canBreakWall: 0
+  wallBrealNum: 10
   isShoot: 1
   type: 0
   owner: {fileID: 0}
@@ -610,17 +612,27 @@ MonoBehaviour:
       backSpeed: {x: 0, y: 0}
       rotateSpeed: {x: 0, y: 0}
       height: {x: 0, y: 0}
+      ControlOrder: 0
     blowUp:
+      directionType: 0
       dir: {x: 0, y: 0, z: 0}
       force: 0
       time: 0
+      haveLandingDamage: 0
+      landingDamage: 0
+      ControlOrder: 0
     shotDown:
+      directionType: 0
       dir: {x: 0, y: 0, z: 0}
       force: 0
       time: 0
+      haveLandingDamage: 0
+      landingDamage: 0
+      ControlOrder: 0
     weak:
       time: 0
-    armor:
+      ControlOrder: 0
+    armorPiercing:
       rate: 0
     vulnerable:
       rate: 0
@@ -629,12 +641,12 @@ MonoBehaviour:
       rate: 0
     sustainedInjury:
       damage: 0
+    isDemSummon: 0
   force: {x: 0, y: 0, z: 0}
   changeHurt: 0
   repelValue: 0
   offsetY: 1
   hitRate: 1
-  onlyFlyCanWeak: 0
 --- !u!1 &5307676761346103599
 GameObject:
   m_ObjectHideFlags: 0
@@ -837,6 +849,7 @@ MonoBehaviour:
   m_EditorClassIdentifier: 
   owner: {fileID: 1986582536140952583}
   hitRate: 1
+  isDemSummon: 0
 --- !u!1 &7414577738945366659
 GameObject:
   m_ObjectHideFlags: 0
@@ -1028,10 +1041,10 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   rb: {fileID: 0}
+  moveCharacter: {fileID: 0}
   haveGravity: 1
   trigGroundList: []
-  myBaGuaTrigger: {fileID: 0}
-  baGuaTrigger: []
+  platform: {fileID: 0}
 --- !u!1 &8639832132491289359
 GameObject:
   m_ObjectHideFlags: 0
@@ -1089,12 +1102,20 @@ MonoBehaviour:
   uiHp: {fileID: 3586716274361854270}
   beHitTrigger: {fileID: 9020361017135710302}
   attackController: {fileID: 4949568809887596492}
+  platform: {fileID: 0}
   mecanim: {fileID: 3354085511906294621}
   meshRenderer: {fileID: 5313599660676682037}
   ani: {fileID: 5978259926173120695}
   totalDieKeepTime: 0
   totalAttack_summonTime: 1.5333334
   totalAttack_marchTime: 1
+  showInjuryNum: 1
+  injuryNumText: {fileID: 6467251191553420251, guid: 9b37289f93ea76745ab2cefb79a93e3c, type: 3}
+  injuryNumTextSummon: {fileID: 0}
+  injuryNumPos_summon: {x: 0, y: 1}
+  injuryNumRandom_summon: {x: 1, y: 1}
+  injuryNumPos_march: {x: 0, y: 1}
+  injuryNumRandom_march: {x: 2, y: 2}
   dieKeepTime: 0
   beHitDistance: 0
   attackDis: 0
@@ -1103,14 +1124,15 @@ MonoBehaviour:
   state: 1
   totalHp: 100
   hp: 100
-  isDie: 0
-  isRevive: 0
+  canFly: 1
+  nowCanFly: 0
   canNotAddForce: 0
   canNotChangeHurt: 0
+  isDie: 0
+  isRevive: 0
   invincibleTime: 0
-  injuryNumText: {fileID: 6467251191553420251, guid: 9b37289f93ea76745ab2cefb79a93e3c, type: 3}
-  showInjuryNum: 1
-  canFly: 1
+  isBeHitBySummonAttack: 0
+  statePre: {fileID: 0}
   ls: {fileID: 0}
   isInSoulTower: 0
   beLarger: 0
@@ -1118,10 +1140,18 @@ MonoBehaviour:
   cookEffect: {fileID: 0}
   Attack_summonShootCanTransmit: 0
   debugAttackFrom: 0
+  hitResistance: 0
   foot: {fileID: 8639832132450015562}
   attributeStatus: {fileID: 0}
   hitFeedbackSystem: {fileID: 0}
-  hitResistance: 0
+  extraRiseGravity: -28.8
+  extraFallGravity: -14.4
+  extraGroundGravity: -28.8
+  velocityAddition: 0
+  platformPosY: 0
+  platformRotZ: 0
+  RotLerpSpeed: 0.6
+  RotLerpTime: 0
   matState: 1
   spinee: {fileID: 0}
   mesh: {fileID: 0}
@@ -1130,8 +1160,6 @@ MonoBehaviour:
   - {fileID: 2100000, guid: b634d447d9a02a14abc964532eedfc35, type: 2}
   outline1Mats:
   - {fileID: 2100000, guid: 916bb121eaeae3b43914636f946abdcd, type: 2}
-  extraRiseGravity: -28.8
-  extraFallGravity: -14.4
   moveSpeed: 9.758245
   needToAdjustFlyHeight: 0
   flyHeight: 0
@@ -1147,7 +1175,6 @@ MonoBehaviour:
   soulStartSpeed: 1
   isInvisible: 0
   invisibleTime: 0
-  velocityAddition: 0
   haveTransmit: 0
   transmitTime: 0
   portalsController: {fileID: 0}
@@ -1156,7 +1183,9 @@ MonoBehaviour:
   sustainedInjury_IntervalTime: 0
   sustainedInjury_damage: 0
   heavyDamage: 0
-  id: 0
+  killer: {fileID: 0}
+  exp: 0
+  name: 
   baseSortingOrder: 5000
   isBack: 0
   jumpSpeed: 10
@@ -1246,7 +1275,6 @@ MonoBehaviour:
   attackInterval: 0
   curDamage: 0
   canHitFly: 1
-  armorPiercing: 0
   attackInfo:
     attackValue: 0
     damage: 0
@@ -1258,17 +1286,27 @@ MonoBehaviour:
       backSpeed: {x: 0, y: 0}
       rotateSpeed: {x: 0, y: 0}
       height: {x: 0, y: 0}
+      ControlOrder: 0
     blowUp:
+      directionType: 0
       dir: {x: 0, y: 0, z: 0}
       force: 0
       time: 0
+      haveLandingDamage: 0
+      landingDamage: 0
+      ControlOrder: 0
     shotDown:
+      directionType: 0
       dir: {x: 0, y: 0, z: 0}
       force: 0
       time: 0
+      haveLandingDamage: 0
+      landingDamage: 0
+      ControlOrder: 0
     weak:
       time: 0
-    armor:
+      ControlOrder: 0
+    armorPiercing:
       rate: 0
     vulnerable:
       rate: 0
@@ -1277,6 +1315,7 @@ MonoBehaviour:
       rate: 0
     sustainedInjury:
       damage: 0
+    isDemSummon: 0
   addAttackEffect: {fileID: 0}
   skill: {fileID: 0}
   attackEffect: {fileID: 0}
@@ -1294,7 +1333,6 @@ MonoBehaviour:
   - id: 1
     attackName: "\u5C04\u7BAD"
     attackType: 1
-    attackEffect: {fileID: 0}
     attackInfo:
       attackValue: 0
       damage: 100
@@ -1306,17 +1344,27 @@ MonoBehaviour:
         backSpeed: {x: 0, y: 0}
         rotateSpeed: {x: 0, y: 0}
         height: {x: 0, y: 0}
+        ControlOrder: 0
       blowUp:
+        directionType: 0
         dir: {x: 0, y: 0, z: 0}
         force: 0
         time: 0
+        haveLandingDamage: 0
+        landingDamage: 0
+        ControlOrder: 0
       shotDown:
+        directionType: 0
         dir: {x: 0, y: 0, z: 0}
         force: 0
         time: 0
+        haveLandingDamage: 0
+        landingDamage: 0
+        ControlOrder: 0
       weak:
         time: 0
-      armor:
+        ControlOrder: 0
+      armorPiercing:
         rate: 0
       vulnerable:
         rate: 0
@@ -1325,6 +1373,7 @@ MonoBehaviour:
         rate: 0
       sustainedInjury:
         damage: 0
+      isDemSummon: 0
     attackTrigger: {fileID: 268188960417748479}
     attackDistance: 0
     maxAttackDis: 0
@@ -1348,7 +1397,6 @@ MonoBehaviour:
     id: 0
     attackName: 
     attackType: 0
-    attackEffect: {fileID: 0}
     attackInfo:
       attackValue: 0
       damage: 0
@@ -1360,17 +1408,27 @@ MonoBehaviour:
         backSpeed: {x: 0, y: 0}
         rotateSpeed: {x: 0, y: 0}
         height: {x: 0, y: 0}
+        ControlOrder: 0
       blowUp:
+        directionType: 0
         dir: {x: 0, y: 0, z: 0}
         force: 0
         time: 0
+        haveLandingDamage: 0
+        landingDamage: 0
+        ControlOrder: 0
       shotDown:
+        directionType: 0
         dir: {x: 0, y: 0, z: 0}
         force: 0
         time: 0
+        haveLandingDamage: 0
+        landingDamage: 0
+        ControlOrder: 0
       weak:
         time: 0
-      armor:
+        ControlOrder: 0
+      armorPiercing:
         rate: 0
       vulnerable:
         rate: 0
@@ -1379,6 +1437,7 @@ MonoBehaviour:
         rate: 0
       sustainedInjury:
         damage: 0
+      isDemSummon: 0
     attackTrigger: {fileID: 0}
     attackDistance: 0
     maxAttackDis: 0

+ 228 - 70
ActionTowerDefense/Assets/Resources/Prefab/Enemy/Enemy_Giant.prefab

@@ -91,19 +91,60 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: 5eaed0a6b9d6fc6409bef80cf41a0a8e, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
+  canBreakWall: 0
+  wallBrealNum: 10
   isShoot: 0
   type: 0
   owner: {fileID: 0}
   isSingleAttack: 0
   cantSingleAttack: 0
   trigedObjs: []
-  damage: 0
+  attackInfo:
+    attackValue: 0
+    damage: 0
+    attackDir: {x: 0, y: 0, z: 0}
+    attackEffect: 
+    floatState:
+      time: 0
+      upTime: {x: 0, y: 0}
+      backSpeed: {x: 0, y: 0}
+      rotateSpeed: {x: 0, y: 0}
+      height: {x: 0, y: 0}
+      ControlOrder: 0
+    blowUp:
+      directionType: 0
+      dir: {x: 0, y: 0, z: 0}
+      force: 0
+      time: 0
+      haveLandingDamage: 0
+      landingDamage: 0
+      ControlOrder: 0
+    shotDown:
+      directionType: 0
+      dir: {x: 0, y: 0, z: 0}
+      force: 0
+      time: 0
+      haveLandingDamage: 0
+      landingDamage: 0
+      ControlOrder: 0
+    weak:
+      time: 0
+      ControlOrder: 0
+    armorPiercing:
+      rate: 0
+    vulnerable:
+      rate: 0
+      time: 0
+    changeDamage:
+      rate: 0
+    sustainedInjury:
+      damage: 0
+    isDemSummon: 0
   force: {x: 0, y: 0, z: 0}
   changeHurt: 0
   repelValue: 0
   offsetY: 1
   hitRate: 1
-  onlyFlyCanWeak: 0
 --- !u!1 &2460330936527559963
 GameObject:
   m_ObjectHideFlags: 0
@@ -164,6 +205,7 @@ MonoBehaviour:
   m_EditorClassIdentifier: 
   owner: {fileID: 3719607727864895532}
   attackerID: 0
+  curX: 0
 --- !u!1 &4480734502875862885
 GameObject:
   m_ObjectHideFlags: 0
@@ -384,10 +426,10 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   rb: {fileID: 0}
+  moveCharacter: {fileID: 0}
   haveGravity: 1
   trigGroundList: []
-  myBaGuaTrigger: {fileID: 0}
-  baGuaTrigger: []
+  platform: {fileID: 0}
 --- !u!1 &5440846222648032759
 GameObject:
   m_ObjectHideFlags: 0
@@ -437,13 +479,6 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: 7475a7d33f657b146a4994b1e02710ad, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  mecanim: {fileID: 7573527827155227431}
-  meshRenderer: {fileID: 9134347361501008817}
-  ani: {fileID: 3333436509305836838}
-  totalDieKeepTime: 0
-  totalAttack_summonTime: 2.2
-  totalAttack_marchTime: 4
-  dieKeepTime: 0
   rb: {fileID: 5440846222648032765}
   bodyTrans: {fileID: 6459001683917408033}
   beSearchTrigger: {fileID: 4259433079752244006}
@@ -452,20 +487,37 @@ MonoBehaviour:
   uiHp: {fileID: 478072938412589135}
   beHitTrigger: {fileID: 3377671071202039733}
   attackController: {fileID: 4125623970707066689}
+  platform: {fileID: 0}
+  mecanim: {fileID: 7573527827155227431}
+  meshRenderer: {fileID: 9134347361501008817}
+  ani: {fileID: 3333436509305836838}
+  totalDieKeepTime: 0
+  totalAttack_summonTime: 2.2
+  totalAttack_marchTime: 4
+  showInjuryNum: 1
+  injuryNumText: {fileID: 6467251191553420251, guid: 9b37289f93ea76745ab2cefb79a93e3c, type: 3}
+  injuryNumTextSummon: {fileID: 0}
+  injuryNumPos_summon: {x: 0, y: 1}
+  injuryNumRandom_summon: {x: 1, y: 1}
+  injuryNumPos_march: {x: 0, y: 1}
+  injuryNumRandom_march: {x: 2, y: 2}
+  dieKeepTime: 0
+  beHitDistance: 0
+  attackDis: 0
   targetCharacter: {fileID: 0}
   attackTarget: {fileID: 0}
   state: 1
   totalHp: 100
   hp: 100
-  isDie: 0
-  isRevive: 0
+  canFly: 0
+  nowCanFly: 0
   canNotAddForce: 0
   canNotChangeHurt: 0
+  isDie: 0
+  isRevive: 0
   invincibleTime: 0
-  injuryNumText: {fileID: 6467251191553420251, guid: 9b37289f93ea76745ab2cefb79a93e3c, type: 3}
-  showInjuryNum: 1
-  canFly: 0
-  armor: 0
+  isBeHitBySummonAttack: 0
+  statePre: {fileID: 0}
   ls: {fileID: 0}
   isInSoulTower: 0
   beLarger: 0
@@ -473,6 +525,18 @@ MonoBehaviour:
   cookEffect: {fileID: 0}
   Attack_summonShootCanTransmit: 0
   debugAttackFrom: 0
+  hitResistance: 0
+  foot: {fileID: 5440846222604650418}
+  attributeStatus: {fileID: 0}
+  hitFeedbackSystem: {fileID: 0}
+  extraRiseGravity: -28.8
+  extraFallGravity: -14.4
+  extraGroundGravity: -28.8
+  velocityAddition: 0
+  platformPosY: 0
+  platformRotZ: 0
+  RotLerpSpeed: 0.6
+  RotLerpTime: 0
   matState: 1
   spinee: {fileID: 0}
   mesh: {fileID: 0}
@@ -481,41 +545,21 @@ MonoBehaviour:
   - {fileID: 2100000, guid: a30e0c3d2b8bf4e43a76fc2d5b3884cd, type: 2}
   outline1Mats:
   - {fileID: 2100000, guid: 82f4327af6aa844459ee45d1f72de829, type: 2}
-  foot: {fileID: 5440846222604650418}
-  extraRiseGravity: -28.8
-  extraFallGravity: -14.4
-  canMove: 1
   moveSpeed: 1.7259911
-  totalBeRepelValue: 100
-  beRepelValue: 0
-  weakTime: 0
-  totalWeakTime: 10
-  newTotalWeakTime: 0
-  weakHitRate: 2
-  weakForce: {x: 0, y: 0, z: 0}
-  easyToGetHit: 0.2
+  needToAdjustFlyHeight: 0
+  flyHeight: 0
+  maxFlyHeight: 0
+  minFlyHeight: 0
+  flyUpTime: 0
+  isAdjustHeight: 0
   isDamageReduction: 0
   reductionDegree: 0
   reductionEffect: {fileID: 0}
-  decelerationRatio: 3
-  comaTime: 5
-  pastComaTime: 0
-  floatState: 0
-  maxTime: 1.5
-  minTime: 0.1
-  maxHeight: 9
-  minHeight: 4
-  floatTime: 10
-  maxRotateSpeed: 20
-  minRotateSpeed: 5
-  isFloat: 0
-  normalFallSpeed: 10
   effect: {fileID: 0}
   soulPrefab: {fileID: 1723151111827507807, guid: e2b65aa482f2f1447a4074208d72b778, type: 3}
   soulStartSpeed: 1
   isInvisible: 0
   invisibleTime: 0
-  velocityAddition: 0
   haveTransmit: 0
   transmitTime: 0
   portalsController: {fileID: 0}
@@ -524,11 +568,11 @@ MonoBehaviour:
   sustainedInjury_IntervalTime: 0
   sustainedInjury_damage: 0
   heavyDamage: 0
-  id: 0
+  killer: {fileID: 0}
+  exp: 0
+  name: 
   baseSortingOrder: 0
   isBack: 0
-  flyHeight: 0
-  flyUpSpeed: 10
   jumpSpeed: 10
   maxMoveSpeed: 2
   minMoveSpeed: 1
@@ -539,20 +583,12 @@ MonoBehaviour:
   reboundXSpeed: 0
   reboundYSpeed: 0
   wallDamage: 0
-  willBeComa: 0
-  willComaTime: 0
-  comaDamage: 0
   type: -1
   searchState: 0
-  attackDistance: 3
-  maxAttackDis: 0
-  minAttackDis: 0
-  needToChange: 0
   attackRatio: 0
   dropSoulMax: 5
   dropSoulMin: 5
   dropSoulAngle: 90
-  upFirstAfterWeaknessOrNot: 0
 --- !u!54 &5440846222648032765
 Rigidbody:
   m_ObjectHideFlags: 0
@@ -607,16 +643,55 @@ MonoBehaviour:
   nextEndKeyTime: 0
   curKeyNum: 0
   attackType: 0
+  attackInterval: 0
+  curDamage: 0
   canHitFly: 1
-  armorPiercing: 0
   attackInfo:
+    attackValue: 0
     damage: 0
     attackDir: {x: 0, y: 0, z: 0}
-    force: 0
-    changeHurt: 0
-    repelValue: 0
+    attackEffect: 
+    floatState:
+      time: 0
+      upTime: {x: 0, y: 0}
+      backSpeed: {x: 0, y: 0}
+      rotateSpeed: {x: 0, y: 0}
+      height: {x: 0, y: 0}
+      ControlOrder: 0
+    blowUp:
+      directionType: 0
+      dir: {x: 0, y: 0, z: 0}
+      force: 0
+      time: 0
+      haveLandingDamage: 0
+      landingDamage: 0
+      ControlOrder: 0
+    shotDown:
+      directionType: 0
+      dir: {x: 0, y: 0, z: 0}
+      force: 0
+      time: 0
+      haveLandingDamage: 0
+      landingDamage: 0
+      ControlOrder: 0
+    weak:
+      time: 0
+      ControlOrder: 0
+    armorPiercing:
+      rate: 0
+    vulnerable:
+      rate: 0
+      time: 0
+    changeDamage:
+      rate: 0
+    sustainedInjury:
+      damage: 0
+    isDemSummon: 0
   addAttackEffect: {fileID: 0}
-  curDamage: 0
+  skill: {fileID: 0}
+  attackEffect: {fileID: 0}
+  effect: {fileID: 0}
+  attackDistance: 0
   attackTrigger: {fileID: 7729941002223262554}
   isAttackTriggerOn: 0
   bulletPrefab: {fileID: 0}
@@ -625,47 +700,128 @@ MonoBehaviour:
   shootAlwaysTrack: 0
   targetTypes: 010000000200000003000000
   beTargetCharacter: []
-  getDistanceOffset: 0
   attackMethod:
   - id: 1
     attackName: "\u6376\u5730"
     attackType: 0
-    attackEffect: {fileID: 0}
     attackInfo:
+      attackValue: 0
       damage: 20
       attackDir: {x: 0, y: 0, z: 0}
-      force: 0
-      changeHurt: 0
-      repelValue: 0
+      attackEffect: 
+      floatState:
+        time: 0
+        upTime: {x: 0, y: 0}
+        backSpeed: {x: 0, y: 0}
+        rotateSpeed: {x: 0, y: 0}
+        height: {x: 0, y: 0}
+        ControlOrder: 0
+      blowUp:
+        directionType: 0
+        dir: {x: 0, y: 0, z: 0}
+        force: 0
+        time: 0
+        haveLandingDamage: 0
+        landingDamage: 0
+        ControlOrder: 0
+      shotDown:
+        directionType: 0
+        dir: {x: 0, y: 0, z: 0}
+        force: 0
+        time: 0
+        haveLandingDamage: 0
+        landingDamage: 0
+        ControlOrder: 0
+      weak:
+        time: 0
+        ControlOrder: 0
+      armorPiercing:
+        rate: 0
+      vulnerable:
+        rate: 0
+        time: 0
+      changeDamage:
+        rate: 0
+      sustainedInjury:
+        damage: 0
+      isDemSummon: 0
     attackTrigger: {fileID: 7729941002223262554}
+    attackDistance: 0
+    maxAttackDis: 0
+    minAttackDis: 0
+    needToChange: 0
     targetTypes: 010000000200000003000000
     canHitFly: 1
     armorPiercing: 0
     bulletPrefab: {fileID: 0}
     shootPos: []
+    maxUpAngle: 0
+    maxDownAngle: 0
     shootTrack: 0
     shootAlwaysTrack: 0
-    curDamage: 0
+    skillPrefab: {fileID: 0}
+    skill: {fileID: 0}
   curAttackMethod:
     id: 0
     attackName: 
     attackType: 0
-    attackEffect: {fileID: 0}
     attackInfo:
+      attackValue: 0
       damage: 0
       attackDir: {x: 0, y: 0, z: 0}
-      force: 0
-      changeHurt: 0
-      repelValue: 0
+      attackEffect: 
+      floatState:
+        time: 0
+        upTime: {x: 0, y: 0}
+        backSpeed: {x: 0, y: 0}
+        rotateSpeed: {x: 0, y: 0}
+        height: {x: 0, y: 0}
+        ControlOrder: 0
+      blowUp:
+        directionType: 0
+        dir: {x: 0, y: 0, z: 0}
+        force: 0
+        time: 0
+        haveLandingDamage: 0
+        landingDamage: 0
+        ControlOrder: 0
+      shotDown:
+        directionType: 0
+        dir: {x: 0, y: 0, z: 0}
+        force: 0
+        time: 0
+        haveLandingDamage: 0
+        landingDamage: 0
+        ControlOrder: 0
+      weak:
+        time: 0
+        ControlOrder: 0
+      armorPiercing:
+        rate: 0
+      vulnerable:
+        rate: 0
+        time: 0
+      changeDamage:
+        rate: 0
+      sustainedInjury:
+        damage: 0
+      isDemSummon: 0
     attackTrigger: {fileID: 0}
+    attackDistance: 0
+    maxAttackDis: 0
+    minAttackDis: 0
+    needToChange: 0
     targetTypes: 
     canHitFly: 0
     armorPiercing: 0
     bulletPrefab: {fileID: 0}
     shootPos: []
+    maxUpAngle: 0
+    maxDownAngle: 0
     shootTrack: 0
     shootAlwaysTrack: 0
-    curDamage: 0
+    skillPrefab: {fileID: 0}
+    skill: {fileID: 0}
 --- !u!1 &6139679835290116115
 GameObject:
   m_ObjectHideFlags: 0
@@ -841,6 +997,8 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   imgHp: {fileID: 891910447640254832}
+  pc: {fileID: 0}
+  points: []
 --- !u!1 &7208291223413765209
 GameObject:
   m_ObjectHideFlags: 0

+ 228 - 70
ActionTowerDefense/Assets/Resources/Prefab/Enemy/Enemy_Sword.prefab

@@ -107,6 +107,8 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   imgHp: {fileID: 7211513204843255236}
+  pc: {fileID: 0}
+  points: []
 --- !u!1 &1916444301582183241
 GameObject:
   m_ObjectHideFlags: 0
@@ -165,19 +167,60 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: 5eaed0a6b9d6fc6409bef80cf41a0a8e, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
+  canBreakWall: 0
+  wallBrealNum: 10
   isShoot: 0
   type: 0
   owner: {fileID: 0}
   isSingleAttack: 0
   cantSingleAttack: 0
   trigedObjs: []
-  damage: 0
+  attackInfo:
+    attackValue: 0
+    damage: 0
+    attackDir: {x: 0, y: 0, z: 0}
+    attackEffect: 
+    floatState:
+      time: 0
+      upTime: {x: 0, y: 0}
+      backSpeed: {x: 0, y: 0}
+      rotateSpeed: {x: 0, y: 0}
+      height: {x: 0, y: 0}
+      ControlOrder: 0
+    blowUp:
+      directionType: 0
+      dir: {x: 0, y: 0, z: 0}
+      force: 0
+      time: 0
+      haveLandingDamage: 0
+      landingDamage: 0
+      ControlOrder: 0
+    shotDown:
+      directionType: 0
+      dir: {x: 0, y: 0, z: 0}
+      force: 0
+      time: 0
+      haveLandingDamage: 0
+      landingDamage: 0
+      ControlOrder: 0
+    weak:
+      time: 0
+      ControlOrder: 0
+    armorPiercing:
+      rate: 0
+    vulnerable:
+      rate: 0
+      time: 0
+    changeDamage:
+      rate: 0
+    sustainedInjury:
+      damage: 0
+    isDemSummon: 0
   force: {x: 0, y: 0, z: 0}
   changeHurt: 0
   repelValue: 0
   offsetY: 1
   hitRate: 1
-  onlyFlyCanWeak: 0
 --- !u!1 &2437299196472462361
 GameObject:
   m_ObjectHideFlags: 0
@@ -227,13 +270,6 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: 7475a7d33f657b146a4994b1e02710ad, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  mecanim: {fileID: 5617185463097218335}
-  meshRenderer: {fileID: 2459340336965010942}
-  ani: {fileID: 6496896669866891404}
-  totalDieKeepTime: 0
-  totalAttack_summonTime: 1.2667
-  totalAttack_marchTime: 1.8333
-  dieKeepTime: 0
   rb: {fileID: 2437299196472462355}
   bodyTrans: {fileID: 5075820377452290163}
   beSearchTrigger: {fileID: 6542925321707027015}
@@ -242,20 +278,37 @@ MonoBehaviour:
   uiHp: {fileID: 5757877461832872043}
   beHitTrigger: {fileID: 6427563181875878110}
   attackController: {fileID: -7295283406575541792}
+  platform: {fileID: 0}
+  mecanim: {fileID: 5617185463097218335}
+  meshRenderer: {fileID: 2459340336965010942}
+  ani: {fileID: 6496896669866891404}
+  totalDieKeepTime: 0
+  totalAttack_summonTime: 1.2667
+  totalAttack_marchTime: 1.8333
+  showInjuryNum: 1
+  injuryNumText: {fileID: 6467251191553420251, guid: 9b37289f93ea76745ab2cefb79a93e3c, type: 3}
+  injuryNumTextSummon: {fileID: 0}
+  injuryNumPos_summon: {x: 0, y: 1}
+  injuryNumRandom_summon: {x: 1, y: 1}
+  injuryNumPos_march: {x: 0, y: 1}
+  injuryNumRandom_march: {x: 2, y: 2}
+  dieKeepTime: 0
+  beHitDistance: 0
+  attackDis: 0
   targetCharacter: {fileID: 0}
   attackTarget: {fileID: 0}
   state: 1
   totalHp: 500
   hp: 500
-  isDie: 0
-  isRevive: 0
+  canFly: 0
+  nowCanFly: 0
   canNotAddForce: 0
   canNotChangeHurt: 0
+  isDie: 0
+  isRevive: 0
   invincibleTime: 0
-  injuryNumText: {fileID: 6467251191553420251, guid: 9b37289f93ea76745ab2cefb79a93e3c, type: 3}
-  showInjuryNum: 1
-  canFly: 0
-  armor: 0
+  isBeHitBySummonAttack: 0
+  statePre: {fileID: 0}
   ls: {fileID: 0}
   isInSoulTower: 0
   beLarger: 0
@@ -263,6 +316,18 @@ MonoBehaviour:
   cookEffect: {fileID: 0}
   Attack_summonShootCanTransmit: 0
   debugAttackFrom: 0
+  hitResistance: 0
+  foot: {fileID: 2437299196663985756}
+  attributeStatus: {fileID: 0}
+  hitFeedbackSystem: {fileID: 0}
+  extraRiseGravity: -28.8
+  extraFallGravity: -14.4
+  extraGroundGravity: -28.8
+  velocityAddition: 0
+  platformPosY: 0
+  platformRotZ: 0
+  RotLerpSpeed: 0.6
+  RotLerpTime: 0
   matState: 1
   spinee: {fileID: 0}
   mesh: {fileID: 0}
@@ -271,41 +336,21 @@ MonoBehaviour:
   - {fileID: 2100000, guid: 7d50f910288e95b4285a5fb549c94fe6, type: 2}
   outline1Mats:
   - {fileID: 2100000, guid: 79dada70fee9fbc49a327168481d3def, type: 2}
-  foot: {fileID: 2437299196663985756}
-  extraRiseGravity: -28.8
-  extraFallGravity: -14.4
-  canMove: 1
   moveSpeed: 5.80575
-  totalBeRepelValue: 30
-  beRepelValue: 0
-  weakTime: 0
-  totalWeakTime: 10
-  newTotalWeakTime: 0
-  weakHitRate: 2
-  weakForce: {x: 0, y: 0, z: 0}
-  easyToGetHit: 0.2
+  needToAdjustFlyHeight: 0
+  flyHeight: 0
+  maxFlyHeight: 0
+  minFlyHeight: 0
+  flyUpTime: 0
+  isAdjustHeight: 0
   isDamageReduction: 0
   reductionDegree: 0
   reductionEffect: {fileID: 0}
-  decelerationRatio: 2
-  comaTime: 5
-  pastComaTime: 0
-  floatState: 0
-  maxTime: 1.5
-  minTime: 0.1
-  maxHeight: 9
-  minHeight: 4
-  floatTime: 10
-  maxRotateSpeed: 20
-  minRotateSpeed: 5
-  isFloat: 0
-  normalFallSpeed: 10
   effect: {fileID: 0}
   soulPrefab: {fileID: 1723151111827507807, guid: e2b65aa482f2f1447a4074208d72b778, type: 3}
   soulStartSpeed: 1
   isInvisible: 0
   invisibleTime: 0
-  velocityAddition: 0
   haveTransmit: 0
   transmitTime: 0
   portalsController: {fileID: 0}
@@ -314,11 +359,11 @@ MonoBehaviour:
   sustainedInjury_IntervalTime: 0
   sustainedInjury_damage: 0
   heavyDamage: 0
-  id: 0
+  killer: {fileID: 0}
+  exp: 0
+  name: 
   baseSortingOrder: 3000
   isBack: 0
-  flyHeight: 0
-  flyUpSpeed: 10
   jumpSpeed: 9
   maxMoveSpeed: 6
   minMoveSpeed: 5
@@ -329,20 +374,12 @@ MonoBehaviour:
   reboundXSpeed: 0
   reboundYSpeed: 0
   wallDamage: 0
-  willBeComa: 0
-  willComaTime: 0
-  comaDamage: 0
   type: -1
   searchState: 0
-  attackDistance: 1.5
-  maxAttackDis: 0
-  minAttackDis: 0
-  needToChange: 0
   attackRatio: 0
   dropSoulMax: 2
   dropSoulMin: 2
   dropSoulAngle: 90
-  upFirstAfterWeaknessOrNot: 0
 --- !u!54 &2437299196472462355
 Rigidbody:
   m_ObjectHideFlags: 0
@@ -411,16 +448,55 @@ MonoBehaviour:
   nextEndKeyTime: 0
   curKeyNum: 0
   attackType: 0
+  attackInterval: 0
+  curDamage: 0
   canHitFly: 1
-  armorPiercing: 0
   attackInfo:
+    attackValue: 0
     damage: 0
     attackDir: {x: 0, y: 0, z: 0}
-    force: 0
-    changeHurt: 0
-    repelValue: 0
+    attackEffect: 
+    floatState:
+      time: 0
+      upTime: {x: 0, y: 0}
+      backSpeed: {x: 0, y: 0}
+      rotateSpeed: {x: 0, y: 0}
+      height: {x: 0, y: 0}
+      ControlOrder: 0
+    blowUp:
+      directionType: 0
+      dir: {x: 0, y: 0, z: 0}
+      force: 0
+      time: 0
+      haveLandingDamage: 0
+      landingDamage: 0
+      ControlOrder: 0
+    shotDown:
+      directionType: 0
+      dir: {x: 0, y: 0, z: 0}
+      force: 0
+      time: 0
+      haveLandingDamage: 0
+      landingDamage: 0
+      ControlOrder: 0
+    weak:
+      time: 0
+      ControlOrder: 0
+    armorPiercing:
+      rate: 0
+    vulnerable:
+      rate: 0
+      time: 0
+    changeDamage:
+      rate: 0
+    sustainedInjury:
+      damage: 0
+    isDemSummon: 0
   addAttackEffect: {fileID: 0}
-  curDamage: 0
+  skill: {fileID: 0}
+  attackEffect: {fileID: 0}
+  effect: {fileID: 0}
+  attackDistance: 0
   attackTrigger: {fileID: 2280520615464243483}
   isAttackTriggerOn: 0
   bulletPrefab: {fileID: 0}
@@ -429,47 +505,128 @@ MonoBehaviour:
   shootAlwaysTrack: 0
   targetTypes: 010000000200000003000000
   beTargetCharacter: []
-  getDistanceOffset: 0
   attackMethod:
   - id: 1
     attackName: "\u6325\u68D2\u5B50"
     attackType: 0
-    attackEffect: {fileID: 0}
     attackInfo:
+      attackValue: 0
       damage: 100
       attackDir: {x: 0, y: 0, z: 0}
-      force: 0
-      changeHurt: 0
-      repelValue: 0
+      attackEffect: 
+      floatState:
+        time: 0
+        upTime: {x: 0, y: 0}
+        backSpeed: {x: 0, y: 0}
+        rotateSpeed: {x: 0, y: 0}
+        height: {x: 0, y: 0}
+        ControlOrder: 0
+      blowUp:
+        directionType: 0
+        dir: {x: 0, y: 0, z: 0}
+        force: 0
+        time: 0
+        haveLandingDamage: 0
+        landingDamage: 0
+        ControlOrder: 0
+      shotDown:
+        directionType: 0
+        dir: {x: 0, y: 0, z: 0}
+        force: 0
+        time: 0
+        haveLandingDamage: 0
+        landingDamage: 0
+        ControlOrder: 0
+      weak:
+        time: 0
+        ControlOrder: 0
+      armorPiercing:
+        rate: 0
+      vulnerable:
+        rate: 0
+        time: 0
+      changeDamage:
+        rate: 0
+      sustainedInjury:
+        damage: 0
+      isDemSummon: 0
     attackTrigger: {fileID: 2280520615464243483}
+    attackDistance: 0
+    maxAttackDis: 0
+    minAttackDis: 0
+    needToChange: 0
     targetTypes: 010000000200000003000000
     canHitFly: 1
     armorPiercing: 0
     bulletPrefab: {fileID: 0}
     shootPos: []
+    maxUpAngle: 0
+    maxDownAngle: 0
     shootTrack: 0
     shootAlwaysTrack: 0
-    curDamage: 0
+    skillPrefab: {fileID: 0}
+    skill: {fileID: 0}
   curAttackMethod:
     id: 0
     attackName: 
     attackType: 0
-    attackEffect: {fileID: 0}
     attackInfo:
+      attackValue: 0
       damage: 0
       attackDir: {x: 0, y: 0, z: 0}
-      force: 0
-      changeHurt: 0
-      repelValue: 0
+      attackEffect: 
+      floatState:
+        time: 0
+        upTime: {x: 0, y: 0}
+        backSpeed: {x: 0, y: 0}
+        rotateSpeed: {x: 0, y: 0}
+        height: {x: 0, y: 0}
+        ControlOrder: 0
+      blowUp:
+        directionType: 0
+        dir: {x: 0, y: 0, z: 0}
+        force: 0
+        time: 0
+        haveLandingDamage: 0
+        landingDamage: 0
+        ControlOrder: 0
+      shotDown:
+        directionType: 0
+        dir: {x: 0, y: 0, z: 0}
+        force: 0
+        time: 0
+        haveLandingDamage: 0
+        landingDamage: 0
+        ControlOrder: 0
+      weak:
+        time: 0
+        ControlOrder: 0
+      armorPiercing:
+        rate: 0
+      vulnerable:
+        rate: 0
+        time: 0
+      changeDamage:
+        rate: 0
+      sustainedInjury:
+        damage: 0
+      isDemSummon: 0
     attackTrigger: {fileID: 0}
+    attackDistance: 0
+    maxAttackDis: 0
+    minAttackDis: 0
+    needToChange: 0
     targetTypes: 
     canHitFly: 0
     armorPiercing: 0
     bulletPrefab: {fileID: 0}
     shootPos: []
+    maxUpAngle: 0
+    maxDownAngle: 0
     shootTrack: 0
     shootAlwaysTrack: 0
-    curDamage: 0
+    skillPrefab: {fileID: 0}
+    skill: {fileID: 0}
 --- !u!1 &2437299196663985757
 GameObject:
   m_ObjectHideFlags: 0
@@ -529,10 +686,10 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   rb: {fileID: 0}
+  moveCharacter: {fileID: 0}
   haveGravity: 1
   trigGroundList: []
-  myBaGuaTrigger: {fileID: 0}
-  baGuaTrigger: []
+  platform: {fileID: 0}
 --- !u!1 &3381575400802596466
 GameObject:
   m_ObjectHideFlags: 0
@@ -761,6 +918,7 @@ MonoBehaviour:
   m_EditorClassIdentifier: 
   owner: {fileID: 5720304588384615462}
   attackerID: 0
+  curX: 0
 --- !u!1 &6164447163453378808
 GameObject:
   m_ObjectHideFlags: 0

+ 1 - 1
ActionTowerDefense/Assets/Resources/Prefab/FX/BackDoor.prefab

@@ -52,7 +52,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0

+ 1 - 1
ActionTowerDefense/Assets/Resources/Prefab/FX/SmokeEffect.prefab

@@ -52,7 +52,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0

+ 1 - 1
ActionTowerDefense/Assets/Resources/Prefab/FX/TranFloatRange.prefab

@@ -52,7 +52,7 @@ SpriteRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0

Разница между файлами не показана из-за своего большого размера
+ 11 - 135
ActionTowerDefense/Assets/Resources/Prefab/FX/star.prefab


+ 4 - 2
ActionTowerDefense/Assets/Resources/Prefab/MySoldier/Demonic_Giant.prefab

@@ -1229,8 +1229,6 @@ MeshRenderer:
   m_Materials:
   - {fileID: 2100000, guid: 466a6130b6c56614caef9c2f5961b3a8, type: 2}
   - {fileID: 2100000, guid: dc7a2704fc39fb24997c9f6279033f5c, type: 2}
-  - {fileID: 2100000, guid: 466a6130b6c56614caef9c2f5961b3a8, type: 2}
-  - {fileID: 2100000, guid: dc7a2704fc39fb24997c9f6279033f5c, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -1504,6 +1502,10 @@ PrefabInstance:
       propertyPath: m_Enabled
       value: 0
       objectReference: {fileID: 0}
+    - target: {fileID: 56796490675054764, guid: 12435a63399f44f4a919a57010981786, type: 3}
+      propertyPath: m_Materials.Array.data[0]
+      value: 
+      objectReference: {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2}
     - target: {fileID: 262311660969425103, guid: 12435a63399f44f4a919a57010981786, type: 3}
       propertyPath: m_RootOrder
       value: 5

+ 49 - 4
ActionTowerDefense/Assets/Resources/Prefab/MySoldier/Spirits_Assassin.prefab

@@ -140,6 +140,7 @@ MonoBehaviour:
   m_EditorClassIdentifier: 
   owner: {fileID: 0}
   hitRate: 1
+  isDemSummon: 0
 --- !u!1 &1211519247569146355
 GameObject:
   m_ObjectHideFlags: 0
@@ -335,10 +336,10 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   rb: {fileID: 0}
+  moveCharacter: {fileID: 0}
   haveGravity: 1
   trigGroundList: []
-  myBaGuaTrigger: {fileID: 0}
-  baGuaTrigger: []
+  platform: {fileID: 0}
 --- !u!1 &4395627956063108033
 GameObject:
   m_ObjectHideFlags: 0
@@ -597,6 +598,8 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   imgHp: {fileID: 5739271224899468351}
+  pc: {fileID: 0}
+  points: []
 --- !u!1 &6526817785665782971
 GameObject:
   m_ObjectHideFlags: 0
@@ -714,19 +717,60 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: 5eaed0a6b9d6fc6409bef80cf41a0a8e, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
+  canBreakWall: 0
+  wallBrealNum: 10
   isShoot: 0
   type: 0
   owner: {fileID: 0}
   isSingleAttack: 0
   cantSingleAttack: 0
   trigedObjs: []
-  damage: 0
+  attackInfo:
+    attackValue: 0
+    damage: 0
+    attackDir: {x: 0, y: 0, z: 0}
+    attackEffect: 
+    floatState:
+      time: 0
+      upTime: {x: 0, y: 0}
+      backSpeed: {x: 0, y: 0}
+      rotateSpeed: {x: 0, y: 0}
+      height: {x: 0, y: 0}
+      ControlOrder: 0
+    blowUp:
+      directionType: 0
+      dir: {x: 0, y: 0, z: 0}
+      force: 0
+      time: 0
+      haveLandingDamage: 0
+      landingDamage: 0
+      ControlOrder: 0
+    shotDown:
+      directionType: 0
+      dir: {x: 0, y: 0, z: 0}
+      force: 0
+      time: 0
+      haveLandingDamage: 0
+      landingDamage: 0
+      ControlOrder: 0
+    weak:
+      time: 0
+      ControlOrder: 0
+    armorPiercing:
+      rate: 0
+    vulnerable:
+      rate: 0
+      time: 0
+    changeDamage:
+      rate: 0
+    sustainedInjury:
+      damage: 0
+    isDemSummon: 0
   force: {x: 0, y: 0, z: 0}
   changeHurt: 0
   repelValue: 0
   offsetY: 1
   hitRate: 1
-  onlyFlyCanWeak: 0
 --- !u!1 &7669620205589286043
 GameObject:
   m_ObjectHideFlags: 0
@@ -1157,6 +1201,7 @@ MonoBehaviour:
   m_EditorClassIdentifier: 
   owner: {fileID: 0}
   attackerID: 0
+  curX: 0
 --- !u!1 &8802879426389446295
 GameObject:
   m_ObjectHideFlags: 0

+ 48 - 4
ActionTowerDefense/Assets/Resources/Prefab/MySoldier/Spirits_Cook.prefab

@@ -107,6 +107,8 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   imgHp: {fileID: 3739203877081235694}
+  pc: {fileID: 0}
+  points: []
 --- !u!1 &650183981426157255
 GameObject:
   m_ObjectHideFlags: 0
@@ -199,19 +201,60 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: 5eaed0a6b9d6fc6409bef80cf41a0a8e, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
+  canBreakWall: 0
+  wallBrealNum: 10
   isShoot: 0
   type: 0
   owner: {fileID: 0}
   isSingleAttack: 0
   cantSingleAttack: 0
   trigedObjs: []
-  damage: 0
+  attackInfo:
+    attackValue: 0
+    damage: 0
+    attackDir: {x: 0, y: 0, z: 0}
+    attackEffect: 
+    floatState:
+      time: 0
+      upTime: {x: 0, y: 0}
+      backSpeed: {x: 0, y: 0}
+      rotateSpeed: {x: 0, y: 0}
+      height: {x: 0, y: 0}
+      ControlOrder: 0
+    blowUp:
+      directionType: 0
+      dir: {x: 0, y: 0, z: 0}
+      force: 0
+      time: 0
+      haveLandingDamage: 0
+      landingDamage: 0
+      ControlOrder: 0
+    shotDown:
+      directionType: 0
+      dir: {x: 0, y: 0, z: 0}
+      force: 0
+      time: 0
+      haveLandingDamage: 0
+      landingDamage: 0
+      ControlOrder: 0
+    weak:
+      time: 0
+      ControlOrder: 0
+    armorPiercing:
+      rate: 0
+    vulnerable:
+      rate: 0
+      time: 0
+    changeDamage:
+      rate: 0
+    sustainedInjury:
+      damage: 0
+    isDemSummon: 0
   force: {x: 0, y: 0, z: 0}
   changeHurt: 0
   repelValue: 0
   offsetY: 1
   hitRate: 1
-  onlyFlyCanWeak: 0
 --- !u!1 &2460330936527559963
 GameObject:
   m_ObjectHideFlags: 0
@@ -272,6 +315,7 @@ MonoBehaviour:
   m_EditorClassIdentifier: 
   owner: {fileID: 0}
   attackerID: 0
+  curX: 0
 --- !u!1 &3483054690158852324
 GameObject:
   m_ObjectHideFlags: 0
@@ -672,10 +716,10 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   rb: {fileID: 0}
+  moveCharacter: {fileID: 0}
   haveGravity: 1
   trigGroundList: []
-  myBaGuaTrigger: {fileID: 0}
-  baGuaTrigger: []
+  platform: {fileID: 0}
 --- !u!1 &5440846222648032759
 GameObject:
   m_ObjectHideFlags: 0

+ 49 - 4
ActionTowerDefense/Assets/Resources/Prefab/MySoldier/Spirits_Float.prefab

@@ -91,6 +91,7 @@ MonoBehaviour:
   m_EditorClassIdentifier: 
   owner: {fileID: 0}
   attackerID: 0
+  curX: 0
 --- !u!1 &1637528673901708253
 GameObject:
   m_ObjectHideFlags: 0
@@ -198,6 +199,8 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   imgHp: {fileID: 3266580543050502037}
+  pc: {fileID: 0}
+  points: []
 --- !u!1 &2234394376273647362
 GameObject:
   m_ObjectHideFlags: 0
@@ -736,6 +739,7 @@ MonoBehaviour:
   m_EditorClassIdentifier: 
   owner: {fileID: 0}
   hitRate: 1
+  isDemSummon: 0
 --- !u!1 &7279936714574197028
 GameObject:
   m_ObjectHideFlags: 0
@@ -794,19 +798,60 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: 5eaed0a6b9d6fc6409bef80cf41a0a8e, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
+  canBreakWall: 0
+  wallBrealNum: 10
   isShoot: 1
   type: 0
   owner: {fileID: 0}
   isSingleAttack: 0
   cantSingleAttack: 0
   trigedObjs: []
-  damage: 0
+  attackInfo:
+    attackValue: 0
+    damage: 0
+    attackDir: {x: 0, y: 0, z: 0}
+    attackEffect: 
+    floatState:
+      time: 0
+      upTime: {x: 0, y: 0}
+      backSpeed: {x: 0, y: 0}
+      rotateSpeed: {x: 0, y: 0}
+      height: {x: 0, y: 0}
+      ControlOrder: 0
+    blowUp:
+      directionType: 0
+      dir: {x: 0, y: 0, z: 0}
+      force: 0
+      time: 0
+      haveLandingDamage: 0
+      landingDamage: 0
+      ControlOrder: 0
+    shotDown:
+      directionType: 0
+      dir: {x: 0, y: 0, z: 0}
+      force: 0
+      time: 0
+      haveLandingDamage: 0
+      landingDamage: 0
+      ControlOrder: 0
+    weak:
+      time: 0
+      ControlOrder: 0
+    armorPiercing:
+      rate: 0
+    vulnerable:
+      rate: 0
+      time: 0
+    changeDamage:
+      rate: 0
+    sustainedInjury:
+      damage: 0
+    isDemSummon: 0
   force: {x: 0, y: 0, z: 0}
   changeHurt: 0
   repelValue: 0
   offsetY: 1
   hitRate: 1
-  onlyFlyCanWeak: 0
 --- !u!1 &7414577738945366659
 GameObject:
   m_ObjectHideFlags: 0
@@ -998,10 +1043,10 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   rb: {fileID: 0}
+  moveCharacter: {fileID: 0}
   haveGravity: 1
   trigGroundList: []
-  myBaGuaTrigger: {fileID: 0}
-  baGuaTrigger: []
+  platform: {fileID: 0}
 --- !u!1 &8639832132491289359
 GameObject:
   m_ObjectHideFlags: 0

+ 2 - 2
ActionTowerDefense/Assets/Resources/Prefab/MySoldier/Spirits_Invisible.prefab

@@ -237,10 +237,10 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   rb: {fileID: 0}
+  moveCharacter: {fileID: 0}
   haveGravity: 1
   trigGroundList: []
-  myBaGuaTrigger: {fileID: 0}
-  baGuaTrigger: []
+  platform: {fileID: 0}
 --- !u!1 &5216717017252562314
 GameObject:
   m_ObjectHideFlags: 0

+ 13 - 1
ActionTowerDefense/Assets/Resources/Prefab/Player.prefab

@@ -945,7 +945,6 @@ MonoBehaviour:
   soulCollector: {fileID: 3739918129319493242}
   skeletonMecanim: {fileID: 6843453365888964567}
   wallTrigger: {fileID: 6725358484711746229}
-  playerFX: {fileID: 1048751460627304294}
   mp: 0
   totalMp: 450
   totalMp_2Players: 450
@@ -1570,6 +1569,7 @@ MeshRenderer:
   m_Materials:
   - {fileID: 2100000, guid: 1b17f7962e0b9be49bb10e99c6bd95a6, type: 2}
   - {fileID: 2100000, guid: 0c319badfe2307a48b8810d891649565, type: 2}
+  - {fileID: 2100000, guid: 1b17f7962e0b9be49bb10e99c6bd95a6, type: 2}
   - {fileID: 2100000, guid: 8f08601a75fbb72488593cad9f89acca, type: 2}
   - {fileID: 2100000, guid: 0c319badfe2307a48b8810d891649565, type: 2}
   m_StaticBatchInfo:
@@ -2238,6 +2238,14 @@ PrefabInstance:
       propertyPath: m_Name
       value: conductReady
       objectReference: {fileID: 0}
+    - target: {fileID: 1292434953686859961, guid: 00e0f54f92bab0e4f8e42b1550fc8955, type: 3}
+      propertyPath: m_Materials.Array.data[0]
+      value: 
+      objectReference: {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
+    - target: {fileID: 1558734470160678060, guid: 00e0f54f92bab0e4f8e42b1550fc8955, type: 3}
+      propertyPath: m_Materials.Array.data[0]
+      value: 
+      objectReference: {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
     - target: {fileID: 1639900831015566504, guid: 00e0f54f92bab0e4f8e42b1550fc8955, type: 3}
       propertyPath: m_RootOrder
       value: 3
@@ -2282,6 +2290,10 @@ PrefabInstance:
       propertyPath: m_LocalEulerAnglesHint.z
       value: 0
       objectReference: {fileID: 0}
+    - target: {fileID: 2811050683347318329, guid: 00e0f54f92bab0e4f8e42b1550fc8955, type: 3}
+      propertyPath: m_Materials.Array.data[0]
+      value: 
+      objectReference: {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
     - target: {fileID: 5229750892223698942, guid: 00e0f54f92bab0e4f8e42b1550fc8955, type: 3}
       propertyPath: startDelay.scalar
       value: 0.25

+ 52 - 35
ActionTowerDefense/Assets/Resources/Prefab/PlayerBullet.prefab

@@ -24,13 +24,13 @@ Transform:
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 7473170562045770959}
-  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: 7473170563405908937}
+  m_RootOrder: 0
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!212 &7473170562045770957
 SpriteRenderer:
@@ -49,13 +49,10 @@ SpriteRenderer:
   m_ReflectionProbeUsage: 1
   m_RayTracingMode: 0
   m_RayTraceProcedural: 0
-  m_RayTracingAccelStructBuildFlagsOverride: 0
-  m_RayTracingAccelStructBuildFlags: 1
-  m_SmallMeshCulling: 1
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -113,7 +110,6 @@ Transform:
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 7473170563405908938}
-  serializedVersion: 2
   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
   m_LocalPosition: {x: 1, y: 0, z: 0}
   m_LocalScale: {x: 1, y: 1, z: 1}
@@ -121,6 +117,7 @@ Transform:
   m_Children:
   - {fileID: 7473170562045770958}
   m_Father: {fileID: 0}
+  m_RootOrder: 0
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!65 &7414042625370929500
 BoxCollider:
@@ -130,18 +127,10 @@ BoxCollider:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 7473170563405908938}
   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: 0.5, y: 0.5, z: 20}
+  serializedVersion: 2
+  m_Size: {x: 2, y: 2, z: 2}
   m_Center: {x: 0, y: 0, z: 0}
 --- !u!114 &7485360237884938143
 MonoBehaviour:
@@ -155,26 +144,65 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: 9a4a2dbc1e482cd4b9f1532e1fddcb30, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
+  canStop: 0
+  stopTime: 0
   owner: {fileID: 0}
+  attackInfo:
+    attackValue: 0
+    damage: 0
+    attackDir: {x: 0, y: 0, z: 0}
+    attackEffect: 
+    floatState:
+      time: 0
+      upTime: {x: 0, y: 0}
+      backSpeed: {x: 0, y: 0}
+      rotateSpeed: {x: 0, y: 0}
+      height: {x: 0, y: 0}
+      ControlOrder: 0
+    blowUp:
+      directionType: 0
+      dir: {x: 0, y: 0, z: 0}
+      force: 0
+      time: 0
+      haveLandingDamage: 0
+      landingDamage: 0
+      ControlOrder: 0
+    shotDown:
+      directionType: 0
+      dir: {x: 0, y: 0, z: 0}
+      force: 0
+      time: 0
+      haveLandingDamage: 0
+      landingDamage: 0
+      ControlOrder: 0
+    weak:
+      time: 0
+      ControlOrder: 0
+    armorPiercing:
+      rate: 0
+    vulnerable:
+      rate: 0
+      time: 0
+    changeDamage:
+      rate: 0
+    sustainedInjury:
+      damage: 0
+    isDemSummon: 0
   rb: {fileID: 0}
   trigedObjs: []
-  damage: 0
-  force: 0
-  changeHurt: 0
-  repelValue: 0
   bulletType: 0
   isGetTarget: 0
   speed: 20
   maxFlyTime: 2
   flyTime: 0
   isTrack: 0
+  canAlwaysTrack: 0
   trackTarget: {fileID: 0}
-  isBack: 0
-  stayTime: 0
+  effect: {fileID: 0}
+  disappearEffect: {fileID: 0}
   canTransmit: 0
   haveTransmit: 0
   transmitTime: 0
-  portalsController: {fileID: 0}
 --- !u!54 &8541051486027365006
 Rigidbody:
   m_ObjectHideFlags: 0
@@ -182,21 +210,10 @@ Rigidbody:
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 7473170563405908938}
-  serializedVersion: 4
+  serializedVersion: 2
   m_Mass: 1
   m_Drag: 0
   m_AngularDrag: 0.05
-  m_CenterOfMass: {x: 0, y: 0, z: 0}
-  m_InertiaTensor: {x: 1, y: 1, z: 1}
-  m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1}
-  m_IncludeLayers:
-    serializedVersion: 2
-    m_Bits: 0
-  m_ExcludeLayers:
-    serializedVersion: 2
-    m_Bits: 0
-  m_ImplicitCom: 1
-  m_ImplicitTensor: 1
   m_UseGravity: 0
   m_IsKinematic: 0
   m_Interpolate: 0

Некоторые файлы не были показаны из-за большого количества измененных файлов