diff --git a/Assets/AddressableAssetsData/AddressableAssetSettings.asset b/Assets/AddressableAssetsData/AddressableAssetSettings.asset
index 8e4c5ea7..480e504a 100644
--- a/Assets/AddressableAssetsData/AddressableAssetSettings.asset
+++ b/Assets/AddressableAssetsData/AddressableAssetSettings.asset
@@ -15,7 +15,7 @@ MonoBehaviour:
m_DefaultGroup: 6f3207429a65b3e4b83935ac19791077
m_currentHash:
serializedVersion: 2
- Hash: 8453796ea514a8db40e72d511ee4981c
+ Hash: 00000000000000000000000000000000
m_OptimizeCatalogSize: 0
m_BuildRemoteCatalog: 0
m_CatalogRequestsTimeout: 0
diff --git a/Assets/Art/Animations/Characters/Pulver/ANIM_PulverCombine.anim b/Assets/Art/Animations/Characters/Pulver/ANIM_PulverCombine.anim
new file mode 100644
index 00000000..3633aca1
--- /dev/null
+++ b/Assets/Art/Animations/Characters/Pulver/ANIM_PulverCombine.anim
@@ -0,0 +1,373 @@
+%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: ANIM_PulverCombine
+ serializedVersion: 7
+ m_Legacy: 0
+ m_Compressed: 0
+ m_UseHighQualityCurve: 1
+ m_RotationCurves: []
+ m_CompressedRotationCurves: []
+ m_EulerCurves: []
+ m_PositionCurves: []
+ m_ScaleCurves:
+ - curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: {x: 0.6, y: 0.6, z: 1}
+ inSlope: {x: 0, y: 0, z: 0}
+ outSlope: {x: 0, y: 0, z: 0}
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ path:
+ m_FloatCurves: []
+ m_PPtrCurves:
+ - serializedVersion: 2
+ curve:
+ - time: 0
+ value: {fileID: 263105632, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - time: 0.033333335
+ value: {fileID: -1812988591, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - time: 0.06666667
+ value: {fileID: -1090178663, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - time: 0.1
+ value: {fileID: 435788048, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - time: 0.13333334
+ value: {fileID: 1131685978, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - time: 0.16666667
+ value: {fileID: 1731845327, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - time: 0.2
+ value: {fileID: 1607961555, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - time: 0.23333333
+ value: {fileID: -2004317814, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - time: 0.26666668
+ value: {fileID: -1112803850, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - time: 0.3
+ value: {fileID: 1365610583, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - time: 0.33333334
+ value: {fileID: 532678314, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - time: 0.36666667
+ value: {fileID: -2121275635, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - time: 0.4
+ value: {fileID: -627404477, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - time: 0.43333334
+ value: {fileID: 266738615, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - time: 0.46666667
+ value: {fileID: 1949553887, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - time: 0.5
+ value: {fileID: 838312546, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - time: 0.53333336
+ value: {fileID: -1672482298, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - time: 0.56666666
+ value: {fileID: 1942478426, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - time: 0.6
+ value: {fileID: -1711440152, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - time: 0.6333333
+ value: {fileID: 149110574, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - time: 0.6666667
+ value: {fileID: 707155314, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - time: 0.7
+ value: {fileID: 1633370117, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - time: 0.73333335
+ value: {fileID: -1725739569, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - time: 0.76666665
+ value: {fileID: -1993146538, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - time: 0.8
+ value: {fileID: -1126419074, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - time: 0.8333333
+ value: {fileID: -155569751, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - time: 0.8666667
+ value: {fileID: -1837712550, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - time: 0.9
+ value: {fileID: -139197686, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - time: 0.93333334
+ value: {fileID: -978546395, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - time: 0.96666664
+ value: {fileID: 404084961, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - time: 1
+ value: {fileID: -807765816, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - time: 1.0333333
+ value: {fileID: -605922950, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - time: 1.0666667
+ value: {fileID: 2001239777, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - time: 1.1
+ value: {fileID: 1655593012, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - time: 1.1333333
+ value: {fileID: -1738512165, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - time: 1.1666666
+ value: {fileID: -1137739122, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - time: 1.2
+ value: {fileID: 1285172798, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - time: 1.2333333
+ value: {fileID: -1896649918, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - time: 1.2666667
+ value: {fileID: 1806292744, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - time: 1.3
+ value: {fileID: -1160886992, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - time: 1.3333334
+ value: {fileID: 496162698, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - time: 1.3666667
+ value: {fileID: -153119636, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - time: 1.4
+ value: {fileID: -982091652, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - time: 1.4333333
+ value: {fileID: -470044154, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - time: 1.4666667
+ value: {fileID: -973132521, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - time: 1.5
+ value: {fileID: 633286941, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - time: 1.5333333
+ value: {fileID: -1891868464, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - time: 1.5666667
+ value: {fileID: -1689168775, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - time: 1.6
+ value: {fileID: -55477105, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - time: 1.6333333
+ value: {fileID: -1987357179, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - time: 1.6666666
+ value: {fileID: 589807064, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - time: 1.7
+ value: {fileID: 1949537853, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - time: 1.7333333
+ value: {fileID: 127442646, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - time: 1.7666667
+ value: {fileID: -1098328029, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - time: 1.8
+ value: {fileID: 1429341976, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - time: 1.8333334
+ value: {fileID: 239290956, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - time: 1.8666667
+ value: {fileID: -1528274889, guid: 9a28c23c27c7fb345a5a588d28dd3997, type: 3}
+ - time: 1.9
+ value: {fileID: -1929627303, guid: 9a28c23c27c7fb345a5a588d28dd3997, type: 3}
+ - time: 1.9333333
+ value: {fileID: 1523615096, guid: 9a28c23c27c7fb345a5a588d28dd3997, type: 3}
+ - time: 1.9666667
+ value: {fileID: 1799079079, guid: 9a28c23c27c7fb345a5a588d28dd3997, type: 3}
+ - time: 2
+ value: {fileID: -1038491181, guid: 9a28c23c27c7fb345a5a588d28dd3997, type: 3}
+ - time: 2.0333333
+ value: {fileID: 1206872090, guid: 9a28c23c27c7fb345a5a588d28dd3997, type: 3}
+ - time: 2.0666666
+ value: {fileID: 1820647834, guid: 9a28c23c27c7fb345a5a588d28dd3997, type: 3}
+ - time: 2.1
+ value: {fileID: 2010811095, guid: 9a28c23c27c7fb345a5a588d28dd3997, type: 3}
+ - time: 2.1333334
+ value: {fileID: -1103412090, guid: 9a28c23c27c7fb345a5a588d28dd3997, type: 3}
+ - time: 2.1666667
+ value: {fileID: -2117110224, guid: 9a28c23c27c7fb345a5a588d28dd3997, type: 3}
+ - time: 2.2
+ value: {fileID: 361146204, guid: 9a28c23c27c7fb345a5a588d28dd3997, type: 3}
+ - time: 2.2333333
+ value: {fileID: -2065035201, guid: 9a28c23c27c7fb345a5a588d28dd3997, type: 3}
+ - time: 2.2666667
+ value: {fileID: -832214342, guid: 9a28c23c27c7fb345a5a588d28dd3997, type: 3}
+ - time: 2.3
+ value: {fileID: 1510424321, guid: 9a28c23c27c7fb345a5a588d28dd3997, type: 3}
+ - time: 2.3333333
+ value: {fileID: 1613224031, guid: 9a28c23c27c7fb345a5a588d28dd3997, type: 3}
+ - time: 2.3666666
+ value: {fileID: 1882383981, guid: 9a28c23c27c7fb345a5a588d28dd3997, type: 3}
+ attribute: m_Sprite
+ path:
+ classID: 212
+ script: {fileID: 0}
+ flags: 2
+ m_SampleRate: 30
+ m_WrapMode: 0
+ m_Bounds:
+ m_Center: {x: 0, y: 0, z: 0}
+ m_Extent: {x: 0, y: 0, z: 0}
+ m_ClipBindingConstant:
+ genericBindings:
+ - serializedVersion: 2
+ path: 0
+ attribute: 0
+ script: {fileID: 0}
+ typeID: 212
+ customType: 23
+ isPPtrCurve: 1
+ isIntCurve: 0
+ isSerializeReferenceCurve: 0
+ - serializedVersion: 2
+ path: 0
+ attribute: 3
+ script: {fileID: 0}
+ typeID: 4
+ customType: 0
+ isPPtrCurve: 0
+ isIntCurve: 0
+ isSerializeReferenceCurve: 0
+ pptrCurveMapping:
+ - {fileID: 263105632, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - {fileID: -1812988591, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - {fileID: -1090178663, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - {fileID: 435788048, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - {fileID: 1131685978, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - {fileID: 1731845327, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - {fileID: 1607961555, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - {fileID: -2004317814, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - {fileID: -1112803850, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - {fileID: 1365610583, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - {fileID: 532678314, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - {fileID: -2121275635, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - {fileID: -627404477, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - {fileID: 266738615, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - {fileID: 1949553887, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - {fileID: 838312546, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - {fileID: -1672482298, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - {fileID: 1942478426, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - {fileID: -1711440152, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - {fileID: 149110574, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - {fileID: 707155314, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - {fileID: 1633370117, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - {fileID: -1725739569, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - {fileID: -1993146538, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - {fileID: -1126419074, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - {fileID: -155569751, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - {fileID: -1837712550, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - {fileID: -139197686, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - {fileID: -978546395, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - {fileID: 404084961, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - {fileID: -807765816, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - {fileID: -605922950, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - {fileID: 2001239777, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - {fileID: 1655593012, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - {fileID: -1738512165, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - {fileID: -1137739122, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - {fileID: 1285172798, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - {fileID: -1896649918, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - {fileID: 1806292744, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - {fileID: -1160886992, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - {fileID: 496162698, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - {fileID: -153119636, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - {fileID: -982091652, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - {fileID: -470044154, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - {fileID: -973132521, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - {fileID: 633286941, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - {fileID: -1891868464, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - {fileID: -1689168775, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - {fileID: -55477105, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - {fileID: -1987357179, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - {fileID: 589807064, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - {fileID: 1949537853, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - {fileID: 127442646, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - {fileID: -1098328029, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - {fileID: 1429341976, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - {fileID: 239290956, guid: c88473e983731e34ab9b788192786c8f, type: 3}
+ - {fileID: -1528274889, guid: 9a28c23c27c7fb345a5a588d28dd3997, type: 3}
+ - {fileID: -1929627303, guid: 9a28c23c27c7fb345a5a588d28dd3997, type: 3}
+ - {fileID: 1523615096, guid: 9a28c23c27c7fb345a5a588d28dd3997, type: 3}
+ - {fileID: 1799079079, guid: 9a28c23c27c7fb345a5a588d28dd3997, type: 3}
+ - {fileID: -1038491181, guid: 9a28c23c27c7fb345a5a588d28dd3997, type: 3}
+ - {fileID: 1206872090, guid: 9a28c23c27c7fb345a5a588d28dd3997, type: 3}
+ - {fileID: 1820647834, guid: 9a28c23c27c7fb345a5a588d28dd3997, type: 3}
+ - {fileID: 2010811095, guid: 9a28c23c27c7fb345a5a588d28dd3997, type: 3}
+ - {fileID: -1103412090, guid: 9a28c23c27c7fb345a5a588d28dd3997, type: 3}
+ - {fileID: -2117110224, guid: 9a28c23c27c7fb345a5a588d28dd3997, type: 3}
+ - {fileID: 361146204, guid: 9a28c23c27c7fb345a5a588d28dd3997, type: 3}
+ - {fileID: -2065035201, guid: 9a28c23c27c7fb345a5a588d28dd3997, type: 3}
+ - {fileID: -832214342, guid: 9a28c23c27c7fb345a5a588d28dd3997, type: 3}
+ - {fileID: 1510424321, guid: 9a28c23c27c7fb345a5a588d28dd3997, type: 3}
+ - {fileID: 1613224031, guid: 9a28c23c27c7fb345a5a588d28dd3997, type: 3}
+ - {fileID: 1882383981, guid: 9a28c23c27c7fb345a5a588d28dd3997, type: 3}
+ m_AnimationClipSettings:
+ serializedVersion: 2
+ m_AdditiveReferencePoseClip: {fileID: 0}
+ m_AdditiveReferencePoseTime: 0
+ m_StartTime: 0
+ m_StopTime: 2.3999999
+ 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:
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0.6
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.x
+ path:
+ classID: 4
+ script: {fileID: 0}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0.6
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.y
+ path:
+ classID: 4
+ script: {fileID: 0}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.z
+ path:
+ classID: 4
+ script: {fileID: 0}
+ flags: 0
+ m_EulerEditorCurves: []
+ m_HasGenericRootTransform: 0
+ m_HasMotionFloatCurves: 0
+ m_Events: []
diff --git a/Assets/Art/Animations/Characters/Pulver/ANIM_PulverCombine.anim.meta b/Assets/Art/Animations/Characters/Pulver/ANIM_PulverCombine.anim.meta
new file mode 100644
index 00000000..ddf4e90f
--- /dev/null
+++ b/Assets/Art/Animations/Characters/Pulver/ANIM_PulverCombine.anim.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: f7bb725eefec4cc4ebfea7eb1320225d
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 7400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Art/Animations/Characters/Pulver/ANIM_PulverIdle_Carry_Back.anim b/Assets/Art/Animations/Characters/Pulver/ANIM_PulverIdle_Carry_Back.anim
new file mode 100644
index 00000000..07554e9b
--- /dev/null
+++ b/Assets/Art/Animations/Characters/Pulver/ANIM_PulverIdle_Carry_Back.anim
@@ -0,0 +1,160 @@
+%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: ANIM_PulverIdle_Carry_Back
+ serializedVersion: 7
+ m_Legacy: 0
+ m_Compressed: 0
+ m_UseHighQualityCurve: 1
+ m_RotationCurves: []
+ m_CompressedRotationCurves: []
+ m_EulerCurves: []
+ m_PositionCurves: []
+ m_ScaleCurves:
+ - curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: {x: 0.6, y: 0.6, z: 1}
+ inSlope: {x: 0, y: 0, z: 0}
+ outSlope: {x: 0, y: 0, z: 0}
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ path:
+ m_FloatCurves: []
+ m_PPtrCurves:
+ - serializedVersion: 2
+ curve:
+ - time: 0
+ value: {fileID: -1669662453, guid: ffd5441cd6cd1514bb85036a3722155a, type: 3}
+ attribute: m_Sprite
+ path:
+ classID: 212
+ script: {fileID: 0}
+ flags: 2
+ m_SampleRate: 60
+ m_WrapMode: 0
+ m_Bounds:
+ m_Center: {x: 0, y: 0, z: 0}
+ m_Extent: {x: 0, y: 0, z: 0}
+ m_ClipBindingConstant:
+ genericBindings:
+ - serializedVersion: 2
+ path: 0
+ attribute: 0
+ script: {fileID: 0}
+ typeID: 212
+ customType: 23
+ isPPtrCurve: 1
+ isIntCurve: 0
+ isSerializeReferenceCurve: 0
+ - serializedVersion: 2
+ path: 0
+ attribute: 3
+ script: {fileID: 0}
+ typeID: 4
+ customType: 0
+ isPPtrCurve: 0
+ isIntCurve: 0
+ isSerializeReferenceCurve: 0
+ pptrCurveMapping:
+ - {fileID: -1669662453, guid: ffd5441cd6cd1514bb85036a3722155a, type: 3}
+ m_AnimationClipSettings:
+ serializedVersion: 2
+ m_AdditiveReferencePoseClip: {fileID: 0}
+ m_AdditiveReferencePoseTime: 0
+ m_StartTime: 0
+ m_StopTime: 0.016666668
+ 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:
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0.6
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.x
+ path:
+ classID: 4
+ script: {fileID: 0}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0.6
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.y
+ path:
+ classID: 4
+ script: {fileID: 0}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.z
+ path:
+ classID: 4
+ script: {fileID: 0}
+ flags: 0
+ m_EulerEditorCurves: []
+ m_HasGenericRootTransform: 0
+ m_HasMotionFloatCurves: 0
+ m_Events: []
diff --git a/Assets/Art/Animations/Characters/Pulver/ANIM_PulverIdle_Carry_Back.anim.meta b/Assets/Art/Animations/Characters/Pulver/ANIM_PulverIdle_Carry_Back.anim.meta
new file mode 100644
index 00000000..8b6d8339
--- /dev/null
+++ b/Assets/Art/Animations/Characters/Pulver/ANIM_PulverIdle_Carry_Back.anim.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: a9b63bb734de55d45a6d30273d0f63ce
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 7400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Art/Animations/Characters/Pulver/ANIM_PulverIdle_Carry_Front.anim b/Assets/Art/Animations/Characters/Pulver/ANIM_PulverIdle_Carry_Front.anim
new file mode 100644
index 00000000..c0bec9cc
--- /dev/null
+++ b/Assets/Art/Animations/Characters/Pulver/ANIM_PulverIdle_Carry_Front.anim
@@ -0,0 +1,160 @@
+%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: ANIM_PulverIdle_Carry_Front
+ serializedVersion: 7
+ m_Legacy: 0
+ m_Compressed: 0
+ m_UseHighQualityCurve: 1
+ m_RotationCurves: []
+ m_CompressedRotationCurves: []
+ m_EulerCurves: []
+ m_PositionCurves: []
+ m_ScaleCurves:
+ - curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: {x: 0.6, y: 0.6, z: 1}
+ inSlope: {x: 0, y: 0, z: 0}
+ outSlope: {x: 0, y: 0, z: 0}
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ path:
+ m_FloatCurves: []
+ m_PPtrCurves:
+ - serializedVersion: 2
+ curve:
+ - time: 0
+ value: {fileID: -1487224492, guid: 74e915b2f64b73347b3b8f6db62ef1fb, type: 3}
+ attribute: m_Sprite
+ path:
+ classID: 212
+ script: {fileID: 0}
+ flags: 2
+ m_SampleRate: 30
+ m_WrapMode: 0
+ m_Bounds:
+ m_Center: {x: 0, y: 0, z: 0}
+ m_Extent: {x: 0, y: 0, z: 0}
+ m_ClipBindingConstant:
+ genericBindings:
+ - serializedVersion: 2
+ path: 0
+ attribute: 0
+ script: {fileID: 0}
+ typeID: 212
+ customType: 23
+ isPPtrCurve: 1
+ isIntCurve: 0
+ isSerializeReferenceCurve: 0
+ - serializedVersion: 2
+ path: 0
+ attribute: 3
+ script: {fileID: 0}
+ typeID: 4
+ customType: 0
+ isPPtrCurve: 0
+ isIntCurve: 0
+ isSerializeReferenceCurve: 0
+ pptrCurveMapping:
+ - {fileID: -1487224492, guid: 74e915b2f64b73347b3b8f6db62ef1fb, type: 3}
+ m_AnimationClipSettings:
+ serializedVersion: 2
+ m_AdditiveReferencePoseClip: {fileID: 0}
+ m_AdditiveReferencePoseTime: 0
+ m_StartTime: 0
+ m_StopTime: 0.033333335
+ 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:
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0.6
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.x
+ path:
+ classID: 4
+ script: {fileID: 0}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0.6
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.y
+ path:
+ classID: 4
+ script: {fileID: 0}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.z
+ path:
+ classID: 4
+ script: {fileID: 0}
+ flags: 0
+ m_EulerEditorCurves: []
+ m_HasGenericRootTransform: 0
+ m_HasMotionFloatCurves: 0
+ m_Events: []
diff --git a/Assets/Art/Animations/Characters/Pulver/ANIM_PulverIdle_Carry_Front.anim.meta b/Assets/Art/Animations/Characters/Pulver/ANIM_PulverIdle_Carry_Front.anim.meta
new file mode 100644
index 00000000..88308194
--- /dev/null
+++ b/Assets/Art/Animations/Characters/Pulver/ANIM_PulverIdle_Carry_Front.anim.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 409f0b362de9c03448284cac42f65571
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 7400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Art/Animations/Characters/Pulver/ANIM_PulverIdle_Carry_Left.anim b/Assets/Art/Animations/Characters/Pulver/ANIM_PulverIdle_Carry_Left.anim
new file mode 100644
index 00000000..62182a85
--- /dev/null
+++ b/Assets/Art/Animations/Characters/Pulver/ANIM_PulverIdle_Carry_Left.anim
@@ -0,0 +1,211 @@
+%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: ANIM_PulverIdle_Carry_Left
+ serializedVersion: 7
+ m_Legacy: 0
+ m_Compressed: 0
+ m_UseHighQualityCurve: 1
+ m_RotationCurves: []
+ m_CompressedRotationCurves: []
+ m_EulerCurves: []
+ m_PositionCurves: []
+ m_ScaleCurves:
+ - curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: {x: 0.6, y: 0.6, z: 1}
+ inSlope: {x: 0, y: 0, z: 0}
+ outSlope: {x: 0, y: 0, z: 0}
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ path:
+ m_FloatCurves:
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: Infinity
+ outSlope: Infinity
+ tangentMode: 103
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_FlipX
+ path:
+ classID: 212
+ script: {fileID: 0}
+ flags: 0
+ m_PPtrCurves:
+ - serializedVersion: 2
+ curve:
+ - time: 0
+ value: {fileID: -1709434146, guid: 74e915b2f64b73347b3b8f6db62ef1fb, type: 3}
+ attribute: m_Sprite
+ path:
+ classID: 212
+ script: {fileID: 0}
+ flags: 2
+ m_SampleRate: 30
+ m_WrapMode: 0
+ m_Bounds:
+ m_Center: {x: 0, y: 0, z: 0}
+ m_Extent: {x: 0, y: 0, z: 0}
+ m_ClipBindingConstant:
+ genericBindings:
+ - serializedVersion: 2
+ path: 0
+ attribute: 555744692
+ script: {fileID: 0}
+ typeID: 212
+ customType: 0
+ isPPtrCurve: 0
+ isIntCurve: 0
+ isSerializeReferenceCurve: 0
+ - serializedVersion: 2
+ path: 0
+ attribute: 0
+ script: {fileID: 0}
+ typeID: 212
+ customType: 23
+ isPPtrCurve: 1
+ isIntCurve: 0
+ isSerializeReferenceCurve: 0
+ - serializedVersion: 2
+ path: 0
+ attribute: 3
+ script: {fileID: 0}
+ typeID: 4
+ customType: 0
+ isPPtrCurve: 0
+ isIntCurve: 0
+ isSerializeReferenceCurve: 0
+ pptrCurveMapping:
+ - {fileID: -1709434146, guid: 74e915b2f64b73347b3b8f6db62ef1fb, type: 3}
+ m_AnimationClipSettings:
+ serializedVersion: 2
+ m_AdditiveReferencePoseClip: {fileID: 0}
+ m_AdditiveReferencePoseTime: 0
+ m_StartTime: 0
+ m_StopTime: 0.033333335
+ 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:
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0.6
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.x
+ path:
+ classID: 4
+ script: {fileID: 0}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0.6
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.y
+ path:
+ classID: 4
+ script: {fileID: 0}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.z
+ path:
+ classID: 4
+ script: {fileID: 0}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: Infinity
+ outSlope: Infinity
+ tangentMode: 103
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_FlipX
+ path:
+ classID: 212
+ script: {fileID: 0}
+ flags: 0
+ m_EulerEditorCurves: []
+ m_HasGenericRootTransform: 0
+ m_HasMotionFloatCurves: 0
+ m_Events: []
diff --git a/Assets/Art/Animations/Characters/Pulver/ANIM_PulverIdle_Carry_Left.anim.meta b/Assets/Art/Animations/Characters/Pulver/ANIM_PulverIdle_Carry_Left.anim.meta
new file mode 100644
index 00000000..04edc55d
--- /dev/null
+++ b/Assets/Art/Animations/Characters/Pulver/ANIM_PulverIdle_Carry_Left.anim.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: c5c77cdcbb2b2ab4e97ede7eac8ef62f
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 7400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Art/Animations/Characters/Pulver/ANIM_PulverIdle_Carry_Right.anim b/Assets/Art/Animations/Characters/Pulver/ANIM_PulverIdle_Carry_Right.anim
new file mode 100644
index 00000000..4167b9f0
--- /dev/null
+++ b/Assets/Art/Animations/Characters/Pulver/ANIM_PulverIdle_Carry_Right.anim
@@ -0,0 +1,160 @@
+%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: ANIM_PulverIdle_Carry_Right
+ serializedVersion: 7
+ m_Legacy: 0
+ m_Compressed: 0
+ m_UseHighQualityCurve: 1
+ m_RotationCurves: []
+ m_CompressedRotationCurves: []
+ m_EulerCurves: []
+ m_PositionCurves: []
+ m_ScaleCurves:
+ - curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: {x: 0.6, y: 0.6, z: 1}
+ inSlope: {x: 0, y: 0, z: 0}
+ outSlope: {x: 0, y: 0, z: 0}
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ path:
+ m_FloatCurves: []
+ m_PPtrCurves:
+ - serializedVersion: 2
+ curve:
+ - time: 0
+ value: {fileID: -1709434146, guid: 74e915b2f64b73347b3b8f6db62ef1fb, type: 3}
+ attribute: m_Sprite
+ path:
+ classID: 212
+ script: {fileID: 0}
+ flags: 2
+ m_SampleRate: 30
+ m_WrapMode: 0
+ m_Bounds:
+ m_Center: {x: 0, y: 0, z: 0}
+ m_Extent: {x: 0, y: 0, z: 0}
+ m_ClipBindingConstant:
+ genericBindings:
+ - serializedVersion: 2
+ path: 0
+ attribute: 0
+ script: {fileID: 0}
+ typeID: 212
+ customType: 23
+ isPPtrCurve: 1
+ isIntCurve: 0
+ isSerializeReferenceCurve: 0
+ - serializedVersion: 2
+ path: 0
+ attribute: 3
+ script: {fileID: 0}
+ typeID: 4
+ customType: 0
+ isPPtrCurve: 0
+ isIntCurve: 0
+ isSerializeReferenceCurve: 0
+ pptrCurveMapping:
+ - {fileID: -1709434146, guid: 74e915b2f64b73347b3b8f6db62ef1fb, type: 3}
+ m_AnimationClipSettings:
+ serializedVersion: 2
+ m_AdditiveReferencePoseClip: {fileID: 0}
+ m_AdditiveReferencePoseTime: 0
+ m_StartTime: 0
+ m_StopTime: 0.033333335
+ 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:
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0.6
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.x
+ path:
+ classID: 4
+ script: {fileID: 0}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0.6
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.y
+ path:
+ classID: 4
+ script: {fileID: 0}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.z
+ path:
+ classID: 4
+ script: {fileID: 0}
+ flags: 0
+ m_EulerEditorCurves: []
+ m_HasGenericRootTransform: 0
+ m_HasMotionFloatCurves: 0
+ m_Events: []
diff --git a/Assets/Art/Animations/Characters/Pulver/ANIM_PulverIdle_Carry_Right.anim.meta b/Assets/Art/Animations/Characters/Pulver/ANIM_PulverIdle_Carry_Right.anim.meta
new file mode 100644
index 00000000..ca349d0c
--- /dev/null
+++ b/Assets/Art/Animations/Characters/Pulver/ANIM_PulverIdle_Carry_Right.anim.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 7b07ec13d35677b4ca7ae8e51089da22
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 7400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Art/Animations/Characters/Pulver/ANIM_PulverIdle_Front.anim b/Assets/Art/Animations/Characters/Pulver/ANIM_PulverIdle_Front.anim
index 56af543a..9a69c123 100644
--- a/Assets/Art/Animations/Characters/Pulver/ANIM_PulverIdle_Front.anim
+++ b/Assets/Art/Animations/Characters/Pulver/ANIM_PulverIdle_Front.anim
@@ -27,7 +27,7 @@ AnimationClip:
classID: 212
script: {fileID: 0}
flags: 2
- m_SampleRate: 60
+ m_SampleRate: 30
m_WrapMode: 0
m_Bounds:
m_Center: {x: 0, y: 0, z: 0}
@@ -50,7 +50,7 @@ AnimationClip:
m_AdditiveReferencePoseClip: {fileID: 0}
m_AdditiveReferencePoseTime: 0
m_StartTime: 0
- m_StopTime: 0.016666668
+ m_StopTime: 0.033333335
m_OrientationOffsetY: 0
m_Level: 0
m_CycleOffset: 0
diff --git a/Assets/Art/Animations/Characters/Pulver/ANIM_PulverWalk_Carry_Back.anim b/Assets/Art/Animations/Characters/Pulver/ANIM_PulverWalk_Carry_Back.anim
new file mode 100644
index 00000000..1558ee21
--- /dev/null
+++ b/Assets/Art/Animations/Characters/Pulver/ANIM_PulverWalk_Carry_Back.anim
@@ -0,0 +1,196 @@
+%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: ANIM_PulverWalk_Carry_Back
+ serializedVersion: 7
+ m_Legacy: 0
+ m_Compressed: 0
+ m_UseHighQualityCurve: 1
+ m_RotationCurves: []
+ m_CompressedRotationCurves: []
+ m_EulerCurves: []
+ m_PositionCurves: []
+ m_ScaleCurves:
+ - curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: {x: 0.6, y: 0.6, z: 1}
+ inSlope: {x: 0, y: 0, z: 0}
+ outSlope: {x: 0, y: 0, z: 0}
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ path:
+ m_FloatCurves: []
+ m_PPtrCurves:
+ - serializedVersion: 2
+ curve:
+ - time: 0
+ value: {fileID: 595115188, guid: b3e45d15a3396be4ab00fa183c0df9c2, type: 3}
+ - time: 0.033333335
+ value: {fileID: 2044809076, guid: b3e45d15a3396be4ab00fa183c0df9c2, type: 3}
+ - time: 0.06666667
+ value: {fileID: 877723397, guid: b3e45d15a3396be4ab00fa183c0df9c2, type: 3}
+ - time: 0.1
+ value: {fileID: 517714394, guid: b3e45d15a3396be4ab00fa183c0df9c2, type: 3}
+ - time: 0.13333334
+ value: {fileID: 1081350935, guid: b3e45d15a3396be4ab00fa183c0df9c2, type: 3}
+ - time: 0.16666667
+ value: {fileID: 1876037982, guid: b3e45d15a3396be4ab00fa183c0df9c2, type: 3}
+ - time: 0.2
+ value: {fileID: 1201450426, guid: b3e45d15a3396be4ab00fa183c0df9c2, type: 3}
+ - time: 0.23333333
+ value: {fileID: 1423961938, guid: b3e45d15a3396be4ab00fa183c0df9c2, type: 3}
+ - time: 0.26666668
+ value: {fileID: -1721496882, guid: b3e45d15a3396be4ab00fa183c0df9c2, type: 3}
+ - time: 0.3
+ value: {fileID: -1483108044, guid: b3e45d15a3396be4ab00fa183c0df9c2, type: 3}
+ - time: 0.33333334
+ value: {fileID: -1573550850, guid: b3e45d15a3396be4ab00fa183c0df9c2, type: 3}
+ - time: 0.36666667
+ value: {fileID: -1351953240, guid: b3e45d15a3396be4ab00fa183c0df9c2, type: 3}
+ - time: 0.4
+ value: {fileID: 541046068, guid: b3e45d15a3396be4ab00fa183c0df9c2, type: 3}
+ attribute: m_Sprite
+ path:
+ classID: 212
+ script: {fileID: 0}
+ flags: 2
+ m_SampleRate: 30
+ m_WrapMode: 0
+ m_Bounds:
+ m_Center: {x: 0, y: 0, z: 0}
+ m_Extent: {x: 0, y: 0, z: 0}
+ m_ClipBindingConstant:
+ genericBindings:
+ - serializedVersion: 2
+ path: 0
+ attribute: 0
+ script: {fileID: 0}
+ typeID: 212
+ customType: 23
+ isPPtrCurve: 1
+ isIntCurve: 0
+ isSerializeReferenceCurve: 0
+ - serializedVersion: 2
+ path: 0
+ attribute: 3
+ script: {fileID: 0}
+ typeID: 4
+ customType: 0
+ isPPtrCurve: 0
+ isIntCurve: 0
+ isSerializeReferenceCurve: 0
+ pptrCurveMapping:
+ - {fileID: 595115188, guid: b3e45d15a3396be4ab00fa183c0df9c2, type: 3}
+ - {fileID: 2044809076, guid: b3e45d15a3396be4ab00fa183c0df9c2, type: 3}
+ - {fileID: 877723397, guid: b3e45d15a3396be4ab00fa183c0df9c2, type: 3}
+ - {fileID: 517714394, guid: b3e45d15a3396be4ab00fa183c0df9c2, type: 3}
+ - {fileID: 1081350935, guid: b3e45d15a3396be4ab00fa183c0df9c2, type: 3}
+ - {fileID: 1876037982, guid: b3e45d15a3396be4ab00fa183c0df9c2, type: 3}
+ - {fileID: 1201450426, guid: b3e45d15a3396be4ab00fa183c0df9c2, type: 3}
+ - {fileID: 1423961938, guid: b3e45d15a3396be4ab00fa183c0df9c2, type: 3}
+ - {fileID: -1721496882, guid: b3e45d15a3396be4ab00fa183c0df9c2, type: 3}
+ - {fileID: -1483108044, guid: b3e45d15a3396be4ab00fa183c0df9c2, type: 3}
+ - {fileID: -1573550850, guid: b3e45d15a3396be4ab00fa183c0df9c2, type: 3}
+ - {fileID: -1351953240, guid: b3e45d15a3396be4ab00fa183c0df9c2, type: 3}
+ - {fileID: 541046068, guid: b3e45d15a3396be4ab00fa183c0df9c2, type: 3}
+ m_AnimationClipSettings:
+ serializedVersion: 2
+ m_AdditiveReferencePoseClip: {fileID: 0}
+ m_AdditiveReferencePoseTime: 0
+ m_StartTime: 0
+ m_StopTime: 0.43333334
+ 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:
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0.6
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.x
+ path:
+ classID: 4
+ script: {fileID: 0}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0.6
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.y
+ path:
+ classID: 4
+ script: {fileID: 0}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.z
+ path:
+ classID: 4
+ script: {fileID: 0}
+ flags: 0
+ m_EulerEditorCurves: []
+ m_HasGenericRootTransform: 0
+ m_HasMotionFloatCurves: 0
+ m_Events: []
diff --git a/Assets/Art/Animations/Characters/Pulver/ANIM_PulverWalk_Carry_Back.anim.meta b/Assets/Art/Animations/Characters/Pulver/ANIM_PulverWalk_Carry_Back.anim.meta
new file mode 100644
index 00000000..944648a6
--- /dev/null
+++ b/Assets/Art/Animations/Characters/Pulver/ANIM_PulverWalk_Carry_Back.anim.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 3a83ec73f561fe943806ddbb70efb304
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 7400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Art/Animations/Characters/Pulver/ANIM_PulverWalk_Carry_Front.anim b/Assets/Art/Animations/Characters/Pulver/ANIM_PulverWalk_Carry_Front.anim
new file mode 100644
index 00000000..aa311111
--- /dev/null
+++ b/Assets/Art/Animations/Characters/Pulver/ANIM_PulverWalk_Carry_Front.anim
@@ -0,0 +1,190 @@
+%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: ANIM_PulverWalk_Carry_Front
+ serializedVersion: 7
+ m_Legacy: 0
+ m_Compressed: 0
+ m_UseHighQualityCurve: 1
+ m_RotationCurves: []
+ m_CompressedRotationCurves: []
+ m_EulerCurves: []
+ m_PositionCurves: []
+ m_ScaleCurves:
+ - curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: {x: 0.6, y: 0.6, z: 1}
+ inSlope: {x: 0, y: 0, z: 0}
+ outSlope: {x: 0, y: 0, z: 0}
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ path:
+ m_FloatCurves: []
+ m_PPtrCurves:
+ - serializedVersion: 2
+ curve:
+ - time: 0
+ value: {fileID: 879706873, guid: fe9809d4b38142b418b99cc2b3e25713, type: 3}
+ - time: 0.033333335
+ value: {fileID: -1134115354, guid: fe9809d4b38142b418b99cc2b3e25713, type: 3}
+ - time: 0.06666667
+ value: {fileID: 43560129, guid: fe9809d4b38142b418b99cc2b3e25713, type: 3}
+ - time: 0.1
+ value: {fileID: 698007547, guid: fe9809d4b38142b418b99cc2b3e25713, type: 3}
+ - time: 0.13333334
+ value: {fileID: -224126356, guid: fe9809d4b38142b418b99cc2b3e25713, type: 3}
+ - time: 0.16666667
+ value: {fileID: 368133624, guid: fe9809d4b38142b418b99cc2b3e25713, type: 3}
+ - time: 0.2
+ value: {fileID: -1712971372, guid: fe9809d4b38142b418b99cc2b3e25713, type: 3}
+ - time: 0.23333333
+ value: {fileID: 1796111118, guid: fe9809d4b38142b418b99cc2b3e25713, type: 3}
+ - time: 0.26666668
+ value: {fileID: 432228993, guid: fe9809d4b38142b418b99cc2b3e25713, type: 3}
+ - time: 0.3
+ value: {fileID: -1204463046, guid: fe9809d4b38142b418b99cc2b3e25713, type: 3}
+ - time: 0.33333334
+ value: {fileID: 2007263815, guid: fe9809d4b38142b418b99cc2b3e25713, type: 3}
+ attribute: m_Sprite
+ path:
+ classID: 212
+ script: {fileID: 0}
+ flags: 2
+ m_SampleRate: 30
+ m_WrapMode: 0
+ m_Bounds:
+ m_Center: {x: 0, y: 0, z: 0}
+ m_Extent: {x: 0, y: 0, z: 0}
+ m_ClipBindingConstant:
+ genericBindings:
+ - serializedVersion: 2
+ path: 0
+ attribute: 0
+ script: {fileID: 0}
+ typeID: 212
+ customType: 23
+ isPPtrCurve: 1
+ isIntCurve: 0
+ isSerializeReferenceCurve: 0
+ - serializedVersion: 2
+ path: 0
+ attribute: 3
+ script: {fileID: 0}
+ typeID: 4
+ customType: 0
+ isPPtrCurve: 0
+ isIntCurve: 0
+ isSerializeReferenceCurve: 0
+ pptrCurveMapping:
+ - {fileID: 879706873, guid: fe9809d4b38142b418b99cc2b3e25713, type: 3}
+ - {fileID: -1134115354, guid: fe9809d4b38142b418b99cc2b3e25713, type: 3}
+ - {fileID: 43560129, guid: fe9809d4b38142b418b99cc2b3e25713, type: 3}
+ - {fileID: 698007547, guid: fe9809d4b38142b418b99cc2b3e25713, type: 3}
+ - {fileID: -224126356, guid: fe9809d4b38142b418b99cc2b3e25713, type: 3}
+ - {fileID: 368133624, guid: fe9809d4b38142b418b99cc2b3e25713, type: 3}
+ - {fileID: -1712971372, guid: fe9809d4b38142b418b99cc2b3e25713, type: 3}
+ - {fileID: 1796111118, guid: fe9809d4b38142b418b99cc2b3e25713, type: 3}
+ - {fileID: 432228993, guid: fe9809d4b38142b418b99cc2b3e25713, type: 3}
+ - {fileID: -1204463046, guid: fe9809d4b38142b418b99cc2b3e25713, type: 3}
+ - {fileID: 2007263815, guid: fe9809d4b38142b418b99cc2b3e25713, type: 3}
+ m_AnimationClipSettings:
+ serializedVersion: 2
+ m_AdditiveReferencePoseClip: {fileID: 0}
+ m_AdditiveReferencePoseTime: 0
+ m_StartTime: 0
+ m_StopTime: 0.36666667
+ 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:
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0.6
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.x
+ path:
+ classID: 4
+ script: {fileID: 0}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0.6
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.y
+ path:
+ classID: 4
+ script: {fileID: 0}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.z
+ path:
+ classID: 4
+ script: {fileID: 0}
+ flags: 0
+ m_EulerEditorCurves: []
+ m_HasGenericRootTransform: 0
+ m_HasMotionFloatCurves: 0
+ m_Events: []
diff --git a/Assets/Art/Animations/Characters/Pulver/ANIM_PulverWalk_Carry_Front.anim.meta b/Assets/Art/Animations/Characters/Pulver/ANIM_PulverWalk_Carry_Front.anim.meta
new file mode 100644
index 00000000..38ff5783
--- /dev/null
+++ b/Assets/Art/Animations/Characters/Pulver/ANIM_PulverWalk_Carry_Front.anim.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 059417f2ad308ff49b348ac0248970df
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 7400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Art/Animations/Characters/Pulver/ANIM_PulverWalk_Carry_Left.anim b/Assets/Art/Animations/Characters/Pulver/ANIM_PulverWalk_Carry_Left.anim
new file mode 100644
index 00000000..d5ca2342
--- /dev/null
+++ b/Assets/Art/Animations/Characters/Pulver/ANIM_PulverWalk_Carry_Left.anim
@@ -0,0 +1,226 @@
+%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: ANIM_PulverWalk_Carry_Left
+ serializedVersion: 7
+ m_Legacy: 0
+ m_Compressed: 0
+ m_UseHighQualityCurve: 1
+ m_RotationCurves: []
+ m_CompressedRotationCurves: []
+ m_EulerCurves: []
+ m_PositionCurves: []
+ m_ScaleCurves:
+ - curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: {x: 0.6, y: 0.6, z: 1}
+ inSlope: {x: 0, y: 0, z: 0}
+ outSlope: {x: 0, y: 0, z: 0}
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ path:
+ m_FloatCurves:
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: Infinity
+ outSlope: Infinity
+ tangentMode: 103
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_FlipX
+ path:
+ classID: 212
+ script: {fileID: 0}
+ flags: 0
+ m_PPtrCurves:
+ - serializedVersion: 2
+ curve:
+ - time: 0
+ value: {fileID: -1369114062, guid: fe9809d4b38142b418b99cc2b3e25713, type: 3}
+ - time: 0.033333335
+ value: {fileID: -617945905, guid: fe9809d4b38142b418b99cc2b3e25713, type: 3}
+ - time: 0.06666667
+ value: {fileID: -818655663, guid: fe9809d4b38142b418b99cc2b3e25713, type: 3}
+ - time: 0.1
+ value: {fileID: -1030038082, guid: fe9809d4b38142b418b99cc2b3e25713, type: 3}
+ - time: 0.13333334
+ value: {fileID: 352769472, guid: fe9809d4b38142b418b99cc2b3e25713, type: 3}
+ - time: 0.16666667
+ value: {fileID: -1805373445, guid: fe9809d4b38142b418b99cc2b3e25713, type: 3}
+ attribute: m_Sprite
+ path:
+ classID: 212
+ script: {fileID: 0}
+ flags: 2
+ m_SampleRate: 30
+ m_WrapMode: 0
+ m_Bounds:
+ m_Center: {x: 0, y: 0, z: 0}
+ m_Extent: {x: 0, y: 0, z: 0}
+ m_ClipBindingConstant:
+ genericBindings:
+ - serializedVersion: 2
+ path: 0
+ attribute: 555744692
+ script: {fileID: 0}
+ typeID: 212
+ customType: 0
+ isPPtrCurve: 0
+ isIntCurve: 0
+ isSerializeReferenceCurve: 0
+ - serializedVersion: 2
+ path: 0
+ attribute: 0
+ script: {fileID: 0}
+ typeID: 212
+ customType: 23
+ isPPtrCurve: 1
+ isIntCurve: 0
+ isSerializeReferenceCurve: 0
+ - serializedVersion: 2
+ path: 0
+ attribute: 3
+ script: {fileID: 0}
+ typeID: 4
+ customType: 0
+ isPPtrCurve: 0
+ isIntCurve: 0
+ isSerializeReferenceCurve: 0
+ pptrCurveMapping:
+ - {fileID: -1369114062, guid: fe9809d4b38142b418b99cc2b3e25713, type: 3}
+ - {fileID: -617945905, guid: fe9809d4b38142b418b99cc2b3e25713, type: 3}
+ - {fileID: -818655663, guid: fe9809d4b38142b418b99cc2b3e25713, type: 3}
+ - {fileID: -1030038082, guid: fe9809d4b38142b418b99cc2b3e25713, type: 3}
+ - {fileID: 352769472, guid: fe9809d4b38142b418b99cc2b3e25713, type: 3}
+ - {fileID: -1805373445, guid: fe9809d4b38142b418b99cc2b3e25713, type: 3}
+ m_AnimationClipSettings:
+ serializedVersion: 2
+ m_AdditiveReferencePoseClip: {fileID: 0}
+ m_AdditiveReferencePoseTime: 0
+ m_StartTime: 0
+ m_StopTime: 0.2
+ 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:
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0.6
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.x
+ path:
+ classID: 4
+ script: {fileID: 0}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0.6
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.y
+ path:
+ classID: 4
+ script: {fileID: 0}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.z
+ path:
+ classID: 4
+ script: {fileID: 0}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: Infinity
+ outSlope: Infinity
+ tangentMode: 103
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_FlipX
+ path:
+ classID: 212
+ script: {fileID: 0}
+ flags: 0
+ m_EulerEditorCurves: []
+ m_HasGenericRootTransform: 0
+ m_HasMotionFloatCurves: 0
+ m_Events: []
diff --git a/Assets/Art/Animations/Characters/Pulver/ANIM_PulverWalk_Carry_Left.anim.meta b/Assets/Art/Animations/Characters/Pulver/ANIM_PulverWalk_Carry_Left.anim.meta
new file mode 100644
index 00000000..45f72cfd
--- /dev/null
+++ b/Assets/Art/Animations/Characters/Pulver/ANIM_PulverWalk_Carry_Left.anim.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: f2cc8e375d83fed4e888683e3fa71710
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 7400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Art/Animations/Characters/Pulver/ANIM_PulverWalk_Carry_Right.anim b/Assets/Art/Animations/Characters/Pulver/ANIM_PulverWalk_Carry_Right.anim
new file mode 100644
index 00000000..72f984c5
--- /dev/null
+++ b/Assets/Art/Animations/Characters/Pulver/ANIM_PulverWalk_Carry_Right.anim
@@ -0,0 +1,175 @@
+%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: ANIM_PulverWalk_Carry_Right
+ serializedVersion: 7
+ m_Legacy: 0
+ m_Compressed: 0
+ m_UseHighQualityCurve: 1
+ m_RotationCurves: []
+ m_CompressedRotationCurves: []
+ m_EulerCurves: []
+ m_PositionCurves: []
+ m_ScaleCurves:
+ - curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: {x: 0.6, y: 0.6, z: 1}
+ inSlope: {x: 0, y: 0, z: 0}
+ outSlope: {x: 0, y: 0, z: 0}
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ path:
+ m_FloatCurves: []
+ m_PPtrCurves:
+ - serializedVersion: 2
+ curve:
+ - time: 0
+ value: {fileID: -1369114062, guid: fe9809d4b38142b418b99cc2b3e25713, type: 3}
+ - time: 0.033333335
+ value: {fileID: -617945905, guid: fe9809d4b38142b418b99cc2b3e25713, type: 3}
+ - time: 0.06666667
+ value: {fileID: -818655663, guid: fe9809d4b38142b418b99cc2b3e25713, type: 3}
+ - time: 0.1
+ value: {fileID: -1030038082, guid: fe9809d4b38142b418b99cc2b3e25713, type: 3}
+ - time: 0.13333334
+ value: {fileID: 352769472, guid: fe9809d4b38142b418b99cc2b3e25713, type: 3}
+ - time: 0.16666667
+ value: {fileID: -1805373445, guid: fe9809d4b38142b418b99cc2b3e25713, type: 3}
+ attribute: m_Sprite
+ path:
+ classID: 212
+ script: {fileID: 0}
+ flags: 2
+ m_SampleRate: 30
+ m_WrapMode: 0
+ m_Bounds:
+ m_Center: {x: 0, y: 0, z: 0}
+ m_Extent: {x: 0, y: 0, z: 0}
+ m_ClipBindingConstant:
+ genericBindings:
+ - serializedVersion: 2
+ path: 0
+ attribute: 0
+ script: {fileID: 0}
+ typeID: 212
+ customType: 23
+ isPPtrCurve: 1
+ isIntCurve: 0
+ isSerializeReferenceCurve: 0
+ - serializedVersion: 2
+ path: 0
+ attribute: 3
+ script: {fileID: 0}
+ typeID: 4
+ customType: 0
+ isPPtrCurve: 0
+ isIntCurve: 0
+ isSerializeReferenceCurve: 0
+ pptrCurveMapping:
+ - {fileID: -1369114062, guid: fe9809d4b38142b418b99cc2b3e25713, type: 3}
+ - {fileID: -617945905, guid: fe9809d4b38142b418b99cc2b3e25713, type: 3}
+ - {fileID: -818655663, guid: fe9809d4b38142b418b99cc2b3e25713, type: 3}
+ - {fileID: -1030038082, guid: fe9809d4b38142b418b99cc2b3e25713, type: 3}
+ - {fileID: 352769472, guid: fe9809d4b38142b418b99cc2b3e25713, type: 3}
+ - {fileID: -1805373445, guid: fe9809d4b38142b418b99cc2b3e25713, type: 3}
+ m_AnimationClipSettings:
+ serializedVersion: 2
+ m_AdditiveReferencePoseClip: {fileID: 0}
+ m_AdditiveReferencePoseTime: 0
+ m_StartTime: 0
+ m_StopTime: 0.2
+ 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:
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0.6
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.x
+ path:
+ classID: 4
+ script: {fileID: 0}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0.6
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.y
+ path:
+ classID: 4
+ script: {fileID: 0}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.z
+ path:
+ classID: 4
+ script: {fileID: 0}
+ flags: 0
+ m_EulerEditorCurves: []
+ m_HasGenericRootTransform: 0
+ m_HasMotionFloatCurves: 0
+ m_Events: []
diff --git a/Assets/Art/Animations/Characters/Pulver/ANIM_PulverWalk_Carry_Right.anim.meta b/Assets/Art/Animations/Characters/Pulver/ANIM_PulverWalk_Carry_Right.anim.meta
new file mode 100644
index 00000000..ef195533
--- /dev/null
+++ b/Assets/Art/Animations/Characters/Pulver/ANIM_PulverWalk_Carry_Right.anim.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: b801b184a795c9c41819ca53d8bfd906
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 7400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Art/Animations/Characters/Pulver/PulverCharacter.controller b/Assets/Art/Animations/Characters/Pulver/PulverCharacter.controller
index e715c57c..41add40f 100644
--- a/Assets/Art/Animations/Characters/Pulver/PulverCharacter.controller
+++ b/Assets/Art/Animations/Characters/Pulver/PulverCharacter.controller
@@ -12,6 +12,7 @@ AnimatorState:
m_CycleOffset: 0
m_Transitions:
- {fileID: 7072950364927956952}
+ - {fileID: 2042752187187904177}
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
@@ -27,6 +28,63 @@ AnimatorState:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
+--- !u!1102 &-8236784231784223406
+AnimatorState:
+ serializedVersion: 6
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Idle_CarryBlendTree
+ m_Speed: 1
+ m_CycleOffset: 0
+ m_Transitions:
+ - {fileID: 6488712265377033592}
+ - {fileID: -6831218080075643105}
+ - {fileID: -1978909245681655681}
+ 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: -613263593990911270}
+ m_Tag:
+ m_SpeedParameter:
+ m_MirrorParameter:
+ m_CycleOffsetParameter:
+ m_TimeParameter:
+--- !u!1101 &-8127858390110335843
+AnimatorStateTransition:
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name:
+ m_Conditions:
+ - m_ConditionMode: 1
+ m_ConditionEvent: IsCarrying
+ m_EventTreshold: 0
+ - m_ConditionMode: 3
+ m_ConditionEvent: Speed
+ m_EventTreshold: 0
+ m_DstStateMachine: {fileID: 0}
+ m_DstState: {fileID: 2622372861974612142}
+ m_Solo: 0
+ m_Mute: 0
+ m_IsExit: 0
+ serializedVersion: 3
+ m_TransitionDuration: 0
+ m_TransitionOffset: 0.8108103
+ m_ExitTime: 1
+ m_HasExitTime: 0
+ m_HasFixedDuration: 1
+ m_InterruptionSource: 0
+ m_OrderedInterruption: 1
+ m_CanTransitionToSelf: 1
--- !u!1102 &-7247241238006876916
AnimatorState:
serializedVersion: 6
@@ -53,6 +111,62 @@ AnimatorState:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
+--- !u!1101 &-6831218080075643105
+AnimatorStateTransition:
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name:
+ m_Conditions:
+ - m_ConditionMode: 2
+ m_ConditionEvent: IsCarrying
+ m_EventTreshold: 0
+ - m_ConditionMode: 4
+ m_ConditionEvent: Speed
+ m_EventTreshold: 0.01
+ m_DstStateMachine: {fileID: 0}
+ m_DstState: {fileID: -6538542043237772027}
+ m_Solo: 0
+ m_Mute: 0
+ m_IsExit: 0
+ serializedVersion: 3
+ m_TransitionDuration: 0
+ m_TransitionOffset: 0
+ m_ExitTime: 0.000000017457896
+ m_HasExitTime: 0
+ m_HasFixedDuration: 1
+ m_InterruptionSource: 0
+ m_OrderedInterruption: 1
+ m_CanTransitionToSelf: 1
+--- !u!1101 &-6586474288352708716
+AnimatorStateTransition:
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name:
+ m_Conditions:
+ - m_ConditionMode: 3
+ m_ConditionEvent: Speed
+ m_EventTreshold: 0
+ - m_ConditionMode: 2
+ m_ConditionEvent: IsCarrying
+ m_EventTreshold: 0
+ m_DstStateMachine: {fileID: 0}
+ m_DstState: {fileID: -8457947249421688616}
+ m_Solo: 0
+ m_Mute: 0
+ m_IsExit: 0
+ serializedVersion: 3
+ m_TransitionDuration: 0
+ m_TransitionOffset: 0.9211537
+ m_ExitTime: 0.9609666
+ m_HasExitTime: 0
+ m_HasFixedDuration: 1
+ m_InterruptionSource: 0
+ m_OrderedInterruption: 1
+ m_CanTransitionToSelf: 1
--- !u!1102 &-6538542043237772027
AnimatorState:
serializedVersion: 6
@@ -65,6 +179,8 @@ AnimatorState:
m_CycleOffset: 0
m_Transitions:
- {fileID: 5493228531130196948}
+ - {fileID: 6382428398057845112}
+ - {fileID: -8127858390110335843}
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
@@ -106,6 +222,161 @@ AnimatorState:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
+--- !u!1101 &-5591788849566758409
+AnimatorStateTransition:
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name:
+ m_Conditions:
+ - m_ConditionMode: 4
+ m_ConditionEvent: Speed
+ m_EventTreshold: 0.01
+ - m_ConditionMode: 1
+ m_ConditionEvent: IsCarrying
+ m_EventTreshold: 0
+ m_DstStateMachine: {fileID: 0}
+ m_DstState: {fileID: -8236784231784223406}
+ m_Solo: 0
+ m_Mute: 0
+ m_IsExit: 0
+ serializedVersion: 3
+ m_TransitionDuration: 0
+ m_TransitionOffset: 0
+ m_ExitTime: 0.01867674
+ m_HasExitTime: 0
+ m_HasFixedDuration: 1
+ m_InterruptionSource: 0
+ m_OrderedInterruption: 1
+ m_CanTransitionToSelf: 1
+--- !u!1102 &-4290761301517510254
+AnimatorState:
+ serializedVersion: 6
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: ANIM_PulverIdle_Carry_Left
+ 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: c5c77cdcbb2b2ab4e97ede7eac8ef62f, type: 2}
+ m_Tag:
+ m_SpeedParameter:
+ m_MirrorParameter:
+ m_CycleOffsetParameter:
+ m_TimeParameter:
+--- !u!1101 &-3896677794248683722
+AnimatorStateTransition:
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name:
+ m_Conditions:
+ - m_ConditionMode: 3
+ m_ConditionEvent: Speed
+ m_EventTreshold: 0
+ m_DstStateMachine: {fileID: 0}
+ m_DstState: {fileID: 2622372861974612142}
+ m_Solo: 0
+ m_Mute: 0
+ m_IsExit: 0
+ serializedVersion: 3
+ m_TransitionDuration: 0
+ m_TransitionOffset: 0.8333348
+ m_ExitTime: 1.0000001
+ m_HasExitTime: 1
+ m_HasFixedDuration: 1
+ m_InterruptionSource: 0
+ m_OrderedInterruption: 1
+ m_CanTransitionToSelf: 1
+--- !u!1102 &-3587196186956943417
+AnimatorState:
+ serializedVersion: 6
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: ANIM_PulverIdle_Carry_Right
+ 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: 7b07ec13d35677b4ca7ae8e51089da22, type: 2}
+ m_Tag:
+ m_SpeedParameter:
+ m_MirrorParameter:
+ m_CycleOffsetParameter:
+ m_TimeParameter:
+--- !u!1101 &-3094487439667569827
+AnimatorStateTransition:
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name:
+ m_Conditions:
+ - m_ConditionMode: 1
+ m_ConditionEvent: Combine
+ m_EventTreshold: 0
+ m_DstStateMachine: {fileID: 0}
+ m_DstState: {fileID: 5090778142067604499}
+ m_Solo: 0
+ m_Mute: 0
+ m_IsExit: 0
+ serializedVersion: 3
+ m_TransitionDuration: 0
+ m_TransitionOffset: 0.10416673
+ m_ExitTime: 1.0000002
+ m_HasExitTime: 0
+ m_HasFixedDuration: 1
+ m_InterruptionSource: 0
+ m_OrderedInterruption: 1
+ m_CanTransitionToSelf: 1
+--- !u!1101 &-2673443173799312521
+AnimatorStateTransition:
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name:
+ m_Conditions:
+ - m_ConditionMode: 4
+ m_ConditionEvent: Speed
+ m_EventTreshold: 0.01
+ m_DstStateMachine: {fileID: 0}
+ m_DstState: {fileID: -8236784231784223406}
+ m_Solo: 0
+ m_Mute: 0
+ m_IsExit: 0
+ serializedVersion: 3
+ m_TransitionDuration: 0
+ m_TransitionOffset: 8.571349
+ m_ExitTime: 1
+ m_HasExitTime: 1
+ m_HasFixedDuration: 1
+ m_InterruptionSource: 0
+ m_OrderedInterruption: 1
+ m_CanTransitionToSelf: 1
--- !u!1102 &-2498421205022408257
AnimatorState:
serializedVersion: 6
@@ -158,6 +429,104 @@ AnimatorState:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
+--- !u!1101 &-1978909245681655681
+AnimatorStateTransition:
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name:
+ m_Conditions:
+ - m_ConditionMode: 1
+ m_ConditionEvent: Combine
+ m_EventTreshold: 0
+ m_DstStateMachine: {fileID: 0}
+ m_DstState: {fileID: 5090778142067604499}
+ m_Solo: 0
+ m_Mute: 0
+ m_IsExit: 0
+ serializedVersion: 3
+ m_TransitionDuration: 0.0008273423
+ m_TransitionOffset: 0.103821985
+ m_ExitTime: 8.543061
+ m_HasExitTime: 0
+ m_HasFixedDuration: 1
+ m_InterruptionSource: 0
+ m_OrderedInterruption: 1
+ m_CanTransitionToSelf: 1
+--- !u!1102 &-1470202593299212195
+AnimatorState:
+ serializedVersion: 6
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: ANIM_PulverIdle_Carry_Front
+ 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: 409f0b362de9c03448284cac42f65571, type: 2}
+ m_Tag:
+ m_SpeedParameter:
+ m_MirrorParameter:
+ m_CycleOffsetParameter:
+ m_TimeParameter:
+--- !u!206 &-613263593990911270
+BlendTree:
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Blend Tree
+ m_Childs:
+ - serializedVersion: 2
+ m_Motion: {fileID: 7400000, guid: 7b07ec13d35677b4ca7ae8e51089da22, type: 2}
+ m_Threshold: 0
+ m_Position: {x: 1, y: 0}
+ m_TimeScale: 1
+ m_CycleOffset: 0
+ m_DirectBlendParameter: Speed
+ m_Mirror: 0
+ - serializedVersion: 2
+ m_Motion: {fileID: 7400000, guid: c5c77cdcbb2b2ab4e97ede7eac8ef62f, type: 2}
+ m_Threshold: 0.33333334
+ m_Position: {x: -1, y: 0}
+ m_TimeScale: 1
+ m_CycleOffset: 0
+ m_DirectBlendParameter: Speed
+ m_Mirror: 0
+ - serializedVersion: 2
+ m_Motion: {fileID: 7400000, guid: a9b63bb734de55d45a6d30273d0f63ce, type: 2}
+ m_Threshold: 0.6666667
+ m_Position: {x: 0, y: 1}
+ m_TimeScale: 1
+ m_CycleOffset: 0
+ m_DirectBlendParameter: Speed
+ m_Mirror: 0
+ - serializedVersion: 2
+ m_Motion: {fileID: 7400000, guid: 409f0b362de9c03448284cac42f65571, type: 2}
+ m_Threshold: 1
+ m_Position: {x: 0, y: -1}
+ m_TimeScale: 1
+ m_CycleOffset: 0
+ m_DirectBlendParameter: Speed
+ m_Mirror: 0
+ m_BlendParameter: DirX
+ m_BlendParameterY: DirY
+ m_MinThreshold: 0
+ m_MaxThreshold: 1
+ m_UseAutomaticThresholds: 1
+ m_NormalizedBlendValues: 0
+ m_BlendType: 1
--- !u!1107 &-218061781962429471
AnimatorStateMachine:
serializedVersion: 6
@@ -169,37 +538,70 @@ AnimatorStateMachine:
m_ChildStates:
- serializedVersion: 1
m_State: {fileID: 6371375805443383927}
- m_Position: {x: 420, y: 250, z: 0}
+ m_Position: {x: 1180, y: 250, z: 0}
- serializedVersion: 1
m_State: {fileID: -2498421205022408257}
- m_Position: {x: 640, y: 250, z: 0}
+ m_Position: {x: 1400, y: 250, z: 0}
- serializedVersion: 1
m_State: {fileID: 3364220882969471902}
- m_Position: {x: 420, y: 200, z: 0}
+ m_Position: {x: 1180, y: 200, z: 0}
- serializedVersion: 1
m_State: {fileID: 5882640659329534007}
- m_Position: {x: 640, y: 200, z: 0}
+ m_Position: {x: 1400, y: 200, z: 0}
- serializedVersion: 1
m_State: {fileID: -2247811965598142207}
- m_Position: {x: 540, y: 490, z: 0}
+ m_Position: {x: 1300, y: 490, z: 0}
- serializedVersion: 1
m_State: {fileID: -7247241238006876916}
- m_Position: {x: 420, y: 300, z: 0}
+ m_Position: {x: 1180, y: 300, z: 0}
- serializedVersion: 1
m_State: {fileID: -5816699158483196731}
- m_Position: {x: 640, y: 300, z: 0}
+ m_Position: {x: 1400, y: 300, z: 0}
- serializedVersion: 1
m_State: {fileID: 1056871264170597655}
- m_Position: {x: 420, y: 350, z: 0}
+ m_Position: {x: 1180, y: 350, z: 0}
- serializedVersion: 1
m_State: {fileID: 7133699243886744631}
- m_Position: {x: 640, y: 350, z: 0}
+ m_Position: {x: 1400, y: 350, z: 0}
- serializedVersion: 1
m_State: {fileID: -6538542043237772027}
- m_Position: {x: 30, y: 210, z: 0}
+ m_Position: {x: -20, y: 240, z: 0}
- serializedVersion: 1
m_State: {fileID: -8457947249421688616}
- m_Position: {x: 30, y: 310, z: 0}
+ m_Position: {x: -70, y: 420, z: 0}
+ - serializedVersion: 1
+ m_State: {fileID: -1470202593299212195}
+ m_Position: {x: 1590, y: 60, z: 0}
+ - serializedVersion: 1
+ m_State: {fileID: 630766853293648983}
+ m_Position: {x: 1630, y: 130, z: 0}
+ - serializedVersion: 1
+ m_State: {fileID: -3587196186956943417}
+ m_Position: {x: 1660, y: 190, z: 0}
+ - serializedVersion: 1
+ m_State: {fileID: -4290761301517510254}
+ m_Position: {x: 1700, y: 260, z: 0}
+ - serializedVersion: 1
+ m_State: {fileID: 1795994324941832676}
+ m_Position: {x: 1730, y: 320, z: 0}
+ - serializedVersion: 1
+ m_State: {fileID: 7077828775143855889}
+ m_Position: {x: 1770, y: 390, z: 0}
+ - serializedVersion: 1
+ m_State: {fileID: 5645463516288434438}
+ m_Position: {x: 1800, y: 450, z: 0}
+ - serializedVersion: 1
+ m_State: {fileID: 4957523747016559267}
+ m_Position: {x: 1840, y: 520, z: 0}
+ - serializedVersion: 1
+ m_State: {fileID: -8236784231784223406}
+ m_Position: {x: 320, y: 240, z: 0}
+ - serializedVersion: 1
+ m_State: {fileID: 2622372861974612142}
+ m_Position: {x: 330, y: 450, z: 0}
+ - serializedVersion: 1
+ m_State: {fileID: 5090778142067604499}
+ m_Position: {x: 550, y: 350, z: 0}
m_ChildStateMachines: []
m_AnyStateTransitions: []
m_EntryTransitions: []
@@ -237,6 +639,18 @@ AnimatorController:
m_DefaultInt: 0
m_DefaultBool: 0
m_Controller: {fileID: 9100000}
+ - m_Name: IsCarrying
+ m_Type: 4
+ m_DefaultFloat: 0
+ m_DefaultInt: 0
+ m_DefaultBool: 0
+ m_Controller: {fileID: 9100000}
+ - m_Name: Combine
+ m_Type: 9
+ m_DefaultFloat: 0
+ m_DefaultInt: 0
+ m_DefaultBool: 0
+ m_Controller: {fileID: 9100000}
m_AnimatorLayers:
- serializedVersion: 5
m_Name: Base Layer
@@ -297,6 +711,60 @@ BlendTree:
m_UseAutomaticThresholds: 1
m_NormalizedBlendValues: 0
m_BlendType: 1
+--- !u!1101 &344782664058374094
+AnimatorStateTransition:
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name:
+ m_Conditions:
+ - m_ConditionMode: 2
+ m_ConditionEvent: IsCarrying
+ m_EventTreshold: 0
+ - m_ConditionMode: 4
+ m_ConditionEvent: Speed
+ m_EventTreshold: 0.01
+ m_DstStateMachine: {fileID: 0}
+ m_DstState: {fileID: -6538542043237772027}
+ m_Solo: 0
+ m_Mute: 0
+ m_IsExit: 0
+ serializedVersion: 3
+ m_TransitionDuration: 0
+ m_TransitionOffset: 0.4799998
+ m_ExitTime: 1
+ m_HasExitTime: 0
+ m_HasFixedDuration: 1
+ m_InterruptionSource: 0
+ m_OrderedInterruption: 1
+ m_CanTransitionToSelf: 1
+--- !u!1102 &630766853293648983
+AnimatorState:
+ serializedVersion: 6
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: ANIM_PulverIdle_Carry_Back
+ 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: a9b63bb734de55d45a6d30273d0f63ce, type: 2}
+ m_Tag:
+ m_SpeedParameter:
+ m_MirrorParameter:
+ m_CycleOffsetParameter:
+ m_TimeParameter:
--- !u!1102 &1056871264170597655
AnimatorState:
serializedVersion: 6
@@ -323,6 +791,90 @@ AnimatorState:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
+--- !u!1102 &1795994324941832676
+AnimatorState:
+ serializedVersion: 6
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: ANIM_PulverWalk_Carry_Front
+ 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: 059417f2ad308ff49b348ac0248970df, type: 2}
+ m_Tag:
+ m_SpeedParameter:
+ m_MirrorParameter:
+ m_CycleOffsetParameter:
+ m_TimeParameter:
+--- !u!1101 &2042752187187904177
+AnimatorStateTransition:
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name:
+ m_Conditions:
+ - m_ConditionMode: 3
+ m_ConditionEvent: Speed
+ m_EventTreshold: 0.01
+ - m_ConditionMode: 1
+ m_ConditionEvent: IsCarrying
+ m_EventTreshold: 0
+ m_DstStateMachine: {fileID: 0}
+ m_DstState: {fileID: 2622372861974612142}
+ m_Solo: 0
+ m_Mute: 0
+ m_IsExit: 0
+ serializedVersion: 3
+ m_TransitionDuration: 0
+ m_TransitionOffset: 0
+ m_ExitTime: 0.032258153
+ m_HasExitTime: 0
+ m_HasFixedDuration: 1
+ m_InterruptionSource: 0
+ m_OrderedInterruption: 1
+ m_CanTransitionToSelf: 1
+--- !u!1102 &2622372861974612142
+AnimatorState:
+ serializedVersion: 6
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Walk_CarryBlendTree
+ m_Speed: 1
+ m_CycleOffset: 0
+ m_Transitions:
+ - {fileID: -5591788849566758409}
+ - {fileID: -6586474288352708716}
+ - {fileID: 344782664058374094}
+ - {fileID: -3094487439667569827}
+ 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: 3514313799958557565}
+ m_Tag:
+ m_SpeedParameter:
+ m_MirrorParameter:
+ m_CycleOffsetParameter:
+ m_TimeParameter:
--- !u!1102 &3364220882969471902
AnimatorState:
serializedVersion: 6
@@ -349,6 +901,107 @@ AnimatorState:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
+--- !u!206 &3514313799958557565
+BlendTree:
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Blend Tree
+ m_Childs:
+ - serializedVersion: 2
+ m_Motion: {fileID: 7400000, guid: b801b184a795c9c41819ca53d8bfd906, type: 2}
+ m_Threshold: 0
+ m_Position: {x: 1, y: 0}
+ m_TimeScale: 1
+ m_CycleOffset: 0
+ m_DirectBlendParameter: Speed
+ m_Mirror: 0
+ - serializedVersion: 2
+ m_Motion: {fileID: 7400000, guid: f2cc8e375d83fed4e888683e3fa71710, type: 2}
+ m_Threshold: 0.33333334
+ m_Position: {x: -1, y: 0}
+ m_TimeScale: 1
+ m_CycleOffset: 0
+ m_DirectBlendParameter: Speed
+ m_Mirror: 0
+ - serializedVersion: 2
+ m_Motion: {fileID: 7400000, guid: 3a83ec73f561fe943806ddbb70efb304, type: 2}
+ m_Threshold: 0.6666667
+ m_Position: {x: 0, y: 1}
+ m_TimeScale: 1
+ m_CycleOffset: 0
+ m_DirectBlendParameter: Speed
+ m_Mirror: 0
+ - serializedVersion: 2
+ m_Motion: {fileID: 7400000, guid: 059417f2ad308ff49b348ac0248970df, type: 2}
+ m_Threshold: 1
+ m_Position: {x: 0, y: -1}
+ m_TimeScale: 1
+ m_CycleOffset: 0
+ m_DirectBlendParameter: Speed
+ m_Mirror: 0
+ m_BlendParameter: DirX
+ m_BlendParameterY: DirY
+ m_MinThreshold: 0
+ m_MaxThreshold: 1
+ m_UseAutomaticThresholds: 1
+ m_NormalizedBlendValues: 0
+ m_BlendType: 1
+--- !u!1102 &4957523747016559267
+AnimatorState:
+ serializedVersion: 6
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: ANIM_PulverWalk_Carry_Left
+ 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: f2cc8e375d83fed4e888683e3fa71710, type: 2}
+ m_Tag:
+ m_SpeedParameter:
+ m_MirrorParameter:
+ m_CycleOffsetParameter:
+ m_TimeParameter:
+--- !u!1102 &5090778142067604499
+AnimatorState:
+ serializedVersion: 6
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: ANIM_PulverCombine
+ m_Speed: 1
+ m_CycleOffset: 0
+ m_Transitions:
+ - {fileID: -3896677794248683722}
+ - {fileID: -2673443173799312521}
+ 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: f7bb725eefec4cc4ebfea7eb1320225d, type: 2}
+ m_Tag:
+ m_SpeedParameter:
+ m_MirrorParameter:
+ m_CycleOffsetParameter:
+ m_TimeParameter:
--- !u!1101 &5493228531130196948
AnimatorStateTransition:
m_ObjectHideFlags: 1
@@ -374,6 +1027,32 @@ AnimatorStateTransition:
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
+--- !u!1102 &5645463516288434438
+AnimatorState:
+ serializedVersion: 6
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: ANIM_PulverWalk_Carry_Right
+ 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: b801b184a795c9c41819ca53d8bfd906, type: 2}
+ m_Tag:
+ m_SpeedParameter:
+ m_MirrorParameter:
+ m_CycleOffsetParameter:
+ m_TimeParameter:
--- !u!1102 &5882640659329534007
AnimatorState:
serializedVersion: 6
@@ -426,6 +1105,62 @@ AnimatorState:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
+--- !u!1101 &6382428398057845112
+AnimatorStateTransition:
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name:
+ m_Conditions:
+ - m_ConditionMode: 1
+ m_ConditionEvent: IsCarrying
+ m_EventTreshold: 0
+ - m_ConditionMode: 4
+ m_ConditionEvent: Speed
+ m_EventTreshold: 0.01
+ m_DstStateMachine: {fileID: 0}
+ m_DstState: {fileID: -8236784231784223406}
+ m_Solo: 0
+ m_Mute: 0
+ m_IsExit: 0
+ serializedVersion: 3
+ m_TransitionDuration: 0
+ m_TransitionOffset: 0
+ m_ExitTime: 0.52
+ m_HasExitTime: 0
+ m_HasFixedDuration: 1
+ m_InterruptionSource: 0
+ m_OrderedInterruption: 1
+ m_CanTransitionToSelf: 1
+--- !u!1101 &6488712265377033592
+AnimatorStateTransition:
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name:
+ m_Conditions:
+ - m_ConditionMode: 3
+ m_ConditionEvent: Speed
+ m_EventTreshold: 0
+ - m_ConditionMode: 1
+ m_ConditionEvent: IsCarrying
+ m_EventTreshold: 0
+ m_DstStateMachine: {fileID: 0}
+ m_DstState: {fileID: 2622372861974612142}
+ m_Solo: 0
+ m_Mute: 0
+ m_IsExit: 0
+ serializedVersion: 3
+ m_TransitionDuration: 9.981327e-10
+ m_TransitionOffset: 0
+ m_ExitTime: 0
+ m_HasExitTime: 0
+ m_HasFixedDuration: 1
+ m_InterruptionSource: 0
+ m_OrderedInterruption: 1
+ m_CanTransitionToSelf: 1
--- !u!1101 &7072950364927956952
AnimatorStateTransition:
m_ObjectHideFlags: 1
@@ -451,6 +1186,32 @@ AnimatorStateTransition:
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
+--- !u!1102 &7077828775143855889
+AnimatorState:
+ serializedVersion: 6
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: ANIM_PulverWalk_Carry_Back
+ 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: 3a83ec73f561fe943806ddbb70efb304, type: 2}
+ m_Tag:
+ m_SpeedParameter:
+ m_MirrorParameter:
+ m_CycleOffsetParameter:
+ m_TimeParameter:
--- !u!1102 &7133699243886744631
AnimatorState:
serializedVersion: 6
diff --git a/Assets/Art/Animations/Characters/Pulver/Pulver_Cucumbatacc.anim b/Assets/Art/Animations/Characters/Pulver/Pulver_Cucumbatacc.anim
index 3f1db31d..07d21120 100644
--- a/Assets/Art/Animations/Characters/Pulver/Pulver_Cucumbatacc.anim
+++ b/Assets/Art/Animations/Characters/Pulver/Pulver_Cucumbatacc.anim
@@ -22,52 +22,6 @@ AnimationClip:
curve:
- time: 0
value: {fileID: -948023933063867427, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - time: 0
- value: {fileID: -6122512210190206414, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - time: 0
- value: {fileID: 9004259394944233097, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - time: 0
- value: {fileID: 3127634723059022987, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - time: 0
- value: {fileID: 5241555131770433374, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - time: 0
- value: {fileID: 5418535750275563471, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - time: 0
- value: {fileID: -5829126979446497464, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - time: 0
- value: {fileID: -5251324859876319832, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - time: 0
- value: {fileID: 8451039844062163247, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - time: 0
- value: {fileID: -8575418099464798719, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - time: 0
- value: {fileID: -2885076971222660228, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - time: 0
- value: {fileID: -2461877082101491878, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - time: 0
- value: {fileID: -5495871994767198068, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - time: 0
- value: {fileID: -4720941432450666265, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - time: 0
- value: {fileID: -7678607646472632250, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - time: 0
- value: {fileID: 1852608027429398406, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - time: 0
- value: {fileID: 6260421290162468957, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - time: 0
- value: {fileID: 4701796658047755360, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - time: 0
- value: {fileID: -1422632302640868973, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - time: 0
- value: {fileID: -3093709647181459402, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - time: 0
- value: {fileID: -5941807999972599246, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - time: 0
- value: {fileID: 9040987707557795275, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - time: 0
- value: {fileID: 8200196815439204935, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - time: 0
- value: {fileID: 370516306874588968, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- time: 0
value: {fileID: 583659896831181404, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- time: 0
@@ -102,110 +56,156 @@ AnimationClip:
value: {fileID: -6144861062711228038, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- time: 0
value: {fileID: 816948775718538035, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - time: 0.016666668
- value: {fileID: 7268251130221382757, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - time: 0
+ value: {fileID: 370516306874588968, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - time: 0
+ value: {fileID: 8200196815439204935, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - time: 0
+ value: {fileID: 9040987707557795275, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - time: 0
+ value: {fileID: -8575418099464798719, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - time: 0
+ value: {fileID: 9004259394944233097, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - time: 0
+ value: {fileID: 3127634723059022987, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - time: 0
+ value: {fileID: 5241555131770433374, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - time: 0
+ value: {fileID: 5418535750275563471, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - time: 0
+ value: {fileID: -5829126979446497464, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - time: 0
+ value: {fileID: -5251324859876319832, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - time: 0
+ value: {fileID: 8451039844062163247, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - time: 0
+ value: {fileID: -5941807999972599246, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - time: 0
+ value: {fileID: -6122512210190206414, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - time: 0
+ value: {fileID: -2885076971222660228, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - time: 0
+ value: {fileID: -5495871994767198068, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - time: 0
+ value: {fileID: -4720941432450666265, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - time: 0
+ value: {fileID: -7678607646472632250, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - time: 0
+ value: {fileID: 1852608027429398406, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - time: 0
+ value: {fileID: 6260421290162468957, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - time: 0
+ value: {fileID: 4701796658047755360, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - time: 0
+ value: {fileID: -1422632302640868973, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - time: 0
+ value: {fileID: -3093709647181459402, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - time: 0
+ value: {fileID: -2461877082101491878, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- time: 0.033333335
- value: {fileID: -6155945168965275997, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - time: 0.05
- value: {fileID: 6055894852475098276, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ value: {fileID: 7268251130221382757, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- time: 0.06666667
- value: {fileID: -1872323050923806924, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - time: 0.083333336
- value: {fileID: -218485811651797319, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ value: {fileID: -6155945168965275997, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- time: 0.1
- value: {fileID: -9145811295112430833, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - time: 0.11666667
- value: {fileID: 707719447927042100, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ value: {fileID: 6055894852475098276, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- time: 0.13333334
- value: {fileID: -1899480426505933510, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - time: 0.15
- value: {fileID: 495667686541154928, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ value: {fileID: -1872323050923806924, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- time: 0.16666667
- value: {fileID: 6033513452423013518, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - time: 0.18333334
- value: {fileID: -5112435306935384435, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ value: {fileID: -218485811651797319, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- time: 0.2
- value: {fileID: 8277773178645673980, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - time: 0.21666667
- value: {fileID: -6348222578903551975, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ value: {fileID: -9145811295112430833, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- time: 0.23333333
- value: {fileID: 1012493429146717157, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - time: 0.25
- value: {fileID: 4792913595866398020, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ value: {fileID: 707719447927042100, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- time: 0.26666668
- value: {fileID: -8824659666325047412, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - time: 0.28333333
- value: {fileID: -7043248392265045076, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ value: {fileID: -1899480426505933510, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- time: 0.3
- value: {fileID: 4238046711953322335, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - time: 0.31666666
- value: {fileID: -7076566494781610440, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ value: {fileID: 495667686541154928, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- time: 0.33333334
- value: {fileID: 3398004430136482052, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - time: 0.35
- value: {fileID: 2414326302200951870, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ value: {fileID: 6033513452423013518, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- time: 0.36666667
- value: {fileID: 5647400913391173419, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - time: 0.38333333
- value: {fileID: 3114151857075485226, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ value: {fileID: -5112435306935384435, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- time: 0.4
- value: {fileID: -66809740385176572, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - time: 0.41666666
- value: {fileID: 2075791085322810856, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ value: {fileID: 8277773178645673980, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- time: 0.43333334
- value: {fileID: 5342473987548908441, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - time: 0.45
- value: {fileID: 6242346481588343462, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ value: {fileID: -6348222578903551975, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- time: 0.46666667
- value: {fileID: -2210437966972237992, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - time: 0.48333332
- value: {fileID: 2670476402852867823, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ value: {fileID: 1012493429146717157, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- time: 0.5
- value: {fileID: -1468689691554643586, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - time: 0.51666665
- value: {fileID: -8592060110415417728, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ value: {fileID: 4792913595866398020, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- time: 0.53333336
- value: {fileID: -4793827868425458382, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - time: 0.55
- value: {fileID: 421025590861002917, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ value: {fileID: -8824659666325047412, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- time: 0.56666666
- value: {fileID: 2377029882580041476, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - time: 0.5833333
- value: {fileID: -3886380176840394301, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ value: {fileID: -7043248392265045076, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- time: 0.6
- value: {fileID: -4164205548875457946, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - time: 0.6166667
- value: {fileID: -7779208966408002042, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ value: {fileID: 4238046711953322335, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- time: 0.6333333
- value: {fileID: 4991514781843096631, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - time: 0.65
- value: {fileID: 562425017544918081, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ value: {fileID: -7076566494781610440, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- time: 0.6666667
- value: {fileID: -1665571147687848569, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - time: 0.68333334
- value: {fileID: 8615687395798544850, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ value: {fileID: 3398004430136482052, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- time: 0.7
- value: {fileID: 3938042639155156558, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - time: 0.71666664
- value: {fileID: -8162364684805889228, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ value: {fileID: 2414326302200951870, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- time: 0.73333335
- value: {fileID: -2906672229352723421, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - time: 0.75
- value: {fileID: 5931874581548458631, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ value: {fileID: 5647400913391173419, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- time: 0.76666665
- value: {fileID: 1381774713037384365, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - time: 0.78333336
- value: {fileID: -1619470289518259383, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ value: {fileID: 3114151857075485226, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- time: 0.8
+ value: {fileID: -66809740385176572, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - time: 0.8333333
+ value: {fileID: 2075791085322810856, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - time: 0.8666667
+ value: {fileID: 5342473987548908441, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - time: 0.9
+ value: {fileID: 6242346481588343462, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - time: 0.93333334
+ value: {fileID: -2210437966972237992, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - time: 0.96666664
+ value: {fileID: 2670476402852867823, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - time: 1
+ value: {fileID: -1468689691554643586, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - time: 1.0333333
+ value: {fileID: -8592060110415417728, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - time: 1.0666667
+ value: {fileID: -4793827868425458382, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - time: 1.1
+ value: {fileID: 421025590861002917, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - time: 1.1333333
+ value: {fileID: 2377029882580041476, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - time: 1.1666666
+ value: {fileID: -3886380176840394301, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - time: 1.2
+ value: {fileID: -4164205548875457946, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - time: 1.2333333
+ value: {fileID: -7779208966408002042, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - time: 1.2666667
+ value: {fileID: 4991514781843096631, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - time: 1.3
+ value: {fileID: 562425017544918081, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - time: 1.3333334
+ value: {fileID: -1665571147687848569, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - time: 1.3666667
+ value: {fileID: 8615687395798544850, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - time: 1.4
+ value: {fileID: 3938042639155156558, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - time: 1.4333333
+ value: {fileID: -8162364684805889228, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - time: 1.4666667
+ value: {fileID: -2906672229352723421, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - time: 1.5
+ value: {fileID: 5931874581548458631, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - time: 1.5333333
+ value: {fileID: 1381774713037384365, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - time: 1.5666667
+ value: {fileID: -1619470289518259383, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - time: 1.6
value: {fileID: 3608851087769527028, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - time: 0.81666666
+ - time: 1.6333333
value: {fileID: 3848402288349167688, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
attribute: m_Sprite
path:
classID: 212
script: {fileID: 0}
flags: 2
- m_SampleRate: 60
+ m_SampleRate: 30
m_WrapMode: 0
m_Bounds:
m_Center: {x: 0, y: 0, z: 0}
@@ -223,29 +223,6 @@ AnimationClip:
isSerializeReferenceCurve: 0
pptrCurveMapping:
- {fileID: -948023933063867427, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - {fileID: -6122512210190206414, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - {fileID: 9004259394944233097, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - {fileID: 3127634723059022987, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - {fileID: 5241555131770433374, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - {fileID: 5418535750275563471, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - {fileID: -5829126979446497464, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - {fileID: -5251324859876319832, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - {fileID: 8451039844062163247, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - {fileID: -8575418099464798719, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - {fileID: -2885076971222660228, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - {fileID: -2461877082101491878, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - {fileID: -5495871994767198068, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - {fileID: -4720941432450666265, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - {fileID: -7678607646472632250, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - {fileID: 1852608027429398406, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - {fileID: 6260421290162468957, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - {fileID: 4701796658047755360, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - {fileID: -1422632302640868973, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - {fileID: -3093709647181459402, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - {fileID: -5941807999972599246, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - {fileID: 9040987707557795275, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - {fileID: 8200196815439204935, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- - {fileID: 370516306874588968, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- {fileID: 583659896831181404, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- {fileID: -2937703658432899079, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- {fileID: -5055880670759659210, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
@@ -263,6 +240,29 @@ AnimationClip:
- {fileID: -2151723912499346623, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- {fileID: -6144861062711228038, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- {fileID: 816948775718538035, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - {fileID: 370516306874588968, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - {fileID: 8200196815439204935, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - {fileID: 9040987707557795275, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - {fileID: -8575418099464798719, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - {fileID: 9004259394944233097, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - {fileID: 3127634723059022987, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - {fileID: 5241555131770433374, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - {fileID: 5418535750275563471, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - {fileID: -5829126979446497464, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - {fileID: -5251324859876319832, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - {fileID: 8451039844062163247, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - {fileID: -5941807999972599246, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - {fileID: -6122512210190206414, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - {fileID: -2885076971222660228, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - {fileID: -5495871994767198068, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - {fileID: -4720941432450666265, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - {fileID: -7678607646472632250, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - {fileID: 1852608027429398406, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - {fileID: 6260421290162468957, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - {fileID: 4701796658047755360, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - {fileID: -1422632302640868973, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - {fileID: -3093709647181459402, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
+ - {fileID: -2461877082101491878, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- {fileID: 7268251130221382757, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- {fileID: -6155945168965275997, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
- {fileID: 6055894852475098276, guid: d641d9522dd44e745b89a598cd35bec7, type: 3}
@@ -317,7 +317,7 @@ AnimationClip:
m_AdditiveReferencePoseClip: {fileID: 0}
m_AdditiveReferencePoseTime: 0
m_StartTime: 0
- m_StopTime: 0.8333333
+ m_StopTime: 1.6666666
m_OrientationOffsetY: 0
m_Level: 0
m_CycleOffset: 0
diff --git a/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_1.png b/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_1.png
new file mode 100644
index 00000000..9d5d950b
Binary files /dev/null and b/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_1.png differ
diff --git a/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_1.png.meta b/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_1.png.meta
new file mode 100644
index 00000000..d6da1404
--- /dev/null
+++ b/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_1.png.meta
@@ -0,0 +1,570 @@
+fileFormatVersion: 2
+guid: fe9809d4b38142b418b99cc2b3e25713
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 13
+ 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
+ flipGreenChannel: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ vTOnly: 0
+ ignoreMipmapLimit: 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: 2
+ spriteExtrude: 1
+ spriteMeshType: 0
+ 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
+ swizzle: 50462976
+ cookieLightType: 0
+ platformSettings:
+ - serializedVersion: 4
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: iOS
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: Android
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: Standalone
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: WindowsStoreApps
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites:
+ - serializedVersion: 2
+ name: Pulver_carry0001.png
+ rect:
+ serializedVersion: 2
+ x: 1246
+ y: 1464
+ width: 383
+ height: 583
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 1e34b03662c4d3b4286f1bf30944f0a4
+ internalID: 879706873
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_carry0002.png
+ rect:
+ serializedVersion: 2
+ x: 1246
+ y: 1464
+ width: 383
+ height: 583
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: af49ee4ce6ac0ab41b9dadfcf9be7c8b
+ internalID: -1134115354
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_carry0003.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 715
+ width: 358
+ height: 662
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 128db73f16a29704d8e924cbc55cd66d
+ internalID: 43560129
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_carry0004.png
+ rect:
+ serializedVersion: 2
+ x: 770
+ y: 817
+ width: 370
+ height: 606
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 704d31d2cf7d98d4a9379272619949ec
+ internalID: 698007547
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_carry0005.png
+ rect:
+ serializedVersion: 2
+ x: 1631
+ y: 1480
+ width: 372
+ height: 567
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: b06c584468e24c942b0147237fb907fe
+ internalID: -224126356
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_carry0006.png
+ rect:
+ serializedVersion: 2
+ x: 1631
+ y: 913
+ width: 371
+ height: 565
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 2b8cda2e5639eda4382a742f8d40b134
+ internalID: 368133624
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_carry0007.png
+ rect:
+ serializedVersion: 2
+ x: 1631
+ y: 913
+ width: 371
+ height: 565
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: eab7c24fe253bf844b4e120f8a039714
+ internalID: -1712971372
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_carry0008.png
+ rect:
+ serializedVersion: 2
+ x: 1142
+ y: 857
+ width: 439
+ height: 583
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 5875698456d1a754ca5bcc0661b97d0a
+ internalID: 1796111118
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_carry0009.png
+ rect:
+ serializedVersion: 2
+ x: 1142
+ y: 857
+ width: 439
+ height: 583
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: b7378e42288b9e24d8e00a5258e7721d
+ internalID: 432228993
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_carry0010.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 1379
+ width: 407
+ height: 668
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 1d550fad9f96ebe4b88672f792be906b
+ internalID: -1204463046
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_carry0011.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 83
+ width: 407
+ height: 630
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: ae31d183dc5b9e74aa7b2c9b27a99573
+ internalID: 2007263815
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_carry0012.png
+ rect:
+ serializedVersion: 2
+ x: 361
+ y: 747
+ width: 407
+ height: 630
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: b0d109b0c6d1d9a4f9bcfbd038622bc1
+ internalID: -1964060997
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: pulvercarry_front0010.tga
+ rect:
+ serializedVersion: 2
+ x: 826
+ y: 220
+ width: 449
+ height: 595
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 866d61b5b5604824e9312c6976c78d7f
+ internalID: -1369114062
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: pulvercarry_front0011.tga
+ rect:
+ serializedVersion: 2
+ x: 826
+ y: 220
+ width: 449
+ height: 595
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: b1ac7877b76376541af74034e37c7ca2
+ internalID: -617945905
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: pulvercarry_front0012.tga
+ rect:
+ serializedVersion: 2
+ x: 410
+ y: 1425
+ width: 422
+ height: 622
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: e25fa5d2ba7d1144f8615256f8aadaea
+ internalID: -818655663
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: pulvercarry_front0013.tga
+ rect:
+ serializedVersion: 2
+ x: 834
+ y: 1442
+ width: 410
+ height: 605
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 7ce9ec889c141f1438290769baf19210
+ internalID: -1030038082
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: pulvercarry_front0014.tga
+ rect:
+ serializedVersion: 2
+ x: 834
+ y: 1442
+ width: 410
+ height: 605
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: aaf7369ba86e21c4bae7c6ad70514cba
+ internalID: 352769472
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: pulvercarry_front0015.tga
+ rect:
+ serializedVersion: 2
+ x: 410
+ y: 126
+ width: 414
+ height: 619
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 05f37aa1ff049234c9caefeb849ef1cb
+ internalID: -1805373445
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ outline: []
+ customData:
+ physicsShape: []
+ bones: []
+ spriteID: 8a41984ee975abb4692d1365a5054d6f
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ spriteCustomMetadata:
+ entries: []
+ nameFileIdTable:
+ Pulver_carry0001.png: 879706873
+ Pulver_carry0002.png: -1134115354
+ Pulver_carry0003.png: 43560129
+ Pulver_carry0004.png: 698007547
+ Pulver_carry0005.png: -224126356
+ Pulver_carry0006.png: 368133624
+ Pulver_carry0007.png: -1712971372
+ Pulver_carry0008.png: 1796111118
+ Pulver_carry0009.png: 432228993
+ Pulver_carry0010.png: -1204463046
+ Pulver_carry0011.png: 2007263815
+ Pulver_carry0012.png: -1964060997
+ pulvercarry_front0010.tga: -1369114062
+ pulvercarry_front0011.tga: -617945905
+ pulvercarry_front0012.tga: -818655663
+ pulvercarry_front0013.tga: -1030038082
+ pulvercarry_front0014.tga: 352769472
+ pulvercarry_front0015.tga: -1805373445
+ mipmapLimitGroupName:
+ pSDRemoveMatte: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_1.tpsheet b/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_1.tpsheet
new file mode 100644
index 00000000..67e741d2
--- /dev/null
+++ b/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_1.tpsheet
@@ -0,0 +1,33 @@
+#
+# Sprite sheet data for Unity.
+#
+# To import these sprites into your Unity project, download "TexturePackerImporter":
+# https://www.codeandweb.com/texturepacker/unity
+#
+# $TexturePacker:SmartUpdate:290029ec252164a6c14b3139b6bde72d:2d30748fb9f9761dd18bb76499b90e29:d95c841c2371b68cfe9b290272f07a37$
+#
+:format=40300
+:texture=Pulver_Carry_1.png
+:size=2048x2048
+:pivotpoints=enabled
+:borders=disabled
+:alphahandling=ClearTransparentPixels
+
+Pulver_carry0001.png;1246;1464;383;583; 0.5;0.5; 0;0;0;0
+Pulver_carry0002.png;1246;1464;383;583; 0.5;0.5; 0;0;0;0
+Pulver_carry0003.png;1;715;358;662; 0.5;0.5; 0;0;0;0
+Pulver_carry0004.png;770;817;370;606; 0.5;0.5; 0;0;0;0
+Pulver_carry0005.png;1631;1480;372;567; 0.5;0.5; 0;0;0;0
+Pulver_carry0006.png;1631;913;371;565; 0.5;0.5; 0;0;0;0
+Pulver_carry0007.png;1631;913;371;565; 0.5;0.5; 0;0;0;0
+Pulver_carry0008.png;1142;857;439;583; 0.5;0.5; 0;0;0;0
+Pulver_carry0009.png;1142;857;439;583; 0.5;0.5; 0;0;0;0
+Pulver_carry0010.png;1;1379;407;668; 0.5;0.5; 0;0;0;0
+Pulver_carry0011.png;1;83;407;630; 0.5;0.5; 0;0;0;0
+Pulver_carry0012.png;361;747;407;630; 0.5;0.5; 0;0;0;0
+pulvercarry_front0010.tga;826;220;449;595; 0.5;0.5; 0;0;0;0
+pulvercarry_front0011.tga;826;220;449;595; 0.5;0.5; 0;0;0;0
+pulvercarry_front0012.tga;410;1425;422;622; 0.5;0.5; 0;0;0;0
+pulvercarry_front0013.tga;834;1442;410;605; 0.5;0.5; 0;0;0;0
+pulvercarry_front0014.tga;834;1442;410;605; 0.5;0.5; 0;0;0;0
+pulvercarry_front0015.tga;410;126;414;619; 0.5;0.5; 0;0;0;0
diff --git a/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_1.tpsheet.meta b/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_1.tpsheet.meta
new file mode 100644
index 00000000..080d4b45
--- /dev/null
+++ b/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_1.tpsheet.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 13d56c7e603b53242ab57ccded9dbde8
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_2.png b/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_2.png
new file mode 100644
index 00000000..e1d9b0a7
Binary files /dev/null and b/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_2.png differ
diff --git a/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_2.png.meta b/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_2.png.meta
new file mode 100644
index 00000000..65528e59
--- /dev/null
+++ b/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_2.png.meta
@@ -0,0 +1,547 @@
+fileFormatVersion: 2
+guid: b3e45d15a3396be4ab00fa183c0df9c2
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 13
+ 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
+ flipGreenChannel: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ vTOnly: 0
+ ignoreMipmapLimit: 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: 2
+ spriteExtrude: 1
+ spriteMeshType: 0
+ 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
+ swizzle: 50462976
+ cookieLightType: 0
+ platformSettings:
+ - serializedVersion: 4
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: iOS
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: Android
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: Standalone
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: WindowsStoreApps
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites:
+ - serializedVersion: 2
+ name: Pulver_carry0013.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 99
+ width: 404
+ height: 641
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 65f9dcd151f12064fa0e1db029b30ae0
+ internalID: -571177486
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_carry0014.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 99
+ width: 404
+ height: 641
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 2a296a2deebfb63438e74ea0c026eaa4
+ internalID: 1464384535
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_carry0017.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 1393
+ width: 441
+ height: 654
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: e84e0d18a4310dd45b87209f19989b3d
+ internalID: 595115188
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_carry0018.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 1393
+ width: 441
+ height: 654
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: b7b5347e1c13fe6489dc9f9549ed7ce6
+ internalID: -829321870
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_carry0019.png
+ rect:
+ serializedVersion: 2
+ x: 805
+ y: 152
+ width: 449
+ height: 611
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 7075f05837949a748a35683d4d7d9258
+ internalID: 2044809076
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_carry0020.png
+ rect:
+ serializedVersion: 2
+ x: 1362
+ y: 1441
+ width: 451
+ height: 606
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 5a2ca74084a91f4418bf201d18cff72e
+ internalID: 877723397
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_carry0021.png
+ rect:
+ serializedVersion: 2
+ x: 1386
+ y: 264
+ width: 451
+ height: 569
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 290f73ca6597eb24bb2f9265110735ac
+ internalID: 517714394
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_carry0022.png
+ rect:
+ serializedVersion: 2
+ x: 907
+ y: 1429
+ width: 453
+ height: 618
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: c1b18b449ed579c40a4a7091afe4537d
+ internalID: 1081350935
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_carry0023.png
+ rect:
+ serializedVersion: 2
+ x: 907
+ y: 1429
+ width: 453
+ height: 618
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: ddec8aba1adca5b4a9082252464915ec
+ internalID: 1876037982
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_carry0024.png
+ rect:
+ serializedVersion: 2
+ x: 1386
+ y: 835
+ width: 456
+ height: 604
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 5eced2c6c9edd5f41b9cbc0c23eefa7e
+ internalID: 1201450426
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_carry0025.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 742
+ width: 461
+ height: 649
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: e6355660ffa74df4bb0827e64c8dbc1d
+ internalID: 1423961938
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_carry0026.png
+ rect:
+ serializedVersion: 2
+ x: 922
+ y: 819
+ width: 462
+ height: 608
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 3731f201ecbd9bf4a952175bd194ea73
+ internalID: -1721496882
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_carry0027.png
+ rect:
+ serializedVersion: 2
+ x: 464
+ y: 765
+ width: 456
+ height: 634
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 4210e2d7e64ad184caac346227b00830
+ internalID: -1483108044
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_carry0028.png
+ rect:
+ serializedVersion: 2
+ x: 464
+ y: 765
+ width: 456
+ height: 634
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 9b80673a7ab6c1c4a9a28c15e3e29ee8
+ internalID: -1573550850
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_carry0029.png
+ rect:
+ serializedVersion: 2
+ x: 444
+ y: 1401
+ width: 461
+ height: 646
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: a8583cbcc70d314488c73c9debffd6a5
+ internalID: -1351953240
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_carry0030.png
+ rect:
+ serializedVersion: 2
+ x: 444
+ y: 1401
+ width: 461
+ height: 646
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 46bba42c4fe5e854790c3665f37f034b
+ internalID: 541046068
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_carry0033.png
+ rect:
+ serializedVersion: 2
+ x: 407
+ y: 105
+ width: 396
+ height: 635
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: e76769f060e7f85428c7d6a5b6b3b3d8
+ internalID: -550064751
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ outline: []
+ customData:
+ physicsShape: []
+ bones: []
+ spriteID: a9ef3f6f3e4ec3041903d13130ba2912
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ spriteCustomMetadata:
+ entries: []
+ nameFileIdTable:
+ Pulver_carry0013.png: -571177486
+ Pulver_carry0014.png: 1464384535
+ Pulver_carry0017.png: 595115188
+ Pulver_carry0018.png: -829321870
+ Pulver_carry0019.png: 2044809076
+ Pulver_carry0020.png: 877723397
+ Pulver_carry0021.png: 517714394
+ Pulver_carry0022.png: 1081350935
+ Pulver_carry0023.png: 1876037982
+ Pulver_carry0024.png: 1201450426
+ Pulver_carry0025.png: 1423961938
+ Pulver_carry0026.png: -1721496882
+ Pulver_carry0027.png: -1483108044
+ Pulver_carry0028.png: -1573550850
+ Pulver_carry0029.png: -1351953240
+ Pulver_carry0030.png: 541046068
+ Pulver_carry0033.png: -550064751
+ mipmapLimitGroupName:
+ pSDRemoveMatte: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_2.tpsheet b/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_2.tpsheet
new file mode 100644
index 00000000..9f5948ad
--- /dev/null
+++ b/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_2.tpsheet
@@ -0,0 +1,32 @@
+#
+# Sprite sheet data for Unity.
+#
+# To import these sprites into your Unity project, download "TexturePackerImporter":
+# https://www.codeandweb.com/texturepacker/unity
+#
+# $TexturePacker:SmartUpdate:290029ec252164a6c14b3139b6bde72d:2d30748fb9f9761dd18bb76499b90e29:d95c841c2371b68cfe9b290272f07a37$
+#
+:format=40300
+:texture=Pulver_Carry_2.png
+:size=2048x2048
+:pivotpoints=enabled
+:borders=disabled
+:alphahandling=ClearTransparentPixels
+
+Pulver_carry0013.png;1;99;404;641; 0.5;0.5; 0;0;0;0
+Pulver_carry0014.png;1;99;404;641; 0.5;0.5; 0;0;0;0
+Pulver_carry0017.png;1;1393;441;654; 0.5;0.5; 0;0;0;0
+Pulver_carry0018.png;1;1393;441;654; 0.5;0.5; 0;0;0;0
+Pulver_carry0019.png;805;152;449;611; 0.5;0.5; 0;0;0;0
+Pulver_carry0020.png;1362;1441;451;606; 0.5;0.5; 0;0;0;0
+Pulver_carry0021.png;1386;264;451;569; 0.5;0.5; 0;0;0;0
+Pulver_carry0022.png;907;1429;453;618; 0.5;0.5; 0;0;0;0
+Pulver_carry0023.png;907;1429;453;618; 0.5;0.5; 0;0;0;0
+Pulver_carry0024.png;1386;835;456;604; 0.5;0.5; 0;0;0;0
+Pulver_carry0025.png;1;742;461;649; 0.5;0.5; 0;0;0;0
+Pulver_carry0026.png;922;819;462;608; 0.5;0.5; 0;0;0;0
+Pulver_carry0027.png;464;765;456;634; 0.5;0.5; 0;0;0;0
+Pulver_carry0028.png;464;765;456;634; 0.5;0.5; 0;0;0;0
+Pulver_carry0029.png;444;1401;461;646; 0.5;0.5; 0;0;0;0
+Pulver_carry0030.png;444;1401;461;646; 0.5;0.5; 0;0;0;0
+Pulver_carry0033.png;407;105;396;635; 0.5;0.5; 0;0;0;0
diff --git a/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_2.tpsheet.meta b/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_2.tpsheet.meta
new file mode 100644
index 00000000..070da058
--- /dev/null
+++ b/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_2.tpsheet.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: fa8e50eacebd14f41a2a95d3fb18bf38
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_Idle_1.png b/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_Idle_1.png
new file mode 100644
index 00000000..2eb2b975
Binary files /dev/null and b/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_Idle_1.png differ
diff --git a/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_Idle_1.png.meta b/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_Idle_1.png.meta
new file mode 100644
index 00000000..fe8d5e3e
--- /dev/null
+++ b/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_Idle_1.png.meta
@@ -0,0 +1,1260 @@
+fileFormatVersion: 2
+guid: 74e915b2f64b73347b3b8f6db62ef1fb
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 13
+ 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
+ flipGreenChannel: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ vTOnly: 0
+ ignoreMipmapLimit: 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: 2
+ spriteExtrude: 1
+ spriteMeshType: 0
+ 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
+ swizzle: 50462976
+ cookieLightType: 0
+ platformSettings:
+ - serializedVersion: 4
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: iOS
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: Android
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: Standalone
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: WindowsStoreApps
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites:
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0001.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 53
+ width: 403
+ height: 658
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 94805f430c8d3a149966a7f769d2e548
+ internalID: -1709434146
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0002.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 53
+ width: 403
+ height: 658
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 7f14a5f1192fe774f84ea2aa239dc0d3
+ internalID: -259155701
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0003.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 53
+ width: 403
+ height: 658
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 6bcc5f533072a5f41b35599ee62a571c
+ internalID: -501390234
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0004.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 53
+ width: 403
+ height: 658
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: ff89bb21079ab224491043f6edcf68f7
+ internalID: 1273329353
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0005.png
+ rect:
+ serializedVersion: 2
+ x: 396
+ y: 724
+ width: 403
+ height: 658
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 97e51f6f5b6ee0e4e8a619019d3b2a13
+ internalID: 366658847
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0006.png
+ rect:
+ serializedVersion: 2
+ x: 716
+ y: 1389
+ width: 403
+ height: 658
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 27762a851ff656141b64a00551f8ac9b
+ internalID: 1938127715
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0007.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 53
+ width: 403
+ height: 658
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: c799f1a8e4e4f3744bc87eb7ca4c82e2
+ internalID: 1478137722
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0008.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 53
+ width: 403
+ height: 658
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 196fcf6523ed9d045be59d8a8d80d39e
+ internalID: -1141319994
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0009.png
+ rect:
+ serializedVersion: 2
+ x: 396
+ y: 724
+ width: 403
+ height: 658
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 911b1b161da55ed4c9ea31dbe2ec43b3
+ internalID: -1404959850
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0010.png
+ rect:
+ serializedVersion: 2
+ x: 716
+ y: 1389
+ width: 403
+ height: 658
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: db71008e6e9ed9b499cf6087be6c3e5d
+ internalID: -1458585591
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0011.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 53
+ width: 403
+ height: 658
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: d8b78e4ee4c050a48886ad6a5076944a
+ internalID: -85962862
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0012.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 53
+ width: 403
+ height: 658
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 67504b56a90d44e4580fd11885f17971
+ internalID: 627708293
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0013.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 53
+ width: 403
+ height: 658
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 0155193798d1c0b4a8fc2d30f8157fde
+ internalID: -369140916
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0014.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 53
+ width: 403
+ height: 658
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 54af3aaf351b72545b5bc082ad317d8c
+ internalID: -1648672951
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0015.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 53
+ width: 403
+ height: 658
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 77ef0bb457049484cbd9b73104ade11a
+ internalID: 781217746
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0016.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 53
+ width: 403
+ height: 658
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 1beb236b7b8ad3d44bae75297da2c4a0
+ internalID: -1316835671
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0017.png
+ rect:
+ serializedVersion: 2
+ x: 334
+ y: 1384
+ width: 380
+ height: 663
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 59098cdedc0548b42b991ed54c50f70e
+ internalID: 553545666
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0018.png
+ rect:
+ serializedVersion: 2
+ x: 334
+ y: 1384
+ width: 380
+ height: 663
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 7b6420ba31bde204bbd2c97b4f8667cd
+ internalID: -1811419117
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0019.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 1378
+ width: 331
+ height: 669
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 8081488f2207f044f96bbfe56454ba9b
+ internalID: -367528577
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0020.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 1378
+ width: 331
+ height: 669
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 2f41552383cf6c54894acd1674fcd40b
+ internalID: 252783981
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0021.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 713
+ width: 393
+ height: 663
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 532172ab7494fff43bc2726f91609ff0
+ internalID: 1735360624
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0022.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 713
+ width: 393
+ height: 663
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: f972949543d968d428f18a78700f5d43
+ internalID: -1554360158
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0023.png
+ rect:
+ serializedVersion: 2
+ x: 406
+ y: 64
+ width: 395
+ height: 658
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 3103ccdcdbeb21c4dbbd7bfbbfb9ac0d
+ internalID: 915046792
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0024.png
+ rect:
+ serializedVersion: 2
+ x: 406
+ y: 64
+ width: 395
+ height: 658
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: a09693cb4d8fde94e967b1b0aa7f798e
+ internalID: -1234734230
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0025.png
+ rect:
+ serializedVersion: 2
+ x: 406
+ y: 64
+ width: 395
+ height: 658
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: dcb7e5066d054924191226f8565d9fd9
+ internalID: -567896609
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0026.png
+ rect:
+ serializedVersion: 2
+ x: 406
+ y: 64
+ width: 395
+ height: 658
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: bcb5c8a0b132c2145ba1dd69fb09670d
+ internalID: 1917067138
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0027.png
+ rect:
+ serializedVersion: 2
+ x: 406
+ y: 64
+ width: 395
+ height: 658
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: d12ec1d773678204da30e467ccb0b1e0
+ internalID: -1777359789
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0028.png
+ rect:
+ serializedVersion: 2
+ x: 406
+ y: 64
+ width: 395
+ height: 658
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 9be9f07bc06e66342b01295ac3f65cf4
+ internalID: 893153799
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0029.png
+ rect:
+ serializedVersion: 2
+ x: 406
+ y: 64
+ width: 395
+ height: 658
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: b97f08d856876c34da238e146404d116
+ internalID: 739368213
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0030.png
+ rect:
+ serializedVersion: 2
+ x: 406
+ y: 64
+ width: 395
+ height: 658
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 1a68e673f231dfa48b702e48f8bb4352
+ internalID: -1112765131
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0031.png
+ rect:
+ serializedVersion: 2
+ x: 1121
+ y: 1390
+ width: 398
+ height: 657
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: dcecfe4aece43df4291c6874c673d5ff
+ internalID: 1488230969
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0032.png
+ rect:
+ serializedVersion: 2
+ x: 1185
+ y: 73
+ width: 398
+ height: 655
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: ebb5f5ab8dbe3d741a676b479a519eb8
+ internalID: -14630350
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0033.png
+ rect:
+ serializedVersion: 2
+ x: 801
+ y: 730
+ width: 406
+ height: 657
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: d016845232cfdf54f8b037f9669a03cf
+ internalID: 911192655
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0034.png
+ rect:
+ serializedVersion: 2
+ x: 801
+ y: 730
+ width: 406
+ height: 657
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 12e18437314d5ce49b9f0e6351d522b3
+ internalID: -1585308794
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0035.png
+ rect:
+ serializedVersion: 2
+ x: 803
+ y: 71
+ width: 380
+ height: 657
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 123c9d55ac190d64eab44f5b94675d6b
+ internalID: 1472166744
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0036.png
+ rect:
+ serializedVersion: 2
+ x: 803
+ y: 71
+ width: 380
+ height: 657
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 4d42695bed162544babe3e351a2ab7f1
+ internalID: -457718140
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0037.png
+ rect:
+ serializedVersion: 2
+ x: 1209
+ y: 739
+ width: 376
+ height: 649
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 8b34cb7bdc94c5444bf466b9ebc7212d
+ internalID: 1370648159
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0038.png
+ rect:
+ serializedVersion: 2
+ x: 1209
+ y: 739
+ width: 376
+ height: 649
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 1c5dbef0274fdbc4c99db4b75fc92e18
+ internalID: -1579023338
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0039.png
+ rect:
+ serializedVersion: 2
+ x: 1521
+ y: 1420
+ width: 410
+ height: 627
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 3822e3b8a3dd81f44a724b5190242c4a
+ internalID: 1772680496
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0040.png
+ rect:
+ serializedVersion: 2
+ x: 1521
+ y: 1420
+ width: 410
+ height: 627
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: f08da22b26a981a4ab8553aa3a4d36f8
+ internalID: 2093122184
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0041.png
+ rect:
+ serializedVersion: 2
+ x: 1521
+ y: 1420
+ width: 410
+ height: 627
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 88076b5d96c9b784cb7731d229412857
+ internalID: -1475582993
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0042.png
+ rect:
+ serializedVersion: 2
+ x: 1521
+ y: 1420
+ width: 410
+ height: 627
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: a128a8f5ed734ac4bbef04c2af733e4e
+ internalID: -1329098495
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0043.png
+ rect:
+ serializedVersion: 2
+ x: 1521
+ y: 1420
+ width: 410
+ height: 627
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 456654a6623dd214a9268815580421b1
+ internalID: -1427201947
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0044.png
+ rect:
+ serializedVersion: 2
+ x: 1587
+ y: 806
+ width: 410
+ height: 612
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 54f964c932ec8d7479aef657d9af4edf
+ internalID: -1487224492
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0045.png
+ rect:
+ serializedVersion: 2
+ x: 1587
+ y: 806
+ width: 410
+ height: 612
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: c3e01e5a327e8304fae885b669883978
+ internalID: -1989040310
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0046.png
+ rect:
+ serializedVersion: 2
+ x: 1587
+ y: 806
+ width: 410
+ height: 612
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: c7042d5b528aa8947a65f1b59800eda1
+ internalID: 284228675
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0047.png
+ rect:
+ serializedVersion: 2
+ x: 1587
+ y: 806
+ width: 410
+ height: 612
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 4333f774a265ab24089a758991c7a321
+ internalID: -1031817689
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0048.png
+ rect:
+ serializedVersion: 2
+ x: 1587
+ y: 806
+ width: 410
+ height: 612
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 9753785514d9b014eb046c2b63748628
+ internalID: -851918828
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ outline: []
+ customData:
+ physicsShape: []
+ bones: []
+ spriteID: 4fac74fd03d9d124aa216ea4fbcd1a9b
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ spriteCustomMetadata:
+ entries: []
+ nameFileIdTable:
+ Pulver_IdleCarry0001.png: -1709434146
+ Pulver_IdleCarry0002.png: -259155701
+ Pulver_IdleCarry0003.png: -501390234
+ Pulver_IdleCarry0004.png: 1273329353
+ Pulver_IdleCarry0005.png: 366658847
+ Pulver_IdleCarry0006.png: 1938127715
+ Pulver_IdleCarry0007.png: 1478137722
+ Pulver_IdleCarry0008.png: -1141319994
+ Pulver_IdleCarry0009.png: -1404959850
+ Pulver_IdleCarry0010.png: -1458585591
+ Pulver_IdleCarry0011.png: -85962862
+ Pulver_IdleCarry0012.png: 627708293
+ Pulver_IdleCarry0013.png: -369140916
+ Pulver_IdleCarry0014.png: -1648672951
+ Pulver_IdleCarry0015.png: 781217746
+ Pulver_IdleCarry0016.png: -1316835671
+ Pulver_IdleCarry0017.png: 553545666
+ Pulver_IdleCarry0018.png: -1811419117
+ Pulver_IdleCarry0019.png: -367528577
+ Pulver_IdleCarry0020.png: 252783981
+ Pulver_IdleCarry0021.png: 1735360624
+ Pulver_IdleCarry0022.png: -1554360158
+ Pulver_IdleCarry0023.png: 915046792
+ Pulver_IdleCarry0024.png: -1234734230
+ Pulver_IdleCarry0025.png: -567896609
+ Pulver_IdleCarry0026.png: 1917067138
+ Pulver_IdleCarry0027.png: -1777359789
+ Pulver_IdleCarry0028.png: 893153799
+ Pulver_IdleCarry0029.png: 739368213
+ Pulver_IdleCarry0030.png: -1112765131
+ Pulver_IdleCarry0031.png: 1488230969
+ Pulver_IdleCarry0032.png: -14630350
+ Pulver_IdleCarry0033.png: 911192655
+ Pulver_IdleCarry0034.png: -1585308794
+ Pulver_IdleCarry0035.png: 1472166744
+ Pulver_IdleCarry0036.png: -457718140
+ Pulver_IdleCarry0037.png: 1370648159
+ Pulver_IdleCarry0038.png: -1579023338
+ Pulver_IdleCarry0039.png: 1772680496
+ Pulver_IdleCarry0040.png: 2093122184
+ Pulver_IdleCarry0041.png: -1475582993
+ Pulver_IdleCarry0042.png: -1329098495
+ Pulver_IdleCarry0043.png: -1427201947
+ Pulver_IdleCarry0044.png: -1487224492
+ Pulver_IdleCarry0045.png: -1989040310
+ Pulver_IdleCarry0046.png: 284228675
+ Pulver_IdleCarry0047.png: -1031817689
+ Pulver_IdleCarry0048.png: -851918828
+ mipmapLimitGroupName:
+ pSDRemoveMatte: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_Idle_1.tpsheet b/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_Idle_1.tpsheet
new file mode 100644
index 00000000..f280ab07
--- /dev/null
+++ b/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_Idle_1.tpsheet
@@ -0,0 +1,63 @@
+#
+# Sprite sheet data for Unity.
+#
+# To import these sprites into your Unity project, download "TexturePackerImporter":
+# https://www.codeandweb.com/texturepacker/unity
+#
+# $TexturePacker:SmartUpdate:290029ec252164a6c14b3139b6bde72d:2d30748fb9f9761dd18bb76499b90e29:d95c841c2371b68cfe9b290272f07a37$
+#
+:format=40300
+:texture=Pulver_Carry_Idle_1.png
+:size=2048x2048
+:pivotpoints=enabled
+:borders=disabled
+:alphahandling=ClearTransparentPixels
+
+Pulver_IdleCarry0001.png;1;53;403;658; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0002.png;1;53;403;658; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0003.png;1;53;403;658; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0004.png;1;53;403;658; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0005.png;396;724;403;658; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0006.png;716;1389;403;658; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0007.png;1;53;403;658; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0008.png;1;53;403;658; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0009.png;396;724;403;658; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0010.png;716;1389;403;658; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0011.png;1;53;403;658; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0012.png;1;53;403;658; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0013.png;1;53;403;658; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0014.png;1;53;403;658; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0015.png;1;53;403;658; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0016.png;1;53;403;658; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0017.png;334;1384;380;663; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0018.png;334;1384;380;663; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0019.png;1;1378;331;669; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0020.png;1;1378;331;669; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0021.png;1;713;393;663; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0022.png;1;713;393;663; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0023.png;406;64;395;658; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0024.png;406;64;395;658; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0025.png;406;64;395;658; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0026.png;406;64;395;658; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0027.png;406;64;395;658; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0028.png;406;64;395;658; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0029.png;406;64;395;658; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0030.png;406;64;395;658; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0031.png;1121;1390;398;657; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0032.png;1185;73;398;655; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0033.png;801;730;406;657; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0034.png;801;730;406;657; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0035.png;803;71;380;657; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0036.png;803;71;380;657; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0037.png;1209;739;376;649; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0038.png;1209;739;376;649; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0039.png;1521;1420;410;627; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0040.png;1521;1420;410;627; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0041.png;1521;1420;410;627; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0042.png;1521;1420;410;627; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0043.png;1521;1420;410;627; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0044.png;1587;806;410;612; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0045.png;1587;806;410;612; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0046.png;1587;806;410;612; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0047.png;1587;806;410;612; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0048.png;1587;806;410;612; 0.5;0.5; 0;0;0;0
diff --git a/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_Idle_1.tpsheet.meta b/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_Idle_1.tpsheet.meta
new file mode 100644
index 00000000..8635c821
--- /dev/null
+++ b/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_Idle_1.tpsheet.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 525be7382bcdd574ab20f52015b5033f
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_idle_2.png b/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_idle_2.png
new file mode 100644
index 00000000..7020f70f
Binary files /dev/null and b/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_idle_2.png differ
diff --git a/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_idle_2.png.meta b/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_idle_2.png.meta
new file mode 100644
index 00000000..bd13f720
--- /dev/null
+++ b/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_idle_2.png.meta
@@ -0,0 +1,1490 @@
+fileFormatVersion: 2
+guid: ffd5441cd6cd1514bb85036a3722155a
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 13
+ 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
+ flipGreenChannel: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ vTOnly: 0
+ ignoreMipmapLimit: 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: 2
+ spriteExtrude: 1
+ spriteMeshType: 0
+ 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
+ swizzle: 50462976
+ cookieLightType: 0
+ platformSettings:
+ - serializedVersion: 4
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: iOS
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: Android
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: Standalone
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: WindowsStoreApps
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites:
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0049.png
+ rect:
+ serializedVersion: 2
+ x: 1232
+ y: 1435
+ width: 410
+ height: 612
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 8d05207df40cee945b32001770553450
+ internalID: 2065795169
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0050.png
+ rect:
+ serializedVersion: 2
+ x: 1232
+ y: 1435
+ width: 410
+ height: 612
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: d7b548bf2b72bb64e9cd6b5e2caecf4b
+ internalID: -244092417
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0051.png
+ rect:
+ serializedVersion: 2
+ x: 1232
+ y: 1435
+ width: 410
+ height: 612
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 03cce9a6ee62e8a42826969d50ac92d9
+ internalID: -976241231
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0052.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 197
+ width: 409
+ height: 613
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: b5edec2eacaec8341bd27589cd705d75
+ internalID: -1903430980
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0053.png
+ rect:
+ serializedVersion: 2
+ x: 412
+ y: 197
+ width: 409
+ height: 613
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 7a60081950c20d143b9473c83316688b
+ internalID: 645926626
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0054.png
+ rect:
+ serializedVersion: 2
+ x: 414
+ y: 815
+ width: 409
+ height: 613
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: a5ec527af0267c84bb2cb0a014293b96
+ internalID: 1630934683
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0055.png
+ rect:
+ serializedVersion: 2
+ x: 414
+ y: 815
+ width: 409
+ height: 613
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: fc543893038471146884166461e1c1b3
+ internalID: 1144273867
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0056.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 197
+ width: 409
+ height: 613
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: b32f536160eda96428e98a577e579648
+ internalID: -567827044
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0057.png
+ rect:
+ serializedVersion: 2
+ x: 412
+ y: 197
+ width: 409
+ height: 613
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 6c20a034b06814141bf8e171e2c1134d
+ internalID: 845721246
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0058.png
+ rect:
+ serializedVersion: 2
+ x: 414
+ y: 815
+ width: 409
+ height: 613
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: f7fcc0a710c4bbf47b945be11cd52ea2
+ internalID: -312191336
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0059.png
+ rect:
+ serializedVersion: 2
+ x: 414
+ y: 815
+ width: 409
+ height: 613
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 47a53de30f6d17d48a15d5c2c69fb768
+ internalID: 1216208080
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0060.png
+ rect:
+ serializedVersion: 2
+ x: 414
+ y: 815
+ width: 409
+ height: 613
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: c74e60b9faf1e5e46a16eb711dddc45c
+ internalID: 1463661180
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0061.png
+ rect:
+ serializedVersion: 2
+ x: 414
+ y: 815
+ width: 409
+ height: 613
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 88a987d66fa01174aa5c7760ab490574
+ internalID: 756680070
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0062.png
+ rect:
+ serializedVersion: 2
+ x: 414
+ y: 815
+ width: 409
+ height: 613
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: adfbcf98d1cf5a541a295a726bdaa164
+ internalID: 2126780876
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0063.png
+ rect:
+ serializedVersion: 2
+ x: 414
+ y: 815
+ width: 409
+ height: 613
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 68d75bc6ebb196349a04ddbe4e2da812
+ internalID: 893224993
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0064.png
+ rect:
+ serializedVersion: 2
+ x: 823
+ y: 200
+ width: 407
+ height: 613
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 27b1ff34e06b1364c955c8eae7f018c2
+ internalID: 1475469622
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0065.png
+ rect:
+ serializedVersion: 2
+ x: 823
+ y: 200
+ width: 407
+ height: 613
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 98828031540449d43953a0899c66850a
+ internalID: -1017355826
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0066.png
+ rect:
+ serializedVersion: 2
+ x: 825
+ y: 855
+ width: 404
+ height: 583
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 05d4b4a90befa5c44a80830f86d5f92e
+ internalID: 506446556
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0067.png
+ rect:
+ serializedVersion: 2
+ x: 1644
+ y: 856
+ width: 398
+ height: 583
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 5e0875bc5473637479d33451b9462ec6
+ internalID: -1227054660
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0068.png
+ rect:
+ serializedVersion: 2
+ x: 1232
+ y: 238
+ width: 397
+ height: 584
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 3d36c2d584b9db246893387e2cb6a4de
+ internalID: -160359757
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0069.png
+ rect:
+ serializedVersion: 2
+ x: 1232
+ y: 238
+ width: 397
+ height: 584
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 50f445665c0340f418b165c73ca6048e
+ internalID: 281998706
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0070.png
+ rect:
+ serializedVersion: 2
+ x: 1641
+ y: 250
+ width: 397
+ height: 604
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: b8ff0d6a318dfb543847f2273b87f6eb
+ internalID: -1092225136
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0071.png
+ rect:
+ serializedVersion: 2
+ x: 1641
+ y: 250
+ width: 397
+ height: 604
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 12f60cd4b599dac4b82a7a17540f5a5e
+ internalID: -1877318604
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0072.png
+ rect:
+ serializedVersion: 2
+ x: 1641
+ y: 250
+ width: 397
+ height: 604
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 28207f8855307194986f88468392ba2e
+ internalID: -1170741190
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0073.png
+ rect:
+ serializedVersion: 2
+ x: 1641
+ y: 250
+ width: 397
+ height: 604
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 0b15ef45792789d4f9edf981061fcca9
+ internalID: 1881342644
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0074.png
+ rect:
+ serializedVersion: 2
+ x: 1641
+ y: 250
+ width: 397
+ height: 604
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: f14926c4de4af25428b035528acb494f
+ internalID: -1613727300
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0075.png
+ rect:
+ serializedVersion: 2
+ x: 1641
+ y: 250
+ width: 397
+ height: 604
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 530a47893a07bed4a95a1ce548d2dc7a
+ internalID: -1383902028
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0076.png
+ rect:
+ serializedVersion: 2
+ x: 1641
+ y: 250
+ width: 397
+ height: 604
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 439f97dd09d8c9c439d05f3a0d92ff41
+ internalID: 26894235
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0077.png
+ rect:
+ serializedVersion: 2
+ x: 1641
+ y: 250
+ width: 397
+ height: 604
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 38e7d5dd6eac137459be703bcaadfca0
+ internalID: -1457159852
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0078.png
+ rect:
+ serializedVersion: 2
+ x: 1641
+ y: 250
+ width: 397
+ height: 604
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 4651efff097b6634ca09b0bdf1b918b8
+ internalID: -1183662297
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0079.png
+ rect:
+ serializedVersion: 2
+ x: 1641
+ y: 250
+ width: 397
+ height: 604
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 61a3cf498ab388542ae61ddc87133933
+ internalID: -959850092
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0080.png
+ rect:
+ serializedVersion: 2
+ x: 825
+ y: 1440
+ width: 404
+ height: 607
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: c858639741cd7b14b899e9d7fb0c0676
+ internalID: -5552200
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0081.png
+ rect:
+ serializedVersion: 2
+ x: 825
+ y: 1440
+ width: 404
+ height: 607
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 4121f79c2f58fac4cab7e64a5c34549e
+ internalID: 967244911
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0082.png
+ rect:
+ serializedVersion: 2
+ x: 1644
+ y: 1441
+ width: 402
+ height: 606
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: ea0611d312fffe242ac2af0281f59bc5
+ internalID: -321824755
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0083.png
+ rect:
+ serializedVersion: 2
+ x: 1644
+ y: 1441
+ width: 402
+ height: 606
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 4ea4ff377392f8a47b4c93ec84d52896
+ internalID: -1156824328
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0084.png
+ rect:
+ serializedVersion: 2
+ x: 1232
+ y: 824
+ width: 407
+ height: 609
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: e68d908e08867cc4e8e315691fea71da
+ internalID: -929112159
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0085.png
+ rect:
+ serializedVersion: 2
+ x: 1232
+ y: 824
+ width: 407
+ height: 609
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 28d7de12216facb40816c43ce70cab92
+ internalID: -547361738
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0086.png
+ rect:
+ serializedVersion: 2
+ x: 415
+ y: 1434
+ width: 408
+ height: 613
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 8dd2014087dbc4a409d3ab47c31196be
+ internalID: 127269100
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0087.png
+ rect:
+ serializedVersion: 2
+ x: 415
+ y: 1434
+ width: 408
+ height: 613
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 95759f6eb7f5eaa4eaeb197197c05364
+ internalID: -1243260591
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0088.png
+ rect:
+ serializedVersion: 2
+ x: 415
+ y: 1434
+ width: 408
+ height: 613
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: db8bd11445bdb954482442d389125e56
+ internalID: 395070225
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0089.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 812
+ width: 411
+ height: 616
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: c9f7ca63747edcc4e84f339c6a49e65a
+ internalID: -1669662453
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0090.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 812
+ width: 411
+ height: 616
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 48cb1b108f14ce04e8680625a4ea709b
+ internalID: 257140064
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0091.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 812
+ width: 411
+ height: 616
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: bc9de941e643dd64b868f94d62b32f41
+ internalID: -1109079096
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0092.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 812
+ width: 411
+ height: 616
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 4f497ac08ea3bcc469ad6302b38fd37d
+ internalID: 1996847417
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0093.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 812
+ width: 411
+ height: 616
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 6c848b13e48a8dd4ca1ecff046158279
+ internalID: 1172102552
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0094.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 812
+ width: 411
+ height: 616
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: b1c8c9902d5a8c14486efdd16021c554
+ internalID: -782343089
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0095.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 812
+ width: 411
+ height: 616
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 7e18fa0d5b4ded7478b71d866903f2e8
+ internalID: 534314731
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0096.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 812
+ width: 411
+ height: 616
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: b2f53e86e7056c8428d9fb8a9242a4ec
+ internalID: 2143046330
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0097.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 1430
+ width: 412
+ height: 617
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: ff7770bcb733c6c479a47ab13d7809be
+ internalID: -353140320
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0098.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 1430
+ width: 412
+ height: 617
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 7a340017f975be445a147e63e7b814a2
+ internalID: 190290179
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0099.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 1430
+ width: 412
+ height: 617
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 51f599cdd61a51c45953c80344f67c1f
+ internalID: 844309569
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0100.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 1430
+ width: 412
+ height: 617
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 7b1f220ee1ac8544f9f0b45277871adb
+ internalID: 1611908609
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0101.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 1430
+ width: 412
+ height: 617
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 75a0a8a98ee7b234bae93f2ea2b5c449
+ internalID: 30975414
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0102.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 1430
+ width: 412
+ height: 617
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 11506ba5ec5a0444bbc882393777f592
+ internalID: -584744529
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0103.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 1430
+ width: 412
+ height: 617
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: be7a987e151475c4aaa13b75234f4d60
+ internalID: -1880495826
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0104.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 1430
+ width: 412
+ height: 617
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 62cde36be61db2845b273a79271ffe63
+ internalID: -456349629
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0105.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 1430
+ width: 412
+ height: 617
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 072136e2bc87f804880107ee1c08eac2
+ internalID: -1003744630
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0106.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 1430
+ width: 412
+ height: 617
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 0f49db056c8e0434998ff3c080a13aa9
+ internalID: 1229393203
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ outline: []
+ customData:
+ physicsShape: []
+ bones: []
+ spriteID: 2bd80c36771029442b9b9075aebc362f
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ spriteCustomMetadata:
+ entries: []
+ nameFileIdTable:
+ Pulver_IdleCarry0049.png: 2065795169
+ Pulver_IdleCarry0050.png: -244092417
+ Pulver_IdleCarry0051.png: -976241231
+ Pulver_IdleCarry0052.png: -1903430980
+ Pulver_IdleCarry0053.png: 645926626
+ Pulver_IdleCarry0054.png: 1630934683
+ Pulver_IdleCarry0055.png: 1144273867
+ Pulver_IdleCarry0056.png: -567827044
+ Pulver_IdleCarry0057.png: 845721246
+ Pulver_IdleCarry0058.png: -312191336
+ Pulver_IdleCarry0059.png: 1216208080
+ Pulver_IdleCarry0060.png: 1463661180
+ Pulver_IdleCarry0061.png: 756680070
+ Pulver_IdleCarry0062.png: 2126780876
+ Pulver_IdleCarry0063.png: 893224993
+ Pulver_IdleCarry0064.png: 1475469622
+ Pulver_IdleCarry0065.png: -1017355826
+ Pulver_IdleCarry0066.png: 506446556
+ Pulver_IdleCarry0067.png: -1227054660
+ Pulver_IdleCarry0068.png: -160359757
+ Pulver_IdleCarry0069.png: 281998706
+ Pulver_IdleCarry0070.png: -1092225136
+ Pulver_IdleCarry0071.png: -1877318604
+ Pulver_IdleCarry0072.png: -1170741190
+ Pulver_IdleCarry0073.png: 1881342644
+ Pulver_IdleCarry0074.png: -1613727300
+ Pulver_IdleCarry0075.png: -1383902028
+ Pulver_IdleCarry0076.png: 26894235
+ Pulver_IdleCarry0077.png: -1457159852
+ Pulver_IdleCarry0078.png: -1183662297
+ Pulver_IdleCarry0079.png: -959850092
+ Pulver_IdleCarry0080.png: -5552200
+ Pulver_IdleCarry0081.png: 967244911
+ Pulver_IdleCarry0082.png: -321824755
+ Pulver_IdleCarry0083.png: -1156824328
+ Pulver_IdleCarry0084.png: -929112159
+ Pulver_IdleCarry0085.png: -547361738
+ Pulver_IdleCarry0086.png: 127269100
+ Pulver_IdleCarry0087.png: -1243260591
+ Pulver_IdleCarry0088.png: 395070225
+ Pulver_IdleCarry0089.png: -1669662453
+ Pulver_IdleCarry0090.png: 257140064
+ Pulver_IdleCarry0091.png: -1109079096
+ Pulver_IdleCarry0092.png: 1996847417
+ Pulver_IdleCarry0093.png: 1172102552
+ Pulver_IdleCarry0094.png: -782343089
+ Pulver_IdleCarry0095.png: 534314731
+ Pulver_IdleCarry0096.png: 2143046330
+ Pulver_IdleCarry0097.png: -353140320
+ Pulver_IdleCarry0098.png: 190290179
+ Pulver_IdleCarry0099.png: 844309569
+ Pulver_IdleCarry0100.png: 1611908609
+ Pulver_IdleCarry0101.png: 30975414
+ Pulver_IdleCarry0102.png: -584744529
+ Pulver_IdleCarry0103.png: -1880495826
+ Pulver_IdleCarry0104.png: -456349629
+ Pulver_IdleCarry0105.png: -1003744630
+ Pulver_IdleCarry0106.png: 1229393203
+ mipmapLimitGroupName:
+ pSDRemoveMatte: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_idle_2.tpsheet b/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_idle_2.tpsheet
new file mode 100644
index 00000000..312d535f
--- /dev/null
+++ b/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_idle_2.tpsheet
@@ -0,0 +1,73 @@
+#
+# Sprite sheet data for Unity.
+#
+# To import these sprites into your Unity project, download "TexturePackerImporter":
+# https://www.codeandweb.com/texturepacker/unity
+#
+# $TexturePacker:SmartUpdate:290029ec252164a6c14b3139b6bde72d:2d30748fb9f9761dd18bb76499b90e29:d95c841c2371b68cfe9b290272f07a37$
+#
+:format=40300
+:texture=Pulver_Carry_idle_2.png
+:size=2048x2048
+:pivotpoints=enabled
+:borders=disabled
+:alphahandling=ClearTransparentPixels
+
+Pulver_IdleCarry0049.png;1232;1435;410;612; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0050.png;1232;1435;410;612; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0051.png;1232;1435;410;612; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0052.png;1;197;409;613; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0053.png;412;197;409;613; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0054.png;414;815;409;613; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0055.png;414;815;409;613; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0056.png;1;197;409;613; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0057.png;412;197;409;613; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0058.png;414;815;409;613; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0059.png;414;815;409;613; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0060.png;414;815;409;613; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0061.png;414;815;409;613; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0062.png;414;815;409;613; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0063.png;414;815;409;613; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0064.png;823;200;407;613; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0065.png;823;200;407;613; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0066.png;825;855;404;583; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0067.png;1644;856;398;583; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0068.png;1232;238;397;584; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0069.png;1232;238;397;584; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0070.png;1641;250;397;604; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0071.png;1641;250;397;604; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0072.png;1641;250;397;604; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0073.png;1641;250;397;604; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0074.png;1641;250;397;604; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0075.png;1641;250;397;604; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0076.png;1641;250;397;604; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0077.png;1641;250;397;604; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0078.png;1641;250;397;604; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0079.png;1641;250;397;604; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0080.png;825;1440;404;607; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0081.png;825;1440;404;607; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0082.png;1644;1441;402;606; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0083.png;1644;1441;402;606; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0084.png;1232;824;407;609; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0085.png;1232;824;407;609; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0086.png;415;1434;408;613; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0087.png;415;1434;408;613; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0088.png;415;1434;408;613; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0089.png;1;812;411;616; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0090.png;1;812;411;616; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0091.png;1;812;411;616; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0092.png;1;812;411;616; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0093.png;1;812;411;616; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0094.png;1;812;411;616; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0095.png;1;812;411;616; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0096.png;1;812;411;616; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0097.png;1;1430;412;617; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0098.png;1;1430;412;617; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0099.png;1;1430;412;617; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0100.png;1;1430;412;617; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0101.png;1;1430;412;617; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0102.png;1;1430;412;617; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0103.png;1;1430;412;617; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0104.png;1;1430;412;617; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0105.png;1;1430;412;617; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0106.png;1;1430;412;617; 0.5;0.5; 0;0;0;0
diff --git a/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_idle_2.tpsheet.meta b/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_idle_2.tpsheet.meta
new file mode 100644
index 00000000..1d6a7400
--- /dev/null
+++ b/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_idle_2.tpsheet.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: b7db90931c14d874489a647b246567b3
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_idle_3.png b/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_idle_3.png
new file mode 100644
index 00000000..2e0d3c0c
Binary files /dev/null and b/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_idle_3.png differ
diff --git a/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_idle_3.png.meta b/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_idle_3.png.meta
new file mode 100644
index 00000000..79d6a84b
--- /dev/null
+++ b/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_idle_3.png.meta
@@ -0,0 +1,938 @@
+fileFormatVersion: 2
+guid: 6d61be1317fc6494aacc5d09aab2f56d
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 13
+ 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
+ flipGreenChannel: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ vTOnly: 0
+ ignoreMipmapLimit: 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: 2
+ spriteExtrude: 1
+ spriteMeshType: 0
+ 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
+ swizzle: 50462976
+ cookieLightType: 0
+ platformSettings:
+ - serializedVersion: 4
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: iOS
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: Android
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: Standalone
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: WindowsStoreApps
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites:
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0107.png
+ rect:
+ serializedVersion: 2
+ x: 421
+ y: 1430
+ width: 412
+ height: 617
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: d4ffc782a4efa9a4c9c926f9bb7c8721
+ internalID: -358873564
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0108.png
+ rect:
+ serializedVersion: 2
+ x: 421
+ y: 1430
+ width: 412
+ height: 617
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 950bc45fefe80504790e390247030190
+ internalID: 519686652
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0109.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 190
+ width: 416
+ height: 616
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 603fa04fa7590a04abde44fd1b615a43
+ internalID: -1823572937
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0110.png
+ rect:
+ serializedVersion: 2
+ x: 419
+ y: 191
+ width: 414
+ height: 615
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 88e06b993aadde64da7ac9bfa8de3e48
+ internalID: 387067632
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0111.png
+ rect:
+ serializedVersion: 2
+ x: 1257
+ y: 1438
+ width: 417
+ height: 609
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 1bf2810d3540a5743a721636eb53e5cf
+ internalID: 2084960079
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0112.png
+ rect:
+ serializedVersion: 2
+ x: 1257
+ y: 1438
+ width: 417
+ height: 609
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: f8dcabc1add475144b672ef2b1ddbc8c
+ internalID: -1181431002
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0113.png
+ rect:
+ serializedVersion: 2
+ x: 847
+ y: 819
+ width: 416
+ height: 612
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 2ae52db6e0735404881dcb424f7b9858
+ internalID: -222306104
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0114.png
+ rect:
+ serializedVersion: 2
+ x: 847
+ y: 819
+ width: 416
+ height: 612
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: d311729ca14e76e409e595d648c89293
+ internalID: 1435948879
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0115.png
+ rect:
+ serializedVersion: 2
+ x: 835
+ y: 1433
+ width: 420
+ height: 614
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 50bbe426d3425ee40bf084126f4e8f62
+ internalID: 1928243130
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0116.png
+ rect:
+ serializedVersion: 2
+ x: 835
+ y: 1433
+ width: 420
+ height: 614
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 2f04f31304320284e818ab054a5b9221
+ internalID: 1630816568
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0117.png
+ rect:
+ serializedVersion: 2
+ x: 835
+ y: 1433
+ width: 420
+ height: 614
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 56ea92e3bf435c14fa21fa8a0a888b68
+ internalID: 1259201849
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0118.png
+ rect:
+ serializedVersion: 2
+ x: 835
+ y: 1433
+ width: 420
+ height: 614
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: c0f5a5466e9312b4795419ba4447151a
+ internalID: 1681805221
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0119.png
+ rect:
+ serializedVersion: 2
+ x: 835
+ y: 1433
+ width: 420
+ height: 614
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 36e453d4ca7c23b4bbd21a4e88a5bc98
+ internalID: -523640692
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0120.png
+ rect:
+ serializedVersion: 2
+ x: 835
+ y: 1433
+ width: 420
+ height: 614
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 0625562203abf4a42aa44e3d4b433b0b
+ internalID: -1923060418
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0121.png
+ rect:
+ serializedVersion: 2
+ x: 835
+ y: 1433
+ width: 420
+ height: 614
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 02d94e389542ce84d8fd14b7cdbb98e5
+ internalID: -1648360364
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0122.png
+ rect:
+ serializedVersion: 2
+ x: 835
+ y: 1433
+ width: 420
+ height: 614
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 30ddf1078c4e910489cc7b4e4e2cd4c0
+ internalID: 36059163
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0123.png
+ rect:
+ serializedVersion: 2
+ x: 835
+ y: 1433
+ width: 420
+ height: 614
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 7a68054dced84d8499ce0b0fdb91ec0a
+ internalID: -1576328137
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0124.png
+ rect:
+ serializedVersion: 2
+ x: 835
+ y: 1433
+ width: 420
+ height: 614
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: e7fb1d08b7cdbe64d91809b3a38180a5
+ internalID: -762018258
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0125.png
+ rect:
+ serializedVersion: 2
+ x: 422
+ y: 814
+ width: 423
+ height: 614
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 2ab6ba8483a956b43ae7cad473e0438a
+ internalID: 721947090
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0126.png
+ rect:
+ serializedVersion: 2
+ x: 422
+ y: 814
+ width: 423
+ height: 614
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: d008c5f4347b89d4eb3784e9ad4bad21
+ internalID: 237484534
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0127.png
+ rect:
+ serializedVersion: 2
+ x: 835
+ y: 198
+ width: 420
+ height: 614
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 050d617e1337f65468a7c5042a2ddf91
+ internalID: -134781043
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0128.png
+ rect:
+ serializedVersion: 2
+ x: 835
+ y: 198
+ width: 420
+ height: 614
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: f6fa65881c38de24082a0f5f0c8727c9
+ internalID: 1283392370
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0129.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 808
+ width: 419
+ height: 618
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 6aeebfd18023742488f0c58b641565d9
+ internalID: -558735320
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0130.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 808
+ width: 419
+ height: 618
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: ac3222a84d6c18244a26b5e7384896ae
+ internalID: -2101028495
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0131.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 1428
+ width: 418
+ height: 619
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: ab49882ecb0702642a3c6162e40f0f6f
+ internalID: 1171912842
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0132.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 1428
+ width: 418
+ height: 619
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: cf9e2b696f36b7b4583ad36cc4ff4e62
+ internalID: -1464771129
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0133.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 1428
+ width: 418
+ height: 619
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: b3493bed9f649164189e947e8ae33db0
+ internalID: -1757024981
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0134.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 1428
+ width: 418
+ height: 619
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: d4b755669c984524b96b5c63ba0a8a03
+ internalID: 172243540
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0135.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 1428
+ width: 418
+ height: 619
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: d55a305c800ad794b9f02b5eb725233d
+ internalID: 705039189
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0136.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 1428
+ width: 418
+ height: 619
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: d778fc8ff641e2c4c86cc0ddd056d5c8
+ internalID: 1056435463
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0137.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 1428
+ width: 418
+ height: 619
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 81b6a4fa2359eb943a2c7114a5b848d4
+ internalID: 1414656631
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0138.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 1428
+ width: 418
+ height: 619
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 17c8148af5c8f3240bb35aca1d6647b1
+ internalID: -175734509
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0139.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 1428
+ width: 418
+ height: 619
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 5297d173f079c9b40b5f810718b69a68
+ internalID: 1896298351
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_IdleCarry0140.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 1428
+ width: 418
+ height: 619
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 9f88d2e80f135fb42bbd3255aa568390
+ internalID: 1799229357
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ outline: []
+ customData:
+ physicsShape: []
+ bones: []
+ spriteID: c7c879548807b334da7ded8a987a88ad
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ spriteCustomMetadata:
+ entries: []
+ nameFileIdTable:
+ Pulver_IdleCarry0107.png: -358873564
+ Pulver_IdleCarry0108.png: 519686652
+ Pulver_IdleCarry0109.png: -1823572937
+ Pulver_IdleCarry0110.png: 387067632
+ Pulver_IdleCarry0111.png: 2084960079
+ Pulver_IdleCarry0112.png: -1181431002
+ Pulver_IdleCarry0113.png: -222306104
+ Pulver_IdleCarry0114.png: 1435948879
+ Pulver_IdleCarry0115.png: 1928243130
+ Pulver_IdleCarry0116.png: 1630816568
+ Pulver_IdleCarry0117.png: 1259201849
+ Pulver_IdleCarry0118.png: 1681805221
+ Pulver_IdleCarry0119.png: -523640692
+ Pulver_IdleCarry0120.png: -1923060418
+ Pulver_IdleCarry0121.png: -1648360364
+ Pulver_IdleCarry0122.png: 36059163
+ Pulver_IdleCarry0123.png: -1576328137
+ Pulver_IdleCarry0124.png: -762018258
+ Pulver_IdleCarry0125.png: 721947090
+ Pulver_IdleCarry0126.png: 237484534
+ Pulver_IdleCarry0127.png: -134781043
+ Pulver_IdleCarry0128.png: 1283392370
+ Pulver_IdleCarry0129.png: -558735320
+ Pulver_IdleCarry0130.png: -2101028495
+ Pulver_IdleCarry0131.png: 1171912842
+ Pulver_IdleCarry0132.png: -1464771129
+ Pulver_IdleCarry0133.png: -1757024981
+ Pulver_IdleCarry0134.png: 172243540
+ Pulver_IdleCarry0135.png: 705039189
+ Pulver_IdleCarry0136.png: 1056435463
+ Pulver_IdleCarry0137.png: 1414656631
+ Pulver_IdleCarry0138.png: -175734509
+ Pulver_IdleCarry0139.png: 1896298351
+ Pulver_IdleCarry0140.png: 1799229357
+ mipmapLimitGroupName:
+ pSDRemoveMatte: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_idle_3.tpsheet b/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_idle_3.tpsheet
new file mode 100644
index 00000000..1758877a
--- /dev/null
+++ b/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_idle_3.tpsheet
@@ -0,0 +1,49 @@
+#
+# Sprite sheet data for Unity.
+#
+# To import these sprites into your Unity project, download "TexturePackerImporter":
+# https://www.codeandweb.com/texturepacker/unity
+#
+# $TexturePacker:SmartUpdate:290029ec252164a6c14b3139b6bde72d:2d30748fb9f9761dd18bb76499b90e29:d95c841c2371b68cfe9b290272f07a37$
+#
+:format=40300
+:texture=Pulver_Carry_idle_3.png
+:size=2048x2048
+:pivotpoints=enabled
+:borders=disabled
+:alphahandling=ClearTransparentPixels
+
+Pulver_IdleCarry0107.png;421;1430;412;617; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0108.png;421;1430;412;617; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0109.png;1;190;416;616; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0110.png;419;191;414;615; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0111.png;1257;1438;417;609; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0112.png;1257;1438;417;609; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0113.png;847;819;416;612; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0114.png;847;819;416;612; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0115.png;835;1433;420;614; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0116.png;835;1433;420;614; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0117.png;835;1433;420;614; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0118.png;835;1433;420;614; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0119.png;835;1433;420;614; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0120.png;835;1433;420;614; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0121.png;835;1433;420;614; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0122.png;835;1433;420;614; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0123.png;835;1433;420;614; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0124.png;835;1433;420;614; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0125.png;422;814;423;614; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0126.png;422;814;423;614; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0127.png;835;198;420;614; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0128.png;835;198;420;614; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0129.png;1;808;419;618; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0130.png;1;808;419;618; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0131.png;1;1428;418;619; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0132.png;1;1428;418;619; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0133.png;1;1428;418;619; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0134.png;1;1428;418;619; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0135.png;1;1428;418;619; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0136.png;1;1428;418;619; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0137.png;1;1428;418;619; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0138.png;1;1428;418;619; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0139.png;1;1428;418;619; 0.5;0.5; 0;0;0;0
+Pulver_IdleCarry0140.png;1;1428;418;619; 0.5;0.5; 0;0;0;0
diff --git a/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_idle_3.tpsheet.meta b/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_idle_3.tpsheet.meta
new file mode 100644
index 00000000..f1eb2ef7
--- /dev/null
+++ b/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_idle_3.tpsheet.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: d4e4308ed60e0ce47946b737cfac2ff9
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Combine_1.png b/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Combine_1.png
new file mode 100644
index 00000000..60f7efd4
Binary files /dev/null and b/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Combine_1.png differ
diff --git a/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Combine_1.png.meta b/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Combine_1.png.meta
new file mode 100644
index 00000000..da3d5ef3
--- /dev/null
+++ b/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Combine_1.png.meta
@@ -0,0 +1,1444 @@
+fileFormatVersion: 2
+guid: c88473e983731e34ab9b788192786c8f
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 13
+ 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
+ flipGreenChannel: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ vTOnly: 0
+ ignoreMipmapLimit: 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: 2
+ spriteExtrude: 1
+ spriteMeshType: 0
+ 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
+ swizzle: 50462976
+ cookieLightType: 0
+ platformSettings:
+ - serializedVersion: 4
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: iOS
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: Android
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: Standalone
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: WindowsStoreApps
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites:
+ - serializedVersion: 2
+ name: Pulver_Idle0128.png
+ rect:
+ serializedVersion: 2
+ x: 421
+ y: 1439
+ width: 426
+ height: 608
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 2bd59e2bdb0f5724e86250c1169faf40
+ internalID: 263105632
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0129.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 1430
+ width: 418
+ height: 617
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: d6482b6e7f812244d98cc5ebee5eb16f
+ internalID: -1812988591
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0130.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 1430
+ width: 418
+ height: 617
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 73cce47e0a0d47b48bb8bf822f643c8a
+ internalID: -1090178663
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0131.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 813
+ width: 422
+ height: 615
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: eceb6ebff64d5764a967bd8c34df6b79
+ internalID: 435788048
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0132.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 813
+ width: 422
+ height: 615
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 83c13b2d961ee934e8d3702fd84a449a
+ internalID: 1131685978
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0133.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 209
+ width: 470
+ height: 602
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: ce0c52d059f68ec42baa1ecd4712ddd4
+ internalID: 1731845327
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0134.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 209
+ width: 470
+ height: 602
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: bcc1e9a2fbc5ccd47b02391f8067e312
+ internalID: 1607961555
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0135.png
+ rect:
+ serializedVersion: 2
+ x: 849
+ y: 1445
+ width: 431
+ height: 602
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 34aa79e3132f2034ab792c6ae9d12790
+ internalID: -2004317814
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0136.png
+ rect:
+ serializedVersion: 2
+ x: 849
+ y: 1445
+ width: 431
+ height: 602
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 55347c0441147e047bc027ac84ab4e4c
+ internalID: -1112803850
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0137.png
+ rect:
+ serializedVersion: 2
+ x: 1287
+ y: 841
+ width: 376
+ height: 602
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 00c8c3d35cb95d5478a72ce991718924
+ internalID: 1365610583
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0138.png
+ rect:
+ serializedVersion: 2
+ x: 1287
+ y: 841
+ width: 376
+ height: 602
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 15f240ec1872a8143a42e9579ad34107
+ internalID: 532678314
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0139.png
+ rect:
+ serializedVersion: 2
+ x: 872
+ y: 841
+ width: 413
+ height: 602
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 77af052ac51026c42a908cc68bf835d0
+ internalID: -2121275635
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0140.png
+ rect:
+ serializedVersion: 2
+ x: 872
+ y: 841
+ width: 413
+ height: 602
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: c82f6c299f28f94479d2f0a8d7228f20
+ internalID: -627404477
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0141.png
+ rect:
+ serializedVersion: 2
+ x: 1282
+ y: 1445
+ width: 404
+ height: 602
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: dc44c517edd803244a1412cd4190372e
+ internalID: 266738615
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0142.png
+ rect:
+ serializedVersion: 2
+ x: 1282
+ y: 1445
+ width: 404
+ height: 602
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 4234fe5e7f0d1244ead2eff0a82af64c
+ internalID: 1949553887
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0143.png
+ rect:
+ serializedVersion: 2
+ x: 473
+ y: 231
+ width: 429
+ height: 602
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 415c81ae3df9e424fac150da6993c3b3
+ internalID: 838312546
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0144.png
+ rect:
+ serializedVersion: 2
+ x: 473
+ y: 231
+ width: 429
+ height: 602
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 6804d829b6b614a4987ec14de47f0c93
+ internalID: -1672482298
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0145.png
+ rect:
+ serializedVersion: 2
+ x: 904
+ y: 237
+ width: 400
+ height: 602
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 0a5be9cc4dcedbb4ab3ca4b2c1e6ddda
+ internalID: 1942478426
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0146.png
+ rect:
+ serializedVersion: 2
+ x: 904
+ y: 237
+ width: 400
+ height: 602
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: a27a135a151633040b16ba163d61e8e5
+ internalID: -1711440152
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0147.png
+ rect:
+ serializedVersion: 2
+ x: 425
+ y: 835
+ width: 445
+ height: 602
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 35cb4e9390350fb41810a0fd55b6b930
+ internalID: 149110574
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0148.png
+ rect:
+ serializedVersion: 2
+ x: 425
+ y: 835
+ width: 445
+ height: 602
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 59bb7a4d0b57c094aacbe74f9a3be04a
+ internalID: 707155314
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0149.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 209
+ width: 470
+ height: 602
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: b40fc9641d185c9468c6e50d588f0026
+ internalID: 1633370117
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0150.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 209
+ width: 470
+ height: 602
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 70b684a2b7984aa4488f37d4b934e080
+ internalID: -1725739569
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0151.png
+ rect:
+ serializedVersion: 2
+ x: 849
+ y: 1445
+ width: 431
+ height: 602
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 6b918505982189b4ebe18bb7728f15a5
+ internalID: -1993146538
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0152.png
+ rect:
+ serializedVersion: 2
+ x: 849
+ y: 1445
+ width: 431
+ height: 602
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 46ce82e12f498974bbe98e52fe4079d6
+ internalID: -1126419074
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0153.png
+ rect:
+ serializedVersion: 2
+ x: 1287
+ y: 841
+ width: 376
+ height: 602
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 530f0c81d3b43f24b9811d0327ceab6c
+ internalID: -155569751
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0154.png
+ rect:
+ serializedVersion: 2
+ x: 1287
+ y: 841
+ width: 376
+ height: 602
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 88670726c37785c4bb413ff79a41d8c4
+ internalID: -1837712550
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0155.png
+ rect:
+ serializedVersion: 2
+ x: 872
+ y: 841
+ width: 413
+ height: 602
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: b70ffc5ef6d40ad46b6120de4ee4bac2
+ internalID: -139197686
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0156.png
+ rect:
+ serializedVersion: 2
+ x: 872
+ y: 841
+ width: 413
+ height: 602
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 3f817eaf108a8f74fbefbf7884efebeb
+ internalID: -978546395
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0157.png
+ rect:
+ serializedVersion: 2
+ x: 1282
+ y: 1445
+ width: 404
+ height: 602
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: a620b8a2500ffee45b79cc73757fc1f7
+ internalID: 404084961
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0158.png
+ rect:
+ serializedVersion: 2
+ x: 1282
+ y: 1445
+ width: 404
+ height: 602
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 0fbc170eedcb96d408a14d2a656b8ae5
+ internalID: -807765816
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0159.png
+ rect:
+ serializedVersion: 2
+ x: 473
+ y: 231
+ width: 429
+ height: 602
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 8be33a7b4b1db79428be9c27c1696f69
+ internalID: -605922950
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0160.png
+ rect:
+ serializedVersion: 2
+ x: 473
+ y: 231
+ width: 429
+ height: 602
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 4870fddf74155b346ab83fa9cd6f08ca
+ internalID: 2001239777
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0161.png
+ rect:
+ serializedVersion: 2
+ x: 904
+ y: 237
+ width: 400
+ height: 602
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 6fbdcac8c11522246aa50ad789871c7c
+ internalID: 1655593012
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0162.png
+ rect:
+ serializedVersion: 2
+ x: 904
+ y: 237
+ width: 400
+ height: 602
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: cf2e716d88239d344a81fb65b49d5703
+ internalID: -1738512165
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0163.png
+ rect:
+ serializedVersion: 2
+ x: 425
+ y: 835
+ width: 445
+ height: 602
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: a247cfbcea710184ca5283a6e74e4f8f
+ internalID: -1137739122
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0164.png
+ rect:
+ serializedVersion: 2
+ x: 425
+ y: 835
+ width: 445
+ height: 602
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 0b318d50c1c319149b571a93f3e106bf
+ internalID: 1285172798
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0165.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 209
+ width: 470
+ height: 602
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 3970386bc5fba47449f18e27dbdfcecd
+ internalID: -1896649918
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0166.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 209
+ width: 470
+ height: 602
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: f5ec6470d9c608b4a83703424caa50a5
+ internalID: 1806292744
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0167.png
+ rect:
+ serializedVersion: 2
+ x: 849
+ y: 1445
+ width: 431
+ height: 602
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: ef3e900e7c78227458f5aba38b45c294
+ internalID: -1160886992
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0168.png
+ rect:
+ serializedVersion: 2
+ x: 849
+ y: 1445
+ width: 431
+ height: 602
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: f0f969612106e2d4186ddf096e7d390c
+ internalID: 496162698
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0169.png
+ rect:
+ serializedVersion: 2
+ x: 1287
+ y: 841
+ width: 376
+ height: 602
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 45933551f0e82ff4181c1452a13b23f4
+ internalID: -153119636
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0170.png
+ rect:
+ serializedVersion: 2
+ x: 1287
+ y: 841
+ width: 376
+ height: 602
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: ae715e668948e4f41a18180db8ab4289
+ internalID: -982091652
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0171.png
+ rect:
+ serializedVersion: 2
+ x: 872
+ y: 841
+ width: 413
+ height: 602
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 0d6771b1afa77ab4e8c8a1b1afd069a0
+ internalID: -470044154
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0172.png
+ rect:
+ serializedVersion: 2
+ x: 872
+ y: 841
+ width: 413
+ height: 602
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: d73f2768c29d7ef4cab04df3e2a51051
+ internalID: -973132521
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0173.png
+ rect:
+ serializedVersion: 2
+ x: 1282
+ y: 1445
+ width: 404
+ height: 602
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: e9655d3fe90238d4ca7e7ed99113f658
+ internalID: 633286941
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0174.png
+ rect:
+ serializedVersion: 2
+ x: 1282
+ y: 1445
+ width: 404
+ height: 602
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 7ff53c76e4d50c34aa4a4fd3ffb60d2e
+ internalID: -1891868464
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0175.png
+ rect:
+ serializedVersion: 2
+ x: 473
+ y: 231
+ width: 429
+ height: 602
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 779867dc0f009674590ef103b58abc96
+ internalID: -1689168775
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0176.png
+ rect:
+ serializedVersion: 2
+ x: 473
+ y: 231
+ width: 429
+ height: 602
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: bbed107ecb1413b4aa4d0c7c6e8f7464
+ internalID: -55477105
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0177.png
+ rect:
+ serializedVersion: 2
+ x: 904
+ y: 237
+ width: 400
+ height: 602
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 74bcade15e28824428f5a5f9114fb3cd
+ internalID: -1987357179
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0178.png
+ rect:
+ serializedVersion: 2
+ x: 904
+ y: 237
+ width: 400
+ height: 602
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 29d87d15451042b42b78e485c5bbd457
+ internalID: 589807064
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0179.png
+ rect:
+ serializedVersion: 2
+ x: 425
+ y: 835
+ width: 445
+ height: 602
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 04aabee3859f7df458fcf3e642dd5984
+ internalID: 1949537853
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0180.png
+ rect:
+ serializedVersion: 2
+ x: 425
+ y: 835
+ width: 445
+ height: 602
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 8d02a342ba3cb5c48bf9f2d359b61fab
+ internalID: 127442646
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0181.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 209
+ width: 470
+ height: 602
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 6e1c1b21c07d5a943a0f1e4766aabe48
+ internalID: -1098328029
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0182.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 209
+ width: 470
+ height: 602
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 3b01b7b3d29331f49ab4eef878929eaf
+ internalID: 1429341976
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0183.png
+ rect:
+ serializedVersion: 2
+ x: 849
+ y: 1445
+ width: 431
+ height: 602
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 847c2f8ddecf6724d9ad53250a248233
+ internalID: 239290956
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ outline: []
+ customData:
+ physicsShape: []
+ bones: []
+ spriteID: 8e252107840a03547a270f4e70e98697
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ spriteCustomMetadata:
+ entries: []
+ nameFileIdTable:
+ Pulver_Idle0128.png: 263105632
+ Pulver_Idle0129.png: -1812988591
+ Pulver_Idle0130.png: -1090178663
+ Pulver_Idle0131.png: 435788048
+ Pulver_Idle0132.png: 1131685978
+ Pulver_Idle0133.png: 1731845327
+ Pulver_Idle0134.png: 1607961555
+ Pulver_Idle0135.png: -2004317814
+ Pulver_Idle0136.png: -1112803850
+ Pulver_Idle0137.png: 1365610583
+ Pulver_Idle0138.png: 532678314
+ Pulver_Idle0139.png: -2121275635
+ Pulver_Idle0140.png: -627404477
+ Pulver_Idle0141.png: 266738615
+ Pulver_Idle0142.png: 1949553887
+ Pulver_Idle0143.png: 838312546
+ Pulver_Idle0144.png: -1672482298
+ Pulver_Idle0145.png: 1942478426
+ Pulver_Idle0146.png: -1711440152
+ Pulver_Idle0147.png: 149110574
+ Pulver_Idle0148.png: 707155314
+ Pulver_Idle0149.png: 1633370117
+ Pulver_Idle0150.png: -1725739569
+ Pulver_Idle0151.png: -1993146538
+ Pulver_Idle0152.png: -1126419074
+ Pulver_Idle0153.png: -155569751
+ Pulver_Idle0154.png: -1837712550
+ Pulver_Idle0155.png: -139197686
+ Pulver_Idle0156.png: -978546395
+ Pulver_Idle0157.png: 404084961
+ Pulver_Idle0158.png: -807765816
+ Pulver_Idle0159.png: -605922950
+ Pulver_Idle0160.png: 2001239777
+ Pulver_Idle0161.png: 1655593012
+ Pulver_Idle0162.png: -1738512165
+ Pulver_Idle0163.png: -1137739122
+ Pulver_Idle0164.png: 1285172798
+ Pulver_Idle0165.png: -1896649918
+ Pulver_Idle0166.png: 1806292744
+ Pulver_Idle0167.png: -1160886992
+ Pulver_Idle0168.png: 496162698
+ Pulver_Idle0169.png: -153119636
+ Pulver_Idle0170.png: -982091652
+ Pulver_Idle0171.png: -470044154
+ Pulver_Idle0172.png: -973132521
+ Pulver_Idle0173.png: 633286941
+ Pulver_Idle0174.png: -1891868464
+ Pulver_Idle0175.png: -1689168775
+ Pulver_Idle0176.png: -55477105
+ Pulver_Idle0177.png: -1987357179
+ Pulver_Idle0178.png: 589807064
+ Pulver_Idle0179.png: 1949537853
+ Pulver_Idle0180.png: 127442646
+ Pulver_Idle0181.png: -1098328029
+ Pulver_Idle0182.png: 1429341976
+ Pulver_Idle0183.png: 239290956
+ mipmapLimitGroupName:
+ pSDRemoveMatte: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Combine_1.tpsheet b/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Combine_1.tpsheet
new file mode 100644
index 00000000..852a0928
--- /dev/null
+++ b/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Combine_1.tpsheet
@@ -0,0 +1,71 @@
+#
+# Sprite sheet data for Unity.
+#
+# To import these sprites into your Unity project, download "TexturePackerImporter":
+# https://www.codeandweb.com/texturepacker/unity
+#
+# $TexturePacker:SmartUpdate:2d4fcb0ba15b6167f26aba05bf4de3cb:7e8abc83e4dca3dfe926c36685139e75:8d30d05efaea63fa83cead4dd3814bff$
+#
+:format=40300
+:texture=Pulver_Combine_1.png
+:size=2048x2048
+:pivotpoints=enabled
+:borders=disabled
+:alphahandling=ClearTransparentPixels
+
+Pulver_Idle0128.png;421;1439;426;608; 0.5;0.5; 0;0;0;0
+Pulver_Idle0129.png;1;1430;418;617; 0.5;0.5; 0;0;0;0
+Pulver_Idle0130.png;1;1430;418;617; 0.5;0.5; 0;0;0;0
+Pulver_Idle0131.png;1;813;422;615; 0.5;0.5; 0;0;0;0
+Pulver_Idle0132.png;1;813;422;615; 0.5;0.5; 0;0;0;0
+Pulver_Idle0133.png;1;209;470;602; 0.5;0.5; 0;0;0;0
+Pulver_Idle0134.png;1;209;470;602; 0.5;0.5; 0;0;0;0
+Pulver_Idle0135.png;849;1445;431;602; 0.5;0.5; 0;0;0;0
+Pulver_Idle0136.png;849;1445;431;602; 0.5;0.5; 0;0;0;0
+Pulver_Idle0137.png;1287;841;376;602; 0.5;0.5; 0;0;0;0
+Pulver_Idle0138.png;1287;841;376;602; 0.5;0.5; 0;0;0;0
+Pulver_Idle0139.png;872;841;413;602; 0.5;0.5; 0;0;0;0
+Pulver_Idle0140.png;872;841;413;602; 0.5;0.5; 0;0;0;0
+Pulver_Idle0141.png;1282;1445;404;602; 0.5;0.5; 0;0;0;0
+Pulver_Idle0142.png;1282;1445;404;602; 0.5;0.5; 0;0;0;0
+Pulver_Idle0143.png;473;231;429;602; 0.5;0.5; 0;0;0;0
+Pulver_Idle0144.png;473;231;429;602; 0.5;0.5; 0;0;0;0
+Pulver_Idle0145.png;904;237;400;602; 0.5;0.5; 0;0;0;0
+Pulver_Idle0146.png;904;237;400;602; 0.5;0.5; 0;0;0;0
+Pulver_Idle0147.png;425;835;445;602; 0.5;0.5; 0;0;0;0
+Pulver_Idle0148.png;425;835;445;602; 0.5;0.5; 0;0;0;0
+Pulver_Idle0149.png;1;209;470;602; 0.5;0.5; 0;0;0;0
+Pulver_Idle0150.png;1;209;470;602; 0.5;0.5; 0;0;0;0
+Pulver_Idle0151.png;849;1445;431;602; 0.5;0.5; 0;0;0;0
+Pulver_Idle0152.png;849;1445;431;602; 0.5;0.5; 0;0;0;0
+Pulver_Idle0153.png;1287;841;376;602; 0.5;0.5; 0;0;0;0
+Pulver_Idle0154.png;1287;841;376;602; 0.5;0.5; 0;0;0;0
+Pulver_Idle0155.png;872;841;413;602; 0.5;0.5; 0;0;0;0
+Pulver_Idle0156.png;872;841;413;602; 0.5;0.5; 0;0;0;0
+Pulver_Idle0157.png;1282;1445;404;602; 0.5;0.5; 0;0;0;0
+Pulver_Idle0158.png;1282;1445;404;602; 0.5;0.5; 0;0;0;0
+Pulver_Idle0159.png;473;231;429;602; 0.5;0.5; 0;0;0;0
+Pulver_Idle0160.png;473;231;429;602; 0.5;0.5; 0;0;0;0
+Pulver_Idle0161.png;904;237;400;602; 0.5;0.5; 0;0;0;0
+Pulver_Idle0162.png;904;237;400;602; 0.5;0.5; 0;0;0;0
+Pulver_Idle0163.png;425;835;445;602; 0.5;0.5; 0;0;0;0
+Pulver_Idle0164.png;425;835;445;602; 0.5;0.5; 0;0;0;0
+Pulver_Idle0165.png;1;209;470;602; 0.5;0.5; 0;0;0;0
+Pulver_Idle0166.png;1;209;470;602; 0.5;0.5; 0;0;0;0
+Pulver_Idle0167.png;849;1445;431;602; 0.5;0.5; 0;0;0;0
+Pulver_Idle0168.png;849;1445;431;602; 0.5;0.5; 0;0;0;0
+Pulver_Idle0169.png;1287;841;376;602; 0.5;0.5; 0;0;0;0
+Pulver_Idle0170.png;1287;841;376;602; 0.5;0.5; 0;0;0;0
+Pulver_Idle0171.png;872;841;413;602; 0.5;0.5; 0;0;0;0
+Pulver_Idle0172.png;872;841;413;602; 0.5;0.5; 0;0;0;0
+Pulver_Idle0173.png;1282;1445;404;602; 0.5;0.5; 0;0;0;0
+Pulver_Idle0174.png;1282;1445;404;602; 0.5;0.5; 0;0;0;0
+Pulver_Idle0175.png;473;231;429;602; 0.5;0.5; 0;0;0;0
+Pulver_Idle0176.png;473;231;429;602; 0.5;0.5; 0;0;0;0
+Pulver_Idle0177.png;904;237;400;602; 0.5;0.5; 0;0;0;0
+Pulver_Idle0178.png;904;237;400;602; 0.5;0.5; 0;0;0;0
+Pulver_Idle0179.png;425;835;445;602; 0.5;0.5; 0;0;0;0
+Pulver_Idle0180.png;425;835;445;602; 0.5;0.5; 0;0;0;0
+Pulver_Idle0181.png;1;209;470;602; 0.5;0.5; 0;0;0;0
+Pulver_Idle0182.png;1;209;470;602; 0.5;0.5; 0;0;0;0
+Pulver_Idle0183.png;849;1445;431;602; 0.5;0.5; 0;0;0;0
diff --git a/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Combine_1.tpsheet.meta b/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Combine_1.tpsheet.meta
new file mode 100644
index 00000000..755faccd
--- /dev/null
+++ b/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Combine_1.tpsheet.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: a1ea1839da4ab174fa3c33c93557bbb7
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Combine_2.png b/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Combine_2.png
new file mode 100644
index 00000000..2ad6c9ab
Binary files /dev/null and b/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Combine_2.png differ
diff --git a/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Combine_2.png.meta b/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Combine_2.png.meta
new file mode 100644
index 00000000..8178bbe8
--- /dev/null
+++ b/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Combine_2.png.meta
@@ -0,0 +1,524 @@
+fileFormatVersion: 2
+guid: 9a28c23c27c7fb345a5a588d28dd3997
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 13
+ 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
+ flipGreenChannel: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ vTOnly: 0
+ ignoreMipmapLimit: 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: 2
+ spriteExtrude: 1
+ spriteMeshType: 0
+ 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
+ swizzle: 50462976
+ cookieLightType: 0
+ platformSettings:
+ - serializedVersion: 4
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: iOS
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: Android
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: Standalone
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: WindowsStoreApps
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites:
+ - serializedVersion: 2
+ name: Pulver_Idle0184.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 796
+ width: 722
+ height: 623
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 28f20c8358bb61848af5616b8c5b5820
+ internalID: -1528274889
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0185.png
+ rect:
+ serializedVersion: 2
+ x: 748
+ y: 828
+ width: 737
+ height: 615
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 732aaf94bd045ce49882d191cdba2468
+ internalID: -1929627303
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0186.png
+ rect:
+ serializedVersion: 2
+ x: 748
+ y: 828
+ width: 737
+ height: 615
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: fc9c28a4216ed664b87e6cdc6a1fe6f8
+ internalID: 1523615096
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0187.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 1421
+ width: 745
+ height: 626
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: d0c007b9320d8404f95d0002e5ad3c93
+ internalID: 1799079079
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0188.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 1421
+ width: 745
+ height: 626
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: a46a6de8baab96c46b3d297945537c6a
+ internalID: -1038491181
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0189.png
+ rect:
+ serializedVersion: 2
+ x: 748
+ y: 1445
+ width: 738
+ height: 602
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: a2c98ddf0a130c443a7d8648f7ab3a66
+ internalID: 1206872090
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0190.png
+ rect:
+ serializedVersion: 2
+ x: 748
+ y: 1445
+ width: 738
+ height: 602
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: d0c4c6530011dcf478b4000007730f47
+ internalID: 1820647834
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0191.png
+ rect:
+ serializedVersion: 2
+ x: 1488
+ y: 1445
+ width: 431
+ height: 602
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 34017d3db92f30e4794ef87b84eb1ccb
+ internalID: 2010811095
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0192.png
+ rect:
+ serializedVersion: 2
+ x: 1488
+ y: 1445
+ width: 431
+ height: 602
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: b519b5bb0f17f2340a7e55c6126020b7
+ internalID: -1103412090
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0193.png
+ rect:
+ serializedVersion: 2
+ x: 1487
+ y: 231
+ width: 400
+ height: 602
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 20b8a615f87fd9444a53bc3018747df5
+ internalID: -2117110224
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0194.png
+ rect:
+ serializedVersion: 2
+ x: 1487
+ y: 231
+ width: 400
+ height: 602
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 68c8ec6ec22895944bc9de47a25057b0
+ internalID: 361146204
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0195.png
+ rect:
+ serializedVersion: 2
+ x: 376
+ y: 179
+ width: 377
+ height: 615
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: e55e4acc75fe66c408d0b40c6048aa2c
+ internalID: -2065035201
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0196.png
+ rect:
+ serializedVersion: 2
+ x: 376
+ y: 179
+ width: 377
+ height: 615
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: c3f1a914098fffd4390a945c943083a0
+ internalID: -832214342
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0197.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 177
+ width: 373
+ height: 617
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 42d3fa71cbe382745b17176e859a8f72
+ internalID: 1510424321
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0198.png
+ rect:
+ serializedVersion: 2
+ x: 1
+ y: 177
+ width: 373
+ height: 617
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 9d4690f1a18c89c42be1d7da27734c31
+ internalID: 1613224031
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Pulver_Idle0199.png
+ rect:
+ serializedVersion: 2
+ x: 1487
+ y: 835
+ width: 426
+ height: 608
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 2e86c50274fbbbf47bff7a86b359abdb
+ internalID: 1882383981
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ outline: []
+ customData:
+ physicsShape: []
+ bones: []
+ spriteID: f6d803085a22b9c4cad10dfb1b8e2bf3
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ spriteCustomMetadata:
+ entries: []
+ nameFileIdTable:
+ Pulver_Idle0184.png: -1528274889
+ Pulver_Idle0185.png: -1929627303
+ Pulver_Idle0186.png: 1523615096
+ Pulver_Idle0187.png: 1799079079
+ Pulver_Idle0188.png: -1038491181
+ Pulver_Idle0189.png: 1206872090
+ Pulver_Idle0190.png: 1820647834
+ Pulver_Idle0191.png: 2010811095
+ Pulver_Idle0192.png: -1103412090
+ Pulver_Idle0193.png: -2117110224
+ Pulver_Idle0194.png: 361146204
+ Pulver_Idle0195.png: -2065035201
+ Pulver_Idle0196.png: -832214342
+ Pulver_Idle0197.png: 1510424321
+ Pulver_Idle0198.png: 1613224031
+ Pulver_Idle0199.png: 1882383981
+ mipmapLimitGroupName:
+ pSDRemoveMatte: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Combine_2.tpsheet b/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Combine_2.tpsheet
new file mode 100644
index 00000000..77a9831e
--- /dev/null
+++ b/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Combine_2.tpsheet
@@ -0,0 +1,31 @@
+#
+# Sprite sheet data for Unity.
+#
+# To import these sprites into your Unity project, download "TexturePackerImporter":
+# https://www.codeandweb.com/texturepacker/unity
+#
+# $TexturePacker:SmartUpdate:2d4fcb0ba15b6167f26aba05bf4de3cb:7e8abc83e4dca3dfe926c36685139e75:8d30d05efaea63fa83cead4dd3814bff$
+#
+:format=40300
+:texture=Pulver_Combine_2.png
+:size=2048x2048
+:pivotpoints=enabled
+:borders=disabled
+:alphahandling=ClearTransparentPixels
+
+Pulver_Idle0184.png;1;796;722;623; 0.5;0.5; 0;0;0;0
+Pulver_Idle0185.png;748;828;737;615; 0.5;0.5; 0;0;0;0
+Pulver_Idle0186.png;748;828;737;615; 0.5;0.5; 0;0;0;0
+Pulver_Idle0187.png;1;1421;745;626; 0.5;0.5; 0;0;0;0
+Pulver_Idle0188.png;1;1421;745;626; 0.5;0.5; 0;0;0;0
+Pulver_Idle0189.png;748;1445;738;602; 0.5;0.5; 0;0;0;0
+Pulver_Idle0190.png;748;1445;738;602; 0.5;0.5; 0;0;0;0
+Pulver_Idle0191.png;1488;1445;431;602; 0.5;0.5; 0;0;0;0
+Pulver_Idle0192.png;1488;1445;431;602; 0.5;0.5; 0;0;0;0
+Pulver_Idle0193.png;1487;231;400;602; 0.5;0.5; 0;0;0;0
+Pulver_Idle0194.png;1487;231;400;602; 0.5;0.5; 0;0;0;0
+Pulver_Idle0195.png;376;179;377;615; 0.5;0.5; 0;0;0;0
+Pulver_Idle0196.png;376;179;377;615; 0.5;0.5; 0;0;0;0
+Pulver_Idle0197.png;1;177;373;617; 0.5;0.5; 0;0;0;0
+Pulver_Idle0198.png;1;177;373;617; 0.5;0.5; 0;0;0;0
+Pulver_Idle0199.png;1487;835;426;608; 0.5;0.5; 0;0;0;0
diff --git a/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Combine_2.tpsheet.meta b/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Combine_2.tpsheet.meta
new file mode 100644
index 00000000..9d8944b0
--- /dev/null
+++ b/Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Combine_2.tpsheet.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: bd04faeae1616d34290d3e66bea13a7d
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Art/Sprites/UI/ThoughtBubbleBMS.png.meta b/Assets/Art/Sprites/UI/ThoughtBubbleBMS.png.meta
index 358344b8..9f50fece 100644
--- a/Assets/Art/Sprites/UI/ThoughtBubbleBMS.png.meta
+++ b/Assets/Art/Sprites/UI/ThoughtBubbleBMS.png.meta
@@ -191,6 +191,19 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: WindowsStoreApps
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites:
diff --git a/Assets/External/Plugins/codeandweb.com/Editor/SettingsTexturePackerImporter.txt b/Assets/External/Plugins/codeandweb.com/Editor/SettingsTexturePackerImporter.txt
index f3d0c97a..aed2d9f3 100644
--- a/Assets/External/Plugins/codeandweb.com/Editor/SettingsTexturePackerImporter.txt
+++ b/Assets/External/Plugins/codeandweb.com/Editor/SettingsTexturePackerImporter.txt
@@ -6,6 +6,13 @@ tpsheetFileNames:
- Assets/Art/Sprites/Spritesheets/Characters/Gardener/Gardener-Scared01.tpsheet
- Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver.tpsheet
- Assets/Art/Sprites/Spritesheets/Characters/Pulver/pulver.tpsheet
+- Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_1.tpsheet
+- Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_2.tpsheet
+- Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_Idle_1.tpsheet
+- Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_idle_2.tpsheet
+- Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_idle_3.tpsheet
+- Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Combine_1.tpsheet
+- Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Combine_2.tpsheet
- Assets/Art/Sprites/Spritesheets/Characters/Trafalgar/trafalgar.tpsheet
- Assets/Art/Sprites/Spritesheets/Characters/Wolter/Wolter-Wolter_Eat.tpsheet
- Assets/Art/Sprites/Spritesheets/Characters/Wolter/Wolter-Wolter_Jump.tpsheet
@@ -29,6 +36,13 @@ textureFileNames:
- Assets/Art/Sprites/Spritesheets/Characters/Gardener/Gardener-Scared01.png
- Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver.png
- Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver.png
+- Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_1.png
+- Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_2.png
+- Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_Idle_1.png
+- Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_idle_2.png
+- Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Carry_idle_3.png
+- Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Combine_1.png
+- Assets/Art/Sprites/Spritesheets/Characters/Pulver/Pulver_Combine_2.png
- Assets/Art/Sprites/Spritesheets/Characters/Trafalgar/trafalgar.png
- Assets/Art/Sprites/Spritesheets/Characters/Wolter/Wolter-Wolter_Eat.png
- Assets/Art/Sprites/Spritesheets/Characters/Wolter/Wolter-Wolter_Jump.png
@@ -67,5 +81,12 @@ normalmapFileNames:
-
-
-
+-
+-
+-
+-
+-
+-
+-
- Assets/External/Plugins/codeandweb.com/Example/SpriteSheet/sprites_n.png
enableDebugOutput: 0
diff --git a/Assets/Prefabs/Characters/PulverCharacter.prefab b/Assets/Prefabs/Characters/PulverCharacter.prefab
index 6ee7e13a..ce5857ba 100644
--- a/Assets/Prefabs/Characters/PulverCharacter.prefab
+++ b/Assets/Prefabs/Characters/PulverCharacter.prefab
@@ -209,8 +209,8 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5934518940303293264}
serializedVersion: 2
- m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
- m_LocalPosition: {x: -1.23, y: -0.36, z: 0}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 2.02, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
@@ -262,7 +262,7 @@ SpriteRenderer:
m_GlobalIlluminationMeshLod: 0
m_SortingLayerID: 0
m_SortingLayer: 0
- m_SortingOrder: 2
+ m_SortingOrder: 1
m_Sprite: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_FlipX: 0
diff --git a/Assets/Prefabs/UI/PauseMenu.prefab b/Assets/Prefabs/UI/PauseMenu.prefab
index 159ae74a..51cc9283 100644
--- a/Assets/Prefabs/UI/PauseMenu.prefab
+++ b/Assets/Prefabs/UI/PauseMenu.prefab
@@ -92,7 +92,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
- m_IsActive: 0
+ m_IsActive: 1
--- !u!224 &1302888740346723223
RectTransform:
m_ObjectHideFlags: 0
@@ -688,8 +688,8 @@ RectTransform:
- {fileID: 3400029894692319192}
m_Father: {fileID: 5605205583985027889}
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_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 160, y: 30}
m_Pivot: {x: 0.5, y: 0.5}
@@ -823,9 +823,9 @@ RectTransform:
- {fileID: 7803147924421545447}
m_Father: {fileID: 5605205583985027889}
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: -60}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 160, y: 30}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &2290562928139384544
@@ -1642,9 +1642,9 @@ RectTransform:
- {fileID: 6162719476639538323}
m_Father: {fileID: 5605205583985027889}
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: 120}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 160, y: 30}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &3956398402257402681
@@ -1741,6 +1741,139 @@ MonoBehaviour:
m_StringArgument:
m_BoolArgument: 1
m_CallState: 2
+--- !u!1 &5428575275238917432
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 7984867635544047636}
+ - component: {fileID: 7625231543093897207}
+ - component: {fileID: 2449943578766449663}
+ - component: {fileID: 2858549979657146258}
+ m_Layer: 0
+ m_Name: Exit (1)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &7984867635544047636
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5428575275238917432}
+ 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: 3120496234660820654}
+ m_Father: {fileID: 5605205583985027889}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 160, y: 30}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &7625231543093897207
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5428575275238917432}
+ m_CullTransparentMesh: 1
+--- !u!114 &2449943578766449663
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5428575275238917432}
+ 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: 1, b: 1, 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: 10905, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!114 &2858549979657146258
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5428575275238917432}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_WrapAround: 0
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 0.85165936, b: 0.5058824, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Selected
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 2449943578766449663}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 7928661763020144797}
+ m_TargetAssemblyTypeName: UI.PauseMenu, AppleHillsScripts
+ m_MethodName: ReloadLevel
+ m_Mode: 1
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument:
+ m_BoolArgument: 0
+ m_CallState: 2
--- !u!1 &5544888797992325527
GameObject:
m_ObjectHideFlags: 0
@@ -1775,9 +1908,9 @@ RectTransform:
- {fileID: 3949582524682304579}
m_Father: {fileID: 5605205583985027889}
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: 60}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 160, y: 30}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &4255447181943714037
@@ -2323,6 +2456,142 @@ MonoBehaviour:
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!1 &8078932926504279854
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 3120496234660820654}
+ - component: {fileID: 6119350696632336213}
+ - component: {fileID: 3030293546037678981}
+ m_Layer: 0
+ m_Name: Text (TMP)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &3120496234660820654
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8078932926504279854}
+ 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: 7984867635544047636}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &6119350696632336213
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8078932926504279854}
+ m_CullTransparentMesh: 1
+--- !u!114 &3030293546037678981
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8078932926504279854}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, 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_text: Reload current
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 4281479730
+ m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_StyleSheet: {fileID: 0}
+ m_TextStyleHashCode: -1183493901
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontSize: 20
+ m_fontSizeBase: 20
+ m_fontWeight: 400
+ m_enableAutoSizing: 0
+ m_fontSizeMin: 18
+ m_fontSizeMax: 72
+ m_fontStyle: 0
+ m_HorizontalAlignment: 2
+ m_VerticalAlignment: 512
+ m_textAlignment: 65535
+ m_characterSpacing: 0
+ m_wordSpacing: 0
+ m_lineSpacing: 0
+ m_lineSpacingMax: 0
+ m_paragraphSpacing: 0
+ m_charWidthMaxAdj: 0
+ m_TextWrappingMode: 1
+ m_wordWrappingRatios: 0.4
+ m_overflowMode: 0
+ m_linkedTextComponent: {fileID: 0}
+ parentLinkedComponent: {fileID: 0}
+ m_enableKerning: 0
+ m_ActiveFontFeatures: 6e72656b
+ m_enableExtraPadding: 0
+ checkPaddingRequired: 0
+ m_isRichText: 1
+ m_EmojiFallbackSupport: 1
+ m_parseCtrlCharacters: 1
+ m_isOrthographic: 1
+ m_isCullingEnabled: 0
+ m_horizontalMapping: 0
+ m_verticalMapping: 0
+ m_uvLineOffset: 0
+ m_geometrySortingOrder: 0
+ m_IsTextObjectScaleStatic: 0
+ m_VertexBufferAutoSizeReduction: 0
+ m_useMaxVisibleDescender: 1
+ m_pageToDisplay: 1
+ m_margin: {x: 0, y: 0, z: 0, w: 0}
+ m_isUsingLegacyAnimationComponent: 0
+ m_isVolumetricText: 0
+ m_hasFontAssetChanged: 0
+ m_baseMaterial: {fileID: 0}
+ m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &8099213920311068351
GameObject:
m_ObjectHideFlags: 0
@@ -2468,6 +2737,8 @@ GameObject:
serializedVersion: 6
m_Component:
- component: {fileID: 5605205583985027889}
+ - component: {fileID: 8594443110142453154}
+ - component: {fileID: 3446002550086852002}
m_Layer: 0
m_Name: Buttons
m_TagString: Untagged
@@ -2490,11 +2761,52 @@ RectTransform:
- {fileID: 9052230212113207254}
- {fileID: 44375243138864492}
- {fileID: 6855320393561945426}
+ - {fileID: 7984867635544047636}
- {fileID: 7083543314533737593}
m_Father: {fileID: 1302888740346723223}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0}
m_AnchorMax: {x: 0.5, y: 0}
- m_AnchoredPosition: {x: 0, y: 120}
- m_SizeDelta: {x: 100, y: 100}
+ m_AnchoredPosition: {x: -6.442688, y: 141.47559}
+ m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &8594443110142453154
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 9039430485754110792}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.VerticalLayoutGroup
+ m_Padding:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_ChildAlignment: 0
+ m_Spacing: 17.13
+ m_ChildForceExpandWidth: 1
+ m_ChildForceExpandHeight: 1
+ m_ChildControlWidth: 0
+ m_ChildControlHeight: 0
+ m_ChildScaleWidth: 0
+ m_ChildScaleHeight: 0
+ m_ReverseArrangement: 0
+--- !u!114 &3446002550086852002
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 9039430485754110792}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.ContentSizeFitter
+ m_HorizontalFit: 2
+ m_VerticalFit: 2
diff --git a/Assets/Scripts/AppleHillsCamera/CameraScreenAdapter.cs b/Assets/Scripts/AppleHillsCamera/CameraScreenAdapter.cs
index c986cfb1..8eb3e081 100644
--- a/Assets/Scripts/AppleHillsCamera/CameraScreenAdapter.cs
+++ b/Assets/Scripts/AppleHillsCamera/CameraScreenAdapter.cs
@@ -1,6 +1,7 @@
using UnityEngine;
using Unity.Cinemachine;
using System;
+using Core;
namespace AppleHillsCamera
{
@@ -76,7 +77,7 @@ namespace AppleHillsCamera
{
if (referenceMarker == null)
{
- Debug.LogWarning("CameraScreenAdapter: Missing reference marker.");
+ Logging.Warning("CameraScreenAdapter: Missing reference marker.");
return;
}
@@ -95,7 +96,7 @@ namespace AppleHillsCamera
var lens = _virtualCamera.Lens;
lens.OrthographicSize = orthoSize;
_virtualCamera.Lens = lens;
- Debug.Log($"Cinemachine Camera adapted: Width={targetWidth}, Aspect={screenAspect:F2}, OrthoSize={orthoSize:F2}");
+ Logging.Debug($"Cinemachine Camera adapted: Width={targetWidth}, Aspect={screenAspect:F2}, OrthoSize={orthoSize:F2}");
}
else
{
@@ -103,11 +104,11 @@ namespace AppleHillsCamera
if (_regularCamera.orthographic)
{
_regularCamera.orthographicSize = orthoSize;
- Debug.Log($"Camera adapted: Width={targetWidth}, Aspect={screenAspect:F2}, OrthoSize={orthoSize:F2}");
+ Logging.Debug($"Camera adapted: Width={targetWidth}, Aspect={screenAspect:F2}, OrthoSize={orthoSize:F2}");
}
else
{
- Debug.LogWarning("CameraScreenAdapter: Regular camera is not in orthographic mode.");
+ Logging.Warning("CameraScreenAdapter: Regular camera is not in orthographic mode.");
return;
}
}
diff --git a/Assets/Scripts/AppleHillsCamera/EdgeAnchor.cs b/Assets/Scripts/AppleHillsCamera/EdgeAnchor.cs
index 74f18dab..8b2846f7 100644
--- a/Assets/Scripts/AppleHillsCamera/EdgeAnchor.cs
+++ b/Assets/Scripts/AppleHillsCamera/EdgeAnchor.cs
@@ -1,6 +1,7 @@
using AppleHills.Core;
using UnityEngine;
using System;
+using Core;
namespace AppleHillsCamera
{
@@ -168,7 +169,7 @@ namespace AppleHillsCamera
{
if (debugMode)
{
- Debug.Log($"Camera adjusted event received by {gameObject.name}, updating position");
+ Logging.Debug($"Camera adjusted event received by {gameObject.name}, updating position");
}
// Ensure we have the latest camera reference
@@ -210,14 +211,14 @@ namespace AppleHillsCamera
if (_camera != null && adapter.GetControlledCamera() == _camera)
{
cameraAdapter = adapter;
- Debug.Log($"EdgeAnchor on {gameObject.name} auto-connected to CameraScreenAdapter on {cameraAdapter.gameObject.name}");
+ Logging.Debug($"EdgeAnchor on {gameObject.name} auto-connected to CameraScreenAdapter on {cameraAdapter.gameObject.name}");
return;
}
}
// If no matching camera found, use the first one
cameraAdapter = adapters[0];
- Debug.Log($"EdgeAnchor on {gameObject.name} auto-connected to CameraScreenAdapter on {cameraAdapter.gameObject.name}");
+ Logging.Debug($"EdgeAnchor on {gameObject.name} auto-connected to CameraScreenAdapter on {cameraAdapter.gameObject.name}");
}
}
@@ -237,7 +238,7 @@ namespace AppleHillsCamera
{
if (debugMode)
{
- Debug.Log($"{gameObject.name}: Camera ortho size changed from {_lastOrthoSize} to {_camera.orthographicSize}");
+ Logging.Debug($"{gameObject.name}: Camera ortho size changed from {_lastOrthoSize} to {_camera.orthographicSize}");
}
_lastOrthoSize = _camera.orthographicSize;
shouldUpdate = true;
@@ -296,7 +297,7 @@ namespace AppleHillsCamera
}
else if (_camera != prevCamera && debugMode)
{
- Debug.Log($"{gameObject.name}: Camera reference updated to {_camera.name}");
+ Logging.Debug($"{gameObject.name}: Camera reference updated to {_camera.name}");
}
}
@@ -340,7 +341,7 @@ namespace AppleHillsCamera
{
if (referenceMarker == null)
{
- Debug.LogWarning("EdgeAnchor: Missing reference marker.");
+ Logging.Warning("EdgeAnchor: Missing reference marker.");
return;
}
@@ -377,7 +378,7 @@ namespace AppleHillsCamera
// Apply the new position
if (debugMode && Vector3.Distance(transform.position, newPosition) > 0.01f)
{
- Debug.Log($"{gameObject.name} position updated: {transform.position} -> {newPosition}, Camera OrthoSize: {_camera.orthographicSize}");
+ Logging.Debug($"{gameObject.name} position updated: {transform.position} -> {newPosition}, Camera OrthoSize: {_camera.orthographicSize}");
}
transform.position = newPosition;
diff --git a/Assets/Scripts/Cinematics/CinematicsManager.cs b/Assets/Scripts/Cinematics/CinematicsManager.cs
index 6ceb1e60..e8dbf1a5 100644
--- a/Assets/Scripts/Cinematics/CinematicsManager.cs
+++ b/Assets/Scripts/Cinematics/CinematicsManager.cs
@@ -1,4 +1,5 @@
using System.Collections.Generic;
+using Core;
using UnityEngine;
using UnityEngine.AddressableAssets;
using UnityEngine.ResourceManagement.AsyncOperations;
@@ -72,7 +73,7 @@ namespace Cinematics
_cinematicSprites.enabled = true;
playableDirector.stopped += OnPlayableDirectorStopped;
playableDirector.Play(assetToPlay);
- Debug.Log("Playing cinematic " + assetToPlay.name);
+ Logging.Debug("Playing cinematic " + assetToPlay.name);
_isCinematicPlaying = true;
OnCinematicStarted?.Invoke();
return playableDirector;
@@ -81,7 +82,7 @@ namespace Cinematics
void OnPlayableDirectorStopped(PlayableDirector director)
{
_cinematicSprites.enabled = false;
- Debug.Log("Cinematic stopped!");
+ Logging.Debug("Cinematic stopped!");
_isCinematicPlaying = false;
OnCinematicStopped?.Invoke();
// Release the addressable handle associated with this director
@@ -100,7 +101,7 @@ namespace Cinematics
// Store the handle for later release
_addressableHandles[playableDirector] = handle;
- Debug.Log($"[CinematicsManager] Loaded addressable cinematic: {key}");
+ Logging.Debug($"[CinematicsManager] Loaded addressable cinematic: {key}");
return PlayCinematic(result);
}
@@ -112,7 +113,7 @@ namespace Cinematics
{
if (playableDirector != null && playableDirector.state == PlayState.Playing)
{
- Debug.Log("Skipping current cinematic");
+ Logging.Debug("Skipping current cinematic");
playableDirector.Stop();
}
}
@@ -124,7 +125,7 @@ namespace Cinematics
{
if (_addressableHandles.TryGetValue(director, out var handle))
{
- Debug.Log($"[CinematicsManager] Releasing addressable handle for cinematic");
+ Logging.Debug($"[CinematicsManager] Releasing addressable handle for cinematic");
Addressables.Release(handle);
_addressableHandles.Remove(director);
}
@@ -157,7 +158,7 @@ namespace Cinematics
/// The PlayableDirector playing the cinematic
public async System.Threading.Tasks.Task PlayCinematicWithLoadingScreen(string key)
{
- Debug.Log($"[CinematicsManager] Preparing to load cinematic with loading screen: {key}");
+ Logging.Debug($"[CinematicsManager] Preparing to load cinematic with loading screen: {key}");
// First, show the loading screen BEFORE creating any async operations
UI.LoadingScreenController.Instance.ShowLoadingScreen();
@@ -166,7 +167,7 @@ namespace Cinematics
await System.Threading.Tasks.Task.Yield();
// Now create the load handle and track its progress
- Debug.Log($"[CinematicsManager] Starting cinematic asset load: {key}");
+ Logging.Debug($"[CinematicsManager] Starting cinematic asset load: {key}");
AsyncOperationHandle handle = Addressables.LoadAssetAsync(key);
// Update the loading screen with the progress provider after the handle is created
@@ -178,7 +179,7 @@ namespace Cinematics
// Store the handle for later release
_addressableHandles[playableDirector] = handle;
- Debug.Log($"[CinematicsManager] Cinematic loaded: {key}");
+ Logging.Debug($"[CinematicsManager] Cinematic loaded: {key}");
// Hide the loading screen
UI.LoadingScreenController.Instance.HideLoadingScreen();
@@ -186,7 +187,7 @@ namespace Cinematics
// Important: Wait for the loading screen to be fully hidden before playing the cinematic
await UI.LoadingScreenController.Instance.WaitForLoadingScreenToHideAsync();
- Debug.Log($"[CinematicsManager] Loading screen hidden, now playing cinematic: {key}");
+ Logging.Debug($"[CinematicsManager] Loading screen hidden, now playing cinematic: {key}");
// Play the cinematic
return PlayCinematic(result);
diff --git a/Assets/Scripts/Cinematics/SkipCinematic.cs b/Assets/Scripts/Cinematics/SkipCinematic.cs
index fb7f6738..17e546a9 100644
--- a/Assets/Scripts/Cinematics/SkipCinematic.cs
+++ b/Assets/Scripts/Cinematics/SkipCinematic.cs
@@ -1,3 +1,4 @@
+using Core;
using Input;
using UnityEngine;
using UnityEngine.UI;
@@ -76,7 +77,7 @@ namespace Cinematics
private void DoSkipCinematic()
{
CinematicsManager.Instance.SkipCurrentCinematic();
- Debug.Log("Cinematic skipped via touch hold");
+ Logging.Debug("Cinematic skipped via touch hold");
// Reset UI
if (radialProgressBar != null)
@@ -101,7 +102,7 @@ namespace Cinematics
_skipPerformed = false;
_holdStartTime = Time.time;
- Debug.Log("Starting cinematic skip gesture");
+ Logging.Debug("Starting cinematic skip gesture");
}
public void OnHoldMove(Vector2 position)
@@ -120,7 +121,7 @@ namespace Cinematics
radialProgressBar.fillAmount = 0f;
}
- Debug.Log("Cinematic skip gesture canceled");
+ Logging.Debug("Cinematic skip gesture canceled");
}
#endregion
}
diff --git a/Assets/Scripts/Core/GameManager.cs b/Assets/Scripts/Core/GameManager.cs
index 0dde7ffc..db282188 100644
--- a/Assets/Scripts/Core/GameManager.cs
+++ b/Assets/Scripts/Core/GameManager.cs
@@ -3,6 +3,7 @@ using AppleHills.Core.Settings;
using System;
using System.Collections.Generic;
using AppleHills.Core.Interfaces;
+using Core;
using UI;
///
@@ -81,11 +82,11 @@ public class GameManager : MonoBehaviour
pauseMenu.OnGamePaused += OnPauseMenuPaused;
pauseMenu.OnGameResumed += OnPauseMenuResumed;
- Debug.Log("[GameManager] Subscribed to PauseMenu events");
+ Logging.Debug("[GameManager] Subscribed to PauseMenu events");
}
else
{
- Debug.LogWarning("[GameManager] PauseMenu not found. Pause functionality won't work properly.");
+ Logging.Warning("[GameManager] PauseMenu not found. Pause functionality won't work properly.");
}
}
@@ -116,7 +117,7 @@ public class GameManager : MonoBehaviour
component.Pause();
}
- Debug.Log($"[GameManager] Registered pausable component: {(component as MonoBehaviour)?.name ?? "Unknown"}");
+ Logging.Debug($"[GameManager] Registered pausable component: {(component as MonoBehaviour)?.name ?? "Unknown"}");
}
}
@@ -129,7 +130,7 @@ public class GameManager : MonoBehaviour
if (component != null && _pausableComponents.Contains(component))
{
_pausableComponents.Remove(component);
- Debug.Log($"[GameManager] Unregistered pausable component: {(component as MonoBehaviour)?.name ?? "Unknown"}");
+ Logging.Debug($"[GameManager] Unregistered pausable component: {(component as MonoBehaviour)?.name ?? "Unknown"}");
}
}
@@ -167,7 +168,7 @@ public class GameManager : MonoBehaviour
// Broadcast pause event
OnGamePaused?.Invoke();
- Debug.Log($"[GameManager] Game paused. Paused {_pausableComponents.Count} components.");
+ Logging.Debug($"[GameManager] Game paused. Paused {_pausableComponents.Count} components.");
}
///
@@ -188,7 +189,7 @@ public class GameManager : MonoBehaviour
// Broadcast resume event
OnGameResumed?.Invoke();
- Debug.Log($"[GameManager] Game resumed. Resumed {_pausableComponents.Count} components.");
+ Logging.Debug($"[GameManager] Game resumed. Resumed {_pausableComponents.Count} components.");
}
///
@@ -204,7 +205,7 @@ public class GameManager : MonoBehaviour
private void InitializeSettings()
{
- Debug.Log("Starting settings initialization...");
+ Logging.Debug("Starting settings initialization...");
// Load settings synchronously
var playerSettings = SettingsProvider.Instance.LoadSettingsSynchronous();
@@ -215,7 +216,7 @@ public class GameManager : MonoBehaviour
if (playerSettings != null)
{
ServiceLocator.Register(playerSettings);
- Debug.Log("PlayerFollowerSettings registered successfully");
+ Logging.Debug("PlayerFollowerSettings registered successfully");
}
else
{
@@ -225,7 +226,7 @@ public class GameManager : MonoBehaviour
if (interactionSettings != null)
{
ServiceLocator.Register(interactionSettings);
- Debug.Log("InteractionSettings registered successfully");
+ Logging.Debug("InteractionSettings registered successfully");
}
else
{
@@ -235,7 +236,7 @@ public class GameManager : MonoBehaviour
if (minigameSettings != null)
{
ServiceLocator.Register(minigameSettings);
- Debug.Log("MinigameSettings registered successfully");
+ Logging.Debug("MinigameSettings registered successfully");
}
else
{
@@ -246,11 +247,11 @@ public class GameManager : MonoBehaviour
_settingsLoaded = playerSettings != null && interactionSettings != null && minigameSettings != null;
if (_settingsLoaded)
{
- Debug.Log("All settings loaded and registered with ServiceLocator");
+ Logging.Debug("All settings loaded and registered with ServiceLocator");
}
else
{
- Debug.LogWarning("Some settings failed to load - check that all settings assets exist and are marked as Addressables");
+ Logging.Warning("Some settings failed to load - check that all settings assets exist and are marked as Addressables");
}
}
@@ -259,7 +260,7 @@ public class GameManager : MonoBehaviour
///
private void InitializeDeveloperSettings()
{
- Debug.Log("Starting developer settings initialization...");
+ Logging.Debug("Starting developer settings initialization...");
// Load developer settings
var divingDevSettings = DeveloperSettingsProvider.Instance.GetSettings();
@@ -268,11 +269,11 @@ public class GameManager : MonoBehaviour
if (_developerSettingsLoaded)
{
- Debug.Log("All developer settings loaded successfully");
+ Logging.Debug("All developer settings loaded successfully");
}
else
{
- Debug.LogWarning("Some developer settings failed to load");
+ Logging.Warning("Some developer settings failed to load");
}
}
diff --git a/Assets/Scripts/Core/Logging.cs b/Assets/Scripts/Core/Logging.cs
new file mode 100644
index 00000000..a0c0d387
--- /dev/null
+++ b/Assets/Scripts/Core/Logging.cs
@@ -0,0 +1,17 @@
+namespace Core
+{
+ public static class Logging
+ {
+ [System.Diagnostics.Conditional("ENABLE_LOG")]
+ public static void Debug(object message)
+ {
+ UnityEngine.Debug.Log(message);
+ }
+
+ [System.Diagnostics.Conditional("ENABLE_LOG")]
+ public static void Warning(object message)
+ {
+ UnityEngine.Debug.LogWarning(message);
+ }
+ }
+}
\ No newline at end of file
diff --git a/Assets/Scripts/Core/Logging.cs.meta b/Assets/Scripts/Core/Logging.cs.meta
new file mode 100644
index 00000000..f11c0dc4
--- /dev/null
+++ b/Assets/Scripts/Core/Logging.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 99ee122ee6ee4b57b40c03be4479b124
+timeCreated: 1760446431
\ No newline at end of file
diff --git a/Assets/Scripts/Core/QuickAccess.cs b/Assets/Scripts/Core/QuickAccess.cs
index 17fd16f1..954860c7 100644
--- a/Assets/Scripts/Core/QuickAccess.cs
+++ b/Assets/Scripts/Core/QuickAccess.cs
@@ -2,6 +2,7 @@
using AppleHills.Data.CardSystem;
using Cinematics;
using Core;
+using Data.CardSystem;
using Input;
using PuzzleS;
diff --git a/Assets/Scripts/Core/SceneManagerService.cs b/Assets/Scripts/Core/SceneManagerService.cs
index 9d3a763b..3ecc6a8f 100644
--- a/Assets/Scripts/Core/SceneManagerService.cs
+++ b/Assets/Scripts/Core/SceneManagerService.cs
@@ -123,7 +123,7 @@ namespace Core
var scene = SceneManager.GetSceneByName(sceneName);
if (!scene.isLoaded)
{
- Debug.LogWarning($"SceneManagerService: Attempted to unload scene '{sceneName}', but it is not loaded.");
+ Logging.Warning($"SceneManagerService: Attempted to unload scene '{sceneName}', but it is not loaded.");
return;
}
SceneUnloadStarted?.Invoke(sceneName);
@@ -264,6 +264,11 @@ namespace Core
// Tracks the currently loaded gameplay scene (not persistent/bootstrapper)
public string CurrentGameplayScene { get; private set; } = "MainMenu";
+ public async Task ReloadCurrentScene(IProgress progress = null)
+ {
+ await SwitchSceneAsync(CurrentGameplayScene, progress);
+ }
+
// Switches from current gameplay scene to a new one
public async Task SwitchSceneAsync(string newSceneName, IProgress progress = null)
{
@@ -277,7 +282,7 @@ namespace Core
DestroyImmediate(astar.gameObject);
}
// Unload previous gameplay scene (if not BootstrapScene and not same as new)
- if (!string.IsNullOrEmpty(CurrentGameplayScene) && CurrentGameplayScene != newSceneName && CurrentGameplayScene != BootstrapSceneName)
+ if (!string.IsNullOrEmpty(CurrentGameplayScene)&& CurrentGameplayScene != BootstrapSceneName)
{
var prevScene = SceneManager.GetSceneByName(CurrentGameplayScene);
if (prevScene.isLoaded)
@@ -286,7 +291,7 @@ namespace Core
}
else
{
- Debug.LogWarning($"SceneManagerService: Previous scene '{CurrentGameplayScene}' is not loaded, skipping unload.");
+ Logging.Warning($"SceneManagerService: Previous scene '{CurrentGameplayScene}' is not loaded, skipping unload.");
}
}
// Ensure BootstrapScene is loaded before loading new scene
diff --git a/Assets/Scripts/Core/SceneOrientationEnforcer.cs b/Assets/Scripts/Core/SceneOrientationEnforcer.cs
index 4380ca94..ca5c8b0c 100644
--- a/Assets/Scripts/Core/SceneOrientationEnforcer.cs
+++ b/Assets/Scripts/Core/SceneOrientationEnforcer.cs
@@ -35,6 +35,7 @@ namespace Utility
public GameObject orientationPromptPrefab;
public event Action OnOrientationCorrect;
+ public event Action OnOrientationIncorrect;
private GameObject _promptInstance;
private ScreenOrientationRequirement _requiredOrientation;
@@ -139,6 +140,13 @@ namespace Utility
private System.Collections.IEnumerator ContinuousOrientationCheckRoutine()
{
+ while (!IsOrientationCorrect())
+ {
+ yield return new WaitForSeconds(0.5f);
+ }
+ _orientationCorrect = true;
+ OnOrientationCorrect?.Invoke();
+
while (true)
{
// Wait for a short interval before checking again
@@ -147,33 +155,11 @@ namespace Utility
// Check if orientation is now incorrect
if (!IsOrientationCorrect())
{
- // Pause the game using DivingGameManager
- if (DivingGameManager.Instance != null)
- {
- DivingGameManager.Instance.Pause();
- }
-
- // Show the orientation prompt
+ OnOrientationIncorrect?.Invoke();;
+ InputManager.Instance.SetInputMode(InputMode.UI);
ShowPrompt();
-
- // Wait until orientation is correct again
- while (!IsOrientationCorrect())
- {
- yield return new WaitForSeconds(0.2f);
- }
-
- // Hide the prompt when orientation is correct again
- if (_promptInstance != null)
- {
- Destroy(_promptInstance);
- _promptInstance = null;
- }
-
- // Resume the game using DivingGameManager
- if (DivingGameManager.Instance != null)
- {
- DivingGameManager.Instance.DoResume();
- }
+ _continuousOrientationCheckCoroutine = StartCoroutine(ContinuousOrientationCheckRoutine());
+ yield break; // Exit this coroutine
}
}
}
diff --git a/Assets/Scripts/Core/Settings/Developer/DeveloperSettingsProvider.cs b/Assets/Scripts/Core/Settings/Developer/DeveloperSettingsProvider.cs
index d4608552..7b491909 100644
--- a/Assets/Scripts/Core/Settings/Developer/DeveloperSettingsProvider.cs
+++ b/Assets/Scripts/Core/Settings/Developer/DeveloperSettingsProvider.cs
@@ -2,6 +2,7 @@
using UnityEngine;
using UnityEngine.AddressableAssets;
using System;
+using Core;
namespace AppleHills.Core.Settings
{
@@ -91,13 +92,13 @@ namespace AppleHills.Core.Settings
Debug.LogError($"Failed to load developer settings at '{key}': {e.Message}");
}
- Debug.LogWarning($"Developer settings of type {type.Name} not found at addressable path '{key}'");
+ Logging.Warning($"Developer settings of type {type.Name} not found at addressable path '{key}'");
// Fallback to Resources for backward compatibility
T resourcesSettings = Resources.Load($"{_addressablePath}/{type.Name}");
if (resourcesSettings != null)
{
- Debug.Log($"Found developer settings in Resources instead of Addressables at '{_addressablePath}/{type.Name}'");
+ Logging.Debug($"Found developer settings in Resources instead of Addressables at '{_addressablePath}/{type.Name}'");
_settingsCache[type] = resourcesSettings;
return resourcesSettings;
}
diff --git a/Assets/Scripts/Core/Settings/ServiceLocator.cs b/Assets/Scripts/Core/Settings/ServiceLocator.cs
index 4b1b4e75..222dd2f0 100644
--- a/Assets/Scripts/Core/Settings/ServiceLocator.cs
+++ b/Assets/Scripts/Core/Settings/ServiceLocator.cs
@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
+using Core;
using UnityEngine;
namespace AppleHills.Core.Settings
@@ -20,7 +21,7 @@ namespace AppleHills.Core.Settings
public static void Register(T service) where T : class
{
_services[typeof(T)] = service;
- Debug.Log($"Service registered: {typeof(T).Name}");
+ Logging.Debug($"Service registered: {typeof(T).Name}");
}
///
@@ -35,7 +36,7 @@ namespace AppleHills.Core.Settings
return service as T;
}
- Debug.LogWarning($"Service of type {typeof(T).Name} not found!");
+ Logging.Warning($"Service of type {typeof(T).Name} not found!");
return null;
}
@@ -45,7 +46,7 @@ namespace AppleHills.Core.Settings
public static void Clear()
{
_services.Clear();
- Debug.Log("All services cleared");
+ Logging.Debug("All services cleared");
}
}
}
diff --git a/Assets/Scripts/DamianExperiments/AnnaLiseAnd Lurespots/AnneLiseBehaviour.cs b/Assets/Scripts/DamianExperiments/AnnaLiseAnd Lurespots/AnneLiseBehaviour.cs
index 6aefb784..37bdc90c 100644
--- a/Assets/Scripts/DamianExperiments/AnnaLiseAnd Lurespots/AnneLiseBehaviour.cs
+++ b/Assets/Scripts/DamianExperiments/AnnaLiseAnd Lurespots/AnneLiseBehaviour.cs
@@ -1,6 +1,7 @@
using UnityEngine;
using System;
using System.Collections;
+using Core;
using Pathfinding;
public class AnneLiseBehaviour : MonoBehaviour
@@ -162,6 +163,6 @@ public class AnneLiseBehaviour : MonoBehaviour
}
annaLiseIsReady = false; // Reset the flag after taking the photo
}
- Debug.Log("Trafalgar touched Anna Lise");
+ Logging.Debug("Trafalgar touched Anna Lise");
}
}
diff --git a/Assets/Scripts/DamianExperiments/AnnaLiseAnd Lurespots/DistanceMeasurer.cs b/Assets/Scripts/DamianExperiments/AnnaLiseAnd Lurespots/DistanceMeasurer.cs
index 91b31d2f..98be4df5 100644
--- a/Assets/Scripts/DamianExperiments/AnnaLiseAnd Lurespots/DistanceMeasurer.cs
+++ b/Assets/Scripts/DamianExperiments/AnnaLiseAnd Lurespots/DistanceMeasurer.cs
@@ -24,7 +24,7 @@ public class Distancemeasurer : MonoBehaviour
{
playerPosition = player.transform.position;
distance = Vector2.Distance(placePosition, playerPosition);
- //Debug.Log("Distance to player: " + distance);
+ //Logging.Debug("Distance to player: " + distance);
if (distance > playerToPlaceDistance && birdEyes.correctItemIsIn == true)
{
birdEyes.BirdReveal();
diff --git a/Assets/Scripts/DamianExperiments/LawnMowerPuzzle/GardenerBehaviour.cs b/Assets/Scripts/DamianExperiments/LawnMowerPuzzle/GardenerBehaviour.cs
index 6e85d960..686eba56 100644
--- a/Assets/Scripts/DamianExperiments/LawnMowerPuzzle/GardenerBehaviour.cs
+++ b/Assets/Scripts/DamianExperiments/LawnMowerPuzzle/GardenerBehaviour.cs
@@ -1,4 +1,5 @@
using System.Security.Cryptography.X509Certificates;
+using Core;
using Pixelplacement;
using UnityEngine;
@@ -20,7 +21,7 @@ public class GardenerBehaviour : MonoBehaviour
public void stateSwitch (string StateName)
{
- Debug.Log("State Switch to: " + StateName);
+ Logging.Debug("State Switch to: " + StateName);
stateMachineRef.ChangeState(StateName);
}
}
diff --git a/Assets/Scripts/DamianExperiments/LawnMowerPuzzle/LawnMowerBehaviour.cs b/Assets/Scripts/DamianExperiments/LawnMowerPuzzle/LawnMowerBehaviour.cs
index c2d02dfe..9d72223c 100644
--- a/Assets/Scripts/DamianExperiments/LawnMowerPuzzle/LawnMowerBehaviour.cs
+++ b/Assets/Scripts/DamianExperiments/LawnMowerPuzzle/LawnMowerBehaviour.cs
@@ -1,3 +1,4 @@
+using Core;
using UnityEngine;
using Pixelplacement;
@@ -18,12 +19,12 @@ public class LawnMowerBehaviour : MonoBehaviour
}
public void mowerTouched()
{
- Debug.Log("Mower Touched");
+ Logging.Debug("Mower Touched");
}
public void stateSwitch(string StateName)
{
- Debug.Log("State Switch to: " + StateName);
+ Logging.Debug("State Switch to: " + StateName);
stateMachineRef.ChangeState(StateName);
}
}
diff --git a/Assets/Scripts/DamianExperiments/Picnic/PicnicBehaviour.cs b/Assets/Scripts/DamianExperiments/Picnic/PicnicBehaviour.cs
index e08f6583..9173a8da 100644
--- a/Assets/Scripts/DamianExperiments/Picnic/PicnicBehaviour.cs
+++ b/Assets/Scripts/DamianExperiments/Picnic/PicnicBehaviour.cs
@@ -1,6 +1,7 @@
using UnityEngine;
using Pixelplacement;
using System.Collections;
+using Core;
public class PicnicBehaviour : MonoBehaviour
{
@@ -56,7 +57,7 @@ public class PicnicBehaviour : MonoBehaviour
{
animator.SetTrigger("theyAngry");
//stateMachine.ChangeState("Picnic PPL Angry");
- Debug.Log("Hey! Don't steal my chocolate!");
+ Logging.Debug("Hey! Don't steal my chocolate!");
}
public void destroyFakeChocolate()
diff --git a/Assets/Scripts/DamianExperiments/SoundBirdPuzzleSection/Sound Generator.cs b/Assets/Scripts/DamianExperiments/SoundBirdPuzzleSection/Sound Generator.cs
index c307121d..235b5b86 100644
--- a/Assets/Scripts/DamianExperiments/SoundBirdPuzzleSection/Sound Generator.cs
+++ b/Assets/Scripts/DamianExperiments/SoundBirdPuzzleSection/Sound Generator.cs
@@ -1,3 +1,4 @@
+using Core;
using Pixelplacement;
using UnityEngine;
@@ -27,7 +28,7 @@ public class SoundGenerator : MonoBehaviour
if (!playerInside && other.CompareTag("Player"))
{
playerInside = true;
- Debug.Log("Player entered SoundGenerator trigger!");
+ Logging.Debug("Player entered SoundGenerator trigger!");
if (spriteRenderer != null && enterSprite != null)
{
spriteRenderer.sprite = enterSprite;
@@ -49,7 +50,7 @@ public class SoundGenerator : MonoBehaviour
if (playerInside && other.CompareTag("Player"))
{
playerInside = false;
- Debug.Log("Player exited SoundGenerator trigger!");
+ Logging.Debug("Player exited SoundGenerator trigger!");
if (spriteRenderer != null && exitSprite != null)
{
spriteRenderer.sprite = exitSprite;
diff --git a/Assets/Scripts/DamianExperiments/SoundBirdPuzzleSection/soundBird_LandingBehaviour1.cs b/Assets/Scripts/DamianExperiments/SoundBirdPuzzleSection/soundBird_LandingBehaviour1.cs
index ca6f7ffb..71a27452 100644
--- a/Assets/Scripts/DamianExperiments/SoundBirdPuzzleSection/soundBird_LandingBehaviour1.cs
+++ b/Assets/Scripts/DamianExperiments/SoundBirdPuzzleSection/soundBird_LandingBehaviour1.cs
@@ -48,7 +48,7 @@ public class soundBird_LandingBehaviour1 : MonoBehaviour
{
objectTween.Cancel(); // Stop the spline tween for this object
}
- //Debug.Log("Tween finished!");
+ //Logging.Debug("Tween finished!");
if (stateMachine != null)
{
animator.SetBool("isScared", false);
diff --git a/Assets/Scripts/DamianExperiments/SoundBirdPuzzleSection/soundBird_TakeOffBehaviour.cs b/Assets/Scripts/DamianExperiments/SoundBirdPuzzleSection/soundBird_TakeOffBehaviour.cs
index faeae18f..d5c8c123 100644
--- a/Assets/Scripts/DamianExperiments/SoundBirdPuzzleSection/soundBird_TakeOffBehaviour.cs
+++ b/Assets/Scripts/DamianExperiments/SoundBirdPuzzleSection/soundBird_TakeOffBehaviour.cs
@@ -38,7 +38,7 @@ public class soundBird_TakeOffBehaviour : MonoBehaviour
objectTween.Cancel(); // Stop the spline tween for this object
}
- //Debug.Log("Tween finished!");
+ //Logging.Debug("Tween finished!");
if (stateMachine != null)
{
stateMachine.ChangeState("SoundBirdFlyAround"); // Change to the desired state name
diff --git a/Assets/Scripts/Data/CardSystem/CardInventory.cs b/Assets/Scripts/Data/CardSystem/CardInventory.cs
new file mode 100644
index 00000000..ae1479f8
--- /dev/null
+++ b/Assets/Scripts/Data/CardSystem/CardInventory.cs
@@ -0,0 +1,203 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using UnityEngine;
+
+namespace AppleHills.Data.CardSystem
+{
+ ///
+ /// Manages the player's collection of cards and booster packs
+ ///
+ [Serializable]
+ public class CardInventory
+ {
+ // Dictionary of collected cards indexed by definition ID
+ [SerializeField] private Dictionary collectedCards = new Dictionary();
+
+ // Number of unopened booster packs the player has
+ [SerializeField] private int boosterPackCount;
+
+ // Additional lookup dictionaries (not serialized)
+ [NonSerialized] private Dictionary> cardsByZone = new Dictionary>();
+ [NonSerialized] private Dictionary> cardsByRarity = new Dictionary>();
+
+ // Properties with public getters
+ public Dictionary CollectedCards => collectedCards;
+
+ public int BoosterPackCount
+ {
+ get => boosterPackCount;
+ set => boosterPackCount = value;
+ }
+
+ // Constructor initializes empty dictionaries
+ public CardInventory()
+ {
+ // Initialize dictionaries for all enum values so we never have to check for null
+ foreach (CardZone zone in Enum.GetValues(typeof(CardZone)))
+ {
+ cardsByZone[zone] = new List();
+ }
+
+ foreach (CardRarity rarity in Enum.GetValues(typeof(CardRarity)))
+ {
+ cardsByRarity[rarity] = new List();
+ }
+ }
+
+ ///
+ /// Get all cards in the player's collection as a list
+ ///
+ public List GetAllCards()
+ {
+ return new List(collectedCards.Values);
+ }
+
+ ///
+ /// Get cards filtered by zone
+ ///
+ public List GetCardsByZone(CardZone zone)
+ {
+ return new List(cardsByZone[zone]);
+ }
+
+ ///
+ /// Get cards filtered by rarity
+ ///
+ public List GetCardsByRarity(CardRarity rarity)
+ {
+ return new List(cardsByRarity[rarity]);
+ }
+
+ ///
+ /// Add a card to the inventory (or increase the copies if already owned)
+ ///
+ public void AddCard(CardData card)
+ {
+ if (card == null) return;
+
+ if (collectedCards.TryGetValue(card.DefinitionId, out CardData existingCard))
+ {
+ // Increase copies of existing card
+ existingCard.CopiesOwned++;
+ }
+ else
+ {
+ // Add new card to collection
+ var newCard = new CardData(card);
+ collectedCards[card.DefinitionId] = newCard;
+
+ // Add to lookup dictionaries
+ cardsByZone[newCard.Zone].Add(newCard);
+ cardsByRarity[newCard.Rarity].Add(newCard);
+ }
+ }
+
+ ///
+ /// Update card zone and rarity indexes when a card changes
+ ///
+ public void UpdateCardProperties(CardData card, CardZone oldZone, CardRarity oldRarity)
+ {
+ // Only needed if the card's zone or rarity actually changed
+ if (oldZone != card.Zone)
+ {
+ cardsByZone[oldZone].Remove(card);
+ cardsByZone[card.Zone].Add(card);
+ }
+
+ if (oldRarity != card.Rarity)
+ {
+ cardsByRarity[oldRarity].Remove(card);
+ cardsByRarity[card.Rarity].Add(card);
+ }
+ }
+
+ ///
+ /// Get a specific card from the collection by definition ID
+ ///
+ public CardData GetCard(string definitionId)
+ {
+ return collectedCards.TryGetValue(definitionId, out CardData card) ? card : null;
+ }
+
+ ///
+ /// Check if the player has a specific card
+ ///
+ public bool HasCard(string definitionId)
+ {
+ return collectedCards.ContainsKey(definitionId);
+ }
+
+ ///
+ /// Get total number of unique cards in collection
+ ///
+ public int GetUniqueCardCount()
+ {
+ return collectedCards.Count;
+ }
+
+ ///
+ /// Get total number of cards including copies
+ ///
+ public int GetTotalCardCount()
+ {
+ return collectedCards.Values.Sum(card => card.CopiesOwned);
+ }
+
+ ///
+ /// Get number of cards in a specific zone
+ ///
+ public int GetZoneCardCount(CardZone zone)
+ {
+ return cardsByZone[zone].Count;
+ }
+
+ ///
+ /// Get number of cards of a specific rarity
+ ///
+ public int GetRarityCardCount(CardRarity rarity)
+ {
+ return cardsByRarity[rarity].Count;
+ }
+
+ ///
+ /// Get cards sorted by collection index (for album view)
+ ///
+ public List GetCardsSortedByIndex()
+ {
+ return collectedCards.Values
+ .OrderBy(card => card.CollectionIndex)
+ .ToList();
+ }
+
+ ///
+ /// Check if there's a complete collection for a specific zone
+ ///
+ public bool IsZoneCollectionComplete(CardZone zone, List allAvailableCards)
+ {
+ int availableInZone = allAvailableCards.Count(card => card.Zone == zone);
+ int collectedInZone = cardsByZone[zone].Count;
+
+ return availableInZone > 0 && collectedInZone >= availableInZone;
+ }
+
+ ///
+ /// Adds booster packs to the inventory
+ ///
+ public void AddBoosterPacks(int count)
+ {
+ boosterPackCount += count;
+ }
+
+ ///
+ /// Use a single booster pack (returns true if successful)
+ ///
+ public bool UseBoosterPack()
+ {
+ if (boosterPackCount <= 0) return false;
+
+ boosterPackCount--;
+ return true;
+ }
+ }
+}
diff --git a/Assets/Scripts/Data/CardSystem/CardInventory.cs.meta b/Assets/Scripts/Data/CardSystem/CardInventory.cs.meta
new file mode 100644
index 00000000..fecde4f8
--- /dev/null
+++ b/Assets/Scripts/Data/CardSystem/CardInventory.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: f5b1aa91590d48a1a4c426f3cd4aa103
+timeCreated: 1760445622
\ No newline at end of file
diff --git a/Assets/Scripts/Data/CardSystem/CardSystemManager.cs b/Assets/Scripts/Data/CardSystem/CardSystemManager.cs
index c80ed549..f2027b21 100644
--- a/Assets/Scripts/Data/CardSystem/CardSystemManager.cs
+++ b/Assets/Scripts/Data/CardSystem/CardSystemManager.cs
@@ -1,8 +1,10 @@
using System;
using System.Collections.Generic;
+using AppleHills.Data.CardSystem;
+using Core;
using UnityEngine;
-namespace AppleHills.Data.CardSystem
+namespace Data.CardSystem
{
///
/// Manages the player's card collection, booster packs, and related operations.
@@ -99,7 +101,7 @@ namespace AppleHills.Data.CardSystem
{
playerInventory.BoosterPackCount += count;
OnBoosterCountChanged?.Invoke(playerInventory.BoosterPackCount);
- Debug.Log($"[CardSystemManager] Added {count} booster pack(s). Total: {playerInventory.BoosterPackCount}");
+ Logging.Debug($"[CardSystemManager] Added {count} booster pack(s). Total: {playerInventory.BoosterPackCount}");
}
///
@@ -109,7 +111,7 @@ namespace AppleHills.Data.CardSystem
{
if (playerInventory.BoosterPackCount <= 0)
{
- Debug.LogWarning("[CardSystemManager] Attempted to open a booster pack, but none are available.");
+ Logging.Warning("[CardSystemManager] Attempted to open a booster pack, but none are available.");
return new List();
}
@@ -128,7 +130,7 @@ namespace AppleHills.Data.CardSystem
// Notify listeners
OnBoosterOpened?.Invoke(drawnCards);
- Debug.Log($"[CardSystemManager] Opened a booster pack and obtained {drawnCards.Count} cards. Remaining boosters: {playerInventory.BoosterPackCount}");
+ Logging.Debug($"[CardSystemManager] Opened a booster pack and obtained {drawnCards.Count} cards. Remaining boosters: {playerInventory.BoosterPackCount}");
return drawnCards;
}
@@ -138,8 +140,9 @@ namespace AppleHills.Data.CardSystem
private void AddCardToInventory(CardData card)
{
// Check if the player already has this card type (definition)
- if (playerInventory.CollectedCards.TryGetValue(card.DefinitionId, out CardData existingCard))
+ if (playerInventory.HasCard(card.DefinitionId))
{
+ CardData existingCard = playerInventory.GetCard(card.DefinitionId);
existingCard.CopiesOwned++;
// Check if the card can be upgraded
@@ -148,15 +151,15 @@ namespace AppleHills.Data.CardSystem
OnCardRarityUpgraded?.Invoke(existingCard);
}
- Debug.Log($"[CardSystemManager] Added duplicate card '{card.Name}'. Now have {existingCard.CopiesOwned} copies.");
+ Logging.Debug($"[CardSystemManager] Added duplicate card '{card.Name}'. Now have {existingCard.CopiesOwned} copies.");
}
else
{
// Add new card
- playerInventory.CollectedCards.Add(card.DefinitionId, new CardData(card));
+ playerInventory.AddCard(card);
OnCardCollected?.Invoke(card);
- Debug.Log($"[CardSystemManager] Added new card '{card.Name}' to collection.");
+ Logging.Debug($"[CardSystemManager] Added new card '{card.Name}' to collection.");
}
}
@@ -195,7 +198,7 @@ namespace AppleHills.Data.CardSystem
else
{
// Fallback if no cards of the selected rarity
- Debug.LogWarning($"[CardSystemManager] No cards of rarity {rarity} available, selecting a random card instead.");
+ Logging.Warning($"[CardSystemManager] No cards of rarity {rarity} available, selecting a random card instead.");
int randomIndex = UnityEngine.Random.Range(0, availableCards.Count);
CardDefinition randomDef = availableCards[randomIndex];
@@ -227,12 +230,23 @@ namespace AppleHills.Data.CardSystem
///
public List GetAllCollectedCards()
{
- List result = new List();
- foreach (var card in playerInventory.CollectedCards.Values)
- {
- result.Add(card);
- }
- return result;
+ return playerInventory.GetAllCards();
+ }
+
+ ///
+ /// Returns cards from a specific zone
+ ///
+ public List GetCardsByZone(CardZone zone)
+ {
+ return playerInventory.GetCardsByZone(zone);
+ }
+
+ ///
+ /// Returns cards of a specific rarity
+ ///
+ public List GetCardsByRarity(CardRarity rarity)
+ {
+ return playerInventory.GetCardsByRarity(rarity);
}
///
@@ -248,17 +262,30 @@ namespace AppleHills.Data.CardSystem
///
public bool IsCardCollected(string definitionId)
{
- return playerInventory.CollectedCards.ContainsKey(definitionId);
+ return playerInventory.HasCard(definitionId);
+ }
+
+ ///
+ /// Gets total unique card count
+ ///
+ public int GetUniqueCardCount()
+ {
+ return playerInventory.GetUniqueCardCount();
+ }
+
+ ///
+ /// Gets completion percentage for a specific zone (0-100)
+ ///
+ public float GetZoneCompletionPercentage(CardZone zone)
+ {
+ // Count available cards in this zone
+ int totalInZone = availableCards.FindAll(c => c.Zone == zone).Count;
+ if (totalInZone == 0) return 0;
+
+ // Count collected cards in this zone
+ int collectedInZone = playerInventory.GetCardsByZone(zone).Count;
+
+ return (float)collectedInZone / totalInZone * 100f;
}
}
-
- ///
- /// Serializable class to store the player's card inventory
- ///
- [Serializable]
- public class CardInventory
- {
- public Dictionary CollectedCards = new Dictionary();
- public int BoosterPackCount;
- }
}
diff --git a/Assets/Scripts/Data/CardSystem/CardVisualConfig.cs b/Assets/Scripts/Data/CardSystem/CardVisualConfig.cs
index 85e1197e..178e2f90 100644
--- a/Assets/Scripts/Data/CardSystem/CardVisualConfig.cs
+++ b/Assets/Scripts/Data/CardSystem/CardVisualConfig.cs
@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
+using Core;
using UnityEngine;
namespace AppleHills.Data.CardSystem
@@ -86,7 +87,7 @@ namespace AppleHills.Data.CardSystem
return color;
}
- Debug.LogWarning($"[CardVisualConfig] No color mapping found for rarity {rarity}, using default");
+ Logging.Warning($"[CardVisualConfig] No color mapping found for rarity {rarity}, using default");
return Color.white;
}
@@ -107,7 +108,7 @@ namespace AppleHills.Data.CardSystem
return color;
}
- Debug.LogWarning($"[CardVisualConfig] No color mapping found for zone {zone}, using default");
+ Logging.Warning($"[CardVisualConfig] No color mapping found for zone {zone}, using default");
return Color.white;
}
@@ -128,7 +129,7 @@ namespace AppleHills.Data.CardSystem
return sprite;
}
- Debug.LogWarning($"[CardVisualConfig] No shape mapping found for zone {zone}");
+ Logging.Warning($"[CardVisualConfig] No shape mapping found for zone {zone}");
return null;
}
diff --git a/Assets/Scripts/Dialogue/DialogueComponent.cs b/Assets/Scripts/Dialogue/DialogueComponent.cs
index 0e18a733..c870b953 100644
--- a/Assets/Scripts/Dialogue/DialogueComponent.cs
+++ b/Assets/Scripts/Dialogue/DialogueComponent.cs
@@ -89,7 +89,7 @@ namespace Dialogue
speechBubble.DisplayDialogueContent(content, HasAnyLines());
// Log the content type for debugging
- Debug.Log($"Displaying content type: {content.ContentType} - {(content.ContentType == DialogueContentType.Text ? content.Text : content.Image?.name)}");
+ Logging.Debug($"Displaying content type: {content.ContentType} - {(content.ContentType == DialogueContentType.Text ? content.Text : content.Image?.name)}");
}
else
{
@@ -98,7 +98,7 @@ namespace Dialogue
speechBubble.DisplayDialogueLine(line, HasAnyLines());
// Log for debugging
- Debug.Log($"Displaying legacy text: {line}");
+ Logging.Debug($"Displaying legacy text: {line}");
}
}
@@ -345,7 +345,7 @@ namespace Dialogue
private void MoveToNextNode()
{
- Debug.Log("MoveToNextNode");
+ Logging.Debug("MoveToNextNode");
// If there's no next node, complete the dialogue
if (string.IsNullOrEmpty(currentNode.nextNodeID))
@@ -471,7 +471,7 @@ namespace Dialogue
private void OnAnyItemSlotted(PickupItemData slotDefinition, PickupItemData slottedItem)
{
- Debug.Log("[DialogueComponent] OnAnyItemSlotted");
+ Logging.Debug("[DialogueComponent] OnAnyItemSlotted");
// Only react if we're active and waiting on a slot
if (!IsActive || IsCompleted || currentNode == null ||
diff --git a/Assets/Scripts/Examples/QuickAccessExample.cs b/Assets/Scripts/Examples/QuickAccessExample.cs
index a7a5cb1d..6c113601 100644
--- a/Assets/Scripts/Examples/QuickAccessExample.cs
+++ b/Assets/Scripts/Examples/QuickAccessExample.cs
@@ -1,5 +1,6 @@
using UnityEngine;
using AppleHills.Core;
+using Core;
namespace AppleHills.Examples
{
@@ -17,64 +18,64 @@ namespace AppleHills.Examples
// Print info about the player
if (player != null)
{
- Debug.Log($"[QuickAccessExample] Player found: {player.name}");
- Debug.Log($"[QuickAccessExample] Player position: {player.transform.position}");
+ Logging.Debug($"[QuickAccessExample] Player found: {player.name}");
+ Logging.Debug($"[QuickAccessExample] Player position: {player.transform.position}");
// Access player controller
var playerController = QuickAccess.Instance.PlayerController;
if (playerController != null)
{
- Debug.Log($"[QuickAccessExample] Player controller found on object");
+ Logging.Debug($"[QuickAccessExample] Player controller found on object");
}
else
{
- Debug.LogWarning($"[QuickAccessExample] Player controller not found");
+ Logging.Warning($"[QuickAccessExample] Player controller not found");
}
}
else
{
- Debug.LogWarning($"[QuickAccessExample] Player not found in scene");
+ Logging.Warning($"[QuickAccessExample] Player not found in scene");
}
// Print info about the follower (Pulver)
if (follower != null)
{
- Debug.Log($"[QuickAccessExample] Follower found: {follower.name}");
- Debug.Log($"[QuickAccessExample] Follower position: {follower.transform.position}");
+ Logging.Debug($"[QuickAccessExample] Follower found: {follower.name}");
+ Logging.Debug($"[QuickAccessExample] Follower position: {follower.transform.position}");
// Access follower controller
var followerController = QuickAccess.Instance.FollowerController;
if (followerController != null)
{
- Debug.Log($"[QuickAccessExample] Follower controller found on object");
+ Logging.Debug($"[QuickAccessExample] Follower controller found on object");
}
else
{
- Debug.LogWarning($"[QuickAccessExample] Follower controller not found");
+ Logging.Warning($"[QuickAccessExample] Follower controller not found");
}
}
else
{
- Debug.LogWarning($"[QuickAccessExample] Follower not found in scene");
+ Logging.Warning($"[QuickAccessExample] Follower not found in scene");
}
// Access camera
var camera = QuickAccess.Instance.MainCamera;
if (camera != null)
{
- Debug.Log($"[QuickAccessExample] Main camera found: {camera.name}");
- Debug.Log($"[QuickAccessExample] Camera position: {camera.transform.position}");
+ Logging.Debug($"[QuickAccessExample] Main camera found: {camera.name}");
+ Logging.Debug($"[QuickAccessExample] Camera position: {camera.transform.position}");
}
else
{
- Debug.LogWarning($"[QuickAccessExample] Main camera not found");
+ Logging.Warning($"[QuickAccessExample] Main camera not found");
}
// Access managers
try
{
- Debug.Log($"[QuickAccessExample] Game Manager instance accessed: {QuickAccess.Instance.GameManager != null}");
- Debug.Log($"[QuickAccessExample] Input Manager instance accessed: {QuickAccess.Instance.InputManager != null}");
+ Logging.Debug($"[QuickAccessExample] Game Manager instance accessed: {QuickAccess.Instance.GameManager != null}");
+ Logging.Debug($"[QuickAccessExample] Input Manager instance accessed: {QuickAccess.Instance.InputManager != null}");
}
catch (System.Exception e)
{
diff --git a/Assets/Scripts/Input/InputManager.cs b/Assets/Scripts/Input/InputManager.cs
index b3c65272..ada4a561 100644
--- a/Assets/Scripts/Input/InputManager.cs
+++ b/Assets/Scripts/Input/InputManager.cs
@@ -4,7 +4,8 @@ using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.InputSystem;
using UnityEngine.SceneManagement;
-using AppleHills.Core.Settings; // Added for IInteractionSettings
+using AppleHills.Core.Settings;
+using Core; // Added for IInteractionSettings
namespace Input
{
@@ -89,12 +90,12 @@ namespace Input
{
if (sceneName.ToLower().Contains("mainmenu"))
{
- Debug.Log("[InputManager] SwitchInputOnSceneLoaded - Setting InputMode to UI for MainMenu");
+ Logging.Debug("[InputManager] SwitchInputOnSceneLoaded - Setting InputMode to UI for MainMenu");
SetInputMode(InputMode.GameAndUI);
}
else
{
- Debug.Log("[InputManager] SwitchInputOnSceneLoaded - Setting InputMode to PlayerTouch");
+ Logging.Debug("[InputManager] SwitchInputOnSceneLoaded - Setting InputMode to PlayerTouch");
SetInputMode(InputMode.GameAndUI);
}
}
@@ -165,24 +166,24 @@ namespace Input
Vector2 screenPos = positionAction.ReadValue();
Vector3 worldPos = Camera.main.ScreenToWorldPoint(screenPos);
Vector2 worldPos2D = new Vector2(worldPos.x, worldPos.y);
- Debug.Log($"[InputManager] TapMove performed at {worldPos2D}");
+ Logging.Debug($"[InputManager] TapMove performed at {worldPos2D}");
// First try to delegate to an override consumer if available
if (TryDelegateToOverrideConsumer(screenPos, worldPos2D))
{
- Debug.Log("[InputManager] Tap delegated to override consumer");
+ Logging.Debug("[InputManager] Tap delegated to override consumer");
return;
}
// Then try to delegate to any ITouchInputConsumer (UI or world interactable)
if (!TryDelegateToAnyInputConsumer(screenPos, worldPos2D))
{
- Debug.Log("[InputManager] No input consumer found, forwarding tap to default consumer");
+ Logging.Debug("[InputManager] No input consumer found, forwarding tap to default consumer");
defaultConsumer?.OnTap(worldPos2D);
}
else
{
- Debug.Log("[InputManager] Tap delegated to input consumer");
+ Logging.Debug("[InputManager] Tap delegated to input consumer");
}
}
@@ -195,13 +196,13 @@ namespace Input
Vector2 screenPos = positionAction.ReadValue();
Vector3 worldPos = Camera.main.ScreenToWorldPoint(screenPos);
Vector2 worldPos2D = new Vector2(worldPos.x, worldPos.y);
- Debug.Log($"[InputManager] HoldMove started at {worldPos2D}");
+ Logging.Debug($"[InputManager] HoldMove started at {worldPos2D}");
// First check for override consumers
if (_overrideConsumers.Count > 0)
{
_activeHoldConsumer = _overrideConsumers[_overrideConsumers.Count - 1];
- Debug.Log($"[InputManager] Hold delegated to override consumer: {_activeHoldConsumer}");
+ Logging.Debug($"[InputManager] Hold delegated to override consumer: {_activeHoldConsumer}");
_activeHoldConsumer.OnHoldStart(worldPos2D);
return;
}
@@ -221,7 +222,7 @@ namespace Input
Vector2 screenPos = positionAction.ReadValue();
Vector3 worldPos = Camera.main.ScreenToWorldPoint(screenPos);
Vector2 worldPos2D = new Vector2(worldPos.x, worldPos.y);
- Debug.Log($"[InputManager] HoldMove canceled at {worldPos2D}");
+ Logging.Debug($"[InputManager] HoldMove canceled at {worldPos2D}");
// Notify the active hold consumer that the hold has ended
_activeHoldConsumer?.OnHoldEnd(worldPos2D);
@@ -238,7 +239,7 @@ namespace Input
Vector2 screenPos = positionAction.ReadValue();
Vector3 worldPos = Camera.main.ScreenToWorldPoint(screenPos);
Vector2 worldPos2D = new Vector2(worldPos.x, worldPos.y);
- // Debug.Log($"[InputManager] HoldMove update at {worldPos2D}");
+ // Logging.Debug($"[InputManager] HoldMove update at {worldPos2D}");
// Send hold move updates to the active hold consumer
_activeHoldConsumer?.OnHoldMove(worldPos2D);
@@ -285,7 +286,7 @@ namespace Input
}
if (consumer != null)
{
- Debug.unityLogger.Log("Interactable", $"[InputManager] Delegating tap to UI consumer at {screenPos} (GameObject: {result.gameObject.name})");
+ Logging.Debug($"[InputManager] Delegating tap to UI consumer at {screenPos} (GameObject: {result.gameObject.name})");
consumer.OnTap(screenPos);
return true;
}
@@ -314,7 +315,7 @@ namespace Input
}
if (consumer != null)
{
- Debug.unityLogger.Log("Interactable", $"[InputManager] Delegating tap to consumer at {worldPos} (GameObject: {hitWithMask.gameObject.name})");
+ Logging.Debug($"[InputManager] Delegating tap to consumer at {worldPos} (GameObject: {hitWithMask.gameObject.name})");
consumer.OnTap(worldPos);
return true;
}
@@ -328,15 +329,15 @@ namespace Input
var consumer = hit.GetComponent();
if (consumer != null)
{
- Debug.unityLogger.Log("Interactable", $"[InputManager] Delegating tap to consumer at {worldPos} (GameObject: {hit.gameObject.name})");
+ Logging.Debug($"[InputManager] Delegating tap to consumer at {worldPos} (GameObject: {hit.gameObject.name})");
consumer.OnTap(worldPos);
return true;
}
- Debug.unityLogger.Log("Interactable", $"[InputManager] Collider2D hit at {worldPos} (GameObject: {hit.gameObject.name}), but no ITouchInputConsumer found.");
+ Logging.Debug($"[InputManager] Collider2D hit at {worldPos} (GameObject: {hit.gameObject.name}), but no ITouchInputConsumer found.");
}
else
{
- Debug.unityLogger.Log("Interactable", $"[InputManager] No Collider2D found at {worldPos} for interactable delegation.");
+ Logging.Debug($"[InputManager] No Collider2D found at {worldPos} for interactable delegation.");
}
return false;
}
@@ -351,7 +352,7 @@ namespace Input
return;
_overrideConsumers.Add(consumer);
- Debug.Log($"[InputManager] Override consumer registered: {consumer}");
+ Logging.Debug($"[InputManager] Override consumer registered: {consumer}");
}
///
@@ -369,7 +370,7 @@ namespace Input
}
_overrideConsumers.Remove(consumer);
- Debug.Log($"[InputManager] Override consumer unregistered: {consumer}");
+ Logging.Debug($"[InputManager] Override consumer unregistered: {consumer}");
}
///
@@ -379,7 +380,7 @@ namespace Input
{
_activeHoldConsumer = null;
_overrideConsumers.Clear();
- Debug.Log("[InputManager] All override consumers cleared.");
+ Logging.Debug("[InputManager] All override consumers cleared.");
}
///
@@ -392,7 +393,7 @@ namespace Input
// Get the topmost override consumer (last registered)
var consumer = _overrideConsumers[_overrideConsumers.Count - 1];
- Debug.unityLogger.Log("Interactable", $"[InputManager] Delegating tap to override consumer at {worldPos} (GameObject: {consumer})");
+ Logging.Debug($"[InputManager] Delegating tap to override consumer at {worldPos} (GameObject: {consumer})");
consumer.OnTap(worldPos);
return true;
}
diff --git a/Assets/Scripts/Input/PlayerTouchController.cs b/Assets/Scripts/Input/PlayerTouchController.cs
index 6ac8c8cf..5b3af21b 100644
--- a/Assets/Scripts/Input/PlayerTouchController.cs
+++ b/Assets/Scripts/Input/PlayerTouchController.cs
@@ -1,6 +1,7 @@
using UnityEngine;
using Pathfinding;
using AppleHills.Core.Settings;
+using Core;
namespace Input
{
@@ -83,7 +84,7 @@ namespace Input
public void OnTap(Vector2 worldPosition)
{
InterruptMoveTo();
- Debug.Log($"[PlayerTouchController] OnTap at {worldPosition}");
+ Logging.Debug($"[PlayerTouchController] OnTap at {worldPosition}");
if (aiPath != null)
{
aiPath.enabled = true;
@@ -102,7 +103,7 @@ namespace Input
public void OnHoldStart(Vector2 worldPosition)
{
InterruptMoveTo();
- Debug.Log($"[PlayerTouchController] OnHoldStart at {worldPosition}");
+ Logging.Debug($"[PlayerTouchController] OnHoldStart at {worldPosition}");
lastHoldPosition = worldPosition;
isHolding = true;
if (_settings.DefaultHoldMovementMode == HoldMovementMode.Pathfinding &&
@@ -139,7 +140,7 @@ namespace Input
///
public void OnHoldEnd(Vector2 worldPosition)
{
- Debug.Log($"[PlayerTouchController] OnHoldEnd at {worldPosition}");
+ Logging.Debug($"[PlayerTouchController] OnHoldEnd at {worldPosition}");
isHolding = false;
directMoveVelocity = Vector3.zero;
if (aiPath != null && _settings.DefaultHoldMovementMode ==
@@ -315,13 +316,13 @@ namespace Input
{
_isMoving = true;
OnMovementStarted?.Invoke();
- Debug.Log("[PlayerTouchController] Movement started");
+ Logging.Debug("[PlayerTouchController] Movement started");
}
else if (!isCurrentlyMoving && _isMoving)
{
_isMoving = false;
OnMovementStopped?.Invoke();
- Debug.Log("[PlayerTouchController] Movement stopped");
+ Logging.Debug("[PlayerTouchController] Movement stopped");
}
}
diff --git a/Assets/Scripts/Interactions/Interactable.cs b/Assets/Scripts/Interactions/Interactable.cs
index e2635782..521d3c1b 100644
--- a/Assets/Scripts/Interactions/Interactable.cs
+++ b/Assets/Scripts/Interactions/Interactable.cs
@@ -4,6 +4,7 @@ using System;
using System.Collections.Generic;
using UnityEngine.Events;
using System.Threading.Tasks;
+using Core;
namespace Interactions
{
@@ -100,10 +101,10 @@ namespace Interactions
{
if (!_isActive)
{
- Debug.Log($"[Interactable] Is disabled!");
+ Logging.Debug($"[Interactable] Is disabled!");
return;
}
- Debug.Log($"[Interactable] OnTap at {worldPosition} on {gameObject.name}");
+ Logging.Debug($"[Interactable] OnTap at {worldPosition} on {gameObject.name}");
// Start the interaction process asynchronously
_ = TryInteractAsync();
@@ -129,7 +130,7 @@ namespace Interactions
{
if (_playerRef == null)
{
- Debug.Log($"[Interactable] Player character could not be found. Aborting interaction.");
+ Logging.Debug($"[Interactable] Player character could not be found. Aborting interaction.");
interactionInterrupted.Invoke();
await DispatchEventAsync(InteractionEventType.InteractionInterrupted);
return;
@@ -372,9 +373,9 @@ namespace Interactions
// Dispatch InteractingCharacterArrived event and WAIT for all actions to complete
// This ensures we wait for any timeline animations to finish before proceeding
- Debug.Log("[Interactable] Follower arrived, dispatching InteractingCharacterArrived event and waiting for completion");
+ Logging.Debug("[Interactable] Follower arrived, dispatching InteractingCharacterArrived event and waiting for completion");
await DispatchEventAsync(InteractionEventType.InteractingCharacterArrived);
- Debug.Log("[Interactable] All InteractingCharacterArrived actions completed, proceeding with interaction");
+ Logging.Debug("[Interactable] All InteractingCharacterArrived actions completed, proceeding with interaction");
// Check if we have any components that might have paused the interaction flow
bool hasTimelineActions = false;
diff --git a/Assets/Scripts/Interactions/InteractionTimelineAction.cs b/Assets/Scripts/Interactions/InteractionTimelineAction.cs
index b89feb64..18adb068 100644
--- a/Assets/Scripts/Interactions/InteractionTimelineAction.cs
+++ b/Assets/Scripts/Interactions/InteractionTimelineAction.cs
@@ -3,6 +3,7 @@ using UnityEngine;
using UnityEngine.Playables;
using System.Linq;
using System.Threading.Tasks;
+using Core;
using Input;
namespace Interactions
@@ -156,7 +157,7 @@ namespace Interactions
{
if (timelineAsset == null)
{
- Debug.LogWarning("[InteractionTimelineAction] Timeline asset is null");
+ Logging.Warning("[InteractionTimelineAction] Timeline asset is null");
return true; // Return true to continue the interaction flow
}
@@ -175,7 +176,7 @@ namespace Interactions
}
else
{
- Debug.LogWarning($"[InteractionTimelineAction] Could not find track named '{mapping.playerTrackName}' for player binding");
+ Logging.Warning($"[InteractionTimelineAction] Could not find track named '{mapping.playerTrackName}' for player binding");
}
}
catch (Exception ex)
@@ -195,7 +196,7 @@ namespace Interactions
}
else
{
- Debug.LogWarning($"[InteractionTimelineAction] Could not find track named '{mapping.pulverTrackName}' for follower binding");
+ Logging.Warning($"[InteractionTimelineAction] Could not find track named '{mapping.pulverTrackName}' for follower binding");
}
}
catch (Exception ex)
@@ -212,7 +213,7 @@ namespace Interactions
playableDirector.stopped += OnPlayableDirectorStopped;
// Log the timeline playback
- Debug.Log($"[InteractionTimelineAction] Playing timeline {timelineAsset.name} for event {mapping.eventType}");
+ Logging.Debug($"[InteractionTimelineAction] Playing timeline {timelineAsset.name} for event {mapping.eventType}");
// Play the timeline
playableDirector.Play();
@@ -224,7 +225,7 @@ namespace Interactions
bool result = await _currentPlaybackTCS.Task;
// Log completion
- Debug.Log($"[InteractionTimelineAction] Timeline {timelineAsset.name} playback completed with result: {result}");
+ Logging.Debug($"[InteractionTimelineAction] Timeline {timelineAsset.name} playback completed with result: {result}");
// Clear the task completion source
_currentPlaybackTCS = null;
@@ -237,7 +238,7 @@ namespace Interactions
if (director != playableDirector || _currentPlaybackTCS == null)
return;
- Debug.Log($"[InteractionTimelineAction] PlayableDirector stopped. Signaling completion.");
+ Logging.Debug($"[InteractionTimelineAction] PlayableDirector stopped. Signaling completion.");
// Signal completion when the director stops
_currentPlaybackTCS.TrySetResult(true);
@@ -250,7 +251,7 @@ namespace Interactions
// If the TCS still exists after timeout, complete it with failure
if (_currentPlaybackTCS != null)
{
- Debug.LogWarning($"[InteractionTimelineAction] Timeline playback timed out after {timeoutDuration} seconds");
+ Logging.Warning($"[InteractionTimelineAction] Timeline playback timed out after {timeoutDuration} seconds");
_currentPlaybackTCS.TrySetResult(false);
}
}
diff --git a/Assets/Scripts/Interactions/ItemSlot.cs b/Assets/Scripts/Interactions/ItemSlot.cs
index dfce4c21..4f179297 100644
--- a/Assets/Scripts/Interactions/ItemSlot.cs
+++ b/Assets/Scripts/Interactions/ItemSlot.cs
@@ -80,7 +80,7 @@ namespace Interactions
protected override void OnCharacterArrived()
{
- Debug.Log("[ItemSlot] OnCharacterArrived");
+ Logging.Debug("[ItemSlot] OnCharacterArrived");
var heldItemData = FollowerController.CurrentlyHeldItemData;
var heldItemObj = FollowerController.GetHeldPickupObject();
diff --git a/Assets/Scripts/Interactions/Pickup.cs b/Assets/Scripts/Interactions/Pickup.cs
index d07237fe..205f6f57 100644
--- a/Assets/Scripts/Interactions/Pickup.cs
+++ b/Assets/Scripts/Interactions/Pickup.cs
@@ -103,7 +103,7 @@ namespace Interactions
protected virtual void OnCharacterArrived()
{
- Debug.Log("[Pickup] OnCharacterArrived");
+ Logging.Debug("[Pickup] OnCharacterArrived");
var combinationResult = FollowerController.TryCombineItems(this, out var combinationResultItem);
if (combinationResultItem != null)
diff --git a/Assets/Scripts/LevelS/LevelSwitch.cs b/Assets/Scripts/LevelS/LevelSwitch.cs
index 2db71097..a3f257dd 100644
--- a/Assets/Scripts/LevelS/LevelSwitch.cs
+++ b/Assets/Scripts/LevelS/LevelSwitch.cs
@@ -116,7 +116,7 @@ namespace LevelS
private async void OnMenuConfirm()
{
- var progress = new Progress(p => Debug.Log($"Loading progress: {p * 100:F0}%"));
+ var progress = new Progress(p => Logging.Debug($"Loading progress: {p * 100:F0}%"));
await SceneManagerService.Instance.SwitchSceneAsync(switchData.targetLevelSceneName, progress);
}
diff --git a/Assets/Scripts/Minigames/DivingForPictures/Bubbles/Bubble.cs b/Assets/Scripts/Minigames/DivingForPictures/Bubbles/Bubble.cs
index b01aad7c..a54d911e 100644
--- a/Assets/Scripts/Minigames/DivingForPictures/Bubbles/Bubble.cs
+++ b/Assets/Scripts/Minigames/DivingForPictures/Bubbles/Bubble.cs
@@ -2,6 +2,7 @@
using System.Collections;
using Pooling;
using AppleHills.Core.Interfaces;
+using Core;
namespace Minigames.DivingForPictures
{
@@ -72,7 +73,7 @@ namespace Minigames.DivingForPictures
StopBubbleBehavior();
// Debug log for troubleshooting
- Debug.Log($"[Bubble] Paused bubble: {name}");
+ Logging.Debug($"[Bubble] Paused bubble: {name}");
}
///
@@ -86,7 +87,7 @@ namespace Minigames.DivingForPictures
StartBubbleBehavior();
// Debug log for troubleshooting
- Debug.Log($"[Bubble] Resumed bubble: {name}");
+ Logging.Debug($"[Bubble] Resumed bubble: {name}");
}
///
@@ -195,7 +196,7 @@ namespace Minigames.DivingForPictures
BubblePool pool = FindFirstObjectByType();
if (pool != null)
{
- Debug.LogWarning("Bubble is missing its parent pool reference, finding pool as fallback");
+ Logging.Warning("Bubble is missing its parent pool reference, finding pool as fallback");
pool.ReturnBubble(this);
}
else
diff --git a/Assets/Scripts/Minigames/DivingForPictures/Bubbles/BubblePool.cs b/Assets/Scripts/Minigames/DivingForPictures/Bubbles/BubblePool.cs
index c9df15e7..593ea636 100644
--- a/Assets/Scripts/Minigames/DivingForPictures/Bubbles/BubblePool.cs
+++ b/Assets/Scripts/Minigames/DivingForPictures/Bubbles/BubblePool.cs
@@ -1,4 +1,5 @@
-using UnityEngine;
+using Core;
+using UnityEngine;
using Pooling;
namespace Minigames.DivingForPictures
@@ -36,7 +37,7 @@ namespace Minigames.DivingForPictures
///
public override void LogPoolStats()
{
- Debug.Log($"[BubblePool] Pooled bubbles: {pooledObjects.Count}/{maxPoolSize} (Created: {totalCreated}, Returned: {totalReturned})");
+ Logging.Debug($"[BubblePool] Pooled bubbles: {pooledObjects.Count}/{maxPoolSize} (Created: {totalCreated}, Returned: {totalReturned})");
}
}
}
diff --git a/Assets/Scripts/Minigames/DivingForPictures/Bubbles/BubbleSpawner.cs b/Assets/Scripts/Minigames/DivingForPictures/Bubbles/BubbleSpawner.cs
index 0d4b702f..7ce8ba47 100644
--- a/Assets/Scripts/Minigames/DivingForPictures/Bubbles/BubbleSpawner.cs
+++ b/Assets/Scripts/Minigames/DivingForPictures/Bubbles/BubbleSpawner.cs
@@ -2,6 +2,7 @@
using UnityEngine;
using AppleHills.Core.Settings;
using AppleHills.Core.Interfaces;
+using Core;
namespace Minigames.DivingForPictures
{
@@ -106,7 +107,7 @@ namespace Minigames.DivingForPictures
}
}
- Debug.Log("[BubbleSpawner] Paused");
+ Logging.Debug("[BubbleSpawner] Paused");
}
///
@@ -131,7 +132,7 @@ namespace Minigames.DivingForPictures
}
}
- Debug.Log("[BubbleSpawner] Resumed");
+ Logging.Debug("[BubbleSpawner] Resumed");
}
///
@@ -153,7 +154,7 @@ namespace Minigames.DivingForPictures
if (_devSettings == null) return;
_nextSpawnInterval = GetRandomizedInterval();
- Debug.Log($"[BubbleSpawner] Next spawn interval set to: {_nextSpawnInterval:F2}s");
+ Logging.Debug($"[BubbleSpawner] Next spawn interval set to: {_nextSpawnInterval:F2}s");
}
///
@@ -239,7 +240,7 @@ namespace Minigames.DivingForPictures
bubble.speed *= _devSettings.BubbleSurfacingSpeedFactor;
}
- Debug.Log($"[BubbleSpawner] Started surfacing mode. Bubbles slowed to {_devSettings.BubbleSurfacingSpeedFactor * 100}% speed.");
+ Logging.Debug($"[BubbleSpawner] Started surfacing mode. Bubbles slowed to {_devSettings.BubbleSurfacingSpeedFactor * 100}% speed.");
}
///
@@ -258,7 +259,7 @@ namespace Minigames.DivingForPictures
///
private IEnumerator SpawnBubblesRoutine()
{
- Debug.Log("[BubbleSpawner] Started bubble spawning coroutine");
+ Logging.Debug("[BubbleSpawner] Started bubble spawning coroutine");
while (enabled && gameObject.activeInHierarchy && !_isPaused)
{
@@ -269,7 +270,7 @@ namespace Minigames.DivingForPictures
_spawnCoroutine = null;
- Debug.Log("[BubbleSpawner] Bubble spawning coroutine ended");
+ Logging.Debug("[BubbleSpawner] Bubble spawning coroutine ended");
}
}
}
\ No newline at end of file
diff --git a/Assets/Scripts/Minigames/DivingForPictures/DivingGameManager.cs b/Assets/Scripts/Minigames/DivingForPictures/DivingGameManager.cs
index 57430c1e..caad403d 100644
--- a/Assets/Scripts/Minigames/DivingForPictures/DivingGameManager.cs
+++ b/Assets/Scripts/Minigames/DivingForPictures/DivingGameManager.cs
@@ -8,6 +8,7 @@ using UnityEngine.Playables;
using AppleHills.Core.Settings;
using Utility;
using AppleHills.Core.Interfaces;
+using Core;
using Input;
using UI;
using Minigames.DivingForPictures.PictureCamera;
@@ -144,11 +145,11 @@ namespace Minigames.DivingForPictures
pauseMenu.OnGamePaused += Pause;
pauseMenu.OnGameResumed += DoResume;
- Debug.Log("[DivingGameManager] Subscribed to PauseMenu events");
+ Logging.Debug("[DivingGameManager] Subscribed to PauseMenu events");
}
else
{
- Debug.LogWarning("[DivingGameManager] PauseMenu not found. Pause functionality won't work properly.");
+ Logging.Warning("[DivingGameManager] PauseMenu not found. Pause functionality won't work properly.");
}
// Register this manager with the global GameManager
@@ -161,6 +162,7 @@ namespace Minigames.DivingForPictures
if (SceneOrientationEnforcer.Instance != null)
{
SceneOrientationEnforcer.Instance.OnOrientationCorrect += InitializeGame;
+ SceneOrientationEnforcer.Instance.OnOrientationIncorrect += Pause;
// If orientation is already correct, initialize right away
// This prevents issues if the orientation was already correct before subscription
@@ -171,7 +173,7 @@ namespace Minigames.DivingForPictures
}
else
{
- Debug.LogWarning("[DivingGameManager] SceneOrientationEnforcer not found. Initializing game immediately.");
+ Logging.Warning("[DivingGameManager] SceneOrientationEnforcer not found. Initializing game immediately.");
InitializeGame();
}
@@ -210,6 +212,7 @@ namespace Minigames.DivingForPictures
if (SceneOrientationEnforcer.Instance != null)
{
SceneOrientationEnforcer.Instance.OnOrientationCorrect -= InitializeGame;
+ SceneOrientationEnforcer.Instance.OnOrientationIncorrect -= Pause;
}
// Unsubscribe from PauseMenu events
@@ -294,11 +297,11 @@ namespace Minigames.DivingForPictures
private void SpawnMonster(Transform spawnPoint)
{
- Debug.Log("Spawning monster: " + spawnPoint.name);
+ Logging.Debug("Spawning monster: " + spawnPoint.name);
if (monsterPrefabs.Length == 0)
{
- Debug.LogWarning("No monster prefabs assigned to DivingGameManager.");
+ Logging.Warning("No monster prefabs assigned to DivingGameManager.");
return;
}
@@ -359,7 +362,7 @@ namespace Minigames.DivingForPictures
int remainingRopes = playerRopes.Length - currentRopeIndex;
OnRopeBroken?.Invoke(remainingRopes);
- Debug.Log($"[DivingGameManager] Rope broken! {remainingRopes} ropes remaining.");
+ Logging.Debug($"[DivingGameManager] Rope broken! {remainingRopes} ropes remaining.");
}
}
@@ -379,7 +382,7 @@ namespace Minigames.DivingForPictures
}
else
{
- Debug.LogWarning($"[DivingGameManager] Rope at index {currentRopeIndex} is null!");
+ Logging.Warning($"[DivingGameManager] Rope at index {currentRopeIndex} is null!");
}
// Move to the next rope regardless if current was null
@@ -406,7 +409,7 @@ namespace Minigames.DivingForPictures
if (isGameOver) return;
isGameOver = true;
- Debug.Log("[DivingGameManager] Game Over! All ropes broken. Starting surfacing sequence...");
+ Logging.Debug("[DivingGameManager] Game Over! All ropes broken. Starting surfacing sequence...");
// Fire game over event
OnGameOver?.Invoke();
@@ -422,7 +425,7 @@ namespace Minigames.DivingForPictures
{
if (playerRopes == null || playerRopes.Length == 0)
{
- Debug.LogWarning("[DivingGameManager] No ropes assigned to break! Damage system won't work properly.");
+ Logging.Warning("[DivingGameManager] No ropes assigned to break! Damage system won't work properly.");
return;
}
@@ -430,7 +433,7 @@ namespace Minigames.DivingForPictures
{
if (playerRopes[i] == null)
{
- Debug.LogWarning($"[DivingGameManager] Rope at index {i} is null!");
+ Logging.Warning($"[DivingGameManager] Rope at index {i} is null!");
}
}
}
@@ -456,7 +459,7 @@ namespace Minigames.DivingForPictures
}
}
- Debug.Log("[DivingGameManager] Rope system reset.");
+ Logging.Debug("[DivingGameManager] Rope system reset.");
}
///
@@ -510,7 +513,7 @@ namespace Minigames.DivingForPictures
// Start coroutine to animate the rock falling offscreen
StartCoroutine(MoveRockOffscreen(rockObject.transform));
- Debug.Log("[DivingGameManager] Disabled rock components and animating it offscreen");
+ Logging.Debug("[DivingGameManager] Disabled rock components and animating it offscreen");
}
// Handle the Player object - disable components and reset X position
@@ -534,7 +537,7 @@ namespace Minigames.DivingForPictures
// Start coroutine to reset X position to 0 over 1 second
StartCoroutine(ResetPlayerPosition(playerObject.transform));
- Debug.Log("[DivingGameManager] Disabled player components (keeping Animator and PlayerBlinkBehavior) and resetting position");
+ Logging.Debug("[DivingGameManager] Disabled player components (keeping Animator and PlayerBlinkBehavior) and resetting position");
}
// 3. Find bubble spawner and slow down existing bubbles (no velocity management needed)
@@ -566,7 +569,7 @@ namespace Minigames.DivingForPictures
}
surfacingSequenceCoroutine = StartCoroutine(SurfacingSequence());
- Debug.Log($"[DivingGameManager] Started surfacing with target velocity factor: {targetVelocityFactor}");
+ Logging.Debug($"[DivingGameManager] Started surfacing with target velocity factor: {targetVelocityFactor}");
}
///
@@ -580,7 +583,7 @@ namespace Minigames.DivingForPictures
UnityEngine.Camera mainCamera = UnityEngine.Camera.main;
if (mainCamera == null)
{
- Debug.LogWarning("[DivingGameManager] Cannot find main camera to calculate offscreen position");
+ Logging.Warning("[DivingGameManager] Cannot find main camera to calculate offscreen position");
yield break;
}
@@ -648,7 +651,7 @@ namespace Minigames.DivingForPictures
{
// Tell it to stop spawning new tiles
tileSpawner.StopSpawning();
- Debug.Log("[DivingGameManager] Stopped spawning new tiles after delay");
+ Logging.Debug("[DivingGameManager] Stopped spawning new tiles after delay");
}
}
@@ -661,11 +664,11 @@ namespace Minigames.DivingForPictures
if (surfacingTimeline != null)
{
surfacingTimeline.Play();
- Debug.Log("[DivingGameManager] Last tile left the screen, playing timeline");
+ Logging.Debug("[DivingGameManager] Last tile left the screen, playing timeline");
}
else
{
- Debug.LogWarning("[DivingGameManager] No surfacing timeline assigned!");
+ Logging.Warning("[DivingGameManager] No surfacing timeline assigned!");
}
}
@@ -684,7 +687,7 @@ namespace Minigames.DivingForPictures
activeMonsters.Clear();
// Final score could be saved to player prefs or other persistence
- Debug.Log($"Final Score: {playerScore}");
+ Logging.Debug($"Final Score: {playerScore}");
}
///
@@ -747,7 +750,7 @@ namespace Minigames.DivingForPictures
component.Pause();
}
- Debug.Log($"[DivingGameManager] Registered pausable component: {(component as MonoBehaviour)?.name ?? "Unknown"}");
+ Logging.Debug($"[DivingGameManager] Registered pausable component: {(component as MonoBehaviour)?.name ?? "Unknown"}");
}
}
@@ -760,7 +763,7 @@ namespace Minigames.DivingForPictures
if (component != null && _pausableComponents.Contains(component))
{
_pausableComponents.Remove(component);
- Debug.Log($"[DivingGameManager] Unregistered pausable component: {(component as MonoBehaviour)?.name ?? "Unknown"}");
+ Logging.Debug($"[DivingGameManager] Unregistered pausable component: {(component as MonoBehaviour)?.name ?? "Unknown"}");
}
}
@@ -788,7 +791,7 @@ namespace Minigames.DivingForPictures
if(turnOffGameInput)
InputManager.Instance.SetInputMode(InputMode.UI);
- Debug.Log($"[DivingGameManager] Game paused. Paused {_pausableComponents.Count} components.");
+ Logging.Debug($"[DivingGameManager] Game paused. Paused {_pausableComponents.Count} components.");
}
///
@@ -809,7 +812,7 @@ namespace Minigames.DivingForPictures
// Change input mode to UI when menu is open
InputManager.Instance.SetInputMode(InputMode.GameAndUI);
- Debug.Log($"[DivingGameManager] Game resumed. Resumed {_pausableComponents.Count} components.");
+ Logging.Debug($"[DivingGameManager] Game resumed. Resumed {_pausableComponents.Count} components.");
}
#region Photo Sequence Methods
@@ -819,7 +822,7 @@ namespace Minigames.DivingForPictures
///
private void OnReverseAnimationStarted()
{
- Debug.Log("[DivingGameManager] Viewfinder animation entering reverse (zoom-out) phase");
+ Logging.Debug("[DivingGameManager] Viewfinder animation entering reverse (zoom-out) phase");
}
///
@@ -842,7 +845,7 @@ namespace Minigames.DivingForPictures
// Store the proximity value at the time of tap for scoring
_capturedProximity = proximity;
- Debug.Log($"[DivingGameManager] Player tapped during animation! Proximity: {proximity:F2}");
+ Logging.Debug($"[DivingGameManager] Player tapped during animation! Proximity: {proximity:F2}");
// Take the picture at the current proximity
TakePicture();
@@ -883,7 +886,7 @@ namespace Minigames.DivingForPictures
// Calculate total score
int pointsAwarded = settings.BasePoints + proximityBonus + depthBonus;
- Debug.Log($"[DivingGameManager] Picture score calculation: base={proximityBonus} (proximity={proximity:F2}), " +
+ Logging.Debug($"[DivingGameManager] Picture score calculation: base={proximityBonus} (proximity={proximity:F2}), " +
$"depth bonus={depthBonus}, total={pointsAwarded}");
// Add score
@@ -932,7 +935,7 @@ namespace Minigames.DivingForPictures
_isPhotoSequenceActive = false;
_currentPhotoTarget = null;
- Debug.Log($"[DivingGameManager] Completed photo sequence with proximity score: {_capturedProximity:F2}");
+ Logging.Debug($"[DivingGameManager] Completed photo sequence with proximity score: {_capturedProximity:F2}");
}
///
@@ -956,10 +959,16 @@ namespace Minigames.DivingForPictures
///
public void InitializeGame()
{
+ if (_isGameInitialized)
+ {
+ DoResume();
+ return;
+ }
+
// Prevent double initialization
if (_isGameInitialized) return;
- Debug.Log("[DivingGameManager] Initializing game");
+ Logging.Debug("[DivingGameManager] Initializing game");
// Subscribe to tile spawned event
TrenchTileSpawner tileSpawner = FindFirstObjectByType();
@@ -969,7 +978,7 @@ namespace Minigames.DivingForPictures
}
else
{
- Debug.LogWarning("No TrenchTileSpawner found in scene. Monster spawning won't work.");
+ Logging.Warning("No TrenchTileSpawner found in scene. Monster spawning won't work.");
}
// Mark as initialized
@@ -1021,7 +1030,7 @@ namespace Minigames.DivingForPictures
if (viewfinderManager != null)
{
viewfinderManager.ShowFullScreenViewfinder();
- Debug.Log($"[DivingGameManager] Player entered range of monster {monster.name}, showing full-screen viewfinder");
+ Logging.Debug($"[DivingGameManager] Player entered range of monster {monster.name}, showing full-screen viewfinder");
}
}
}
@@ -1036,7 +1045,7 @@ namespace Minigames.DivingForPictures
if (viewfinderManager != null)
{
viewfinderManager.HideViewfinder();
- Debug.Log($"[DivingGameManager] Player exited range of monster {monster.name}, hiding viewfinder");
+ Logging.Debug($"[DivingGameManager] Player exited range of monster {monster.name}, hiding viewfinder");
}
// Clear current target
@@ -1052,7 +1061,7 @@ namespace Minigames.DivingForPictures
{
// Pause the game immediately
DoPause(false);
- Debug.Log($"[DivingGameManager] Pausing game before starting viewfinder animation");
+ Logging.Debug($"[DivingGameManager] Pausing game before starting viewfinder animation");
// Mark the photo sequence as active
_isPhotoSequenceActive = true;
@@ -1070,7 +1079,7 @@ namespace Minigames.DivingForPictures
if (viewfinderManager != null)
{
viewfinderManager.StartViewfinderSequence(_currentPhotoTarget.transform);
- Debug.Log($"[DivingGameManager] Viewfinder tapped for monster {_currentPhotoTarget.name}, starting animation sequence");
+ Logging.Debug($"[DivingGameManager] Viewfinder tapped for monster {_currentPhotoTarget.name}, starting animation sequence");
}
else
{
diff --git a/Assets/Scripts/Minigames/DivingForPictures/Monster/Monster.cs b/Assets/Scripts/Minigames/DivingForPictures/Monster/Monster.cs
index 7b3b8784..7745d67a 100644
--- a/Assets/Scripts/Minigames/DivingForPictures/Monster/Monster.cs
+++ b/Assets/Scripts/Minigames/DivingForPictures/Monster/Monster.cs
@@ -1,6 +1,7 @@
using UnityEngine;
using System;
using System.Collections;
+using Core;
namespace Minigames.DivingForPictures
{
@@ -29,7 +30,7 @@ namespace Minigames.DivingForPictures
private void Awake()
{
- Debug.Log("Monster created: " + gameObject.name);
+ Logging.Debug("Monster created: " + gameObject.name);
if (detectionCollider == null)
detectionCollider = GetComponent();
@@ -48,7 +49,7 @@ namespace Minigames.DivingForPictures
private void OnDestroy()
{
- Debug.Log("Monster destroyed: " + gameObject.name);
+ Logging.Debug("Monster destroyed: " + gameObject.name);
}
private IEnumerator CheckIfOffScreen()
diff --git a/Assets/Scripts/Minigames/DivingForPictures/Obstacles/FloatingObstacle.cs b/Assets/Scripts/Minigames/DivingForPictures/Obstacles/FloatingObstacle.cs
index a6fd12e9..df5a7c4e 100644
--- a/Assets/Scripts/Minigames/DivingForPictures/Obstacles/FloatingObstacle.cs
+++ b/Assets/Scripts/Minigames/DivingForPictures/Obstacles/FloatingObstacle.cs
@@ -4,6 +4,7 @@ using AppleHills.Core.Settings;
using Pooling;
using Utils;
using AppleHills.Core.Interfaces;
+using Core;
namespace Minigames.DivingForPictures
{
@@ -84,7 +85,7 @@ namespace Minigames.DivingForPictures
_settings = GameManager.GetSettingsObject();
if (_settings == null)
{
- Debug.LogWarning("[FloatingObstacle] Could not retrieve settings, using default values");
+ Logging.Warning("[FloatingObstacle] Could not retrieve settings, using default values");
_baseMoveSpeed = moveSpeed; // Use the serialized value as fallback
}
else
@@ -95,7 +96,7 @@ namespace Minigames.DivingForPictures
// For variety, randomly assign a speed between min and max
_baseMoveSpeed = Random.Range(minSpeed, maxSpeed);
- Debug.Log($"[FloatingObstacle] Initialized with normalized speed: {_baseMoveSpeed} (range: {minSpeed}-{maxSpeed})");
+ Logging.Debug($"[FloatingObstacle] Initialized with normalized speed: {_baseMoveSpeed} (range: {minSpeed}-{maxSpeed})");
}
// Calculate screen normalization factor
@@ -117,7 +118,7 @@ namespace Minigames.DivingForPictures
// Calculate normalization factor based on screen height
_screenNormalizationFactor = Screen.height / referenceHeight;
- Debug.Log($"[FloatingObstacle] Screen normalization factor: {_screenNormalizationFactor} (Screen height: {Screen.height}, Reference: {referenceHeight})");
+ Logging.Debug($"[FloatingObstacle] Screen normalization factor: {_screenNormalizationFactor} (Screen height: {Screen.height}, Reference: {referenceHeight})");
}
private void OnEnable()
@@ -147,7 +148,7 @@ namespace Minigames.DivingForPictures
_isPaused = true;
StopObstacleCoroutines();
- Debug.Log($"[FloatingObstacle] Paused obstacle: {name}");
+ Logging.Debug($"[FloatingObstacle] Paused obstacle: {name}");
}
///
@@ -160,7 +161,7 @@ namespace Minigames.DivingForPictures
_isPaused = false;
StartObstacleCoroutines();
- Debug.Log($"[FloatingObstacle] Resumed obstacle: {name}");
+ Logging.Debug($"[FloatingObstacle] Resumed obstacle: {name}");
}
///
@@ -221,7 +222,7 @@ namespace Minigames.DivingForPictures
_movementCoroutine = StartCoroutine(MovementCoroutine());
}
- Debug.Log($"[FloatingObstacle] {gameObject.name} velocity factor updated to {_velocityFactor:F2}, normalized speed: {moveSpeed:F2}");
+ Logging.Debug($"[FloatingObstacle] {gameObject.name} velocity factor updated to {_velocityFactor:F2}, normalized speed: {moveSpeed:F2}");
}
///
@@ -229,7 +230,7 @@ namespace Minigames.DivingForPictures
///
private IEnumerator MovementCoroutine()
{
- Debug.Log($"[FloatingObstacle] Started movement coroutine with speed: {_baseMoveSpeed:F3}");
+ Logging.Debug($"[FloatingObstacle] Started movement coroutine with speed: {_baseMoveSpeed:F3}");
while (enabled && gameObject.activeInHierarchy)
{
@@ -273,7 +274,7 @@ namespace Minigames.DivingForPictures
if (_collider != null && _collider.enabled)
{
_collider.enabled = false;
- Debug.Log($"[FloatingObstacle] Obstacle {gameObject.name} hit player - collider disabled");
+ Logging.Debug($"[FloatingObstacle] Obstacle {gameObject.name} hit player - collider disabled");
}
}
@@ -299,12 +300,12 @@ namespace Minigames.DivingForPictures
// Use a larger buffer to ensure obstacles are truly off-screen before returning to pool
if (transform.position.y > _screenTop + 5f)
{
- Debug.Log($"[FloatingObstacle] {gameObject.name} off-screen at Y:{transform.position.y:F2}, screen top:{_screenTop:F2}");
+ Logging.Debug($"[FloatingObstacle] {gameObject.name} off-screen at Y:{transform.position.y:F2}, screen top:{_screenTop:F2}");
ReturnToPool();
}
else if (transform.position.y < _screenBottom - 5f) // Added check for bottom screen edge
{
- Debug.Log($"[FloatingObstacle] {gameObject.name} below screen at Y:{transform.position.y:F2}, screen bottom:{_screenBottom:F2}");
+ Logging.Debug($"[FloatingObstacle] {gameObject.name} below screen at Y:{transform.position.y:F2}, screen bottom:{_screenBottom:F2}");
ReturnToPool();
}
}
@@ -328,14 +329,14 @@ namespace Minigames.DivingForPictures
ObstacleSpawner foundSpawner = FindFirstObjectByType();
if (foundSpawner != null)
{
- Debug.LogWarning($"[FloatingObstacle] Obstacle {gameObject.name} lost spawner reference, found replacement spawner");
+ Logging.Warning($"[FloatingObstacle] Obstacle {gameObject.name} lost spawner reference, found replacement spawner");
spawner = foundSpawner;
spawner.ReturnObstacleToPool(gameObject, prefabIndex);
}
else
{
// No spawner found - just deactivate the object instead of destroying it
- Debug.LogWarning($"[FloatingObstacle] No spawner found for {gameObject.name}, deactivating safely");
+ Logging.Warning($"[FloatingObstacle] No spawner found for {gameObject.name}, deactivating safely");
gameObject.SetActive(false);
// Move to a safe location to avoid interference
@@ -368,7 +369,7 @@ namespace Minigames.DivingForPictures
_collider.enabled = true;
}
- Debug.Log($"[FloatingObstacle] Obstacle {gameObject.name} spawned from pool");
+ Logging.Debug($"[FloatingObstacle] Obstacle {gameObject.name} spawned from pool");
// Note: Don't start coroutines here - OnEnable() will handle that when SetActive(true) is called
}
@@ -387,7 +388,7 @@ namespace Minigames.DivingForPictures
_collider.enabled = true;
}
- Debug.Log($"[FloatingObstacle] Obstacle {gameObject.name} despawned to pool");
+ Logging.Debug($"[FloatingObstacle] Obstacle {gameObject.name} despawned to pool");
}
///
@@ -427,7 +428,7 @@ namespace Minigames.DivingForPictures
// Reverse movement speed (already handled by ObstacleSpawner, but this ensures consistency)
moveSpeed *= -1;
- Debug.Log($"[FloatingObstacle] {gameObject.name} started surfacing with speed: {moveSpeed}");
+ Logging.Debug($"[FloatingObstacle] {gameObject.name} started surfacing with speed: {moveSpeed}");
}
}
}
diff --git a/Assets/Scripts/Minigames/DivingForPictures/Obstacles/ObstaclePool.cs b/Assets/Scripts/Minigames/DivingForPictures/Obstacles/ObstaclePool.cs
index d11a77fa..9f30ae27 100644
--- a/Assets/Scripts/Minigames/DivingForPictures/Obstacles/ObstaclePool.cs
+++ b/Assets/Scripts/Minigames/DivingForPictures/Obstacles/ObstaclePool.cs
@@ -1,4 +1,5 @@
-using UnityEngine;
+using Core;
+using UnityEngine;
using Pooling;
namespace Minigames.DivingForPictures
@@ -21,12 +22,12 @@ namespace Minigames.DivingForPictures
FloatingObstacle obstacleComponent = obstacle.GetComponent();
if (obstacleComponent != null)
{
- Debug.Log($"[ObstaclePool] Returning obstacle {obstacle.name} to pool");
+ Logging.Debug($"[ObstaclePool] Returning obstacle {obstacle.name} to pool");
Return(obstacleComponent, prefabIndex);
}
else
{
- Debug.LogWarning($"Attempted to return a GameObject without a FloatingObstacle component: {obstacle.name}");
+ Logging.Warning($"Attempted to return a GameObject without a FloatingObstacle component: {obstacle.name}");
Destroy(obstacle);
}
}
@@ -38,7 +39,7 @@ namespace Minigames.DivingForPictures
/// An obstacle instance ready to use
public GameObject GetObstacle(int prefabIndex)
{
- Debug.Log($"[ObstaclePool] GetObstacle called for prefab index {prefabIndex}");
+ Logging.Debug($"[ObstaclePool] GetObstacle called for prefab index {prefabIndex}");
FloatingObstacle obstacleComponent = Get(prefabIndex);
if (obstacleComponent == null)
@@ -47,7 +48,7 @@ namespace Minigames.DivingForPictures
return null;
}
- Debug.Log($"[ObstaclePool] Get() returned obstacle {obstacleComponent.name}, active state: {obstacleComponent.gameObject.activeInHierarchy}");
+ Logging.Debug($"[ObstaclePool] Get() returned obstacle {obstacleComponent.name}, active state: {obstacleComponent.gameObject.activeInHierarchy}");
return obstacleComponent.gameObject;
}
}
diff --git a/Assets/Scripts/Minigames/DivingForPictures/Obstacles/ObstacleSpawner.cs b/Assets/Scripts/Minigames/DivingForPictures/Obstacles/ObstacleSpawner.cs
index 65dc729a..3f4711d1 100644
--- a/Assets/Scripts/Minigames/DivingForPictures/Obstacles/ObstacleSpawner.cs
+++ b/Assets/Scripts/Minigames/DivingForPictures/Obstacles/ObstacleSpawner.cs
@@ -5,6 +5,7 @@ using UnityEngine.Events;
using Pooling;
using AppleHills.Core.Settings;
using AppleHills.Core.Interfaces;
+using Core;
namespace Minigames.DivingForPictures
{
@@ -119,7 +120,7 @@ namespace Minigames.DivingForPictures
StartMoveCoroutine();
StartDespawnCoroutine();
- Debug.Log("[ObstacleSpawner] Initialized");
+ Logging.Debug("[ObstacleSpawner] Initialized");
}
///
@@ -151,7 +152,7 @@ namespace Minigames.DivingForPictures
}
}
- Debug.Log($"[ObstacleSpawner] Paused with {_activeObstacles.Count} active obstacles");
+ Logging.Debug($"[ObstacleSpawner] Paused with {_activeObstacles.Count} active obstacles");
}
///
@@ -182,7 +183,7 @@ namespace Minigames.DivingForPictures
}
}
- Debug.Log($"[ObstacleSpawner] Resumed with {_activeObstacles.Count} active obstacles");
+ Logging.Debug($"[ObstacleSpawner] Resumed with {_activeObstacles.Count} active obstacles");
}
///
@@ -232,14 +233,14 @@ namespace Minigames.DivingForPictures
// Check if the prefab has a FloatingObstacle component
if (obstaclePrefabs[i].GetComponent() == null)
{
- Debug.LogWarning($"Obstacle prefab {obstaclePrefabs[i].name} does not have a FloatingObstacle component. Adding one automatically.");
+ Logging.Warning($"Obstacle prefab {obstaclePrefabs[i].name} does not have a FloatingObstacle component. Adding one automatically.");
obstaclePrefabs[i].AddComponent();
}
// Ensure the prefab is on the correct layer (using configurable obstacleLayer)
if (obstaclePrefabs[i].layer != _devSettings.ObstacleLayer)
{
- Debug.LogWarning($"Obstacle prefab {obstaclePrefabs[i].name} is not on the configured obstacle layer ({_devSettings.ObstacleLayer}). Setting layer automatically.");
+ Logging.Warning($"Obstacle prefab {obstaclePrefabs[i].name} is not on the configured obstacle layer ({_devSettings.ObstacleLayer}). Setting layer automatically.");
SetLayerRecursively(obstaclePrefabs[i], _devSettings.ObstacleLayer);
}
}
@@ -319,7 +320,7 @@ namespace Minigames.DivingForPictures
// Calculate spawn range based on 80% of screen width (40% on each side from center)
_spawnRangeX = (screenWidth * 0.8f) / 2f;
- Debug.Log($"[ObstacleSpawner] Screen calculated - Width: {screenWidth:F2}, Bottom: {_screenBottom:F2}, Spawn Range X: ±{_spawnRangeX:F2}");
+ Logging.Debug($"[ObstacleSpawner] Screen calculated - Width: {screenWidth:F2}, Bottom: {_screenBottom:F2}, Spawn Range X: ±{_spawnRangeX:F2}");
}
///
@@ -330,7 +331,7 @@ namespace Minigames.DivingForPictures
if (_spawnCoroutine == null)
{
_spawnCoroutine = StartCoroutine(SpawnObstaclesCoroutine());
- Debug.Log("[ObstacleSpawner] Started spawning obstacles");
+ Logging.Debug("[ObstacleSpawner] Started spawning obstacles");
}
}
@@ -343,7 +344,7 @@ namespace Minigames.DivingForPictures
{
StopCoroutine(_spawnCoroutine);
_spawnCoroutine = null;
- Debug.Log("[ObstacleSpawner] Stopped spawning obstacles");
+ Logging.Debug("[ObstacleSpawner] Stopped spawning obstacles");
}
}
@@ -375,15 +376,15 @@ namespace Minigames.DivingForPictures
// Don't spawn new obstacles when surfacing
if (_isSurfacing)
{
- Debug.Log("[ObstacleSpawner] Skipping obstacle spawn - currently surfacing");
+ Logging.Debug("[ObstacleSpawner] Skipping obstacle spawn - currently surfacing");
return;
}
- Debug.Log($"[ObstacleSpawner] TrySpawnObstacle called at {Time.time:F2}");
+ Logging.Debug($"[ObstacleSpawner] TrySpawnObstacle called at {Time.time:F2}");
if (obstaclePrefabs == null || obstaclePrefabs.Count == 0)
{
- Debug.LogWarning("[ObstacleSpawner] No obstacle prefabs available for spawning!");
+ Logging.Warning("[ObstacleSpawner] No obstacle prefabs available for spawning!");
return;
}
@@ -397,20 +398,20 @@ namespace Minigames.DivingForPictures
if (IsValidSpawnPosition(spawnPosition))
{
- Debug.Log($"[ObstacleSpawner] Found valid position at {spawnPosition} after {attempts + 1} attempts");
+ Logging.Debug($"[ObstacleSpawner] Found valid position at {spawnPosition} after {attempts + 1} attempts");
SpawnObstacleAt(spawnPosition);
foundValidPosition = true;
break;
}
else
{
- Debug.Log($"[ObstacleSpawner] Position {spawnPosition} invalid (attempt {attempts + 1}/{_settings.ObstacleMaxSpawnAttempts})");
+ Logging.Debug($"[ObstacleSpawner] Position {spawnPosition} invalid (attempt {attempts + 1}/{_settings.ObstacleMaxSpawnAttempts})");
}
}
if (!foundValidPosition)
{
- Debug.LogWarning($"[ObstacleSpawner] SPAWN MISSED: Could not find valid spawn position after {_settings.ObstacleMaxSpawnAttempts} attempts at {Time.time:F2}");
+ Logging.Warning($"[ObstacleSpawner] SPAWN MISSED: Could not find valid spawn position after {_settings.ObstacleMaxSpawnAttempts} attempts at {Time.time:F2}");
}
}
@@ -443,7 +444,7 @@ namespace Minigames.DivingForPictures
///
private void SpawnObstacleAt(Vector3 position)
{
- Debug.Log($"[ObstacleSpawner] SpawnObstacleAt called for position {position}");
+ Logging.Debug($"[ObstacleSpawner] SpawnObstacleAt called for position {position}");
// Select random prefab
int prefabIndex = Random.Range(0, obstaclePrefabs.Count);
@@ -460,7 +461,7 @@ namespace Minigames.DivingForPictures
// Spawn using pool or instantiate directly
if (_devSettings.ObstacleUseObjectPooling && _obstaclePool != null)
{
- Debug.Log($"[ObstacleSpawner] Requesting obstacle from pool (prefab index {prefabIndex})");
+ Logging.Debug($"[ObstacleSpawner] Requesting obstacle from pool (prefab index {prefabIndex})");
obstacle = _obstaclePool.GetObstacle(prefabIndex);
if (obstacle == null)
{
@@ -473,12 +474,12 @@ namespace Minigames.DivingForPictures
obstacle.transform.rotation = prefab.transform.rotation;
obstacle.transform.SetParent(transform);
- Debug.Log($"[ObstacleSpawner] Got obstacle {obstacle.name} from pool, active state: {obstacle.activeInHierarchy}");
+ Logging.Debug($"[ObstacleSpawner] Got obstacle {obstacle.name} from pool, active state: {obstacle.activeInHierarchy}");
// ENHANCED FORCE ACTIVATION - more robust approach
if (!obstacle.activeInHierarchy)
{
- Debug.LogWarning($"[ObstacleSpawner] Pool returned inactive object {obstacle.name}, force activating!");
+ Logging.Warning($"[ObstacleSpawner] Pool returned inactive object {obstacle.name}, force activating!");
// Configure obstacle BEFORE activation
ConfigureObstacle(obstacle, prefabIndex);
@@ -500,7 +501,7 @@ namespace Minigames.DivingForPictures
}
}
- Debug.Log($"[ObstacleSpawner] After force activation, {obstacle.name} active state: {obstacle.activeInHierarchy}");
+ Logging.Debug($"[ObstacleSpawner] After force activation, {obstacle.name} active state: {obstacle.activeInHierarchy}");
}
else
{
@@ -510,7 +511,7 @@ namespace Minigames.DivingForPictures
}
else
{
- Debug.Log($"[ObstacleSpawner] Instantiating new obstacle (pooling disabled)");
+ Logging.Debug($"[ObstacleSpawner] Instantiating new obstacle (pooling disabled)");
obstacle = Instantiate(prefab, position, prefab.transform.rotation, transform);
// Configure the newly instantiated obstacle
@@ -521,16 +522,16 @@ namespace Minigames.DivingForPictures
_obstacleCounter++;
string oldName = obstacle.name;
obstacle.name = $"Obstacle{_obstacleCounter:D3}";
- Debug.Log($"[ObstacleSpawner] Renamed obstacle from '{oldName}' to '{obstacle.name}', active state: {obstacle.activeInHierarchy}");
+ Logging.Debug($"[ObstacleSpawner] Renamed obstacle from '{oldName}' to '{obstacle.name}', active state: {obstacle.activeInHierarchy}");
// Track active obstacles
_activeObstacles.Add(obstacle);
// Invoke events
onObstacleSpawned?.Invoke(obstacle);
- Debug.Log($"[ObstacleSpawner] After events, obstacle {obstacle.name} active state: {obstacle.activeInHierarchy}");
+ Logging.Debug($"[ObstacleSpawner] After events, obstacle {obstacle.name} active state: {obstacle.activeInHierarchy}");
- Debug.Log($"[ObstacleSpawner] Successfully spawned obstacle {obstacle.name} at {position}. Active count: {_activeObstacles.Count}, Final active state: {obstacle.activeInHierarchy}");
+ Logging.Debug($"[ObstacleSpawner] Successfully spawned obstacle {obstacle.name} at {position}. Active count: {_activeObstacles.Count}, Final active state: {obstacle.activeInHierarchy}");
}
///
@@ -567,7 +568,7 @@ namespace Minigames.DivingForPictures
{
if (obstacle == null) return;
- Debug.Log($"[ObstacleSpawner] ReturnObstacleToPool called for {obstacle.name}, active state: {obstacle.activeInHierarchy}");
+ Logging.Debug($"[ObstacleSpawner] ReturnObstacleToPool called for {obstacle.name}, active state: {obstacle.activeInHierarchy}");
// Remove from active list
_activeObstacles.Remove(obstacle);
@@ -578,12 +579,12 @@ namespace Minigames.DivingForPictures
// Return to pool or destroy
if (_devSettings.ObstacleUseObjectPooling && _obstaclePool != null)
{
- Debug.Log($"[ObstacleSpawner] Returning {obstacle.name} to pool");
+ Logging.Debug($"[ObstacleSpawner] Returning {obstacle.name} to pool");
_obstaclePool.ReturnObstacle(obstacle, prefabIndex);
}
else
{
- Debug.Log($"[ObstacleSpawner] Destroying {obstacle.name} (pooling disabled)");
+ Logging.Debug($"[ObstacleSpawner] Destroying {obstacle.name} (pooling disabled)");
Destroy(obstacle);
}
}
@@ -595,7 +596,7 @@ namespace Minigames.DivingForPictures
{
// This method can no longer directly modify the settings
// Consider implementing a runtime settings override system if needed
- Debug.LogWarning("[ObstacleSpawner] SetSpawnInterval no longer modifies settings directly. Settings are now centralized.");
+ Logging.Warning("[ObstacleSpawner] SetSpawnInterval no longer modifies settings directly. Settings are now centralized.");
}
///
@@ -605,7 +606,7 @@ namespace Minigames.DivingForPictures
{
// This method can no longer directly modify the settings
// Consider implementing a runtime settings override system if needed
- Debug.LogWarning("[ObstacleSpawner] SetSpeedRange no longer modifies settings directly. Settings are now centralized.");
+ Logging.Warning("[ObstacleSpawner] SetSpeedRange no longer modifies settings directly. Settings are now centralized.");
}
///
@@ -636,7 +637,7 @@ namespace Minigames.DivingForPictures
}
}
- Debug.Log($"[ObstacleSpawner] Velocity factor updated to {_velocityFactor:F2}, propagated to {_activeObstacles.Count} active obstacles");
+ Logging.Debug($"[ObstacleSpawner] Velocity factor updated to {_velocityFactor:F2}, propagated to {_activeObstacles.Count} active obstacles");
}
///
@@ -662,7 +663,7 @@ namespace Minigames.DivingForPictures
}
}
- Debug.Log($"[ObstacleSpawner] Started surfacing mode for {_activeObstacles.Count} active obstacles");
+ Logging.Debug($"[ObstacleSpawner] Started surfacing mode for {_activeObstacles.Count} active obstacles");
}
///
@@ -675,7 +676,7 @@ namespace Minigames.DivingForPictures
///
private IEnumerator SpawnObstacleRoutine()
{
- Debug.Log("[ObstacleSpawner] Started spawning coroutine");
+ Logging.Debug("[ObstacleSpawner] Started spawning coroutine");
while (enabled && gameObject.activeInHierarchy && !_isPaused && !_isSurfacing)
{
@@ -694,7 +695,7 @@ namespace Minigames.DivingForPictures
// Clear coroutine reference when stopped
_spawnCoroutine = null;
- Debug.Log("[ObstacleSpawner] Spawning coroutine ended");
+ Logging.Debug("[ObstacleSpawner] Spawning coroutine ended");
}
///
@@ -704,7 +705,7 @@ namespace Minigames.DivingForPictures
///
private IEnumerator MoveObstaclesRoutine()
{
- Debug.Log("[ObstacleSpawner] Started obstacle monitoring coroutine");
+ Logging.Debug("[ObstacleSpawner] Started obstacle monitoring coroutine");
// This coroutine now just monitors obstacles, not moves them
while (enabled && gameObject.activeInHierarchy && !_isPaused)
@@ -718,7 +719,7 @@ namespace Minigames.DivingForPictures
// Clear coroutine reference when stopped
_moveCoroutine = null;
- Debug.Log("[ObstacleSpawner] Obstacle monitoring coroutine ended");
+ Logging.Debug("[ObstacleSpawner] Obstacle monitoring coroutine ended");
}
///
@@ -727,7 +728,7 @@ namespace Minigames.DivingForPictures
private IEnumerator DespawnObstaclesRoutine()
{
const float checkInterval = 0.5f; // Check every half second
- Debug.Log("[ObstacleSpawner] Started despawn coroutine with interval: " + checkInterval);
+ Logging.Debug("[ObstacleSpawner] Started despawn coroutine with interval: " + checkInterval);
while (enabled && gameObject.activeInHierarchy && !_isPaused)
{
@@ -808,7 +809,7 @@ namespace Minigames.DivingForPictures
// Clear coroutine reference when stopped
_despawnCoroutine = null;
- Debug.Log("[ObstacleSpawner] Despawn coroutine ended");
+ Logging.Debug("[ObstacleSpawner] Despawn coroutine ended");
}
#if UNITY_EDITOR
diff --git a/Assets/Scripts/Minigames/DivingForPictures/PictureCamera/CameraViewfinderManager.cs b/Assets/Scripts/Minigames/DivingForPictures/PictureCamera/CameraViewfinderManager.cs
index 77be19dc..9d943a19 100644
--- a/Assets/Scripts/Minigames/DivingForPictures/PictureCamera/CameraViewfinderManager.cs
+++ b/Assets/Scripts/Minigames/DivingForPictures/PictureCamera/CameraViewfinderManager.cs
@@ -2,6 +2,7 @@
using System;
using System.Collections;
using AppleHills.Core.Settings;
+using Core;
namespace Minigames.DivingForPictures.PictureCamera
{
@@ -206,7 +207,7 @@ namespace Minigames.DivingForPictures.PictureCamera
float canvasWidth = canvasRect.rect.width;
targetViewfinderSize = canvasWidth * 0.25f;
- Debug.LogWarning("[CameraViewfinderManager] No SpriteRenderer found on target, using default size");
+ Logging.Warning("[CameraViewfinderManager] No SpriteRenderer found on target, using default size");
return;
}
@@ -290,7 +291,7 @@ namespace Minigames.DivingForPictures.PictureCamera
RectTransformUtility.ScreenPointToLocalPointInRectangle(canvasRect, targetScreenPosition, uiCamera,
out targetAnchoredPosition);
- Debug.Log(
+ Logging.Debug(
$"[CameraViewfinderManager] Target size (canvas): {targetViewfinderSize}, target anchored: {targetAnchoredPosition}");
}
@@ -331,7 +332,7 @@ namespace Minigames.DivingForPictures.PictureCamera
bool[] thresholdTriggered = new bool[settings.ViewfinderProgressThresholds.Length];
// Debug the actual values
- Debug.Log($"[CameraViewfinderManager] Animation starting: startSize={startSize}, endSize={endSize}, " +
+ Logging.Debug($"[CameraViewfinderManager] Animation starting: startSize={startSize}, endSize={endSize}, " +
$"current sizeDelta={viewfinderRectTransform.sizeDelta}");
// Verify the initial size is set correctly
@@ -358,7 +359,7 @@ namespace Minigames.DivingForPictures.PictureCamera
// Additional check to ensure size is actually shrinking
if (startSize > endSize && currentSize > startSize)
{
- Debug.LogWarning($"[CameraViewfinderManager] Animation curve producing wrong direction! " +
+ Logging.Warning($"[CameraViewfinderManager] Animation curve producing wrong direction! " +
$"progress={animationProgress:F2}, curveValue={curveValue:F2}");
// Force correct behavior
curveValue = animationProgress; // Override with linear interpolation
@@ -376,7 +377,7 @@ namespace Minigames.DivingForPictures.PictureCamera
// Log the animation state occasionally for debugging
if (animationProgress % 0.25f <= 0.01f || animationProgress >= 0.99f)
{
- Debug.Log($"[CameraViewfinderManager] Animation progress: {animationProgress:F2}, " +
+ Logging.Debug($"[CameraViewfinderManager] Animation progress: {animationProgress:F2}, " +
$"curveValue={curveValue:F2}, currentSize={currentSize:F2}, currentPos={newPos}");
}
@@ -401,7 +402,7 @@ namespace Minigames.DivingForPictures.PictureCamera
OnAnimationCompleted?.Invoke();
// Log final state to confirm we reached the target size
- Debug.Log(
+ Logging.Debug(
$"[CameraViewfinderManager] Animation completed: final size={viewfinderRectTransform.sizeDelta}");
yield return new WaitForSecondsRealtime(0.5f);
@@ -471,7 +472,7 @@ namespace Minigames.DivingForPictures.PictureCamera
viewfinderInstance = null;
viewfinderComponent = null;
viewfinderRectTransform = null;
- Debug.Log("[CameraViewfinderManager] Hid viewfinder");
+ Logging.Debug("[CameraViewfinderManager] Hid viewfinder");
}
}
@@ -532,7 +533,7 @@ namespace Minigames.DivingForPictures.PictureCamera
viewfinderRectTransform.sizeDelta = new Vector2(canvasWidth, canvasWidth);
viewfinderRectTransform.anchoredPosition = Vector2.zero;
- Debug.Log($"[CameraViewfinderManager] Showed full-screen viewfinder with size {canvasWidth}");
+ Logging.Debug($"[CameraViewfinderManager] Showed full-screen viewfinder with size {canvasWidth}");
}
///
@@ -651,7 +652,7 @@ namespace Minigames.DivingForPictures.PictureCamera
bool[] thresholdTriggered = new bool[settings.ViewfinderProgressThresholds.Length];
// Debug the actual values
- Debug.Log($"[CameraViewfinderManager] Animation sequence starting: startSize={startSize}, endSize={endSize}");
+ Logging.Debug($"[CameraViewfinderManager] Animation sequence starting: startSize={startSize}, endSize={endSize}");
// Verify the initial size is set correctly
viewfinderRectTransform.sizeDelta = new Vector2(startSize, startSize);
@@ -687,7 +688,7 @@ namespace Minigames.DivingForPictures.PictureCamera
// Log the animation state occasionally for debugging
if (animationProgress % 0.25f <= 0.01f || animationProgress >= 0.99f)
{
- Debug.Log($"[CameraViewfinderManager] Animation progress: {animationProgress:F2}, " +
+ Logging.Debug($"[CameraViewfinderManager] Animation progress: {animationProgress:F2}, " +
$"curveValue={curveValue:F2}, currentSize={currentSize:F2}, currentPos={newPos}, proximity={currentProximity:F2}");
}
@@ -752,7 +753,7 @@ namespace Minigames.DivingForPictures.PictureCamera
// Log the animation state occasionally for debugging
if (animationProgress % 0.25f <= 0.01f || animationProgress >= 0.99f)
{
- Debug.Log($"[CameraViewfinderManager] Reverse animation progress: {animationProgress:F2}, " +
+ Logging.Debug($"[CameraViewfinderManager] Reverse animation progress: {animationProgress:F2}, " +
$"curveValue={curveValue:F2}, currentSize={currentSize:F2}, currentPos={newPos}, proximity={currentProximity:F2}");
}
@@ -835,7 +836,7 @@ namespace Minigames.DivingForPictures.PictureCamera
{
// Start the photo sequence when hold begins (same behavior as first tap in tap mode)
OnViewfinderTapped?.Invoke();
- Debug.Log("[CameraViewfinderManager] Hold started - initiating photo sequence");
+ Logging.Debug("[CameraViewfinderManager] Hold started - initiating photo sequence");
}
}
@@ -848,7 +849,7 @@ namespace Minigames.DivingForPictures.PictureCamera
{
// Complete the sequence when hold ends (same behavior as second tap in tap mode)
OnViewfinderTappedDuringAnimation?.Invoke(currentProximity);
- Debug.Log("[CameraViewfinderManager] Hold ended - completing photo sequence with proximity: " + currentProximity);
+ Logging.Debug("[CameraViewfinderManager] Hold ended - completing photo sequence with proximity: " + currentProximity);
// Complete the animation immediately
if (animationCoroutine != null)
diff --git a/Assets/Scripts/Minigames/DivingForPictures/PictureCamera/Viewfinder.cs b/Assets/Scripts/Minigames/DivingForPictures/PictureCamera/Viewfinder.cs
index 63e85c28..cf0e9d22 100644
--- a/Assets/Scripts/Minigames/DivingForPictures/PictureCamera/Viewfinder.cs
+++ b/Assets/Scripts/Minigames/DivingForPictures/PictureCamera/Viewfinder.cs
@@ -1,4 +1,5 @@
-using UnityEngine;
+using Core;
+using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
using Input;
@@ -99,7 +100,7 @@ namespace Minigames.DivingForPictures.PictureCamera
{
// Fire the tap event that PhotoSequenceController will listen to
OnViewfinderTapped?.Invoke();
- Debug.Log($"[MDPI] Viewfinder OnTap: {position}");
+ Logging.Debug($"[MDPI] Viewfinder OnTap: {position}");
}
}
@@ -109,7 +110,7 @@ namespace Minigames.DivingForPictures.PictureCamera
{
// Fire the hold start event
OnViewfinderHoldStarted?.Invoke();
- Debug.Log($"[MDPI] Viewfinder OnHoldStart: {position}");
+ Logging.Debug($"[MDPI] Viewfinder OnHoldStart: {position}");
}
}
@@ -124,7 +125,7 @@ namespace Minigames.DivingForPictures.PictureCamera
{
// Fire the hold end event
OnViewfinderHoldEnded?.Invoke();
- Debug.Log($"[MDPI] Viewfinder OnHoldEnd: {position}");
+ Logging.Debug($"[MDPI] Viewfinder OnHoldEnd: {position}");
}
}
diff --git a/Assets/Scripts/Minigames/DivingForPictures/Player/ObstacleCollision.cs b/Assets/Scripts/Minigames/DivingForPictures/Player/ObstacleCollision.cs
index fb333584..f6116c5b 100644
--- a/Assets/Scripts/Minigames/DivingForPictures/Player/ObstacleCollision.cs
+++ b/Assets/Scripts/Minigames/DivingForPictures/Player/ObstacleCollision.cs
@@ -1,4 +1,5 @@
-using UnityEngine;
+using Core;
+using UnityEngine;
namespace Minigames.DivingForPictures
{
@@ -32,7 +33,7 @@ namespace Minigames.DivingForPictures
if (obstacle.gameObject.layer != _devSettings.ObstacleLayer)
{
// If not on the obstacle layer, don't process the collision
- Debug.Log($"[ObstacleCollision] Ignored collision with object on layer {obstacle.gameObject.layer} (expected {_devSettings.ObstacleLayer})");
+ Logging.Debug($"[ObstacleCollision] Ignored collision with object on layer {obstacle.gameObject.layer} (expected {_devSettings.ObstacleLayer})");
return;
}
@@ -43,7 +44,7 @@ namespace Minigames.DivingForPictures
obstacleComponent.MarkDamageDealt();
}
- Debug.Log($"[ObstacleCollision] Player hit by obstacle {obstacle.gameObject.name}");
+ Logging.Debug($"[ObstacleCollision] Player hit by obstacle {obstacle.gameObject.name}");
}
///
@@ -51,7 +52,7 @@ namespace Minigames.DivingForPictures
///
private void HandleImmunityStarted()
{
- Debug.Log($"[ObstacleCollision] Damage immunity started for {_gameSettings.DamageImmunityDuration} seconds");
+ Logging.Debug($"[ObstacleCollision] Damage immunity started for {_gameSettings.DamageImmunityDuration} seconds");
// Don't block input for obstacle damage - let player keep moving
// The shared immunity system will handle the collision prevention
@@ -62,7 +63,7 @@ namespace Minigames.DivingForPictures
///
private void HandleImmunityEnded()
{
- Debug.Log($"[ObstacleCollision] Damage immunity ended");
+ Logging.Debug($"[ObstacleCollision] Damage immunity ended");
// No special handling needed - shared immunity system handles collider re-enabling
}
}
diff --git a/Assets/Scripts/Minigames/DivingForPictures/Player/PlayerBlinkBehavior.cs b/Assets/Scripts/Minigames/DivingForPictures/Player/PlayerBlinkBehavior.cs
index ca62c174..8f2a68f2 100644
--- a/Assets/Scripts/Minigames/DivingForPictures/Player/PlayerBlinkBehavior.cs
+++ b/Assets/Scripts/Minigames/DivingForPictures/Player/PlayerBlinkBehavior.cs
@@ -1,6 +1,7 @@
using UnityEngine;
using System.Collections;
using AppleHills.Core.Settings;
+using Core;
namespace Minigames.DivingForPictures
{
@@ -40,7 +41,7 @@ namespace Minigames.DivingForPictures
targetSpriteRenderer = GetComponentInChildren();
if (targetSpriteRenderer != null)
{
- Debug.Log($"[PlayerBlinkBehavior] Found SpriteRenderer on child object: {targetSpriteRenderer.gameObject.name}");
+ Logging.Debug($"[PlayerBlinkBehavior] Found SpriteRenderer on child object: {targetSpriteRenderer.gameObject.name}");
}
}
}
diff --git a/Assets/Scripts/Minigames/DivingForPictures/Player/PlayerCollisionBehavior.cs b/Assets/Scripts/Minigames/DivingForPictures/Player/PlayerCollisionBehavior.cs
index 02e2793c..7e325f2c 100644
--- a/Assets/Scripts/Minigames/DivingForPictures/Player/PlayerCollisionBehavior.cs
+++ b/Assets/Scripts/Minigames/DivingForPictures/Player/PlayerCollisionBehavior.cs
@@ -3,6 +3,7 @@ using System;
using System.Collections;
using AppleHills.Core.Settings;
using AppleHills.Utilities;
+using Core;
namespace Minigames.DivingForPictures
{
@@ -228,7 +229,7 @@ namespace Minigames.DivingForPictures
{
playerController.enabled = false;
wasInputBlocked = true;
- Debug.Log($"[{GetType().Name}] Player input blocked during immunity");
+ Logging.Debug($"[{GetType().Name}] Player input blocked during immunity");
}
}
@@ -245,7 +246,7 @@ namespace Minigames.DivingForPictures
// Update the controller's target position to current position to prevent snapping
UpdateControllerTarget();
- Debug.Log($"[{GetType().Name}] Player input restored after immunity");
+ Logging.Debug($"[{GetType().Name}] Player input restored after immunity");
}
}
diff --git a/Assets/Scripts/Minigames/DivingForPictures/Player/PlayerController.cs b/Assets/Scripts/Minigames/DivingForPictures/Player/PlayerController.cs
index 8cb2b7c7..c2072602 100644
--- a/Assets/Scripts/Minigames/DivingForPictures/Player/PlayerController.cs
+++ b/Assets/Scripts/Minigames/DivingForPictures/Player/PlayerController.cs
@@ -2,6 +2,7 @@
using AppleHills.Core.Settings;
using Input;
using AppleHillsCamera;
+using Core;
namespace Minigames.DivingForPictures
{
@@ -59,11 +60,11 @@ namespace Minigames.DivingForPictures
edgeAnchor = FindObjectOfType();
if (edgeAnchor == null)
{
- Debug.LogWarning("[PlayerController] No EdgeAnchor found in scene. Origin Y position won't update with camera changes.");
+ Logging.Warning("[PlayerController] No EdgeAnchor found in scene. Origin Y position won't update with camera changes.");
}
else
{
- Debug.Log($"[PlayerController] Auto-connected to EdgeAnchor on {edgeAnchor.gameObject.name}");
+ Logging.Debug($"[PlayerController] Auto-connected to EdgeAnchor on {edgeAnchor.gameObject.name}");
}
}
}
@@ -101,7 +102,7 @@ namespace Minigames.DivingForPictures
InputManager.Instance?.SetDefaultConsumer(this);
_isInitialized = true;
- Debug.Log("[PlayerController] Initialized");
+ Logging.Debug("[PlayerController] Initialized");
}
private void OnDestroy()
@@ -120,7 +121,7 @@ namespace Minigames.DivingForPictures
///
public void OnTap(Vector2 worldPosition)
{
- // Debug.Log($"[EndlessDescenderController] OnTap at {worldPosition}");
+ // Logging.Debug($"[EndlessDescenderController] OnTap at {worldPosition}");
float targetX = Mathf.Clamp(worldPosition.x, _settings.ClampXMin, _settings.ClampXMax);
// Calculate tap direction (+1 for right, -1 for left)
@@ -141,7 +142,7 @@ namespace Minigames.DivingForPictures
///
public void OnHoldStart(Vector2 worldPosition)
{
- // Debug.Log($"[EndlessDescenderController] OnHoldStart at {worldPosition}");
+ // Logging.Debug($"[EndlessDescenderController] OnHoldStart at {worldPosition}");
_targetFingerX = Mathf.Clamp(worldPosition.x, _settings.ClampXMin, _settings.ClampXMax);
_isTouchActive = true;
}
@@ -151,7 +152,7 @@ namespace Minigames.DivingForPictures
///
public void OnHoldMove(Vector2 worldPosition)
{
- // Debug.Log($"[EndlessDescenderController] OnHoldMove at {worldPosition}");
+ // Logging.Debug($"[EndlessDescenderController] OnHoldMove at {worldPosition}");
_targetFingerX = Mathf.Clamp(worldPosition.x, _settings.ClampXMin, _settings.ClampXMax);
}
@@ -160,7 +161,7 @@ namespace Minigames.DivingForPictures
///
public void OnHoldEnd(Vector2 worldPosition)
{
- // Debug.Log($"[EndlessDescenderController] OnHoldEnd at {worldPosition}");
+ // Logging.Debug($"[EndlessDescenderController] OnHoldEnd at {worldPosition}");
_isTouchActive = false;
}
diff --git a/Assets/Scripts/Minigames/DivingForPictures/Player/RopeEndPhysicsFollower.cs b/Assets/Scripts/Minigames/DivingForPictures/Player/RopeEndPhysicsFollower.cs
index a18babb5..d04adb0f 100644
--- a/Assets/Scripts/Minigames/DivingForPictures/Player/RopeEndPhysicsFollower.cs
+++ b/Assets/Scripts/Minigames/DivingForPictures/Player/RopeEndPhysicsFollower.cs
@@ -1,4 +1,5 @@
-using GogoGaga.OptimizedRopesAndCables;
+using Core;
+using GogoGaga.OptimizedRopesAndCables;
using UnityEngine;
public class RopeEndPhysicsFollower : MonoBehaviour
@@ -46,7 +47,7 @@ public class RopeEndPhysicsFollower : MonoBehaviour
if (targetTransform != null)
{
target = targetTransform;
- if (debugLog) Debug.Log($"[RopeEndPhysicsFollower] Using assigned target transform: {target.name}");
+ if (debugLog) Logging.Debug($"[RopeEndPhysicsFollower] Using assigned target transform: {target.name}");
}
else if (!string.IsNullOrEmpty(targetTag))
{
@@ -54,7 +55,7 @@ public class RopeEndPhysicsFollower : MonoBehaviour
if (found)
{
target = found.transform;
- if (debugLog) Debug.Log($"[RopeEndPhysicsFollower] Found target by tag '{targetTag}': {target.name}");
+ if (debugLog) Logging.Debug($"[RopeEndPhysicsFollower] Found target by tag '{targetTag}': {target.name}");
}
}
@@ -71,14 +72,14 @@ public class RopeEndPhysicsFollower : MonoBehaviour
if (canFall)
{
physicsVelocity = new Vector2(0, -initialFallImpulse);
- if (debugLog) Debug.Log($"[RopeEndPhysicsFollower] Initialized with target: {target.name}, initial Y velocity: {physicsVelocity.y}");
+ if (debugLog) Logging.Debug($"[RopeEndPhysicsFollower] Initialized with target: {target.name}, initial Y velocity: {physicsVelocity.y}");
}
}
else
{
offset = Vector2.zero;
lastTargetPosition = transform.position;
- if (debugLog) Debug.Log($"[RopeEndPhysicsFollower] No target found");
+ if (debugLog) Logging.Debug($"[RopeEndPhysicsFollower] No target found");
}
initialized = true;
@@ -124,7 +125,7 @@ public class RopeEndPhysicsFollower : MonoBehaviour
// Debug log to track vertical hanging behavior
if (debugLog && Time.frameCount % 120 == 0)
{
- Debug.Log($"[RopeEndPhysicsFollower] Vertical hanging: target X={target.position.x}, my X={transform.position.x}, offset={xOffset}");
+ Logging.Debug($"[RopeEndPhysicsFollower] Vertical hanging: target X={target.position.x}, my X={transform.position.x}, offset={xOffset}");
}
}
@@ -142,7 +143,7 @@ public class RopeEndPhysicsFollower : MonoBehaviour
if (debugLog && Time.frameCount % 60 == 0)
{
- Debug.Log($"[RopeEndPhysicsFollower] Exceeding max distance: {exceededDistance}, applying constraint");
+ Logging.Debug($"[RopeEndPhysicsFollower] Exceeding max distance: {exceededDistance}, applying constraint");
}
}
@@ -152,7 +153,7 @@ public class RopeEndPhysicsFollower : MonoBehaviour
// Log physics state periodically for debugging
if (debugLog && Time.frameCount % 60 == 0)
{
- Debug.Log($"[RopeEndPhysicsFollower] Y position: {transform.position.y}, Y velocity: {physicsVelocity.y}, Distance: {currentDistance}/{maxDistance}");
+ Logging.Debug($"[RopeEndPhysicsFollower] Y position: {transform.position.y}, Y velocity: {physicsVelocity.y}, Distance: {currentDistance}/{maxDistance}");
}
// Apply physics velocity to position
@@ -227,13 +228,13 @@ public class RopeEndPhysicsFollower : MonoBehaviour
if (attachedRope != null)
{
maxDistance = attachedRope.ropeLength;
- if (debugLog) Debug.Log($"[RopeEndPhysicsFollower] Found attached rope with length: {maxDistance}");
+ if (debugLog) Logging.Debug($"[RopeEndPhysicsFollower] Found attached rope with length: {maxDistance}");
}
else
{
// Default fallback value if no rope is found
maxDistance = 2f;
- if (debugLog) Debug.Log("[RopeEndPhysicsFollower] No attached rope found, using default max distance");
+ if (debugLog) Logging.Debug("[RopeEndPhysicsFollower] No attached rope found, using default max distance");
}
}
@@ -264,7 +265,7 @@ public class RopeEndPhysicsFollower : MonoBehaviour
if (canFall)
{
physicsVelocity = new Vector2(physicsVelocity.x, -initialFallImpulse);
- if (debugLog) Debug.Log($"[RopeEndPhysicsFollower] Reset Y velocity to {physicsVelocity.y} after target change to {target.name}");
+ if (debugLog) Logging.Debug($"[RopeEndPhysicsFollower] Reset Y velocity to {physicsVelocity.y} after target change to {target.name}");
}
}
}
@@ -293,7 +294,7 @@ public class RopeEndPhysicsFollower : MonoBehaviour
pos.y = target.position.y;
transform.position = pos;
- if (debugLog) Debug.Log($"[RopeEndPhysicsFollower] Physics forcibly reset, new Y velocity: {physicsVelocity.y}");
+ if (debugLog) Logging.Debug($"[RopeEndPhysicsFollower] Physics forcibly reset, new Y velocity: {physicsVelocity.y}");
}
}
@@ -301,6 +302,6 @@ public class RopeEndPhysicsFollower : MonoBehaviour
public void SetMaxDistance(float distance)
{
maxDistance = distance;
- if (debugLog) Debug.Log($"[RopeEndPhysicsFollower] Max distance manually set to: {maxDistance}");
+ if (debugLog) Logging.Debug($"[RopeEndPhysicsFollower] Max distance manually set to: {maxDistance}");
}
}
diff --git a/Assets/Scripts/Minigames/DivingForPictures/Player/TileBumpCollision.cs b/Assets/Scripts/Minigames/DivingForPictures/Player/TileBumpCollision.cs
index 3cb5d32d..7e3b0bc4 100644
--- a/Assets/Scripts/Minigames/DivingForPictures/Player/TileBumpCollision.cs
+++ b/Assets/Scripts/Minigames/DivingForPictures/Player/TileBumpCollision.cs
@@ -1,6 +1,7 @@
using UnityEngine;
using System.Collections;
using AppleHills.Core.Settings;
+using Core;
namespace Minigames.DivingForPictures
{
@@ -19,7 +20,7 @@ namespace Minigames.DivingForPictures
if (obstacle.gameObject.layer != _devSettings.TrenchTileLayer)
{
// If not on the trench tile layer, don't process the collision
- Debug.Log($"[TileBumpCollision] Ignored collision with object on layer {obstacle.gameObject.layer} (expected {_devSettings.TrenchTileLayer})");
+ Logging.Debug($"[TileBumpCollision] Ignored collision with object on layer {obstacle.gameObject.layer} (expected {_devSettings.TrenchTileLayer})");
return;
}
@@ -35,7 +36,7 @@ namespace Minigames.DivingForPictures
break;
}
- Debug.Log($"[TileBumpCollision] Collision handled with {_devSettings.BumpMode} mode");
+ Logging.Debug($"[TileBumpCollision] Collision handled with {_devSettings.BumpMode} mode");
}
///
@@ -64,7 +65,7 @@ namespace Minigames.DivingForPictures
StartBump(currentX, targetX, bumpDuration);
- Debug.Log($"[TileBumpCollision] Starting impulse bump from X={currentX} to X={targetX} (force={_gameSettings.BumpForce})");
+ Logging.Debug($"[TileBumpCollision] Starting impulse bump from X={currentX} to X={targetX} (force={_gameSettings.BumpForce})");
}
///
@@ -82,7 +83,7 @@ namespace Minigames.DivingForPictures
StartBump(currentX, targetX, bumpDuration);
- Debug.Log($"[TileBumpCollision] Starting smooth move to center from X={currentX} (speed={_gameSettings.SmoothMoveSpeed}, duration={bumpDuration:F2}s)");
+ Logging.Debug($"[TileBumpCollision] Starting smooth move to center from X={currentX} (speed={_gameSettings.SmoothMoveSpeed}, duration={bumpDuration:F2}s)");
}
///
@@ -144,7 +145,7 @@ namespace Minigames.DivingForPictures
_isBumping = false;
_bumpCoroutine = null;
- Debug.Log("[TileBumpCollision] Bump movement completed");
+ Logging.Debug("[TileBumpCollision] Bump movement completed");
}
}
}
diff --git a/Assets/Scripts/Minigames/DivingForPictures/Tiles/TrenchTilePool.cs b/Assets/Scripts/Minigames/DivingForPictures/Tiles/TrenchTilePool.cs
index 2876925e..444c8300 100644
--- a/Assets/Scripts/Minigames/DivingForPictures/Tiles/TrenchTilePool.cs
+++ b/Assets/Scripts/Minigames/DivingForPictures/Tiles/TrenchTilePool.cs
@@ -1,4 +1,5 @@
using System.Collections.Generic;
+using Core;
using UnityEngine;
using Pooling;
@@ -26,7 +27,7 @@ namespace Minigames.DivingForPictures
}
else
{
- Debug.LogWarning($"Attempted to return a GameObject without a Tile component: {tile.name}");
+ Logging.Warning($"Attempted to return a GameObject without a Tile component: {tile.name}");
Destroy(tile);
}
}
diff --git a/Assets/Scripts/Minigames/DivingForPictures/Tiles/TrenchTileSpawner.cs b/Assets/Scripts/Minigames/DivingForPictures/Tiles/TrenchTileSpawner.cs
index 8bb14851..96a0c99f 100644
--- a/Assets/Scripts/Minigames/DivingForPictures/Tiles/TrenchTileSpawner.cs
+++ b/Assets/Scripts/Minigames/DivingForPictures/Tiles/TrenchTileSpawner.cs
@@ -7,6 +7,7 @@ using Pooling;
using AppleHills.Core.Settings;
using Utils;
using AppleHills.Core.Interfaces;
+using Core;
namespace Minigames.DivingForPictures
{
@@ -158,7 +159,7 @@ namespace Minigames.DivingForPictures
// Check if the prefab has a Tile component
if (tilePrefabs[i].GetComponent() == null)
{
- Debug.LogWarning($"Prefab {tilePrefabs[i].name} does not have a Tile component. Adding one automatically.");
+ Logging.Warning($"Prefab {tilePrefabs[i].name} does not have a Tile component. Adding one automatically.");
// Add the Tile component if it doesn't exist
tilePrefabs[i].AddComponent();
}
@@ -220,7 +221,7 @@ namespace Minigames.DivingForPictures
_speedRampingCoroutine = null;
}
- Debug.Log("[TrenchTileSpawner] Paused");
+ Logging.Debug("[TrenchTileSpawner] Paused");
}
///
@@ -238,7 +239,7 @@ namespace Minigames.DivingForPictures
StartTileSpawningCoroutine();
StartSpeedRampingCoroutine();
- Debug.Log("[TrenchTileSpawner] Resumed");
+ Logging.Debug("[TrenchTileSpawner] Resumed");
}
///
@@ -264,7 +265,7 @@ namespace Minigames.DivingForPictures
StartTileSpawningCoroutine();
StartSpeedRampingCoroutine();
- Debug.Log("[TrenchTileSpawner] Initialized with normalized speed");
+ Logging.Debug("[TrenchTileSpawner] Initialized with normalized speed");
}
///
@@ -327,7 +328,7 @@ namespace Minigames.DivingForPictures
{
// Fallback in case no renderer is found
_tileHeights[prefab] = DefaultTileHeight;
- Debug.LogWarning($"No renderer found in prefab {prefab.name}. Using default height of {DefaultTileHeight}.");
+ Logging.Warning($"No renderer found in prefab {prefab.name}. Using default height of {DefaultTileHeight}.");
}
}
}
@@ -449,7 +450,7 @@ namespace Minigames.DivingForPictures
// Calculate normalization factor based on screen height
_screenNormalizationFactor = Screen.height / referenceHeight;
- Debug.Log($"[TrenchTileSpawner] Screen normalization factor: {_screenNormalizationFactor} (Screen height: {Screen.height}, Reference: {referenceHeight})");
+ Logging.Debug($"[TrenchTileSpawner] Screen normalization factor: {_screenNormalizationFactor} (Screen height: {Screen.height}, Reference: {referenceHeight})");
}
///
@@ -466,7 +467,7 @@ namespace Minigames.DivingForPictures
// Recalculate velocity immediately
CalculateVelocity();
- Debug.Log($"[TrenchTileSpawner] Velocity factor updated to {_velocityFactor:F2}, moveSpeed: {_baseMoveSpeed:F2}");
+ Logging.Debug($"[TrenchTileSpawner] Velocity factor updated to {_velocityFactor:F2}, moveSpeed: {_baseMoveSpeed:F2}");
}
///
@@ -482,7 +483,7 @@ namespace Minigames.DivingForPictures
// Reverse the active tiles array to maintain consistent indexing logic
_activeTiles.Reverse();
- Debug.Log("[TrenchTileSpawner] Started surfacing - reversed array order");
+ Logging.Debug("[TrenchTileSpawner] Started surfacing - reversed array order");
}
///
@@ -509,7 +510,7 @@ namespace Minigames.DivingForPictures
///
private IEnumerator MoveActiveTilesRoutine()
{
- Debug.Log($"[TrenchTileSpawner] Started movement coroutine with normalized speed: {_baseMoveSpeed:F3}");
+ Logging.Debug($"[TrenchTileSpawner] Started movement coroutine with normalized speed: {_baseMoveSpeed:F3}");
while (enabled && gameObject.activeInHierarchy && !_isPaused)
{
@@ -550,7 +551,7 @@ namespace Minigames.DivingForPictures
private IEnumerator TileDestructionRoutine()
{
const float checkInterval = 0.5f; // Check every half second
- Debug.Log($"[TrenchTileSpawner] Started tile destruction coroutine with interval: {checkInterval}s");
+ Logging.Debug($"[TrenchTileSpawner] Started tile destruction coroutine with interval: {checkInterval}s");
while (enabled && gameObject.activeInHierarchy && !_isPaused)
{
@@ -618,7 +619,7 @@ namespace Minigames.DivingForPictures
private IEnumerator TileSpawningRoutine()
{
const float checkInterval = 0.2f; // Check every fifth of a second
- Debug.Log($"[TrenchTileSpawner] Started tile spawning coroutine with interval: {checkInterval}s");
+ Logging.Debug($"[TrenchTileSpawner] Started tile spawning coroutine with interval: {checkInterval}s");
while (enabled && gameObject.activeInHierarchy && !_isPaused && !_stopSpawning)
{
@@ -711,7 +712,7 @@ namespace Minigames.DivingForPictures
private IEnumerator SpeedRampingRoutine()
{
const float checkInterval = 1.0f; // Check once per second
- Debug.Log($"[TrenchTileSpawner] Started speed ramping coroutine with interval: {checkInterval}s");
+ Logging.Debug($"[TrenchTileSpawner] Started speed ramping coroutine with interval: {checkInterval}s");
while (enabled && gameObject.activeInHierarchy && !_isPaused)
{
@@ -887,7 +888,7 @@ namespace Minigames.DivingForPictures
_activeTiles.Add(tile);
_tileLastUsed[prefabIndex] = _spawnCounter++;
_currentDepth++;
- Debug.Log($"[TrenchTileSpawner] Current Depth: {_currentDepth}");
+ Logging.Debug($"[TrenchTileSpawner] Current Depth: {_currentDepth}");
onTileSpawned?.Invoke(tile);
// --- FLOATING AREA STATE MANAGEMENT ---
@@ -949,7 +950,7 @@ namespace Minigames.DivingForPictures
}
_activeTiles.Add(tile);
_currentDepth++;
- Debug.Log($"[TrenchTileSpawner] Current Depth: {_currentDepth}");
+ Logging.Debug($"[TrenchTileSpawner] Current Depth: {_currentDepth}");
onTileSpawned?.Invoke(tile);
// Optionally update floating area state if needed
Tile spawnedTile = tile.GetComponent();
@@ -1035,7 +1036,7 @@ namespace Minigames.DivingForPictures
{
if (tile == null)
{
- Debug.LogWarning("Attempted to get height of null tile!");
+ Logging.Warning("Attempted to get height of null tile!");
return DefaultTileHeight;
}
@@ -1171,7 +1172,7 @@ namespace Minigames.DivingForPictures
private IEnumerator TileDestructionCoroutine()
{
const float checkInterval = 0.5f; // Check every half second as requested
- Debug.Log($"[TrenchTileSpawner] Started tile destruction coroutine with interval: {checkInterval}s");
+ Logging.Debug($"[TrenchTileSpawner] Started tile destruction coroutine with interval: {checkInterval}s");
while (enabled && gameObject.activeInHierarchy)
{
@@ -1248,7 +1249,7 @@ namespace Minigames.DivingForPictures
private IEnumerator TileSpawningCoroutine()
{
const float checkInterval = 0.2f; // Check every half second as requested
- Debug.Log($"[TrenchTileSpawner] Started tile spawning coroutine with interval: {checkInterval}s");
+ Logging.Debug($"[TrenchTileSpawner] Started tile spawning coroutine with interval: {checkInterval}s");
while (enabled && gameObject.activeInHierarchy)
{
diff --git a/Assets/Scripts/Movement/FollowerController.cs b/Assets/Scripts/Movement/FollowerController.cs
index b749fc8e..3aba4b8b 100644
--- a/Assets/Scripts/Movement/FollowerController.cs
+++ b/Assets/Scripts/Movement/FollowerController.cs
@@ -426,9 +426,11 @@ public class FollowerController: MonoBehaviour
{
// Drop the currently held item at the current position
DropHeldItemAt(transform.position);
+
}
// Pick up the new item
SetHeldItem(itemData, itemObject.GetComponent());
+ _animator.SetBool("IsCarrying", true);
_cachedPickupObject = itemObject;
_cachedPickupObject.SetActive(false);
}
@@ -442,6 +444,7 @@ public class FollowerController: MonoBehaviour
public CombinationResult TryCombineItems(Pickup pickupA, out GameObject newItem)
{
+ _animator.ResetTrigger("Combine");
newItem = null;
if (_cachedPickupObject == null)
{
@@ -464,6 +467,7 @@ public class FollowerController: MonoBehaviour
Destroy(pickupA.gameObject);
Destroy(pickupB.gameObject);
TryPickupItem(newItem, itemData);
+ _animator.SetTrigger("Combine");
return CombinationResult.Successful;
}
@@ -521,6 +525,7 @@ public class FollowerController: MonoBehaviour
{
_cachedPickupObject = null;
_currentlyHeldItemData = null;
+ _animator.SetBool("IsCarrying", false);
if (heldObjectRenderer != null)
{
heldObjectRenderer.sprite = null;
@@ -536,6 +541,7 @@ public class FollowerController: MonoBehaviour
item.transform.SetParent(null);
item.SetActive(true);
follower.ClearHeldItem();
+ _animator.SetBool("IsCarrying", false);
// Optionally: fire event, update UI, etc.
}
diff --git a/Assets/Scripts/Pooling/BaseObjectPool.cs b/Assets/Scripts/Pooling/BaseObjectPool.cs
index 5ffea7c1..f5715b91 100644
--- a/Assets/Scripts/Pooling/BaseObjectPool.cs
+++ b/Assets/Scripts/Pooling/BaseObjectPool.cs
@@ -1,4 +1,5 @@
using System.Collections.Generic;
+using Core;
using UnityEngine;
namespace Pooling
@@ -35,7 +36,7 @@ namespace Pooling
CreateNew();
}
- Debug.Log($"[{GetType().Name}] Initialized with {initialPoolSize} objects");
+ Logging.Debug($"[{GetType().Name}] Initialized with {initialPoolSize} objects");
}
///
@@ -128,7 +129,7 @@ namespace Pooling
///
public virtual void LogPoolStats()
{
- Debug.Log($"[{GetType().Name}] Pooled objects: {pooledObjects.Count}/{maxPoolSize} (Created: {totalCreated}, Returned: {totalReturned})");
+ Logging.Debug($"[{GetType().Name}] Pooled objects: {pooledObjects.Count}/{maxPoolSize} (Created: {totalCreated}, Returned: {totalReturned})");
}
#if UNITY_EDITOR
diff --git a/Assets/Scripts/Pooling/MultiPrefabPool.cs b/Assets/Scripts/Pooling/MultiPrefabPool.cs
index 75e2d0da..3a2f420d 100644
--- a/Assets/Scripts/Pooling/MultiPrefabPool.cs
+++ b/Assets/Scripts/Pooling/MultiPrefabPool.cs
@@ -1,4 +1,5 @@
using System.Collections.Generic;
+using Core;
using UnityEngine;
namespace Pooling
@@ -58,7 +59,7 @@ namespace Pooling
}
}
- Debug.Log($"[{GetType().Name}] Initialized with {prefabs.Count} prefab types");
+ Logging.Debug($"[{GetType().Name}] Initialized with {prefabs.Count} prefab types");
}
///
@@ -115,7 +116,7 @@ namespace Pooling
// Try to get a valid object from the pool, cleaning up any destroyed objects
if (pooledObjects.ContainsKey(prefabIndex) && pooledObjects[prefabIndex].Count > 0)
{
- Debug.Log($"[{GetType().Name}] Found {pooledObjects[prefabIndex].Count} objects in pool for prefab index {prefabIndex}");
+ Logging.Debug($"[{GetType().Name}] Found {pooledObjects[prefabIndex].Count} objects in pool for prefab index {prefabIndex}");
// Keep trying until we find a valid object or the pool is empty
while (pooledObjects[prefabIndex].Count > 0)
@@ -126,20 +127,20 @@ namespace Pooling
// Check if the object is still valid (not destroyed)
if (obj != null && obj.gameObject != null)
{
- Debug.Log($"[{GetType().Name}] Retrieved valid object {obj.name} from pool, current active state: {obj.gameObject.activeInHierarchy}");
+ Logging.Debug($"[{GetType().Name}] Retrieved valid object {obj.name} from pool, current active state: {obj.gameObject.activeInHierarchy}");
break; // Found a valid object
}
else
{
// Object was destroyed, continue looking
- Debug.LogWarning($"[{GetType().Name}] Found destroyed object in pool, removing it");
+ Logging.Warning($"[{GetType().Name}] Found destroyed object in pool, removing it");
obj = null;
}
}
}
else
{
- Debug.Log($"[{GetType().Name}] No objects in pool for prefab index {prefabIndex}, creating new one");
+ Logging.Debug($"[{GetType().Name}] No objects in pool for prefab index {prefabIndex}, creating new one");
}
// If we couldn't find a valid object in the pool, create a new one
@@ -147,7 +148,7 @@ namespace Pooling
{
T prefab = prefabs[prefabIndex];
obj = Instantiate(prefab, transform);
- Debug.Log($"[{GetType().Name}] Created new object {obj.name} from prefab, active state: {obj.gameObject.activeInHierarchy}");
+ Logging.Debug($"[{GetType().Name}] Created new object {obj.name} from prefab, active state: {obj.gameObject.activeInHierarchy}");
}
// Ensure the object is valid before proceeding
@@ -161,22 +162,22 @@ namespace Pooling
// This prevents off-screen checks from triggering during spawn process
Vector3 originalPosition = obj.transform.position;
obj.transform.position = new Vector3(0f, -1000f, 0f);
- Debug.Log($"[{GetType().Name}] Moved object {obj.name} from {originalPosition} to safe position before activation");
+ Logging.Debug($"[{GetType().Name}] Moved object {obj.name} from {originalPosition} to safe position before activation");
- Debug.Log($"[{GetType().Name}] About to activate object {obj.name}, current state: {obj.gameObject.activeInHierarchy}");
+ Logging.Debug($"[{GetType().Name}] About to activate object {obj.name}, current state: {obj.gameObject.activeInHierarchy}");
obj.gameObject.SetActive(true);
- Debug.Log($"[{GetType().Name}] After SetActive(true), object {obj.name} state: {obj.gameObject.activeInHierarchy}");
+ Logging.Debug($"[{GetType().Name}] After SetActive(true), object {obj.name} state: {obj.gameObject.activeInHierarchy}");
// Call OnSpawn for IPoolable components
IPoolable poolable = obj.GetComponent();
if (poolable != null)
{
- Debug.Log($"[{GetType().Name}] Calling OnSpawn for object {obj.name}");
+ Logging.Debug($"[{GetType().Name}] Calling OnSpawn for object {obj.name}");
poolable.OnSpawn();
- Debug.Log($"[{GetType().Name}] After OnSpawn, object {obj.name} state: {obj.gameObject.activeInHierarchy}");
+ Logging.Debug($"[{GetType().Name}] After OnSpawn, object {obj.name} state: {obj.gameObject.activeInHierarchy}");
}
- Debug.Log($"[{GetType().Name}] Returning object {obj.name} with final state: {obj.gameObject.activeInHierarchy}");
+ Logging.Debug($"[{GetType().Name}] Returning object {obj.name} with final state: {obj.gameObject.activeInHierarchy}");
return obj;
}
@@ -297,7 +298,7 @@ namespace Pooling
///
public virtual void LogPoolStats()
{
- Debug.Log($"[{GetType().Name}] Total pooled objects: {totalPooledCount}/{totalMaxPoolSize}");
+ Logging.Debug($"[{GetType().Name}] Total pooled objects: {totalPooledCount}/{totalMaxPoolSize}");
string prefabDetails = "";
int index = 0;
@@ -318,7 +319,7 @@ namespace Pooling
}
}
- Debug.Log($"[{GetType().Name}] Pool details:{prefabDetails}");
+ Logging.Debug($"[{GetType().Name}] Pool details:{prefabDetails}");
}
#if UNITY_EDITOR
diff --git a/Assets/Scripts/PuzzleS/ObjectiveStepBehaviour.cs b/Assets/Scripts/PuzzleS/ObjectiveStepBehaviour.cs
index e0a7f3ea..655c27e7 100644
--- a/Assets/Scripts/PuzzleS/ObjectiveStepBehaviour.cs
+++ b/Assets/Scripts/PuzzleS/ObjectiveStepBehaviour.cs
@@ -3,6 +3,7 @@ using Interactions;
using UnityEngine;
using System;
using AppleHills.Core.Settings;
+using Core;
using UnityEngine.Serialization;
namespace PuzzleS
@@ -102,7 +103,7 @@ namespace PuzzleS
}
// Default fallback behavior
- Debug.Log($"[Puzzles] Prompt shown for {stepData?.stepId} on {gameObject.name}");
+ Logging.Debug($"[Puzzles] Prompt shown for {stepData?.stepId} on {gameObject.name}");
}
///
@@ -118,7 +119,7 @@ namespace PuzzleS
}
// Default fallback behavior
- Debug.Log($"[Puzzles] Prompt hidden for {stepData?.stepId} on {gameObject.name}");
+ Logging.Debug($"[Puzzles] Prompt hidden for {stepData?.stepId} on {gameObject.name}");
}
///
@@ -137,7 +138,7 @@ namespace PuzzleS
}
// Default fallback behavior
- Debug.Log($"[Puzzles] Player entered far range of {stepData?.stepId} on {gameObject.name}");
+ Logging.Debug($"[Puzzles] Player entered far range of {stepData?.stepId} on {gameObject.name}");
}
///
@@ -156,7 +157,7 @@ namespace PuzzleS
}
// Default fallback behavior
- Debug.Log($"[Puzzles] Player entered close range of {stepData?.stepId} on {gameObject.name}");
+ Logging.Debug($"[Puzzles] Player entered close range of {stepData?.stepId} on {gameObject.name}");
}
///
@@ -175,7 +176,7 @@ namespace PuzzleS
}
// Default fallback behavior
- Debug.Log($"[Puzzles] Player exited close range of {stepData?.stepId} on {gameObject.name}");
+ Logging.Debug($"[Puzzles] Player exited close range of {stepData?.stepId} on {gameObject.name}");
}
///
@@ -194,7 +195,7 @@ namespace PuzzleS
}
// Default fallback behavior
- Debug.Log($"[Puzzles] Player exited far range of {stepData?.stepId} on {gameObject.name}");
+ Logging.Debug($"[Puzzles] Player exited far range of {stepData?.stepId} on {gameObject.name}");
}
///
@@ -203,7 +204,7 @@ namespace PuzzleS
public void UnlockStep()
{
_isUnlocked = true;
- Debug.Log($"[Puzzles] Step unlocked: {stepData?.stepId} on {gameObject.name}");
+ Logging.Debug($"[Puzzles] Step unlocked: {stepData?.stepId} on {gameObject.name}");
// Show indicator if enabled in settings
if (puzzleIndicator != null)
@@ -219,7 +220,7 @@ namespace PuzzleS
if (_indicator == null)
{
- Debug.LogWarning($"[Puzzles] Indicator prefab for {stepData?.stepId} does not implement IPuzzlePrompt");
+ Logging.Warning($"[Puzzles] Indicator prefab for {stepData?.stepId} does not implement IPuzzlePrompt");
}
else
{
@@ -262,7 +263,7 @@ namespace PuzzleS
public void LockStep()
{
_isUnlocked = false;
- Debug.Log($"[Puzzles] Step locked: {stepData?.stepId} on {gameObject.name}");
+ Logging.Debug($"[Puzzles] Step locked: {stepData?.stepId} on {gameObject.name}");
// Hide indicator
if (_indicator != null)
@@ -296,7 +297,7 @@ namespace PuzzleS
if (!_isUnlocked) return;
if (success)
{
- Debug.Log($"[Puzzles] Step interacted: {stepData?.stepId} on {gameObject.name}");
+ Logging.Debug($"[Puzzles] Step interacted: {stepData?.stepId} on {gameObject.name}");
PuzzleManager.Instance?.MarkPuzzleStepCompleted(stepData);
}
}
diff --git a/Assets/Scripts/PuzzleS/PuzzleManager.cs b/Assets/Scripts/PuzzleS/PuzzleManager.cs
index 433ca719..0b3542c8 100644
--- a/Assets/Scripts/PuzzleS/PuzzleManager.cs
+++ b/Assets/Scripts/PuzzleS/PuzzleManager.cs
@@ -4,7 +4,8 @@ using System.Collections.Generic;
using System.Linq;
using UnityEngine;
using UnityEngine.SceneManagement;
-using AppleHills.Core.Settings; // Added for IInteractionSettings
+using AppleHills.Core.Settings;
+using Core; // Added for IInteractionSettings
namespace PuzzleS
{
@@ -86,7 +87,7 @@ namespace PuzzleS
{
SceneManager.sceneLoaded -= OnSceneLoaded;
- Debug.Log("[MDPI] OnSceneLoaded");
+ Logging.Debug("[MDPI] OnSceneLoaded");
_runtimeDependencies.Clear();
BuildRuntimeDependencies();
UnlockInitialSteps();
@@ -173,7 +174,7 @@ namespace PuzzleS
_unlockedSteps.Clear();
BuildRuntimeDependencies();
UnlockInitialSteps();
- Debug.Log($"[Puzzles] Registered step: {behaviour.stepData.stepId} on {behaviour.gameObject.name}");
+ Logging.Debug($"[Puzzles] Registered step: {behaviour.stepData.stepId} on {behaviour.gameObject.name}");
}
}
@@ -185,7 +186,7 @@ namespace PuzzleS
{
if (behaviour?.stepData == null) return;
_stepBehaviours.Remove(behaviour.stepData);
- Debug.Log($"[Puzzles] Unregistered step: {behaviour.stepData.stepId} on {behaviour.gameObject.name}");
+ Logging.Debug($"[Puzzles] Unregistered step: {behaviour.stepData.stepId} on {behaviour.gameObject.name}");
}
///
@@ -198,10 +199,10 @@ namespace PuzzleS
{
foreach (var dep in _runtimeDependencies[step])
{
- Debug.Log($"[Puzzles] Step {step.stepId} depends on {dep.stepId}");
+ Logging.Debug($"[Puzzles] Step {step.stepId} depends on {dep.stepId}");
}
}
- Debug.Log($"[Puzzles] Runtime dependencies built. Total steps: {_stepBehaviours.Count}");
+ Logging.Debug($"[Puzzles] Runtime dependencies built. Total steps: {_stepBehaviours.Count}");
}
///
@@ -213,7 +214,7 @@ namespace PuzzleS
var initialSteps = PuzzleGraphUtility.FindInitialSteps(_runtimeDependencies);
foreach (var step in initialSteps)
{
- Debug.Log($"[Puzzles] Initial step unlocked: {step.stepId}");
+ Logging.Debug($"[Puzzles] Initial step unlocked: {step.stepId}");
UnlockStep(step);
}
@@ -229,7 +230,7 @@ namespace PuzzleS
// Check if all dependencies have been completed
if (AreRuntimeDependenciesMet(step))
{
- Debug.Log($"[Puzzles] Chain step unlocked: {step.stepId}");
+ Logging.Debug($"[Puzzles] Chain step unlocked: {step.stepId}");
UnlockStep(step);
madeProgress = true;
}
@@ -245,7 +246,7 @@ namespace PuzzleS
{
if (_completedSteps.Contains(step)) return;
_completedSteps.Add(step);
- Debug.Log($"[Puzzles] Step completed: {step.stepId}");
+ Logging.Debug($"[Puzzles] Step completed: {step.stepId}");
// Broadcast completion
OnStepCompleted?.Invoke(step);
@@ -254,12 +255,12 @@ namespace PuzzleS
{
if (AreRuntimeDependenciesMet(unlock))
{
- Debug.Log($"[Puzzles] Unlocking step {unlock.stepId} after completing {step.stepId}");
+ Logging.Debug($"[Puzzles] Unlocking step {unlock.stepId} after completing {step.stepId}");
UnlockStep(unlock);
}
else
{
- Debug.Log($"[Puzzles] Step {unlock.stepId} not unlocked yet, waiting for other dependencies");
+ Logging.Debug($"[Puzzles] Step {unlock.stepId} not unlocked yet, waiting for other dependencies");
}
}
CheckPuzzleCompletion();
@@ -292,7 +293,7 @@ namespace PuzzleS
{
behaviour.UnlockStep();
}
- Debug.Log($"[Puzzles] Step unlocked: {step.stepId}");
+ Logging.Debug($"[Puzzles] Step unlocked: {step.stepId}");
// Broadcast unlock
OnStepUnlocked?.Invoke(step);
@@ -305,7 +306,7 @@ namespace PuzzleS
{
if (_completedSteps.Count == _stepBehaviours.Count)
{
- Debug.Log("[Puzzles] Puzzle complete! All steps finished.");
+ Logging.Debug("[Puzzles] Puzzle complete! All steps finished.");
// TODO: Fire puzzle complete event or trigger outcome logic
}
}
diff --git a/Assets/Scripts/UI/CardSystem/AlbumViewPage.cs b/Assets/Scripts/UI/CardSystem/AlbumViewPage.cs
index 08bc1341..02c0ff5d 100644
--- a/Assets/Scripts/UI/CardSystem/AlbumViewPage.cs
+++ b/Assets/Scripts/UI/CardSystem/AlbumViewPage.cs
@@ -1,5 +1,7 @@
using System.Collections.Generic;
using AppleHills.Data.CardSystem;
+using Core;
+using Data.CardSystem;
using Pixelplacement;
using UnityEngine;
using UnityEngine.UI;
@@ -250,7 +252,7 @@ namespace AppleHills.UI.CardSystem
// Animate card to center of slot using Pixelplacement.Tween
Tween.LocalPosition(cardUI.transform, Vector3.zero, 0.25f, 0f, Tween.EaseOutBack);
- Debug.Log($"[AlbumViewPage] Placed card '{cardUI.GetCardData().Name}' in album slot");
+ Logging.Debug($"[AlbumViewPage] Placed card '{cardUI.GetCardData().Name}' in album slot");
}
///
diff --git a/Assets/Scripts/UI/CardSystem/BoosterOpeningPage.cs b/Assets/Scripts/UI/CardSystem/BoosterOpeningPage.cs
index c2a009f5..ffcfe265 100644
--- a/Assets/Scripts/UI/CardSystem/BoosterOpeningPage.cs
+++ b/Assets/Scripts/UI/CardSystem/BoosterOpeningPage.cs
@@ -1,6 +1,8 @@
using System.Collections;
using System.Collections.Generic;
using AppleHills.Data.CardSystem;
+using Core;
+using Data.CardSystem;
using Pixelplacement;
using UnityEngine;
using UnityEngine.UI;
@@ -136,7 +138,7 @@ namespace AppleHills.UI.CardSystem
}
else
{
- Debug.LogWarning("[BoosterOpeningPage] No cards were obtained from the booster pack.");
+ Logging.Warning("[BoosterOpeningPage] No cards were obtained from the booster pack.");
UIPageController.Instance.PopPage();
}
}
diff --git a/Assets/Scripts/UI/CardSystem/CardAlbumUI.cs b/Assets/Scripts/UI/CardSystem/CardAlbumUI.cs
index 28ef9a36..01a82faa 100644
--- a/Assets/Scripts/UI/CardSystem/CardAlbumUI.cs
+++ b/Assets/Scripts/UI/CardSystem/CardAlbumUI.cs
@@ -1,5 +1,7 @@
using System;
using AppleHills.Data.CardSystem;
+using Core;
+using Data.CardSystem;
using UnityEngine;
using UnityEngine.UI;
@@ -167,7 +169,7 @@ namespace AppleHills.UI.CardSystem
}
else
{
- Debug.Log("[CardAlbumUI] No booster packs available");
+ Logging.Debug("[CardAlbumUI] No booster packs available");
// TODO: Show "no boosters available" message
}
}
diff --git a/Assets/Scripts/UI/CardSystem/CardMenuPage.cs b/Assets/Scripts/UI/CardSystem/CardMenuPage.cs
index 83ce4a95..eee13f73 100644
--- a/Assets/Scripts/UI/CardSystem/CardMenuPage.cs
+++ b/Assets/Scripts/UI/CardSystem/CardMenuPage.cs
@@ -1,5 +1,7 @@
using System.Collections.Generic;
using AppleHills.Data.CardSystem;
+using Core;
+using Data.CardSystem;
using Pixelplacement;
using UnityEngine;
using UnityEngine.UI;
@@ -135,7 +137,7 @@ namespace AppleHills.UI.CardSystem
///
private void OnChangeClothesClicked()
{
- Debug.Log("[CardMenuPage] Change Clothes feature coming soon!");
+ Logging.Debug("[CardMenuPage] Change Clothes feature coming soon!");
// No implementation yet - "Coming soon" feature
}
diff --git a/Assets/Scripts/UI/CardSystem/CardUIElement.cs b/Assets/Scripts/UI/CardSystem/CardUIElement.cs
index e1763543..8884e810 100644
--- a/Assets/Scripts/UI/CardSystem/CardUIElement.cs
+++ b/Assets/Scripts/UI/CardSystem/CardUIElement.cs
@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using AppleHills.Data.CardSystem;
+using Core;
using UnityEngine;
using TMPro;
using UnityEngine.UI;
@@ -37,7 +38,7 @@ namespace AppleHills.UI.CardSystem
///
public void SetupCard(CardData cardData)
{
- Debug.Log($"[CardUIElement] Setting up card with data: {cardData}");
+ Logging.Debug($"[CardUIElement] Setting up card with data: {cardData}");
this.cardData = cardData;
@@ -199,7 +200,7 @@ namespace AppleHills.UI.CardSystem
public void OnShowAnimation()
{
// Stub for card reveal animation
- Debug.Log($"[CardUIElement] Showing card: {cardData?.Name}");
+ Logging.Debug($"[CardUIElement] Showing card: {cardData?.Name}");
// Could add animation code or call Animation Trigger here
}
@@ -209,7 +210,7 @@ namespace AppleHills.UI.CardSystem
public void OnMoveToBackpackAnimation()
{
// Stub for animation when card moves to backpack
- Debug.Log($"[CardUIElement] Moving card to backpack: {cardData?.Name}");
+ Logging.Debug($"[CardUIElement] Moving card to backpack: {cardData?.Name}");
// Could add animation code or call Animation Trigger here
}
@@ -221,14 +222,14 @@ namespace AppleHills.UI.CardSystem
{
if (cardDefinition == null)
{
- Debug.LogWarning("[CardUIElement] Cannot create card data: No card definition assigned");
+ Logging.Warning("[CardUIElement] Cannot create card data: No card definition assigned");
return;
}
cardData = cardDefinition.CreateCardData();
UpdateCardVisuals();
- Debug.Log($"[CardUIElement] Created card from definition: {cardData.Name}");
+ Logging.Debug($"[CardUIElement] Created card from definition: {cardData.Name}");
}
#endif
}
diff --git a/Assets/Scripts/UI/CardSystem/UIPageController.cs b/Assets/Scripts/UI/CardSystem/UIPageController.cs
index dcf23908..0d6c96ff 100644
--- a/Assets/Scripts/UI/CardSystem/UIPageController.cs
+++ b/Assets/Scripts/UI/CardSystem/UIPageController.cs
@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
+using Core;
using UnityEngine;
namespace AppleHills.UI.CardSystem
@@ -49,7 +50,7 @@ namespace AppleHills.UI.CardSystem
page.TransitionIn();
OnPageChanged?.Invoke(page);
- Debug.Log($"[UIPageController] Pushed page: {page.PageName}");
+ Logging.Debug($"[UIPageController] Pushed page: {page.PageName}");
}
///
@@ -69,12 +70,12 @@ namespace AppleHills.UI.CardSystem
UIPage previousPage = _pageStack.Peek();
previousPage.TransitionIn();
OnPageChanged?.Invoke(previousPage);
- Debug.Log($"[UIPageController] Popped to previous page: {previousPage.PageName}");
+ Logging.Debug($"[UIPageController] Popped to previous page: {previousPage.PageName}");
}
else
{
OnPageChanged?.Invoke(null);
- Debug.Log("[UIPageController] Popped last page, no pages left in stack");
+ Logging.Debug("[UIPageController] Popped last page, no pages left in stack");
}
}
@@ -92,7 +93,7 @@ namespace AppleHills.UI.CardSystem
// Clear stack
_pageStack.Clear();
OnPageChanged?.Invoke(null);
- Debug.Log("[UIPageController] Cleared page stack");
+ Logging.Debug("[UIPageController] Cleared page stack");
}
///
diff --git a/Assets/Scripts/UI/LoadingScreenController.cs b/Assets/Scripts/UI/LoadingScreenController.cs
index 0d40e036..e902b7f7 100644
--- a/Assets/Scripts/UI/LoadingScreenController.cs
+++ b/Assets/Scripts/UI/LoadingScreenController.cs
@@ -146,7 +146,7 @@ namespace UI
float displayProgress = Mathf.Min(steadyProgress, actualProgress);
// Log the progress values for debugging
- Debug.Log($"[LoadingScreen] Progress - Default: {steadyProgress:F2}, Actual: {actualProgress:F2}, Display: {displayProgress:F2}");
+ Logging.Debug($"[LoadingScreen] Progress - Default: {steadyProgress:F2}, Actual: {actualProgress:F2}, Display: {displayProgress:F2}");
// Directly set the progress bar fill amount without smoothing
if (progressBarImage != null)
@@ -159,7 +159,7 @@ namespace UI
if (steadyProgress >= 1.0f && displayProgress >= 1.0f)
{
_animationComplete = true;
- Debug.Log("[LoadingScreen] Animation complete");
+ Logging.Debug("[LoadingScreen] Animation complete");
break;
}
@@ -171,7 +171,7 @@ namespace UI
if (progressBarImage != null)
{
progressBarImage.fillAmount = 1.0f;
- Debug.Log("[LoadingScreen] Final progress set to 1.0");
+ Logging.Debug("[LoadingScreen] Final progress set to 1.0");
}
// Hide the screen if loading is also complete
@@ -180,7 +180,7 @@ namespace UI
if (loadingScreenContainer != null)
{
loadingScreenContainer.SetActive(false);
- Debug.Log("[LoadingScreen] Animation AND loading complete, hiding screen");
+ Logging.Debug("[LoadingScreen] Animation AND loading complete, hiding screen");
// Invoke the callback when fully hidden
_onLoadingScreenFullyHidden?.Invoke();
@@ -196,7 +196,7 @@ namespace UI
///
public void HideLoadingScreen()
{
- Debug.Log("[LoadingScreen] Loading complete, marking loading as finished");
+ Logging.Debug("[LoadingScreen] Loading complete, marking loading as finished");
// Mark that loading is complete
_loadingComplete = true;
@@ -207,7 +207,7 @@ namespace UI
if (loadingScreenContainer != null)
{
loadingScreenContainer.SetActive(false);
- Debug.Log("[LoadingScreen] Animation already complete, hiding screen immediately");
+ Logging.Debug("[LoadingScreen] Animation already complete, hiding screen immediately");
// Invoke the callback when fully hidden
_onLoadingScreenFullyHidden?.Invoke();
@@ -216,7 +216,7 @@ namespace UI
}
else
{
- Debug.Log("[LoadingScreen] Animation still in progress, waiting for it to complete");
+ Logging.Debug("[LoadingScreen] Animation still in progress, waiting for it to complete");
// The coroutine will handle hiding when animation completes
}
}
diff --git a/Assets/Scripts/UI/MainMenu.cs b/Assets/Scripts/UI/MainMenu.cs
index 6aca0c16..93d07f90 100644
--- a/Assets/Scripts/UI/MainMenu.cs
+++ b/Assets/Scripts/UI/MainMenu.cs
@@ -8,7 +8,7 @@ public class MainMenu : MonoBehaviour
public async void StartGame()
{
// Replace with the actual scene name as set in Build Settings
- var progress = new Progress(p => Debug.Log($"Loading progress: {p * 100:F0}%"));
+ var progress = new Progress(p => Logging.Debug($"Loading progress: {p * 100:F0}%"));
await SceneManagerService.Instance.SwitchSceneAsync("AppleHillsOverworld", progress);
}
diff --git a/Assets/Scripts/UI/PauseMenu.cs b/Assets/Scripts/UI/PauseMenu.cs
index c6c4532e..54933f19 100644
--- a/Assets/Scripts/UI/PauseMenu.cs
+++ b/Assets/Scripts/UI/PauseMenu.cs
@@ -86,7 +86,7 @@ namespace UI
if(!isMainMenu)
HidePauseMenu(false); // Ensure menu is hidden when switching to a game level
- Debug.Log($"[PauseMenu] Setting pause menu active: {!isMainMenu} for scene: {levelName}");
+ Logging.Debug($"[PauseMenu] Setting pause menu active: {!isMainMenu} for scene: {levelName}");
}
///
@@ -105,7 +105,7 @@ namespace UI
InputManager.Instance.SetInputMode(InputMode.UI);
OnGamePaused?.Invoke();
- Debug.Log("[PauseMenu] Game Paused");
+ Logging.Debug("[PauseMenu] Game Paused");
}
///
@@ -124,7 +124,7 @@ namespace UI
InputManager.Instance.SetInputMode(InputMode.GameAndUI);
OnGameResumed?.Invoke();
- Debug.Log("[PauseMenu] Game Resumed");
+ Logging.Debug("[PauseMenu] Game Resumed");
}
///
@@ -141,7 +141,7 @@ namespace UI
public async void ExitToMainMenu()
{
// Replace with the actual scene name as set in Build Settings
- var progress = new Progress(p => Debug.Log($"Loading progress: {p * 100:F0}%"));
+ var progress = new Progress(p => Logging.Debug($"Loading progress: {p * 100:F0}%"));
await SceneManagerService.Instance.SwitchSceneAsync("MainMenu", progress);
}
@@ -156,6 +156,12 @@ namespace UI
Application.Quit();
#endif
}
+
+ public async void ReloadLevel()
+ {
+ var progress = new Progress(p => Logging.Debug($"Loading progress: {p * 100:F0}%"));
+ await SceneManagerService.Instance.ReloadCurrentScene(progress);
+ }
///
/// Loads a level based on the selection from a dropdown menu.
@@ -168,7 +174,7 @@ namespace UI
HidePauseMenu();
// Replace with the actual scene name as set in Build Settings
- var progress = new Progress(p => Debug.Log($"Loading progress: {p * 100:F0}%"));
+ var progress = new Progress(p => Logging.Debug($"Loading progress: {p * 100:F0}%"));
switch (levelSelection)
{
case 0:
diff --git a/Assets/Scripts/Utils/AppleHillsUtils.cs b/Assets/Scripts/Utils/AppleHillsUtils.cs
index e2dd6faf..62df8b17 100644
--- a/Assets/Scripts/Utils/AppleHillsUtils.cs
+++ b/Assets/Scripts/Utils/AppleHillsUtils.cs
@@ -1,5 +1,6 @@
using UnityEngine;
using AppleHills.Core.Settings;
+using Core;
namespace Utils
{
@@ -42,7 +43,7 @@ namespace Utils
var settings = GameManager.GetSettingsObject();
if (settings == null)
{
- Debug.LogWarning("[AppleHillsUtils] Could not get settings, using default reference height");
+ Logging.Warning("[AppleHillsUtils] Could not get settings, using default reference height");
return CalculateNormalizedMovementSpeed(normalizedSpeed, 1080f);
}
diff --git a/ProjectSettings/EditorBuildSettings.asset b/ProjectSettings/EditorBuildSettings.asset
index 6a75120f..cf1d829f 100644
--- a/ProjectSettings/EditorBuildSettings.asset
+++ b/ProjectSettings/EditorBuildSettings.asset
@@ -5,9 +5,6 @@ EditorBuildSettings:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Scenes:
- - enabled: 0
- path: Assets/Scenes/SampleScene.unity
- guid: 8c9cfa26abfee488c85f1582747f6a02
- enabled: 1
path: Assets/Scenes/MainMenu.unity
guid: b93f2f3b39a62684c8474ba79c8f698d
diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset
index 59d20491..5f084eba 100644
--- a/ProjectSettings/ProjectSettings.asset
+++ b/ProjectSettings/ProjectSettings.asset
@@ -820,7 +820,8 @@ PlayerSettings:
webGLCloseOnQuit: 0
webWasm2023: 0
webEnableSubmoduleStrippingCompatibility: 0
- scriptingDefineSymbols: {}
+ scriptingDefineSymbols:
+ Android: ENABLE_LOG
additionalCompilerArguments: {}
platformArchitecture: {}
scriptingBackend:
diff --git a/docs/card_system_implementation_plan.md b/docs/card_system_implementation_plan.md
new file mode 100644
index 00000000..b60bbe14
--- /dev/null
+++ b/docs/card_system_implementation_plan.md
@@ -0,0 +1,132 @@
+# Card System Implementation Plan
+
+## Current Implementation Analysis
+
+### Data Layer
+
+1. **CardData.cs**:
+ - Represents an instance of a card in the player's collection
+ - Contains unique ID, rarity, and copies owned
+ - Has a reference to its CardDefinition for display information
+ - Includes methods for rarity upgrades when collecting duplicates
+ - Well-structured with proper serialization support
+
+2. **CardDefinition.cs**:
+ - ScriptableObject template for creating card instances
+ - Contains basic info (name, description), visuals, and collection data
+ - Provides helper methods like CreateCardData() and GetBackgroundColor()
+ - Supports different zones (AppleHills, Quarry, Forest, Mountain, Beach)
+
+3. **CardSystemManager.cs**:
+ - Singleton manager for the card system
+ - Manages available card definitions and player inventory
+ - Includes event callbacks for booster packs and card collection
+ - Has partial implementation for adding booster packs
+ - Has a simple CardInventory class stub
+
+4. **CardVisualConfig.cs**:
+ - ScriptableObject for configuring the visual appearance of cards
+ - Maps rarities to colors and zones to colors/shapes
+ - Uses dictionary lookups for efficient access
+
+### UI Layer
+
+1. **CardUIElement.cs**:
+ - Handles displaying a single card in the UI
+ - Updates visuals based on card data (rarity, zone)
+ - References UI elements like card name text, images, frames, etc.
+
+2. **UIPageController.cs**:
+ - Manages UI page transitions with a stack-based navigation system
+ - Provides methods for pushing, popping, and clearing the page stack
+ - Uses events to notify when pages change
+
+3. **UI Page Components**:
+ - Several page-related files (AlbumViewPage.cs, BoosterOpeningPage.cs, CardMenuPage.cs)
+ - CardAlbumUI.cs file for handling the album display
+ - Base UIPage.cs class for common page functionality
+
+## What's Missing
+
+Based on the requirements, here's what still needs to be implemented:
+
+1. **Complete CardInventory Implementation**:
+ - Move from simple stub to full implementation
+ - Add methods to manage the player's card collection
+ - Implement filtering, sorting, and organization features
+
+2. **Booster Pack Generation**:
+ - Complete the logic to generate random booster packs with appropriate rarity distribution
+ - Implement methods for awarding booster packs to the player
+ - Add events for notifying UI when booster packs are obtained
+
+3. **Card Collection UI**:
+ - Complete the album browsing UI with filtering and sorting options
+ - Implement visual indicators for owned/not owned cards
+ - Add UI for tracking collection completion
+
+4. **Booster Pack Opening UI**:
+ - Implement the UI flow for opening booster packs
+ - Add card reveal animations and effects
+ - Create UI feedback for rare card discoveries
+
+5. **Save/Load System**:
+ - Implement persistence for the player's card collection
+ - Add autosave functionality for cards and booster packs
+
+## Implementation Plan
+
+### Step 1: Complete the Data Layer
+
+1. **Implement CardInventory.cs**:
+ - Create a dedicated class file (replacing the stub in CardSystemManager)
+ - Add methods for adding/removing cards, checking duplicates
+ - Implement filtering by zone, rarity, etc.
+ - Add collection statistics methods
+
+2. **Complete CardSystemManager.cs**:
+ - Update references to use the new CardInventory class
+ - Add methods for save/load integration
+ - Implement additional helper methods for card management
+
+### Step 2: Implement UI Flow
+
+1. **Complete UIPage Implementations**:
+ - Implement CardMenuPage.cs as the main card system entry point
+ - Complete AlbumViewPage.cs for browsing the collection
+ - Implement BoosterOpeningPage.cs for the pack opening experience
+
+2. **Card Collection Browsing**:
+ - Complete CardAlbumUI.cs to display the player's collection
+ - Add filtering by zone, rarity, etc.
+ - Implement pagination for large collections
+
+3. **Booster Pack UI**:
+ - Create UI for displaying and opening booster packs
+ - Implement card reveal animations and transitions
+ - Add sound effects and visual feedback
+
+### Step 3: Integration and Polishing
+
+1. **Connect UI to Data Layer**:
+ - Hook up UI components to CardSystemManager events
+ - Ensure data flows correctly between UI and data layers
+
+2. **Test and Balance**:
+ - Test rarity distribution in booster packs
+ - Balance the upgrade system for duplicates
+
+3. **Performance Optimization**:
+ - Implement object pooling for card UI elements
+ - Optimize loading of card data and sprites
+
+### Step 4: Additional Features (Optional)
+
+1. **Card Trading System**:
+ - Allow players to trade cards with NPCs or other players
+
+2. **Special Collection Bonuses**:
+ - Rewards for completing sets of cards
+
+3. **Card Usage Mechanics**:
+ - Ways to use cards in gameplay beyond collection