From e1079f2920683a3fb6b8b2664202fde637962260 Mon Sep 17 00:00:00 2001 From: NTG_Lenovo Date: Thu, 28 Dec 2023 16:29:52 +0900 Subject: [PATCH 1/3] =?UTF-8?q?#70=20=EB=AC=BC=EA=B3=A0=EA=B8=B0=20Boids(?= =?UTF-8?q?=EA=B5=B0=EC=A7=91)=20=EC=A0=81=EC=9A=A9=20=EC=A4=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit + 물고기 애니메이션 쉐이더 테스트 중 + Layer Fish -> Boid 변경 --- BlueWater/Assets/01.Scenes/02.Ocean.unity | 1119 ++-- BlueWater/Assets/02.Scripts/Boid.cs | 176 + BlueWater/Assets/02.Scripts/Boid.cs.meta | 11 + BlueWater/Assets/02.Scripts/Boids.cs | 82 + BlueWater/Assets/02.Scripts/Boids.cs.meta | 11 + BlueWater/Assets/03.Materials/Boids.meta | 8 + .../Assets/03.Materials/Boids/BoidsBound.mat | 141 + .../03.Materials/Boids/BoidsBound.mat.meta | 8 + .../Assets/03.Materials/Boids/Fish01.mat | 146 + .../Assets/03.Materials/Boids/Fish01.mat.meta | 8 + .../Assets/03.Materials/Boids/FishGraph.mat | 153 + .../03.Materials/Boids/FishGraph.mat.meta | 8 + BlueWater/Assets/05.Prefabs/Boids.meta | 8 + BlueWater/Assets/05.Prefabs/Boids/Boid.prefab | 162 + .../Assets/05.Prefabs/Boids/Boid.prefab.meta | 7 + .../Assets/05.Prefabs/Boids/Boids.prefab | 142 + .../Assets/05.Prefabs/Boids/Boids.prefab.meta | 7 + BlueWater/Assets/08.Models/fish.fbx | Bin 0 -> 31500 bytes BlueWater/Assets/08.Models/fish.fbx.meta | 107 + BlueWater/Assets/08.Models/fish01.fbx | Bin 0 -> 31740 bytes BlueWater/Assets/08.Models/fish01.fbx.meta | 107 + BlueWater/Assets/08.Models/fish01.png | Bin 0 -> 646595 bytes BlueWater/Assets/08.Models/fish01.png.meta | 136 + BlueWater/Assets/10.Shaders/Fish.shadergraph | 4522 +++++++++++++++++ .../Assets/10.Shaders/Fish.shadergraph.meta | 10 + .../Assets/10.Shaders/FishAnimation.shader | 109 + .../10.Shaders/FishAnimation.shader.meta | 9 + BlueWater/ProjectSettings/TagManager.asset | 2 +- 28 files changed, 6442 insertions(+), 757 deletions(-) create mode 100644 BlueWater/Assets/02.Scripts/Boid.cs create mode 100644 BlueWater/Assets/02.Scripts/Boid.cs.meta create mode 100644 BlueWater/Assets/02.Scripts/Boids.cs create mode 100644 BlueWater/Assets/02.Scripts/Boids.cs.meta create mode 100644 BlueWater/Assets/03.Materials/Boids.meta create mode 100644 BlueWater/Assets/03.Materials/Boids/BoidsBound.mat create mode 100644 BlueWater/Assets/03.Materials/Boids/BoidsBound.mat.meta create mode 100644 BlueWater/Assets/03.Materials/Boids/Fish01.mat create mode 100644 BlueWater/Assets/03.Materials/Boids/Fish01.mat.meta create mode 100644 BlueWater/Assets/03.Materials/Boids/FishGraph.mat create mode 100644 BlueWater/Assets/03.Materials/Boids/FishGraph.mat.meta create mode 100644 BlueWater/Assets/05.Prefabs/Boids.meta create mode 100644 BlueWater/Assets/05.Prefabs/Boids/Boid.prefab create mode 100644 BlueWater/Assets/05.Prefabs/Boids/Boid.prefab.meta create mode 100644 BlueWater/Assets/05.Prefabs/Boids/Boids.prefab create mode 100644 BlueWater/Assets/05.Prefabs/Boids/Boids.prefab.meta create mode 100644 BlueWater/Assets/08.Models/fish.fbx create mode 100644 BlueWater/Assets/08.Models/fish.fbx.meta create mode 100644 BlueWater/Assets/08.Models/fish01.fbx create mode 100644 BlueWater/Assets/08.Models/fish01.fbx.meta create mode 100644 BlueWater/Assets/08.Models/fish01.png create mode 100644 BlueWater/Assets/08.Models/fish01.png.meta create mode 100644 BlueWater/Assets/10.Shaders/Fish.shadergraph create mode 100644 BlueWater/Assets/10.Shaders/Fish.shadergraph.meta create mode 100644 BlueWater/Assets/10.Shaders/FishAnimation.shader create mode 100644 BlueWater/Assets/10.Shaders/FishAnimation.shader.meta diff --git a/BlueWater/Assets/01.Scenes/02.Ocean.unity b/BlueWater/Assets/01.Scenes/02.Ocean.unity index 1cccc280c..8f5f4dd28 100644 --- a/BlueWater/Assets/01.Scenes/02.Ocean.unity +++ b/BlueWater/Assets/01.Scenes/02.Ocean.unity @@ -781,6 +781,79 @@ Transform: - {fileID: 44403557} m_Father: {fileID: 357776295} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &102757400 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: -8679921383154817045, guid: 4fcad621167d55148be4bc4c00d7226e, + type: 3} + propertyPath: m_LocalPosition.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 4fcad621167d55148be4bc4c00d7226e, + type: 3} + propertyPath: m_LocalPosition.y + value: 4.25 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 4fcad621167d55148be4bc4c00d7226e, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 4fcad621167d55148be4bc4c00d7226e, + type: 3} + propertyPath: m_LocalRotation.w + value: 0.7071067 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 4fcad621167d55148be4bc4c00d7226e, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 4fcad621167d55148be4bc4c00d7226e, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 4fcad621167d55148be4bc4c00d7226e, + type: 3} + propertyPath: m_LocalRotation.z + value: 0.7071068 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 4fcad621167d55148be4bc4c00d7226e, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 4fcad621167d55148be4bc4c00d7226e, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 4fcad621167d55148be4bc4c00d7226e, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -7511558181221131132, guid: 4fcad621167d55148be4bc4c00d7226e, + type: 3} + propertyPath: 'm_Materials.Array.data[0]' + value: + objectReference: {fileID: 2100000, guid: ba438db46799cdc48b7a187f7d42df9e, type: 2} + - target: {fileID: 919132149155446097, guid: 4fcad621167d55148be4bc4c00d7226e, + type: 3} + propertyPath: m_Name + value: fish01 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 4fcad621167d55148be4bc4c00d7226e, type: 3} --- !u!1 &107190133 GameObject: m_ObjectHideFlags: 0 @@ -3731,182 +3804,6 @@ NavMeshObstacle: m_CarveOnlyStationary: 1 m_Center: {x: -0.09900001, y: 2.229, z: 0.049000002} m_TimeToStationary: 0.5 ---- !u!1 &453479153 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 453479154} - - component: {fileID: 453479159} - - component: {fileID: 453479158} - - component: {fileID: 453479157} - - component: {fileID: 453479156} - - component: {fileID: 453479155} - m_Layer: 15 - m_Name: Fish (3) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &453479154 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 453479153} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -50.429996, y: -10.24, z: 33.88} - m_LocalScale: {x: 1, y: 1, z: 2} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1825636406} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &453479155 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 453479153} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: a0f3e1c9930c204498f3a86452337290, type: 3} - m_Name: - m_EditorClassIdentifier: - autoInit: 1 - isDrawGizmos: 1 - viewRadius: 20 - moveSpd: 500 - rotationSpeed: 10 - isRandomAngle: 0 - randomAngle: 120 - rescanTime: 0.5 - escapeTime: 10 - isRespawn: 1 - respawnTime: 5 - randomDirectionChange: 0 - directionChangeInterval: 3 - minDirectionChangeInterval: 1 - maxDirectionChangeInterval: 3 - escapeMode: 2 - randomZigzag: 1 - zigzagAmplitude: 0.5 - zigzagFrequency: 1 - minZigzagAmplitude: 0.1 - maxZigzagAmplitude: 2 - minZigzagFrequency: 0.1 - maxZigzagFrequency: 2 - hitColliders: - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - targetLayer: - serializedVersion: 2 - m_Bits: 512 ---- !u!65 &453479156 -BoxCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 453479153} - m_Material: {fileID: 0} - m_IncludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_ExcludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_LayerOverridePriority: 0 - m_IsTrigger: 0 - m_ProvidesContacts: 0 - m_Enabled: 1 - serializedVersion: 3 - m_Size: {x: 1, y: 1, z: 1} - m_Center: {x: 0, y: 0, z: 0} ---- !u!54 &453479157 -Rigidbody: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 453479153} - serializedVersion: 4 - m_Mass: 1 - m_Drag: 0 - m_AngularDrag: 0.05 - m_CenterOfMass: {x: 0, y: 0, z: 0} - m_InertiaTensor: {x: 1, y: 1, z: 1} - m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1} - m_IncludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_ExcludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_ImplicitCom: 1 - m_ImplicitTensor: 1 - m_UseGravity: 0 - m_IsKinematic: 0 - m_Interpolate: 0 - m_Constraints: 112 - m_CollisionDetection: 0 ---- !u!23 &453479158 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 453479153} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} ---- !u!33 &453479159 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 453479153} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &476261169 GameObject: m_ObjectHideFlags: 0 @@ -6305,182 +6202,6 @@ NavMeshObstacle: m_CarveOnlyStationary: 1 m_Center: {x: -0.09900001, y: 2.229, z: 0.049000002} m_TimeToStationary: 0.5 ---- !u!1 &570047447 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 570047448} - - component: {fileID: 570047453} - - component: {fileID: 570047452} - - component: {fileID: 570047451} - - component: {fileID: 570047450} - - component: {fileID: 570047449} - m_Layer: 15 - m_Name: Fish (1) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &570047448 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 570047447} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -72.92, y: -10.24, z: 22.97} - m_LocalScale: {x: 1, y: 1, z: 2} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1825636406} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &570047449 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 570047447} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: a0f3e1c9930c204498f3a86452337290, type: 3} - m_Name: - m_EditorClassIdentifier: - autoInit: 1 - isDrawGizmos: 1 - viewRadius: 20 - moveSpd: 500 - rotationSpeed: 10 - isRandomAngle: 1 - randomAngle: 120 - rescanTime: 0.5 - escapeTime: 10 - isRespawn: 1 - respawnTime: 5 - randomDirectionChange: 1 - directionChangeInterval: 3 - minDirectionChangeInterval: 1 - maxDirectionChangeInterval: 3 - escapeMode: 1 - randomZigzag: 0 - zigzagAmplitude: 0.5 - zigzagFrequency: 1 - minZigzagAmplitude: 0.1 - maxZigzagAmplitude: 2 - minZigzagFrequency: 0.1 - maxZigzagFrequency: 2 - hitColliders: - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - targetLayer: - serializedVersion: 2 - m_Bits: 512 ---- !u!65 &570047450 -BoxCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 570047447} - m_Material: {fileID: 0} - m_IncludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_ExcludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_LayerOverridePriority: 0 - m_IsTrigger: 0 - m_ProvidesContacts: 0 - m_Enabled: 1 - serializedVersion: 3 - m_Size: {x: 1, y: 1, z: 1} - m_Center: {x: 0, y: 0, z: 0} ---- !u!54 &570047451 -Rigidbody: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 570047447} - serializedVersion: 4 - m_Mass: 1 - m_Drag: 0 - m_AngularDrag: 0.05 - m_CenterOfMass: {x: 0, y: 0, z: 0} - m_InertiaTensor: {x: 1, y: 1, z: 1} - m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1} - m_IncludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_ExcludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_ImplicitCom: 1 - m_ImplicitTensor: 1 - m_UseGravity: 0 - m_IsKinematic: 0 - m_Interpolate: 0 - m_Constraints: 112 - m_CollisionDetection: 0 ---- !u!23 &570047452 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 570047447} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} ---- !u!33 &570047453 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 570047447} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1001 &587373864 PrefabInstance: m_ObjectHideFlags: 0 @@ -7313,6 +7034,134 @@ NavMeshObstacle: m_CarveOnlyStationary: 1 m_Center: {x: -0.09900001, y: 2.229, z: 0.049000002} m_TimeToStationary: 0.5 +--- !u!1001 &718723263 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 1800824703194841433, guid: f228040d76c9217409284544f353da47, + type: 3} + propertyPath: m_LocalPosition.x + value: -13.5 + objectReference: {fileID: 0} + - target: {fileID: 1800824703194841433, guid: f228040d76c9217409284544f353da47, + type: 3} + propertyPath: m_LocalPosition.y + value: -88.1 + objectReference: {fileID: 0} + - target: {fileID: 1800824703194841433, guid: f228040d76c9217409284544f353da47, + type: 3} + propertyPath: m_LocalPosition.z + value: 163.8 + objectReference: {fileID: 0} + - target: {fileID: 1800824703194841433, guid: f228040d76c9217409284544f353da47, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1800824703194841433, guid: f228040d76c9217409284544f353da47, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1800824703194841433, guid: f228040d76c9217409284544f353da47, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1800824703194841433, guid: f228040d76c9217409284544f353da47, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1800824703194841433, guid: f228040d76c9217409284544f353da47, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1800824703194841433, guid: f228040d76c9217409284544f353da47, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1800824703194841433, guid: f228040d76c9217409284544f353da47, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2854089398056668840, guid: f228040d76c9217409284544f353da47, + type: 3} + propertyPath: m_LocalScale.x + value: 50 + objectReference: {fileID: 0} + - target: {fileID: 2854089398056668840, guid: f228040d76c9217409284544f353da47, + type: 3} + propertyPath: m_LocalScale.y + value: 20 + objectReference: {fileID: 0} + - target: {fileID: 2854089398056668840, guid: f228040d76c9217409284544f353da47, + type: 3} + propertyPath: m_LocalScale.z + value: 50 + objectReference: {fileID: 0} + - target: {fileID: 4541625270423798677, guid: f228040d76c9217409284544f353da47, + type: 3} + propertyPath: m_Name + value: Boids (1) + objectReference: {fileID: 0} + - target: {fileID: 5146900491857106217, guid: f228040d76c9217409284544f353da47, + type: 3} + propertyPath: boidCount + value: 1000 + objectReference: {fileID: 0} + - target: {fileID: 5146900491857106217, guid: f228040d76c9217409284544f353da47, + type: 3} + propertyPath: spawnRange + value: 25 + objectReference: {fileID: 0} + - target: {fileID: 5146900491857106217, guid: f228040d76c9217409284544f353da47, + type: 3} + propertyPath: k__BackingField + value: 0.1 + objectReference: {fileID: 0} + - target: {fileID: 5146900491857106217, guid: f228040d76c9217409284544f353da47, + type: 3} + propertyPath: k__BackingField + value: 10 + objectReference: {fileID: 0} + - target: {fileID: 5146900491857106217, guid: f228040d76c9217409284544f353da47, + type: 3} + propertyPath: k__BackingField + value: 10 + objectReference: {fileID: 0} + - target: {fileID: 5146900491857106217, guid: f228040d76c9217409284544f353da47, + type: 3} + propertyPath: k__BackingField + value: 6 + objectReference: {fileID: 0} + - target: {fileID: 5146900491857106217, guid: f228040d76c9217409284544f353da47, + type: 3} + propertyPath: k__BackingField + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5146900491857106217, guid: f228040d76c9217409284544f353da47, + type: 3} + propertyPath: k__BackingField.x + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 5146900491857106217, guid: f228040d76c9217409284544f353da47, + type: 3} + propertyPath: k__BackingField.y + value: 6 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: f228040d76c9217409284544f353da47, type: 3} --- !u!1 &734248429 GameObject: m_ObjectHideFlags: 0 @@ -7740,182 +7589,6 @@ MonoBehaviour: m_EditorClassIdentifier: autoInit: 1 k__BackingField: {fileID: 168896974} ---- !u!1 &793815083 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 793815084} - - component: {fileID: 793815089} - - component: {fileID: 793815088} - - component: {fileID: 793815087} - - component: {fileID: 793815086} - - component: {fileID: 793815085} - m_Layer: 15 - m_Name: Fish (2) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &793815084 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 793815083} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -63.459995, y: -10.24, z: 27.9} - m_LocalScale: {x: 1, y: 1, z: 2} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1825636406} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &793815085 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 793815083} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: a0f3e1c9930c204498f3a86452337290, type: 3} - m_Name: - m_EditorClassIdentifier: - autoInit: 1 - isDrawGizmos: 1 - viewRadius: 20 - moveSpd: 500 - rotationSpeed: 10 - isRandomAngle: 1 - randomAngle: 120 - rescanTime: 0.5 - escapeTime: 10 - isRespawn: 1 - respawnTime: 5 - randomDirectionChange: 1 - directionChangeInterval: 3 - minDirectionChangeInterval: 1 - maxDirectionChangeInterval: 3 - escapeMode: 1 - randomZigzag: 1 - zigzagAmplitude: 0.5 - zigzagFrequency: 1 - minZigzagAmplitude: 0.1 - maxZigzagAmplitude: 2 - minZigzagFrequency: 0.1 - maxZigzagFrequency: 2 - hitColliders: - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - targetLayer: - serializedVersion: 2 - m_Bits: 512 ---- !u!65 &793815086 -BoxCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 793815083} - m_Material: {fileID: 0} - m_IncludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_ExcludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_LayerOverridePriority: 0 - m_IsTrigger: 0 - m_ProvidesContacts: 0 - m_Enabled: 1 - serializedVersion: 3 - m_Size: {x: 1, y: 1, z: 1} - m_Center: {x: 0, y: 0, z: 0} ---- !u!54 &793815087 -Rigidbody: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 793815083} - serializedVersion: 4 - m_Mass: 1 - m_Drag: 0 - m_AngularDrag: 0.05 - m_CenterOfMass: {x: 0, y: 0, z: 0} - m_InertiaTensor: {x: 1, y: 1, z: 1} - m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1} - m_IncludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_ExcludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_ImplicitCom: 1 - m_ImplicitTensor: 1 - m_UseGravity: 0 - m_IsKinematic: 0 - m_Interpolate: 0 - m_Constraints: 112 - m_CollisionDetection: 0 ---- !u!23 &793815088 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 793815083} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} ---- !u!33 &793815089 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 793815083} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1001 &795209795 PrefabInstance: m_ObjectHideFlags: 0 @@ -11167,8 +10840,8 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1485085414} serializedVersion: 2 - m_LocalRotation: {x: 0.38023835, y: 0.618739, z: -0.46296394, w: 0.5081785} - m_LocalPosition: {x: -0.00059890747, y: 0, z: -0.0030136108} + m_LocalRotation: {x: 0.38024005, y: 0.61873704, z: -0.46296254, w: 0.5081807} + m_LocalPosition: {x: -0.0006713867, y: 0, z: -0.0033721924} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: @@ -11595,6 +11268,94 @@ MeshFilter: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1508474649} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1001 &1516929766 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: -8679921383154817045, guid: d8bab48d09fd529438ea0c30410bd858, + type: 3} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: d8bab48d09fd529438ea0c30410bd858, + type: 3} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: d8bab48d09fd529438ea0c30410bd858, + type: 3} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: d8bab48d09fd529438ea0c30410bd858, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: d8bab48d09fd529438ea0c30410bd858, + type: 3} + propertyPath: m_LocalPosition.y + value: 0.938 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: d8bab48d09fd529438ea0c30410bd858, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: d8bab48d09fd529438ea0c30410bd858, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: d8bab48d09fd529438ea0c30410bd858, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: d8bab48d09fd529438ea0c30410bd858, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: d8bab48d09fd529438ea0c30410bd858, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: d8bab48d09fd529438ea0c30410bd858, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: d8bab48d09fd529438ea0c30410bd858, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: d8bab48d09fd529438ea0c30410bd858, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -7511558181221131132, guid: d8bab48d09fd529438ea0c30410bd858, + type: 3} + propertyPath: 'm_Materials.Array.data[0]' + value: + objectReference: {fileID: 2100000, guid: ba438db46799cdc48b7a187f7d42df9e, type: 2} + - target: {fileID: 919132149155446097, guid: d8bab48d09fd529438ea0c30410bd858, + type: 3} + propertyPath: m_Name + value: fish + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: d8bab48d09fd529438ea0c30410bd858, type: 3} --- !u!4 &1537919015 stripped Transform: m_CorrespondingSourceObject: {fileID: 2213139629052044068, guid: 0f7ff4b7b8d5e4f09ac4fc513061cd59, @@ -13961,231 +13722,6 @@ Transform: m_Children: [] m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1812177369 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1812177370} - - component: {fileID: 1812177375} - - component: {fileID: 1812177374} - - component: {fileID: 1812177373} - - component: {fileID: 1812177372} - - component: {fileID: 1812177371} - m_Layer: 15 - m_Name: Fish - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1812177370 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1812177369} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -82.67, y: -10.24, z: 19.24} - m_LocalScale: {x: 1, y: 1, z: 2} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1825636406} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &1812177371 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1812177369} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: a0f3e1c9930c204498f3a86452337290, type: 3} - m_Name: - m_EditorClassIdentifier: - autoInit: 1 - isDrawGizmos: 1 - viewRadius: 20 - moveSpd: 500 - rotationSpeed: 10 - isRandomAngle: 0 - randomAngle: 120 - rescanTime: 0.5 - escapeTime: 10 - isRespawn: 1 - respawnTime: 5 - randomDirectionChange: 0 - directionChangeInterval: 3 - minDirectionChangeInterval: 1 - maxDirectionChangeInterval: 3 - escapeMode: 0 - randomZigzag: 0 - zigzagAmplitude: 0.5 - zigzagFrequency: 1 - minZigzagAmplitude: 0.1 - maxZigzagAmplitude: 2 - minZigzagFrequency: 0.1 - maxZigzagFrequency: 2 - hitColliders: - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - targetLayer: - serializedVersion: 2 - m_Bits: 512 ---- !u!65 &1812177372 -BoxCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1812177369} - m_Material: {fileID: 0} - m_IncludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_ExcludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_LayerOverridePriority: 0 - m_IsTrigger: 0 - m_ProvidesContacts: 0 - m_Enabled: 1 - serializedVersion: 3 - m_Size: {x: 1, y: 1, z: 1} - m_Center: {x: 0, y: 0, z: 0} ---- !u!54 &1812177373 -Rigidbody: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1812177369} - serializedVersion: 4 - m_Mass: 1 - m_Drag: 0 - m_AngularDrag: 0.05 - m_CenterOfMass: {x: 0, y: 0, z: 0} - m_InertiaTensor: {x: 1, y: 1, z: 1} - m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1} - m_IncludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_ExcludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_ImplicitCom: 1 - m_ImplicitTensor: 1 - m_UseGravity: 0 - m_IsKinematic: 0 - m_Interpolate: 0 - m_Constraints: 112 - m_CollisionDetection: 0 ---- !u!23 &1812177374 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1812177369} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} ---- !u!33 &1812177375 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1812177369} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &1825636405 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1825636406} - - component: {fileID: 1825636407} - m_Layer: 0 - m_Name: Fishes - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1825636406 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1825636405} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1812177370} - - {fileID: 570047448} - - {fileID: 793815084} - - {fileID: 453479154} - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &1825636407 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1825636405} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 67eb8043df0bfce42aa24c9ec130227a, type: 3} - m_Name: - m_EditorClassIdentifier: - _persistent: 0 --- !u!1001 &1841847360 PrefabInstance: m_ObjectHideFlags: 0 @@ -16398,6 +15934,74 @@ MeshCollider: m_Convex: 1 m_CookingOptions: 30 m_Mesh: {fileID: 43255131788321556, guid: 89cd1f768c41d774582ead143be71c37, type: 2} +--- !u!1001 &2821987114204187354 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 1800824703194841433, guid: f228040d76c9217409284544f353da47, + type: 3} + propertyPath: m_LocalPosition.x + value: -13.5 + objectReference: {fileID: 0} + - target: {fileID: 1800824703194841433, guid: f228040d76c9217409284544f353da47, + type: 3} + propertyPath: m_LocalPosition.y + value: -13.2 + objectReference: {fileID: 0} + - target: {fileID: 1800824703194841433, guid: f228040d76c9217409284544f353da47, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1800824703194841433, guid: f228040d76c9217409284544f353da47, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1800824703194841433, guid: f228040d76c9217409284544f353da47, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1800824703194841433, guid: f228040d76c9217409284544f353da47, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1800824703194841433, guid: f228040d76c9217409284544f353da47, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1800824703194841433, guid: f228040d76c9217409284544f353da47, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1800824703194841433, guid: f228040d76c9217409284544f353da47, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1800824703194841433, guid: f228040d76c9217409284544f353da47, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4541625270423798677, guid: f228040d76c9217409284544f353da47, + type: 3} + propertyPath: m_Name + value: Boids + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: f228040d76c9217409284544f353da47, type: 3} --- !u!224 &3203940215829079600 RectTransform: m_ObjectHideFlags: 0 @@ -17043,7 +16647,10 @@ SceneRoots: - {fileID: 476261175} - {fileID: 357776295} - {fileID: 200595900} - - {fileID: 1825636406} - {fileID: 1574668128} - {fileID: 1771297325} - {fileID: 280786784} + - {fileID: 2821987114204187354} + - {fileID: 718723263} + - {fileID: 1516929766} + - {fileID: 102757400} diff --git a/BlueWater/Assets/02.Scripts/Boid.cs b/BlueWater/Assets/02.Scripts/Boid.cs new file mode 100644 index 000000000..d7a167ffb --- /dev/null +++ b/BlueWater/Assets/02.Scripts/Boid.cs @@ -0,0 +1,176 @@ +using System.Collections; +using System.Collections.Generic; +using System.Linq; +using Sirenix.OdinInspector; +using UnityEngine; +using Random = UnityEngine.Random; + +// ReSharper disable once CheckNamespace +namespace BlueWaterProject +{ + public class Boid : MonoBehaviour + { + [Title("개체 설정")] + [SerializeField] private float obstacleDistance = 10; + [SerializeField] private float viewAngle = 120; + [SerializeField] private int maxNeighbourCount = 10; + [SerializeField] private float neighbourDistance = 6; + + [Title("ETC")] + [SerializeField] private LayerMask boidUnitLayer; + [SerializeField] private LayerMask obstacleLayer; + + private Boids myBoids; + private List neighbours = new(); + private Collider[] hitColliders; + + private Coroutine findNeighbourCoroutine; + private Coroutine calculateEgoVectorCoroutine; + private Vector3 targetPos; + private Vector3 egoVector; + private float moveSpeed; + private float additionalSpeed = 0; + + public void Init(Boids boids, float speed) + { + myBoids = boids; + moveSpeed = speed; + hitColliders = new Collider[maxNeighbourCount]; + + findNeighbourCoroutine = StartCoroutine("FindNeighbourCoroutine"); + calculateEgoVectorCoroutine = StartCoroutine("CalculateEgoVectorCoroutine"); + } + + private void OnDrawGizmosSelected() + { + foreach (var neighbour in neighbours) + { + var myPos = transform.position; + + Gizmos.color = Color.red; + Gizmos.DrawLine(myPos, neighbour.transform.position); + Gizmos.color = Color.blue; + Gizmos.DrawLine(myPos, myPos + targetPos); + } + } + + private void Update() + { + if (additionalSpeed > 0) + additionalSpeed -= Time.deltaTime; + + var cohesionPos = CalculateCohesionPos() * myBoids.CohesionWeight; + var alignmentPos = CalculateAlignmentPos() * myBoids.AlignmentWeight; + var separationPos = CalculateSeparationPos() * myBoids.SeparationWeight; + var boundsPos = CalculateBoundsVector() * myBoids.BoundsWeight; + var obstaclePos = CalculateObstacleVector() * myBoids.ObstacleWeight; + var egoPos = egoVector * myBoids.EgoWeight; + + targetPos = cohesionPos + alignmentPos + separationPos + boundsPos + obstaclePos + egoPos; + + targetPos = Vector3.Lerp(transform.forward, targetPos, Time.deltaTime); + targetPos = targetPos.normalized; + + if (targetPos == Vector3.zero) + targetPos = egoVector; + + transform.rotation = Quaternion.LookRotation(targetPos); + transform.position += targetPos * ((moveSpeed + additionalSpeed) * Time.deltaTime); + } + + private IEnumerator CalculateEgoVectorCoroutine() + { + moveSpeed = Random.Range(myBoids.RandomSpeedRange.x, myBoids.RandomSpeedRange.y); + egoVector = Random.insideUnitSphere; + yield return new WaitForSeconds(Random.Range(1, 3f)); + calculateEgoVectorCoroutine = StartCoroutine("CalculateEgoVectorCoroutine"); + } + + private IEnumerator FindNeighbourCoroutine() + { + neighbours.Clear(); + + var size = Physics.OverlapSphereNonAlloc(transform.position, neighbourDistance, hitColliders, boidUnitLayer); + for (var i = 0; i < size; i++) + { + if (Vector3.Angle(transform.forward, hitColliders[i].transform.position - transform.position) <= viewAngle) + { + neighbours.Add(hitColliders[i].GetComponent()); + } + } + yield return new WaitForSeconds(Random.Range(0.5f, 2f)); + findNeighbourCoroutine = StartCoroutine("FindNeighbourCoroutine"); + } + + private Vector3 CalculateCohesionPos() + { + var cohesionPos = Vector3.zero; + if (neighbours.Count > 0) + { + cohesionPos = neighbours.Aggregate(cohesionPos, (current, neighbour) => current + neighbour.transform.position); + } + else + { + return cohesionPos; + } + + cohesionPos /= neighbours.Count; + cohesionPos -= transform.position; + cohesionPos.Normalize(); + return cohesionPos; + } + + private Vector3 CalculateAlignmentPos() + { + var alignmentPos = transform.forward; + if (neighbours.Count > 0) + { + alignmentPos = neighbours.Aggregate(alignmentPos, (current, neighbour) => current + neighbour.transform.forward); + } + else + { + return alignmentPos; + } + + alignmentPos /= neighbours.Count; + alignmentPos.Normalize(); + return alignmentPos; + } + + private Vector3 CalculateSeparationPos() + { + var separationPos = Vector3.zero; + if (neighbours.Count > 0) + { + separationPos = neighbours.Aggregate(separationPos, (current, neighbour) => current + (transform.position - neighbour.transform.position)); + } + else + { + return separationPos; + } + separationPos /= neighbours.Count; + separationPos.Normalize(); + return separationPos; + } + + private Vector3 CalculateBoundsVector() + { + var myPos = transform.position; + var offsetToCenter = myBoids.BoundMeshRenderer.transform.position - myPos; + var insideBounds = myBoids.BoundMeshRenderer.bounds.Contains(myPos); + return insideBounds ? Vector3.zero : offsetToCenter.normalized; + } + + private Vector3 CalculateObstacleVector() + { + var obstaclePos = Vector3.zero; + if (Physics.Raycast(transform.position,transform.forward, out var hit, obstacleDistance, obstacleLayer)) + { + Debug.DrawLine(transform.position, hit.point, Color.black); + obstaclePos = hit.normal; + additionalSpeed = 10; + } + return obstaclePos; + } + } +} \ No newline at end of file diff --git a/BlueWater/Assets/02.Scripts/Boid.cs.meta b/BlueWater/Assets/02.Scripts/Boid.cs.meta new file mode 100644 index 000000000..2c5f0ca05 --- /dev/null +++ b/BlueWater/Assets/02.Scripts/Boid.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b5a4bdb4c510d354687a785c3f642878 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Boids.cs b/BlueWater/Assets/02.Scripts/Boids.cs new file mode 100644 index 000000000..1822c139c --- /dev/null +++ b/BlueWater/Assets/02.Scripts/Boids.cs @@ -0,0 +1,82 @@ +using Sirenix.OdinInspector; +using UnityEngine; +using Random = UnityEngine.Random; + +// ReSharper disable once CheckNamespace +namespace BlueWaterProject +{ + public class Boids : MonoBehaviour + { + [Title("군집(떼) 설정")] + [Tooltip("Boid 프리팹")] + [SerializeField] private Boid boidPrefab; + + [Range(1, 1000)] + [Tooltip("생성할 개체 수")] + [SerializeField] private int boidCount = 5; + + [Range(5, 100)] + [Tooltip("개체 생성 범위")] + [SerializeField] private float spawnRange = 10; + + [field: Tooltip("개체의 랜덤 속도 값\nx == Min\ny == Max")] + [field: SerializeField] public Vector2 RandomSpeedRange { get; private set; } = new(5, 10); + + [field: Range(0, 10)] + [field: Tooltip("응집력 가중치")] + [field: SerializeField] public float CohesionWeight { get; private set; } = 1; + + [field: Range(0, 10)] + [field: Tooltip("정렬 가중치")] + [field: SerializeField] public float AlignmentWeight { get; private set; } = 1; + + [field: Range(0, 10)] + [field: Tooltip("분리 가중치")] + [field: SerializeField] public float SeparationWeight { get; private set; } = 1; + + [field: Range(0, 100)] + [field: Tooltip("경계 가중치")] + [field: SerializeField] public float BoundsWeight { get; private set; } = 1; + + [field: Range(0, 100)] + [field: Tooltip("장애물 가중치")] + [field: SerializeField] public float ObstacleWeight { get; private set; } = 10; + + [field: Range(0, 10)] + [field: Tooltip("자아 가중치")] + [field: SerializeField] public float EgoWeight { get; private set; } = 1; + + [Title("옵션")] + [Tooltip("경계 범위 On/Off")] + [SerializeField] private bool showBounds; + + public MeshRenderer BoundMeshRenderer { get; private set; } + + private void OnValidate() + { + if (BoundMeshRenderer) + { + BoundMeshRenderer.enabled = showBounds; + } + } + + private void Start() + { + CreateBoids(); + } + + private void CreateBoids() + { + BoundMeshRenderer = GetComponentInChildren(); + BoundMeshRenderer.enabled = showBounds; + var myTransform = transform; + for (var i = 0; i < boidCount; i++) + { + var randomPos = Random.insideUnitSphere * spawnRange; + var randomRotation = Quaternion.Euler(0, Random.Range(0, 360f), 0); + var boid = Instantiate(boidPrefab, myTransform.position + randomPos, randomRotation, myTransform); + boid.Init(this, Random.Range(RandomSpeedRange.x, RandomSpeedRange.y)); + } + } + } +} \ No newline at end of file diff --git a/BlueWater/Assets/02.Scripts/Boids.cs.meta b/BlueWater/Assets/02.Scripts/Boids.cs.meta new file mode 100644 index 000000000..86aebce29 --- /dev/null +++ b/BlueWater/Assets/02.Scripts/Boids.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 883eb23bc92adc54eb936343c0d39f0d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/BlueWater/Assets/03.Materials/Boids.meta b/BlueWater/Assets/03.Materials/Boids.meta new file mode 100644 index 000000000..3b4b11e98 --- /dev/null +++ b/BlueWater/Assets/03.Materials/Boids.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ca0b51fa697cdb344837256a0ab8213f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/BlueWater/Assets/03.Materials/Boids/BoidsBound.mat b/BlueWater/Assets/03.Materials/Boids/BoidsBound.mat new file mode 100644 index 000000000..7c9553e90 --- /dev/null +++ b/BlueWater/Assets/03.Materials/Boids/BoidsBound.mat @@ -0,0 +1,141 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: BoidsBound + m_Shader: {fileID: 4800000, guid: 8d2bb70cbf9db8d4da26e15b26e74248, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: + - _ALPHAPREMULTIPLY_ON + - _SURFACE_TYPE_TRANSPARENT + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: 3005 + stringTagMap: + RenderType: Transparent + disabledShaderPasses: + - DepthOnly + - SHADOWCASTER + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 + - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DstBlend: 10 + - _DstBlendAlpha: 10 + - _EnvironmentReflections: 0 + - _GlossMapScale: 0 + - _Glossiness: 0 + - _GlossinessSource: 0 + - _GlossyReflections: 0 + - _Metallic: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.005 + - _QueueOffset: 5 + - _ReceiveShadows: 1 + - _Shininess: 0 + - _Smoothness: 0.5 + - _SmoothnessSource: 0 + - _SmoothnessTextureChannel: 0 + - _SpecSource: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 1 + - _WorkflowMode: 0 + - _ZWrite: 0 + m_Colors: + - _BaseColor: {r: 0.5882353, g: 0, b: 1, a: 0.39215687} + - _Color: {r: 0.5882353, g: 0, b: 1, a: 0.39215687} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} + m_BuildTextureStacks: [] +--- !u!114 &3534396804740514 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 7 diff --git a/BlueWater/Assets/03.Materials/Boids/BoidsBound.mat.meta b/BlueWater/Assets/03.Materials/Boids/BoidsBound.mat.meta new file mode 100644 index 000000000..c726c4a98 --- /dev/null +++ b/BlueWater/Assets/03.Materials/Boids/BoidsBound.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 51923919e8fc7874293ddd0ec8b4f352 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/BlueWater/Assets/03.Materials/Boids/Fish01.mat b/BlueWater/Assets/03.Materials/Boids/Fish01.mat new file mode 100644 index 000000000..b8b04c71d --- /dev/null +++ b/BlueWater/Assets/03.Materials/Boids/Fish01.mat @@ -0,0 +1,146 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-7508768530177104492 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 7 +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Fish01 + m_Shader: {fileID: 4800000, guid: 8b0bcba1cce78b64f84471735e786188, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: b22e9f06f1fbc294c9cb94024e1e05ea, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _AmplitudeX: 0.05 + - _AmplitudeY: 0.05 + - _AmplitudeZ: 0.1 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 + - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _DstBlendAlpha: 0 + - _EnvironmentReflections: 1 + - _FrequencyX: 10 + - _FrequencyY: 5 + - _FrequencyZ: 10 + - _GlossMapScale: 0 + - _Glossiness: 0 + - _GlossinessSource: 0 + - _GlossyReflections: 0 + - _HeadLimit: 0 + - _Metallic: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.005 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Shininess: 0 + - _Smoothness: 0.5 + - _SmoothnessSource: 0 + - _SmoothnessTextureChannel: 0 + - _SpecSource: 0 + - _SpecularHighlights: 1 + - _SpeedX: 1 + - _SpeedY: 0 + - _SpeedZ: 1 + - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 0 + - _WorkflowMode: 1 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} + m_BuildTextureStacks: [] diff --git a/BlueWater/Assets/03.Materials/Boids/Fish01.mat.meta b/BlueWater/Assets/03.Materials/Boids/Fish01.mat.meta new file mode 100644 index 000000000..613203e76 --- /dev/null +++ b/BlueWater/Assets/03.Materials/Boids/Fish01.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 092a095eda8f69f4cabbac57bae2184f +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/BlueWater/Assets/03.Materials/Boids/FishGraph.mat b/BlueWater/Assets/03.Materials/Boids/FishGraph.mat new file mode 100644 index 000000000..16f1dc144 --- /dev/null +++ b/BlueWater/Assets/03.Materials/Boids/FishGraph.mat @@ -0,0 +1,153 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: FishGraph + m_Shader: {fileID: -6465566751694194690, guid: 7cae0496bda14c04a9d5aa9138f04bda, + type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 1 + m_CustomRenderQueue: 2050 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 2800000, guid: b22e9f06f1fbc294c9cb94024e1e05ea, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: b22e9f06f1fbc294c9cb94024e1e05ea, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _AmplitudeX: 0.2 + - _AmplitudeX_1: 0.2 + - _AmplitudeX_2: 0.2 + - _AmplitudeX_3: 0.2 + - _AmplitudeY: 0.2 + - _AmplitudeZ: 1 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 + - _BlendOp: 0 + - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 0 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _DstBlendAlpha: 0 + - _EnvironmentReflections: 1 + - _FrequencyX: 1 + - _FrequencyX_1: 1 + - _FrequencyX_2: 1 + - _FrequencyX_3: 1 + - _FrequencyX_4: 1 + - _FrequencyY: 1 + - _FrequencyZ: 1 + - _GlossMapScale: 0 + - _Glossiness: 0 + - _GlossyReflections: 0 + - _HeadLimit: 0.05 + - _Metallic: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.005 + - _QueueControl: 0 + - _QueueOffset: 50 + - _ReceiveShadows: 1 + - _SampleGI: 0 + - _Smoothness: 0.5 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SpeedX: 1 + - _SpeedY: 1 + - _SpeedZ: 1 + - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 0 + - _WorkflowMode: 1 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} + m_BuildTextureStacks: [] +--- !u!114 &6506538637606883820 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 7 diff --git a/BlueWater/Assets/03.Materials/Boids/FishGraph.mat.meta b/BlueWater/Assets/03.Materials/Boids/FishGraph.mat.meta new file mode 100644 index 000000000..ed3cb83d7 --- /dev/null +++ b/BlueWater/Assets/03.Materials/Boids/FishGraph.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ba438db46799cdc48b7a187f7d42df9e +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/BlueWater/Assets/05.Prefabs/Boids.meta b/BlueWater/Assets/05.Prefabs/Boids.meta new file mode 100644 index 000000000..cc97926ca --- /dev/null +++ b/BlueWater/Assets/05.Prefabs/Boids.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8799617102174054dae56b9d97353376 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/BlueWater/Assets/05.Prefabs/Boids/Boid.prefab b/BlueWater/Assets/05.Prefabs/Boids/Boid.prefab new file mode 100644 index 000000000..3b7eab052 --- /dev/null +++ b/BlueWater/Assets/05.Prefabs/Boids/Boid.prefab @@ -0,0 +1,162 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &665513925588288320 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4874816205509271808} + - component: {fileID: 5402562142639805275} + - component: {fileID: 2102284208022651341} + m_Layer: 15 + m_Name: Boid + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4874816205509271808 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 665513925588288320} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4663177917130564317} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &5402562142639805275 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 665513925588288320} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b5a4bdb4c510d354687a785c3f642878, type: 3} + m_Name: + m_EditorClassIdentifier: + obstacleDistance: 10 + viewAngle: 120 + maxNeighbourCount: 10 + neighbourDistance: 6 + boidUnitLayer: + serializedVersion: 2 + m_Bits: 0 + obstacleLayer: + serializedVersion: 2 + m_Bits: 2097672 +--- !u!65 &2102284208022651341 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 665513925588288320} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 4} + m_Center: {x: 0, y: 0, z: 0} +--- !u!1 &5370122689380285007 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4663177917130564317} + - component: {fileID: 1579208819468009085} + - component: {fileID: 1238523984028734065} + m_Layer: 0 + m_Name: VisualLook + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4663177917130564317 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5370122689380285007} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0.7071068, w: 0.7071067} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1.9594047} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4874816205509271808} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &1579208819468009085 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5370122689380285007} + m_Mesh: {fileID: 1391105594336295549, guid: 4fcad621167d55148be4bc4c00d7226e, type: 3} +--- !u!23 &1238523984028734065 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5370122689380285007} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: ba438db46799cdc48b7a187f7d42df9e, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} diff --git a/BlueWater/Assets/05.Prefabs/Boids/Boid.prefab.meta b/BlueWater/Assets/05.Prefabs/Boids/Boid.prefab.meta new file mode 100644 index 000000000..33b86fb32 --- /dev/null +++ b/BlueWater/Assets/05.Prefabs/Boids/Boid.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 1294b74a61e4faa49a0fb449956b4fda +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/BlueWater/Assets/05.Prefabs/Boids/Boids.prefab b/BlueWater/Assets/05.Prefabs/Boids/Boids.prefab new file mode 100644 index 000000000..b7a3c42ba --- /dev/null +++ b/BlueWater/Assets/05.Prefabs/Boids/Boids.prefab @@ -0,0 +1,142 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2441661978531314766 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2854089398056668840} + - component: {fileID: 3243186087995758770} + - component: {fileID: 2486807546603369919} + m_Layer: 0 + m_Name: Bounds + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2854089398056668840 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2441661978531314766} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 30, y: 10, z: 30} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1800824703194841433} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &3243186087995758770 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2441661978531314766} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &2486807546603369919 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2441661978531314766} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 51923919e8fc7874293ddd0ec8b4f352, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &4541625270423798677 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1800824703194841433} + - component: {fileID: 5146900491857106217} + m_Layer: 0 + m_Name: Boids + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1800824703194841433 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4541625270423798677} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -13.5, y: -13.2, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 1 + m_Children: + - {fileID: 2854089398056668840} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &5146900491857106217 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4541625270423798677} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 883eb23bc92adc54eb936343c0d39f0d, type: 3} + m_Name: + m_EditorClassIdentifier: + boidPrefab: {fileID: 5402562142639805275, guid: 1294b74a61e4faa49a0fb449956b4fda, + type: 3} + boidCount: 5 + spawnRange: 10 + k__BackingField: {x: 5, y: 10} + k__BackingField: 1.5 + k__BackingField: 3 + k__BackingField: 1 + k__BackingField: 10 + k__BackingField: 10 + k__BackingField: 1 + showBounds: 1 diff --git a/BlueWater/Assets/05.Prefabs/Boids/Boids.prefab.meta b/BlueWater/Assets/05.Prefabs/Boids/Boids.prefab.meta new file mode 100644 index 000000000..c287c1e3e --- /dev/null +++ b/BlueWater/Assets/05.Prefabs/Boids/Boids.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: f228040d76c9217409284544f353da47 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/BlueWater/Assets/08.Models/fish.fbx b/BlueWater/Assets/08.Models/fish.fbx new file mode 100644 index 0000000000000000000000000000000000000000..7dcc828553a2d9eb796336f6262ba788dafa4400 GIT binary patch literal 31500 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 literal 0 HcmV?d00001 diff --git a/BlueWater/Assets/08.Models/fish.fbx.meta b/BlueWater/Assets/08.Models/fish.fbx.meta new file mode 100644 index 000000000..f993d5c48 --- /dev/null +++ b/BlueWater/Assets/08.Models/fish.fbx.meta @@ -0,0 +1,107 @@ +fileFormatVersion: 2 +guid: d8bab48d09fd529438ea0c30410bd858 +ModelImporter: + serializedVersion: 22200 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 2 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + removeConstantScaleCurves: 0 + motionNodeName: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importPhysicalCameras: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + nodeNameCollisionStrategy: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + strictVertexDataChecks: 0 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 1 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + importBlendShapeDeformPercent: 1 + remapMaterialsIfMaterialImportModeIsNone: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/BlueWater/Assets/08.Models/fish01.fbx b/BlueWater/Assets/08.Models/fish01.fbx new file mode 100644 index 0000000000000000000000000000000000000000..b614696290e5fc67bc7877de3c3e6ba8d0750d3f GIT binary patch literal 31740 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 MyySUY+ONqC0KfyU`v3p{ literal 0 HcmV?d00001 diff --git a/BlueWater/Assets/08.Models/fish01.fbx.meta b/BlueWater/Assets/08.Models/fish01.fbx.meta new file mode 100644 index 000000000..7a658cc3f --- /dev/null +++ b/BlueWater/Assets/08.Models/fish01.fbx.meta @@ -0,0 +1,107 @@ +fileFormatVersion: 2 +guid: 4fcad621167d55148be4bc4c00d7226e +ModelImporter: + serializedVersion: 22200 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 2 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + removeConstantScaleCurves: 0 + motionNodeName: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importPhysicalCameras: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + nodeNameCollisionStrategy: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + strictVertexDataChecks: 0 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 1 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + importBlendShapeDeformPercent: 1 + remapMaterialsIfMaterialImportModeIsNone: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/BlueWater/Assets/08.Models/fish01.png b/BlueWater/Assets/08.Models/fish01.png new file mode 100644 index 0000000000000000000000000000000000000000..fc3820c0019f951c6b78a8742e7678aa8d9eb36c GIT binary patch literal 646595 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

AP2OZuUz%(J+y0%G zlSVqj?_e5LtJLANlNK-UCIqkKy(F5sta4`nY==6j^Axv}keQq3#MdXsYsEufPSN|g zc_*I(j(5woO?X2e=(T#*ifmPC>&>B|rhX`0#FV@Zl}wd*E}jmL>U&;Hf9bJkLhRG! zvNK>2h&YMGSS7Rp7H0$YD^06}qITLg(`$Uv6pX1i8bDm5l?ipF=%hNzX)pEthffTq_v*=?0XN58_p!cY|D5oI-@KADa=1j$jb=Q^ zs4Oe$A2if19^A-K;h+<@XCa?eaOS+xamzAIWtANzzO8fzeKi0l26T-@Ysp4Dj!@+* zO8BaMk!5t0c5%^IxT`nP=Q0=5lzjv8K}|%`cx&(%ihu9(3ie)2CC|z<8WYy6gfb@qsk@fR(BCJ_i(@9Xk@9>Mfve7J4hL8gC`XH^)i5vuldzBeFLA zgS$?ISH(^Xvxx z=~Pl49*c)PZw)xcFj%KQ5ewer!n^x6L3>HYpxz6F#vr#=Vi6Ev!%)Yd!wpv;>WTW% z2x`Z|#7bT1dMhP*Yn64VMUZv+Gm8W&z^yMUJ4&eYD&8x)KLVc!Ga|ydUy%6y6aEND zPY>7(FochjnjtTRt78PDmCipBeGhB()^TPgKfpSg)(=CHyx?D>PI~e8y)`Ng00Idb z3izmo-yQU{OMVeVqM%5y^^=}Lamvhv-(h0Fz~#IVGgK}|sKPd8J}{Nlz~A9~MBvhn zDJ;(bW0Jf+!2kVQB3mcU5!^%B%}Y#p?IOqZ(E`V7v}ax;Ky|b2L`2|8fsxRi>+|F* z-XfBU7XhY&)Ct_R&GJ-cdh=c$I?d`P$-ru$Lt(~2)gm@8?{sp9%~K+`^AY0D8~vF; ze*AuXnw|+WClR;nhRdzmoiDDZVn;F=7@b&?fcm>SxiHK$yvTUM{e*)7W@heD3RSw> zF3ib8(T)Pd!^L5+rrSi!3>aV!9W_`@NR+UW1P_V=!BNK*dYAnwn2cDH`>*NE z-+ncK$vsEvzwfj;SLj_J<5w=<+#D6$jBYMQrLx5a6$doK)jF=+Yln#3kdhAt-*xkx~pwCVbh7_~K9U0DiP;!fv zb?Pk=HsIie-CW+aRn^zn#(oE^$;*0PF&HaZW|o>`=1%%2mWcny6=uwWFPR_UFv{ z*BCR7CK1p%P*RC`GXs&LrYL4A&k4D*lyh$6qXRh_N}ht$J9O-emjG?4<_NDxHK$gRJuD%`Kg&=E^J0=>FV*4XMAQj_mf*TOgk#EH!=q8(#DIK zb|*A(i>VA{(4lZk`!URWXHKCU_2si4?stFX3mX@tb2mu`Lwp|zJum7AlERs~Y*6vO zR;nLP<#`3*u2CpgOTmd_a3O1A=B46UTe{vX=>aot(|bnm*zXuzR^{c}(n63);&v zoCllMNhjL_mh+Aw6m?n`v;6kMny~e|`y#uPK#+lF>?w3pVT9VE z2=UP%Re8=QQXKqcEL%9L3iWuMrqtu~a!R8}^ch!eFxI1~yhnNBL{psbirKPZo^y(Z(YdOQi1IfPcfn4SPW2#5eA~wddEgfdxY`obvxI_wD3KX33aQCy%Rix( zjAwt9IDK#%4{z@bxctdNM{t4WOSkB5yIy#S+4;0^TiHCYP-{K4)hFkB9yNgWZ}0YO zbDj9~Z_&F63^+kyYx2X#LNM2s;;)0PSWD%$@rmBZa$EW=F;6kancx!h8(5bnqR0e6 zwpWzGsWUyDXpAFd@klZx9(#~^$$2gJhd&;3m}`u#)L24y`I3y2SmXP^f1U@itfwv9 z0Eu&rK);ZHvi-03 zUhgA)CB`OD=D`EnkFBir5ga-Mi>{~hhcHFnk_Zec5u|HX7+7Z6GOp!?^*yQ1 zl@Oa_oUV?sD}l_h3db?jN2EfWoSZoCSNgrL+;%}vc?nf?sKG;{}m@d3IS$FgN*Q*Bm^ z3!=I@xtIj&A8AjH=TA-A)kplufmG$gHmDKO45o&WK`5S`Hyd*5u%M*{UKrUBvY&?; zKVxs}^bD}5n9#>|=jgaEr-o!+e11A8#}zVV!!0@C%U#N^0fwv{Q%jUkSE34_wP0kc zEfO~@ENQ5kPcRhZgXwvF1#1&E@?KxyQ!fl#NV5|hlmlUg zVP7o|u_qeAmClg>&3ZSq*7DbD&(fBiAaud*TT(2S?e4E;U(Yr4TTP#t726wj8g&Wa z#jUP#%Sfw72#4e0O_|wml~ft+AcxbT!MK~DWG^lX9o)0+L*oqPxX62cu2W7>jhT1{ zBgPB6gYo@^@z&Q82KHEL!+ugb&?vsM;DMg(?waj<=ol|?;1i(*)U1w~0-*~pgv+g&%4*zC5b zHZk_zqfW#(UG2_I%`#i=ayK=@NuMM{6pn~&qpgp`crF%b`a<#{ zQN#bASJ1^t5C+Q!y6;OB`-T88= zf1N_W=+nhQC@a@L&UF5SJ=>pKJ^GmRTH6{9mkB)Ku_)xfeDfS8JUiFm=B%ZNxip1N)YqFi%JBSZyf!Zx zi|D&J55L$uT)EM?;(VG9CD2U=K2LWHWT9HD1yrux;df;+l>=wM>4-sITEvv{EP)APkiHf*k3`-da=ym0*KLr^ z_unF9o6$~b!j!@RQ&Wo)yG6t;EVf1_+@kD~yQPz1;W@wf>IvLN@qP!FqRLYdPtz@+ z84>W_i2MoYdOszl-28soW49p|?b#e?KdCyn%kgPN<+mly28;^TnL8%@u;mDJzNO)1u-q8EF&r-Lu1r~S08z38rrK@WC+ZlHk}I%;#x1xKH)z82V}szOr- z(q{P`5?(MaSFI74#-B#}fho(9w-dgYw7Ld^qo4Wdp7w_``Ou$4NNlT@s>$kzkA^J8 zWU&q~Dr|{u77?N8PqOK9A*)x54^z`3yR#aYjztaNsfQ#CD-PlFi6*Xh@&4n75#g8bE;>QGA)Au-a>IjJ$_lId0axHeir6Zrl?9}B| zGbAVQ<>f7ckpV($yymaK0xdDHcP}! zL`ERH)BDv`FKkbWXtPFNeh8mQjJaG*@bF!lA*GVN) zLRRR8m(k1rJZgA2; zV-z9>Z@YqO@X3(HT)-_^N<(dd(4LxW)J!B<$|Bl z&i)hnaZT_g?Rz~MuYgL2ew@C2`Ho0zsg4=m#&0(nI9IJBQiJ~tj2Q(;mXc>4>OCu) ze#F~re~tanabS6akmVY2RR6lOf$`WEF+a+1NBeMmf^_q_-`(a7TBdGVaA(MhM?n!J zPQ$<3y+Tnvs2AB`U11y=j`t;M{GQ3<(9YtwBN&!Kr8b;wJShavUX*KGmY~|J2PB zYwLa^)mc|C<10h+UZ18z*z59Dd*D`L3ptnf)A{hEPxGygmGLHSgptoyO;443nWMJQKh}LEB=?d;&HsVq3qdsJkP}#4E7X&}I0Q zb-fibL%J$Uw7;>q>-5^^x`SzvomU6pMR@Hj%XJL#Jp^19$!60vtEc%v-%axkdU1gW z%oc-J8;sAWO#gbr*G|=DiJ5LX;~FGy0^ksTmN7J$>2RqoFP>V~cPq~R`? z_@wU$wfQRW{5;5uT})H7AW&8!oGsV5 z#0N#>IaxR{T#coJKOa%ZO>95T$#$J_km{bB_x#-RSUnBA>YnC#EsJZ#menSBKZo`5 z`qc=?!eXXIkB@KiiThsya1!;xI^)p>F7T@;oso|z-NQ_HegLN31|pAPrjWT%~$ZKi^7Ji}2kfGq%7 zPEarkUrg5>QZ-K{A^0WBH8s=CzuwP7rsuGsMsIn+ogSlHg|i}-5aB<(&@YBjYTILR z88?|ZR1Vs}h>C)7Vvj4ov!NqP++a$G(v9r5U1Y<6K)U|Aobyv7TWlGZA0I(Gw_(sh zLe9lI$M`yfzOE776;F})@R;)aJ7LRY_uP7wXa?uiYy%*S~sIpM51$A$qd)^;V0NTEAbnm;% zl1B$$%vYU(J6?|-fPW^>>T~kro+PqluM;`+)Pk67CSzk)YFLN~>ftU%)5|Te_AOe7 zqsz+1UKaJcM*$1N-LLQq*C)>Sd{hm$`Mdf)8~prLqyWgZ0;rX4>m?rQH|(9^%R#gA z=F!Z`UQzL=T_MB6qs^?UVMI`X+#Ai>*?_3A zen;chG=)e7pvUM7gHhLO(;sEV4wrze=TG0I?&tY7URH8%S^jh7z$hyD`+wMkCjx1j`<&ykqE0SDiv1 zAvA!n6tLw7>3gZD8e^oTCRPvnN~^O~!(a*RYnvy6vwSh83XyaNnTz4y=<*F_;SY0w zQN)YWfW~@r6&NrHRU4NAz!T9>Mg=5I(O*M6hsGcaoNBxcK4T9d!UxO4URup~gnMj+ zDId+1-t7C4ymLTf<@@Gn6?xiP4$*r8Xx2TU|oq=&c<(VZZJZj8|-&^0D z+N;yT^>l`mMuZ*-j1<1SR2TvHY8IR@7H;rR()wim!wIk^4I)8tmOZ@c1xTet2dWtU zYg-habNqZ7Vns>+R|j58`%RXw?Ed>sNk>;D{Wt&NQPtffUA61qJ+_CJdR zoC~E>fwKS&IvgH@;EkEpF6xcTj4_PfKbn!{(@$z%9q1LwMefH7JEoU-XlvH!*or~3 zvKOhWJvfNt0J71TW)ZB#Ie0v3Uq%?wbX`dOJ70R`IlM0eva&K9K$xe97`GM@7AZlj zE|TNBZIjAso>0x*evx%zVV_kJH*Am;o#kU&rMU;Ay59S*e)a|d zVDj8>Dg}Drf%tyCKY;@lqdN6-BXBY}u703;s*3yd_v?#pPHIbpsOzHgtl zF?XU5!m*|FUcFt+sbxFA*p--LtZ=2Wq*XE>|9z+HPZWbgff5*xTQ^4-|8hn9PxGRa zdUN9S<3rvtfa1c#T!rVQ)DR%yrBk1UBtMC{FoL5!L#^^B1-;N0G-rQ*;;PH3z0J;Z z?tXdv$i^>UZ`3kTXeInVl$g&*-q%WMJKPljPII(ns9)-eFui&#^Tp7YsU&J#T{VV= zo6UfMfO!FddK4waJJ5U&m!&?}qi3S#%k=QdiS@MI_LWCP=(ft`?$3n z?A{guu;6U)NB|c{DbSq=TY8Q2)+=yI^d8i+0@}Q-%A??jLgyoc)j=RdfYsJX59ywBr6LzJhi zTD=K)`1cdP4uAQGX`vOsST6L0YI>{{6x>|55Yqjcs7GLSPZph3ES3MKj?`|{DJl%l z)X7%nD&y{*$P|+)&I@T240ZW|gA7R-Ju{`ub4gYFlbFI5+dz-k}lEsYIk zwY89Zd=q5;CQHxJ@dv5X$q#gZ6Wc5o`(Atb;x3E{dbA0NO%aN3&Z$C?XB@Byr!Q6` zmKI|3V;5vqrWul$MEUGkC3@i_zt}t~3~UhJW3pRXVyDOaeiS#9P^>j$hL%R%1x5}E zUVf@$VGEl${6iP)-iQ7g>7I7ujx*y;^Yk+$Xm2vvREb==2SUaZVIfl0lUfTORy71d zZ`S80!C~4doCB#aV#~;TBSVE0vjnD*4yc?G^m2s$}S zVwr5lN%#XB&F+xu3^rdhv^# zq;M+v%eJD|(rX5PcYY=BeCR!@ZhW9hjEd$q@7gk9VEP>AZfwSoo{?vd$yx|59Gx zP^x5t=dyrZA$9*S@-@}m7Oz zrmxa9{_zszzROe;be2Dt(A^i?=2DWhWp~lDyfGLPJYMf!F(SRDoadDC9~-~_P$;{) zUEEko)>y0c_ISql8GKyN1dr8L*K%9TJUBR>=6w~uo(&PKOL#@U#s%$+L&r4%Y$r9M z3M)Qs{}z6ih0fkz<{9}3Oq|bAV_y77oy>e5;W*O><`{HOp}qI9wzmE80Zf_jrT?CI z#Cj*LgZ+TeVLLSdtdy}l7Q!jt5h5b{>8G?aeN?I=^{r80KCFA=->T(#s-U1>v#IR2h%)K@XeIsABiyOr^=qhegu&DvW(pOYA>gvd*;Qx8`fgj>Jukf>6dNZe1A&ikws^ zf#~8$EyWAncik`x4+#3<%(|i!J&3ofX1z)CY7s$R>6mfuX+hW(bGiV4f{F0vJU_d> z6}WbrPa(S)nO}E_;K6_Nt_(5oVVBZSv>Z!262j1)@gae=e!Y-8!4#y5k8#hb_YPU69(WZ4w zi@y|{EnHAXEJ}8nT%C$<=Q`T2=x)wBcE%}tqd7n+?C%X(t?{j*Rv+hp%aMu*Q@&rX z?l3LBRq?rS5N;Wa;XI-(0$prBVD)uZjbxN56vSyPlp&~4H1}#3ft(yF=UFN4Jc1#p zUDalh>g=V6MkyBE@*OP>cwcvL9MS@7Z+;y1wZl--U2rk8{>|Z69(#s;v>So$kzk`P z_c9E?BDQYF6xZTeKYVpXJ_p5lLouILL6M<@-U8)t?JWy`L>>xxY8!f4+;CJckJNQy-ta(^h&o zVz*`Zm8ZPkr2Vo3&%EoVSQ3Peo&i>(zHtcC&`IhcObvM=tw;4IwN5KJX(~XBo%rgv zC6#3R3G6OLTE*UfdCoMp?{#B7iZMR+3N>W5_=i`=x`Dwz4j(=H9?oda&vr~CwAPiT z7veB@IagEc1o-%7WG{kOJN8B4*EDr9i(cWm}W1XyY4?=RY9OV|wG3Ma;zns=lyFisU?UP}-w?<+n%R3XU zUdyH!RC%T-sRXR#SSWXk8pDFey?z0a1O|Y0~oAn}olW2GzgQ~#^Qq7|F(!dF$+N{k* zHr*!44<2yy=iz)$BZyf5Suua6cTlNkU1j73D~U2sdi7D?wQR*%fTZV+_S+K%pjEN2 zXGFV)wQUKtP7sjh2L|AMEE#Qj-zCnN?wddNDyK`~R0|VpW~tS4wrrS-WAw$MqnMOG ze2x5Uu0$456(QwKr%3Wq*Hu~>!g@Q4{?^yp`q5S&6?!Hq8o;#wvn+^cB#aH}y1xDL zo9=WaP?<&voaN-cb=}Z$_hNcR`Bn(n zJm?yndST9h>h0hZFKlr*h&DoC-!n%FEQe6LuZa=B+A%bzEqVlw@;~O4)%ukAu70tZ zr=2wA$F=xzIGOFx41lrA5WMU)E-oI!B#4jge-IOV$A`8*k8?^z-nSKO(Q2@(z4(U; zC>5bG;-spFQi(y1CHxz}Ob3{t`CDL`ZfPC%O6orIX&MW>WiFHynz-3k5)mqahj&q$ z-u}wU(DcFm3Pc3_%;#}MP~adl4P0c+N;btz3hAhn(WUXRpUOVsNE`pf)hdEyD13D{ zObz+mVZYWcP%!DV1=XcK{kiw=fwfoJbaiTpj+um3a4*yiw^pgqa!{Zf3Mpt0D?uf! zLh)@hm9s&-k8H>+W)YnX5h0I&=~1c^?4$QWGO$4Iz<%^xA2JXLxf#{1Eu^R&F|wv& z@M%$MYRwj0AYz75cdFiKO3UAiW)tz_lAM~pp;&zNfcDvxlgmjpryi;kbvgVHL-Vy{ zw*|K4b2wD8Tb}yQ6r(_PgzI5qM;6&hvpsobr)}2S`L$R{(BLf+%=&92=&vjpVwv>KKJl1WRVNfvMx*Da7J|iuP8oEa2Zvhf2QW%r)C2 z=eHX_-WV=6<<3i53Y8V2Uh{$-jZC2*%<^y&HJQUmyHxw1MkDDit;Dg7im6BNvWn{zv>h1f#{`sqxyu+^a6RimWJS|QC ztkjLlc)|;mnU;xdAK028__&Io9q-)8Zb}0wh-Z|B@%6id3CK1F%RhYo7+heyoN_?+ zY$kRcxE|`ApM(YlbWpHn%sIfj?;k1_!4ZA_*H!=Se_Ms+ic>SUAVKLC29Vh`tMLbq zPr6`vF|x5M+qv(%-tl+NU+!IzJlcOi?;G?-VnQKYH)-*#J3C(LGVDn{M=T8F)q9FP zrCWn7hH{=KbBf6wYw9W}g|x^O?Ogs^v~f zvt2afKr;HpdR-T?>BF@`HLkVR?@P-e2ynoRvs=IVoRv2&*VBs9M%~gJZ)*%%S};wP zgHm})J{NAk`CD$!hzNzr@Zq@vY9`MzYc7*E3ljo>V@3>03coGj2XvdGuvrmoNqC5l zqTr}*g2Vsx0(!(u?}WbgHq{PI)2?wD$Jy)G*t2G$yTe_$Vh4E8oqmcnrI*sPH8LZ# zZDA-TfqM2(vu^K56#j}Fh|f>&2(d_cg91T4>=v8RQBw4b9d+pYW`d)f;A{$!<7)7{!XBCTd`gR-<$EPvhsmD02BGPIq@u@f4V9NeN zd$BWWD+t6|@y(Qh2(r|P%^*c^^+DpI1Mu?<_}!eYvbM#utCW(k3|YRC=N<$>JB^k5 z#Px&_`hapNXe!wmM$s$Ac1yMBpsgQNML(ezLcL8`_iEdi0tBWlYqO&eNAc)=At05Z z?$27vTBCL0VCp@fH$7IQ&q4{vSelMTP?gohU0H#ueLz(R&}|O)*N}ALiAcZ}k6ihs zaxcm2_>!lpbv!5Zgt(7D`j*5HDw~|6IOWYmC zEiIWUO8aO-_wrn~a1BMi_dx5FL>mkFD>X2tr_Pn-qT^X|ED{PWPav!s$ymeHyArLQtQ2u(T8&Ib*DRGByHc}mKYqi%Qqq$ z93*%r94LBLdp6s8qWrA?X%trl{43wv&Fh71QAc-FG7Pcn!%$L95Y-28{D4W~d*a!? z&lS;0T=$y>=_jKlNaM^+B{&^5>>rCP7tegaW^lzWEB{~B<*{Cd^BOQ zXFDt#Eq?-Eu>IU`9vbxn98zk=COvTf(#L2>zx3@aLPX_-Pqp%5&L6~UXUI`7sI=PgotxTTeX(t z;H$qw0>iml0+`zVtdB4ds}&27c$LfZ@s{K(D#d|&ix1h0)W05 zK<5zKt_ISdTd@bH^yax|CMFfX)S*jJzc)nOlFq@;;u^!{bceP^M)+>(H-ZDu9yi{% zhy>8Ef+uaDdIT;z=y}&S&T_?!8Lmq(^3v0fUBuEP&a!#@{0!p#R(F4kaBaN3$?0R# zLZ#@c1w4ErP8}=er?klm+u{m9M>BcJ1v*b?F@H7N9p#HM_9CRQZYd90VkiXG0oFUx zM@V#n0Kip<%{sM^gbT4~fLPf$a5Yh2U&;{(tHSi38AqpCG_A53z#sIq=jFA`aFIHN zodR|euo(8TJ3N^}^^bvdgz65jIh=YR!8Q3lDeD*&o!5)eN>3>;QfFhH@986GG>@$O zq|gIJ>4^ArGNbvpDsxVlln)O&M)k0x)ufi_IrvkY-ZZ{?$^`FXlY^WJSBTU~+^v7^i@K(b7So*=iCI zRU_m_Lxe-EgwhAn7zEvhbZIe6preH%oHVE8te|e!yYt?+;iWxdb5-HnOqE(@20(z9 zL-i;^sG8vKAtbM=1vR;Vi z9RRR?gBMs*dTRaDTd^gg1UUuv#A|H|jtDVF>zNq;B^kqmxUAjD$@}Gz&*NUS$ub5b zGqrssePh(_{V0ZP!_`1$?7`L<*2`s+?^*4iEUgxva9F&r_sHMXv9F>l4z!POX0hX+ zKU#jk8aXlvV~$uj4Fn)Jbs5l?FRuM2`4LgY=qC?jUWC~%NAbw50|El}X!&dcZ@iw= z5QsTi=>iKh6Vjt~_tU&cS`|g+{=KDg7y(9}-G@)GZz)3c1FA!lC^?pvJ>hUf01G zz%;ap=>|#v#UpD7H!hmwJ*z+%`q~foUn?%F;e%??xYmj18;rMt|ImlSB}lmhqG*k_ z2(}x43Po+z&dLsG1q!AGF;I~=AMybFkJkns+W6-Lc`+`n4#lsIrvc5|X>RQM#t&a# ze}2L7H=0-L2ybJ>g(TXx^1Y+BR`v~5f0cJfQ=^b?py7l9$3k|f!;O1`?&^4o!6fa{ zmaeQ=p4HNK!EVQhWvTSeOHHFoQq(O{b9rL3zl!jjqrnW?G=k<|O-0v=$w~*5bsLa- z1AvH!!$(wla!@J2yCV)nIO_lX$ zxPeQmJ%F+6662d)cj`CAfn=%owNR$d1yu~s+eb|eok`YlVTd}mB@MANG-E`h?3JM* z5-3(O&XLc9=e?+Fs~$9-VcbvbF^~GDB5%_a=!gkY^mFn)fyo90=bZilZ*N$g3o9>$#JMtpZM`S<}mo((?Yc^#;UI z4g6ZY9FYvWa}%sRONWpUXQ95-m3j6?`ja&$+>FyzeU4A2YJYL9{A*`K zub{(I^2kA22kM?b;MgN`t9yj-`(2y|28$4!UNzH^F6Nxjc1fwhqpu|Po^*djL}3{S zxp8moU2Z1L-oLjo50Y%y|3tN2YS0!#l*TN6iEch2*bANLHX$2{aM=Dy(Y1uLf0Axs zkNTId7k1E5=N_2Cnor|TRZQBTeA=$~WXk~Ogyv4(TKc~Y`z!fKS*U~=lT6z4S2(`e zz24*c1qNYyf$)n(<~s9uRUis4XBtgP?0NO zGe8iUN0i9KN!Ec=57rc8A;}X4OMFKZXGE|3;Z}h30hnLUEbeUqYqh#4hjz>G+poge z&s1Df@Ja9G{5I`<&KRke){qHm!m)#O1qi-G>X4b1W=Tz-jFIVei8t{M+i77o_6ME; zBbYiJoYnn?zCUqMSml>rD|St@47n8IoW9|L3L-cH8AEXpZNX&F$sa+M&sE9?M8b>* znTdoN3XK&atKt7g)LH*U8MWPh1{fF`q-y|CLTc#lmKFr0L%O?RXp|BO>6Y&95DDq- zQgG;U$e|9;dC&8nKj8lD{#<+SYpwNN9gRL?7O>)(M~;>1q%pBO=D>!t(4HTH-kl?K zu36L)L9s$87$MNl8F{-6lj50bS)!ykG1%XtCC`c*WGnV$M$wPykW)K9(I%RfQstI<8)G$QpS8 zFU~WGGT6|!cKxX+UuEE>9WYl^RXl85cU?ONx|*AR^)=^$bF8jK6%VwzPkxW04N9}c znC*J_E@AT+gBsG8ZxB~8$&Uo}IC_5=*f;dsn2g8SwDD&%y zh>`Y8z$qpJVwj%OTuv-mda=2_siKtT&Zm@k$3Lag!0qT4%Pg_wyI_GWj(fSF8qovO zk)2zEp?kid3Sn|zguuam%}STC>#Pq{eKMWRB%^)$>`nkl>`OZ7bJ12R!9H)B`VOoA zDxxhSmLO5ZktgYt)y`)9vynovQg_Zc4mZs||9a{}cEPQMFn{u5|YSBuIZ*)}f&;;W*eR;tdP*rH>2eWHd(|Pwt zVM%A2S~i>aAU~q1%1@#BM;QiwHm7vk5cFKN6Pv>~0L`h=Eyg}rMh3CkPGmbG&dK_OfnTvYUISCtKwZKs#kL~3h<1dcx!A-6-ncXa$l2=+{o9G2~gvu z@1o63ldbQH;q8_f`_brNV6+@-L#zzd!69RX@~!Ku+w`n>A>Zj?TsTePv*pg7?>`G# zbPy3<6!vMakd5Qxhl_6{BXY>DNMD?>OfMA{oQg8UkRt^(Os7c{Z4>DNmIt3I(Gpg!v=?XzTd5s3*c7x z%+I=i?tjj5@OS!o#e7$Jz2oI0aY?qZ7eJ_wIfLN&P$A_Mb-a^U`ppDyfpfNOFre(O zBL(Q89?@r5ERHueiW{C8Zy4`QB#xE0jUM)gC6w~`So|#K`hM@T?lW$jj@gtcb_c-Q z_&U>s|970jSq%ZEq|)}W_gV_XXRl(63~=xCs`G+pC`U5y3lxJu3L)EDEY{wYsrVMHL(zM}-C;(PU_g~(h~;zje2d*Xg}#;gXF7M{ z6i#gqMnAS`SU;3HioLF_#`p1?l)Q0y3U=xndcw#$3_3?gGbf<-0cP$WEsU$j=7=O< zUPeDeaFQmTv+D-C=sPYL(=n`~FS->kPB?Twq#6Gj7sYQPH<%@k`UgGz#!`xAd8kQL zqbH~eExj(|jl+-Hq~LwM1w+X#qI~$DEcY*VJK1bw$ZmPZJ}GDu_ba3hOl zsOVfE*1^L3hCg~>v)>)(g>vZRRcquWZ%9>e0u|VP0Bj1?wtTJohE0xNeBZnWN5$sH zN!>L=ho%mLl~rS;JRN1`9KYhf3geo6F;=AAM;k`@p3PQx?vRn!0-J9AN|~vDj$&ML z$YX5924zf(bYdT17rCfI9=Hr5;W%Uz64jx%61nUc(#_r7y z=(>3242%XvB!1t);ZBjy(GDsc?#9>hLuZ5`g*_+q4l~mkgka@h2G>%{S`a}A_HX<` zvB95|u@O*D09plREl!weCjTX#N3re3e0BM4m#U2&K^?4n9Ap0Z7@sZLrzc3O&to@uLB#LoX3iZ5*UH60e@FIkSymIsM;$vNYH0ie4V_ZN zdM)d<>}&VPz=yq`H(g>~M(@)p7xv3aazd}=OzI_scyHzeh5^6#vVK@w$9Vtny`kFg z#t$w+KAzr5B4?ibgOOdE55X^0wwo$u_xGj?Z$w+uf}XT;%N=He9+0h0HCq=`J6V74 z%?)T+85ciD1gGyb)Lg|PN_S&A$7dg@x9fE_Op3GqZTvU4baVY|%6*owt(;klblKFL z1`UhWH11fm2T~+In&!;^UjJg<;pd%Pe&45=ux^PyEXNBA+u_;F5`bjdZ!Y)!6ygJS z!WsK;E2!uXze+J%7Id>hYwyFztX1`=54Yn@^4%&Fd zVc2C87#032KYN}N)qyeEYbMk&UVgF920hZvZN-lFCZ2_+pU0&VDHLQ}EXQO13>Q<@ znmuw;7|tSwns>Zzd^F|H#o{}^h2fx2x>~OtP6uQxvF&yWnUvsqJQ__2=hU*#wJi*C z%JTos6##(Jz%T!*{$r&&Vq6YtVM4w>o)@*JT3rt+Y43r}bQgX8_Y%^U67B7^g-M;_ zB$79YEvl<2LYiJC-5t8(rQGkOe_$2co0XB?6|xEF+A3r;vBhM`i(l~(l>D~kPImU< zt4*)d06t<+m=Sag2nnK&^hA-=7BMk4mgUKNjY@Xlg9{7v^y65MFYlUof`1X#0oX9U z_6WU<1XzTsg%syetp@a#!{1)skWbn7tZ<|7BpqB1e)Eo{FGg1cQRhfz z#AI-UF<9f?BRL4Xvp!rAd_5r1ZpTP$6qdN!o^!zL74&z9P+oi={Z_*K!@KCi4@jOW zl`p)(bQp`gIa;z-J{$LeDNXZl4+}LtR_j5!Gw3|@wJM(e7Z*xa<6oVpMR74HQk{jM>=D18)a5hl5ajLvvf3Jm*)5zr43?Da8Wa&0761ASOmIT(xgh6g0~jAh zp3XTboP<6WWwkJDZ}0QW{ayK6_LgD$Q~cj#+1#Nb6hAWi(mRTw#tWA&&M~^rLcKxv zcE5H5tCu=_5>D3;knu^;PUBa*biuTux`wO?|J@~@Ek4JqMNk3zkEt=Aenk}PX^Z~j znduuCBtp4wCDVPov1@KC3-FR>Q(Vc1%Z>PVRhL&OBu$c(xqKZmaxG_muB$EXB$OTr z*%=tJlub*ZMQ|}CtU3g!wmq{B?yh}}@yCwzET%8K6F&=+*!gf)tXBEG)A`ub(+elv z5zc%r!YCc;lWQq0QE*gUpUe2njSpETCt*3U*3|WbdzWGaR^5p!wouoQT(a{M4xGN^ zOppZd``0A%ex#Itd?ufbT0acSY6kL`7+N1f{(`3Ra6K<`Yt}U&8(YLK4lvv6q-T+3 z+aY%KN#bgQjlceA4ACLQJq$h(Nm8<6bgwW}RxZ;n{I1PjW)MdayB62idn`o-QLe>6 z7j+Rh5}-oW!(GC+AU{jG`{iOAOVKiozh0FHQ1@1P+=eU4JWY01bm>3KfEt?F_q~M( zBX8hP!^*D%{;jCaP5pZ`8+b-UgfC#0Aj2&bvp~!U)#Vb;6GPG1(5P1$wiN`M-Py&v zd5v`k3EJvNv&{VLL{R(dAJJd?RKxW_1u9j?Hc^5Tz%^GcXM1q{)a)hPwMs?(-Y^g@qNyk+aBOqJ3#3U#u(BG)5q5+TkE?f*8y%J1T3nNWbI?&p zl~WkLTWz|RdO2CS?Q3;VOVrdN=zc!_`+yw8 zjyDWjjdnK=0Jdkt;?w3)U&hgKx-9a^(!Y)4r;r)EI+C_O%-<>+YqDH14R#^CCKmy@ z`^=Ey;a#GLa!HjKE^>LHAydh*MLUM?&>iO~KVnwkueQwEWG)_b6L3H-&U5;7fe%;T z7f3%B4=JVJZ1^uiFF7Ofq^6jL#R8EIKi$YN1a%2UJgzQKdj-yIC1RSX@>H+c0FU%$ zvB42cW^D^MkS$#L=sHqj7iOs13B^&(Pnso3y=HlI^ax3rLewe8*SrVpdYWw24j-*2 zvPO|g*3nGLU~B3meayM~Bw^b9Vc;3nqRrU(wbVPBV~bHSFbi;n0E&@ul@t=n7K5%YjAMHp~_ z+NcUjUwa$-V5Sqx8T5#~jJ^3}CVSlzaPH=XJBz#=Uw6pbO%rxS3z_EUy`R7jhS3pv zV<2}2J9K}z<bKiJ8v*FNdziuJMx(t?2ws(JdL6ZUx%9t8NysbZJo#9ELE4-W?d`7lDg3xIi zQ!L2(5=EL3)?t3aGt{fyqSU7o6n8qTc_ur?W>83awN4t!9Mn_$VGd0PgQ(m7|q6_2Hys44tmnr3!ydHt_FQ zjU|glG;VX95+gQxp&nJ2IHo{oS)t)3zOm95*HXW817iu>q@1LY$w~hn1x$(UPO)3h zoCNo&UUF0v)Slf-@zRd&E4Yl4;pCl}zU+oIp#7Bl6q1+?bBY$NCm2+kmep>TI{d1u|R(V+12 zb!22`I*rr$m#AltS9g2!G`7FL&l`VL7v|NHUH6(NYp`(to_zOS3wwW51?3w@?szl6 z2!%BQ3!RjnRkaMk*k> zegj3om+Px@`=JBt)I5Jv)l?2RyChq9bR9(K^y|C|6J2pdQnKq$4uX%3K!R)$?k#=X zIl_C-e5o4OiDoP}qs;?=FkdxN7Q0%2>-c0J@*C*~b7IGMKFAs7mtXd3D~D0a^1=Jw zNd6iF31f^G%xg0r=zqnCi)jKXMeKS3kE=zhJB_VP1;}Pc@ZH%B-#)GPp_H?3L)zK{6VEe7SS^+Zh1NV zi~?U({JQ$xvzNIlL2{joFn7O0R((a9!c*9iYzqz{smQm$$HqY{V!xSRIAu5^P_a+X zPmy8;G{$|SFe-|)s5az&Bl?3OTn>wh7~pW&UoERtMtU3{WMx=(E`S~qLK}0TiQx+Q z3_^QvSW;_+>hAk+Pm?PE9NSJ}0&H2E<1BfjcO)Cj$n?WjMD(OhZ2^jl;l{eCsCp}u znSUArs(U$6ATP+I&N$gerzUz+^=anP46;88Le&OI`@m5IZhLs|nCP~4>KgPmh-?4t zO?tVomvTcuWBR7#40+mClabSjs0B{zNrN|w}h-39)a87apnsTMXYpti37EaNz zWC|q{A1#uG>R#+iyZlI#-)rpb25Ahn4|Gw|LAbC0$mWuDVxD-3oYfKQp`>FzaB)qC z_vzPj^H*bgCcb}D^5&o0)}~&Me;cBGviUg!)q%NU8$V8OT8XR)xLZ>qx8nQL(&%R+ zLulfD5dzucEW#vZbo0;aehtgMd{`C1TApWh9`JGNcA8!6(gW>>*2_i$E!<1fz2jWR zD8TN~M;P%YAeg@JN@~yDbr98Woz&;3-cBy5{*lZey0j~MR(E}OGtzU&lGc^cE1&BF z_@Fvs;`=Ae@VuW!bdp<2D?vQZ`GhMnv40ODCai%&e(=GOkrAcE)HMGnEcfcaBXKe% znY5Y2Ht+J3LKs0oAm+1S5TGccTpa8KO8P+d5uGEsFNuWk3nMgVY_biV<87^xj7Wh* z+jNrHfdlf~Nr+pc6KCW*`pWnl-WzB>`UVT{#(Ub-PCQa(u6jGqDRAG7k54Yk;2g5` z6B0|FbnuNt=ir^#zg>9d_g$=;z&C5dQZ1*q)-_3*YKwf~C;f!z3s=wG}R z(f+Ocal0`z5rH~(`x})jhvA7vQG(oA-;5l>yP_mU9d7Y7PVVGGjUJJC~Ohgzzp8qQ$^nf#5^h zQ3Zhnd=O|uq8Q>-58JFOvP%7pvZSWF=ik%Vo*Z~Ulso+RZ*|gg7t%qHr;qytvFIe* zJREPs(pLoZV+9>R5e8;Ku~6JuGfN$Iw9l-bb3olR73Wh_EMOQe`}GUk8$U%?evytb z&l@t-aJx#ayRnoNJeK|N;aCg4wZeW>o5%P9E+hJ`Rjgh&3?8fd39~&BfBgp5#SQER z@34KAu{GMJVLEHHXpm;g^ovlv3|(EI}ic&Iyyy9MHQN3cKftm;>s`*lobm}416v5y&pGus@1eeyTge*&p|Nd!RyfN zZ1KQ1m>+C9td_CFJ39PXdR{bUO7T=fnZjvoz8H}O>X7^n)4@nQ55LkYK1|aOuENGa zD{b?olG=||m)t?`rEv_KFsfRgK1D_CH^lE+(i!8~#1Kr4N2gq?3kHPIkL9t)Gw}nW zc+TknpKWRuT|Yt3%rNOzqhwn9Xi09?+JnSIf`8ZL?H{kUpbo34W`E`?EEWmhN^Vkp z*gaW~l0Oog>jGrQ9h=%o*tX-V1}yr?2nd4I;}e|@Dq-JIUDU!#V=nU{qCK=kep+-8 zpdP8MHAXcl`WMkr!-^NJPLSLH)UB#NM8Ve+;|}hQK*a3}X*#2iYbMv2^(|?*7H?`; zqg{nn))%oI(GuiWXfp*zsC&i2w6lnq)T|WZvtQ!U=LK6PdgU2mIMi^FwNRzj6_NiJMJl*F-NQX5f zWKV7c?i!)7v(`n<9dm+oFZ#I=f6y-YpRc3D7WV}jdj~8-e6zDHz;on1(_(=R{Bqr& zM>GC}lJNd3Z%#3(qglMofJX0&Ut9~=E~f{Ov1*gtK9pV2YA^!LKok;)j0!%(P+=U* zu^^_G#5K#=>S-ytMg;F_To=s2xfLgHO5p*|lZ6UmEjgOv( zaG2y9>iSkEAT0VWSJ;VY4MvwEqTi2bYb>hS`c|GdeV9YVq>SGUEg*YKQ_KuN z52+BtdFS>AIuL3Yx4WCS)+xF@-kS-K*+iQwQwy^WI&V!Tr-JkIGFG#_) z0%}gal^B4W_keU;QRT5hPnF0^lj>eYs>DFo9MNkVq50O#9%G4{H@EX5u8Ca5uw+x8tCB*E*fbWMa|rQ4-m)B69C4d zgc`lf{5JPR%Nj(o3Z^(&Ya@Yqrc1ghkb5@D&5>~Y_%@P1EF{YmFW-2*ZuV#O~>~&}F5a>}8lP@bI zgzpzl@FOjf{ej-#AU{8k2bVRVAq8tug|_z3%M(sL8bFreUEm|cR8O^olt6ysbdcKu zZ2u|VC28ur#kV?B)BXs+j$PF}BYxbMW0)&%Pc3mMao)3#7_ z@~v$j_9;*&2~vd!QFPxT8Y(V+fiEZObMJSUxON+bMf|S}Wj8mMI+dwIs|gz8Xhqa0 zl)*u7i*6Z~XgTCq^}b)cBo71Vy>CQN&B%Z}(ypi~q!v-{WUx~OlwRAxKW`HyU9dD+ ziLQ5ha>B=<=X`4zBr4hBA|Wo8*>uq*bvV86%u*kv$j`#aOh*3$+s(Q&9q**g`Qbw+ zR|!afi0MBaZ{D+)%IM%4g5}!>>+#@mp)@2k5`ll4jF4ANw-Fm_Fm>~ zy?LT0eRqM_fE!;;Cx~f2?Ge#3<-y6nlhxmOV^+4eW<6X#^-GMNY-X|?aXZ;^bpe70 ztf>PE;@{iE+k8RXPA_dznZ$rov#@XJE4D@t23Vi+Z#Vwu1<1>Cru@B^fecW)pldmT zvQ?f^;>$;_J=tc9S+qVi!-wfm&gG>QGd$zK;ZzOb&gIUI8b4<5H#GtAt7z$a_BHM- zM)HUIf7C;Pp}d;20onX*Lw5Bu{m||Qx`VyM3OMG}hT?0?fgIEB7IKp z4&a#arUWxXH}<#5V@=7j4^qGYbLf zgw`{(Jth2oSXw#KG568jlqj*}*q2E6Tj%j>d>+sXt$pgszqSpHC}&&jgHU%Fm`)Zs z#uocWb@9hU2jrtDB42D(;EZCdnl)a08*V93YJj04vM>P#@{D;W0Av@YhPT}l7~RQo z_l+BKLjQ?1UK}2VrZkEV1MK}OKlN;t0AN~LdTbWLxQeqF`cnDDKdN=xS#3YO%Hx)g zlGK`N!2`rMW{**=W0+@aiQqwXMXHwD6K6qBcGL54Y>4_ZI|(O1WJ~I76K~sCezsFh zLkP7D6IuQ~Ft`O+6CmGlfbjDdmPQqakw{YLdlt@-jY8?-d!whjABL z;|O~HWg#-+T2R|%Bx7|1awra!^_eT99s;oQOtyTL0izblMhyBvREH09bJ{jP?|}Et zo#*oWzJGl5cs&aENC;Rxpnd_cpan``hJF2{rUtA%136RCXdT7%f(yG;s|0wz=N-YF zVP}tJ!nl-6X@xp=X~w@1iT)ubfwH%$!J+X9XG(~wS0^8ij9dm&_g6p18&ACAnlXRs zOhLV0@Z^`Q4LQ&Coy#?Rh%1~RYSh9`e3S}h{-+{o8cQ*h6lJlN{H=M`y||CJSSBLK z#Uxftu20yN^P-=ucUfTCVb5A6bz}i+i&7UL>Aeg{>|{NgerEw_K?(bp(((Mi#nd@U zIMJ<@6Z~`{lekhvQ}xFRb@?pC|W< z-I>Br1LD)kcSwW-a$?;9*uLKCx?P;kE4W%ar>V&3ye%l1BWXZxenx<$MXn`-I;o~c z{WP+jAQ2C6Wb?l}ZfPt2T>Fvv?tD~&tNU$VEaZ*pOP^N)tUuMMsnATjkk>RqH_r2O zkqiSoZ@nYv-k8kJmccg}LI3Z@X7U0A=>p_wNDgxr=EH@7cCYWbO}G`gnc;<3*Qj|p zu%gcr!IQwsQxp{r+*(NA(~|C7w7V_T2V?QoVQA~)7eMbn=_ECw1t~L`qtEqL3oH|N z0nI|`nnA~GNrk(C3Sml)Sv*6{*T{d0e~WM@Pn%WY3-wwL?${`N#&Q0pGm_iJcr-Iz zAOVA>$GB6BzXEB_5x|8udb7#Vme~GWPut~z% zx>>3Diy!Abtd7y|LfhuGZ-;MWn`0y#>%z-KsDmhye0HrdiMDaaJ}YN<^k3MItb-J7 zfGUCggfpK4Zi7+jHS;Z$d({al_pm}DObi&DF>tAA`Zn3JZdZ03yl5P_997G_g$<*8 z3cLaVEhD-cHtZ@#8@2T1{mGNiE$7ODQf^Qx8fWY1kJ(HB6;RvE$*XJ&!xoCe>R&y1 zdJO?p!zzKL9es4XykZ}->q_>!7!TROdenfob2eEx5Fr6e!f7-anKDsDN0@J};onrJrOa;!w zgU4Ja&4gcsN`-H$2XYW?-loLAO}!UlK)n!B$!OfLg<~`pkH<74x;XX0Y=7#z#tWN5 zTG<&n!#!eVAq8sAYNhy|mnfgS!l8kB`&k_>T!SObsZz!~aTSqVG!sUxU*gPf&z|l# zpWcKUq@6sc+?B}=+c=-9s011~1NW6bVys7{&L!0q5U50iVI@?Y8ukC9w;Y`x2TF?l zJvpE(CYX$UbyEG0drZ4t!Ti@b~h6N;Cv!Q1|K z)I2wR`0Stn((r|v1wYCL?4xgWz#Soj=y>k#X@r}674I7gy*B%YXCb|CAMYf@7cO%Q zv)PFA2zxNDI%<`?FLXi^GSG_oi?{V$@9X3w#Sa}64!L#8%YO)C#bVHa64AF4M42|L z2cIob68&&`YZx~bV1?i9NJ}8S^FI2n5Rwd(F(=-eOVzeIqqwg-f%H`hIK}(%k3>|( z_+j)9o%+(y22HXvv;ElIcoG>)#IZ=bzGXue=i`p<%UlM*Yt`cHUNH(d~+;GgjMKpT_1!r~;4Ap&SAW4kY`PI<0RlO{9io>R97 zGEVE+o8!@?NuXfYAow)VI8JCuF8t)LZ>YN&f90(mjGA0C?bN{|l-NGmZ0GhhZ-c4b zSt#&o3X4G&yy>!myHl**v3EY_V zlxy@mv{|+x1N51C@8+C4UaRNnytr!Eh zNT9h9@k^i08_ky;L^mqGBl70^uUd_(3b;}@R_)d-0=4OYlJEwrJ1j9nD%IuEElml8 z8j4^w&`zam0n7CGfPNeG0W%bb{oiG#05@+&D^8^qjlxJP-P)(F{`MO;HYI~YoAw^P z61}zZ{L4-33V~T>AL)*lMBayUkWHYDFEL=YiMbKG}fK;mV?P{ zCrM*ZxC?&Yr@K$$vska+*bFs=6G&d059F8i?9RjO4QsXrgkS0J>r5rtD2jOkT{#=n z3q&Pb0?V;scNuwejwE06riYLb-c8NDk5eDLEhcK|Z!dr75^{i++%ON|`%U{U04Ek32vll7(ZdCr(@`XE0blcA&s7-(CXZ)bjc7AwZJ@LGlNe^d85nmH8KW$P>BOxr#0l^c8nF>iLLZE+KslnG`k+`Q5Bz#K( zCu@UiS#$w6ukdNp$FB4*3{HmFI(W!;-<74VD=4oF3QtLi;z>OL&Ve|?^P4gI5~eGc z&)8aDRR>V@mOG3KMxt63RFh9gG`DqlNJ*!7P2jVp04D5x;le_6;>_L7iWZ_JQxkks zZc3qg!mqg!cUc$qq1h3-wD#xdL6J#Ux?*3b3e3OzX-eJ5lT~Awx&LVNpOIE7m81xq zTX}*b78%l3P3M83(FBl`Gr+AC_S2>fXncf4-?j}n{Mq{m>%wb{60y;9-smQo#7pwE zA#ij_pP&d#e629%xXZ?CafQC64Wo-DZd{0Mkfd?!@6H1!1&5VJz=_Rb(#bqdzZwHk zmhcZMaf!zo^u7T%?TT^Vlqxk)>Wp`;ep;s^r=>he5CqV`mV_5n?UGJ6a$l3|xK?68 z4Th2fNOObtH$Hp$l0ggYLnpPm*aD3%&BY1=u>u0DrlzlI#aH5A{KeV`le@QA6frKsD z@b8U_j1FOT+oFmBMtV#8yq&!VVY`y}VavCIxvVzsj&asp#*X%@;?)>)i6P3trsttL z9gEF$RPUS$>{YPvgkGGJ62Bua>u%k>?~?|^eC_U*8qD3NG?1=sa9~3lS!j|6bS7Z; zz99u#r9js=q35WPF1iFotS~AFMZCDzk+&Cv51r}8t8=DCQ_bfVF8h3oK-FK&XFZ_2 z)7`dNunW$bH9(%ng;*0u^6izMp%FnmyF-n&x0B(hANl65;qkT(5+EJP@Lo56gnF>Z z500v}x9demKi^69_Q>eO2j0Mp4XKJc@;1*4R>L|!xs$oo=Q5dL&&NLMg7-8$#Ydx- zf;&X5L%6Cw_58>T`s1C}Uh_RLfi7I8PQ7~S(d^ybe)m>dTAE<$!+=Qu1H6d~ji186 zLJyow9z%OK{P*aWx;P;U+hU4~yXl(U@835$Ljop!Nt-m8B^)L=ePj4RXU;tbtzPjC zT#RT>5OmK@mve^)?`IMoIgbJOO>;W!wTz4J{wM6^Oy|y&z+L}Ig>1!=w>lwxM@Mbg z%d}7Dv@)n@W@mcU5)(?HFG-sTbbj~_=ofd4ak}jUXcn;Y+E-fk40ny&|L=bLx$kT% z5gTB-wM-il?QjK>V#th+{q_S8c;*g$g8&J6f{oVR+_(J{w7amJgt}sr%WYUKwJSwF8CY-@L8?$2`|pTqK+?=+vLg65}2hwug$r zU(kJ|vGw{sF7rD1V3l*TQyU?U6MK{u$tjk$WP6~1oi?`_V397^iWC*qGJ*5ARC)Z`?k)}x|ZvfW&u4i@R~ITx*_N}JTG?p^0|LXB%$ z@eG{$9(PIX&~XiW`Xd}TxC%}#HMNSd2R)%^-T{T=3=2PXXXrIxFD?4}JJMh5Td}1t z=j+eYLZC6wl}mjXEoDGBH&#Yb1n1%REqw_Do=ru~bHyCmpQ&%_-EN(}iVe(UTQ>fp z1vO_Kx`y>ppEtd}-zHwY2*dW942r2H!LlIN1&l!k{RDnMEC}}&%wGjs$l%c9@PIdj ztq^=y+MsvYFiQ)OU0e)eM*|pJ zn}{rsWW<{J&WOMyL%7OFaDGPD6ANmx9DI&I3oq3$X1X|Gnt8k!KctsDpgY@qvp|a_ zOzoVBMrvqeG}cU@rxKfsCwU}_DG|W?VAqn6D;#I#pY9ndC^l#fxW6Wdc7bh$(Tu4_ z;MlY3scWQenN(!$#i&F8Q(eJ=`uR~PwT%j=sCk&l!-9(|!>w5Qbe9&IdGn)m9$7iv z-!AbJWC`T8cqtqDJz}fS77Yy-{4BHh$r^$Y&X1pcBRv%axY#DL;wyotUEX}WPY69x z59yjtbsAI<8%N_i{gP@cEsdLxpQWm_2NTQ_>+JypjU2^GO6assv+E^6zh?#u$b%hROfe|8M{A)2WfsXQPk0UI~q8 z-wKGxC9c)R5UlFO%ld-)50#J{bjoAA!360VAY- zZl!3mV81MG+Rb1xa7w0ltp0mgcULp(^iL7Xz9MyDNLEyx()FvstG?U&AA|no4GBup zkv0O8ziJdHUgSOm=|Q)S_cP|2F$Ug|gelO>vEVX{CRj^`T?oy8VC41en2drOTEk%% zY)E2vo* zB@G+g(tO^*>3vo3nt@g%qs~G>Ng1PFtE2kLK%wfTMMElJ*#R#5*H5e#W?6rs{E>?whY2 zP+jJggWRQR?4u~%r4lXmX;`=7 zh6#p6PC?%?Mg2`(z|e3Z-q0_B@QVEdobb}y`X4JCen5>2nt7hfj4dx%URY{NQxg`m`tl3A zJC?thC;(e~m}D*|Zmf?pZS*$Dg-0UB#<`;(-{Os7bYpC->?kO(Yn8lzMot+O1P=8b zJv&=o1*0E?YTH=YH5)~|KYAVHEjle5P9ZzPG+f}jOA|a@a$$m>@yE$+X0`1316F!) zE#&oJxem=t>*wYV`LlLuH-~nnwX(cp;Mg~r_BOi)d2%MPX12wQoBg}%T_Ryt=@%*6 zM2XLSbky+>$gg)+w8xKlENrTrZQ!#@U-^QTst2_GfXnaS3e;6j_X9Y!BzR;UpvD5g zrv#IB$#w8Z^!rh0DiKQXZv09RI|1+Q>BouWw5LeZqn{c1-;(3dFEVGxG4c~aX-?}- z1~U{rUc&)gOkTBkjWtbz8ekHXmo{bdnWWSPdU()ds=!4`_r*4TK^!`3+8$qb;SQf$ z*Kj%P*l{VgmxF+52`ulZ?IZVFD$Yer~35lqQqe6d|`aGR1rMf4T#}nu*yaG2gPRmS~OE}r(5Cu^}xP)esac>l+`*b{&y>IMW*eb56eHG*HFCeag-;6TPwO`%-3O7D&) z{siT}lc>hnY0vlTqMK3m3pN45=y=nUsnT`H05$I0W9bU%9O*Ss#IAn2M)0@gf5SDi z3X}DAbY=pZ!i-tQnVHDDOocfu>`1`wepWFG(9Ue>-pI7_P?{>_Q^CZXK}c>nDVSgi&&EK1<`rZ@`}L0yPyPNM%8x(nk%*uw5}2+V(Qz4L9QGpN|P~3_rFHR zHWBTjH|u+F+&s&NXW<8pz)nW=pYYBieAmrS{N@q%N&V6;s!ilxg-UJ zW<%`B0#X`n?}eer;~9D{f9g~W zg>*MWhqqdj`*gy(Faz5zZo;|IJ*43JhNE^*S}$Men7nWC&5gS~gkw+OGSgFwe5(V% z)++*7zwVgjk-`Aspj)mgjIGEJKedNy0aE(ldhF@ zT6NdKxK_zAEGLS>hyPSTX7&Ob*Ki*pj#!_TTpuuHF)NL1OY(KtS zK)175J%8VZ^`TRG<|cb>I9$JSN|9 zC>yX&U)O@tCp(ba{mJR0Ac5&J$LgLlmRW!R-{#3zQlhCAAPi^FZj%hS6Zn&J%2U?+ ztEgA__CWu?ab{B&<tWQ>omVCmY6es~M%6>5L-B||O0kIt5$Y82g*fBhpZ<6mF2fa^a2v~H({#y@*< zxz-}&gUnpjh!96S>VYr)F}HfUno=K_dam&sP6JP!>lcmv#SGceF`_I2$OT>Qhh5U@ zuOk>corv#`cFK5ge8Zh53~ZI?q<*dR-JcGEY+!fu)w*e$R&VtzPAaQj(fVuYHUnxa zrltU$B%okVL$f{32#p976j8J&cH-7J^tB~91_qgrrh0NNGvo~P(d7~FCp`B?TB%I; z_v7t|Kk)I)Y2)iTU1ML+H=G$Elrym+1fbEaTCn;^YbZtTl)i zbc>&YX%;G`O*6~4DUS?YlR@{}v& zhEt;2^SvF+y^h>2HGbTh>4#yz)<*)`-pixIL_V1-IYe5nQBEOy)YINenbpG*wd@gy zh`+eGzKXhf@ZW>^iplPCWW^^X!2lVA`+w}y{~1QT3?=`O&k4S_zv=&zZ)Lz%HYjhU zI;dC7gmJ??S7kW+Sw0_E(!@N;J4%!FHCR1Q^!`tl`m7h9rT#xU19ZM)6xci ztobY-t!|Bj^$Jffy8>Cn5^_n%_q14ub`h1C`T`OL#WkelLOGI|g7`aw-3Z-;NiYI|c!u$|tvOigBw?0snF7zqjDc7b&7e@ml% zJW=-ho9o{0qdF1re*nEeLcjU!LLV+&A9aC| z_N#}HmA%iPP(c^oJ-|7QBb`?O;Ndm)g*1n*-)>ygd}~tR0R-nK@s^ytxz2@Z#KZ)`Oq3V0UV2Dtq_cw{ZpNZwLX> z92*%K$=-bPZA`5D!sj5$?N8fnUofU{d zPzS6@znI4e{sck-H-Sp-`&_54&QaGgmpub^3Y6;reubr`W9x*@JqCS4`>dwAyK^#J zy=-T`cH4&nYS$dWvU`F8iS{CX(+Ee5v7j*6GE9}Iz@dbO+KBPS5f~XA%KEgD;IQ0v z%)w1zxW2s>0CSDNbOvs_18q9doNoe})NEe6@@`tUrG#r5Ym%-T0!SznAa7?)K?Tw8 z5gLqP25p+ZJ}gS~r4}T){vE?LL?9@=wlD+lKpVY*+ksXC#!rxLzA9S;lM}SF7AolQ zC4B^60&_@7`pKhc*tKGC37XmZpMSDRUIqC1k6*zZJ8B-% z^)e2?9vK^~m*ZB&zk(XA71U6hc|x;)`}Fp$8&Su}$%&w&?q>=zEJtCN=`4L&-_6P% zfP6mcy+-^7=aAQHwYQ3e!a88Jjn74dRYL<~As}%abuw=hU|dAwjnf z=^EL0n1ZHY+*n%*?LVvp-De+HXzOYSinMwuV`8zd#RYTe{Dl)(p|nD`mF(KJ>)Fu> zQXCRvz-$Kw9ZcyHbvGbwCu79%*@gR3H?9u$U+l5$^;$mKoiR6YGf)VHL@oL*tVI|{ z?zy@X%*@QNHlTc9Z2$g$`j4JfXrn+b~{ zFrrLfDQxgi&~=Y23<}=rC_|jP3M&0Q7jSK^EPj;&34)-&lZ~C{7Fib~P_rgDZuY)I zf1X!==9y<=U0p)pqNT+Gt`eJ+``mY*|LXSU#@BtW^VxOb;luIdD~;`ke@)+|Si{=mA*8JL}K$8N$q7-=K0st0wEFS^7 z>9Q2}TT&6-*(L3177)nF>nhA4SAfR36E4^8#j(e}lLj|M+2 zUTG6`LrDu?TJ-WoPzEc3&a|nd&ql^3@DYrI%!q-X+&EnTeR+)n1Wjt)O#QAv!0XjS z`k6hK71l;su5Wzy6p#0MnP2Ph-~|(^8K1%q!dTNb1p?B+`r3wMO<*x;{kGnDxttVe z%cz77jUZx}MS7nC6`AtHJZLGQkV3#=3Eku!~syKw?+RrVR@yUa8EZTB_+Fo1{}T5ipiQBeaf^}|p3 z(~Y3siEr`(nk@lW5wma06C4P$2xL_y~|ppa!TK)cMmAT)2Q+CbN* zJ%X==+f#rNfe9c=RVVXQ0YGl1KRisDKi0iIG3TmU2)=q%;$Hcmlev~_*UCH!KSl&m_W{7GX7~czOP4QTqI@I3$`*7p zc7yA*DdD7zAYguejy?lGvsVawJdERDJuE-ZIn2 z_aK3odFuB%_OeAZ)Ta3pH0o-i5Fys`c((@?;<(l;Tu`{}NF;6q!iq9(1`_~q_s&@W zv|8dW1T}&r_bzFny@fQ3_R}Bs(FQRM))0g(HZ7oV*g&K~8(xCo!}odB=fl)uBPvR%r)|HAjO z_pV(brod)4${09tYyuFAs{kPK2yLseFLy&n1sG<~$lXZV0JeheZpL|$-}J?oMn=P5 zX8f-M>;a%zh0iU}%<)^JK5pjiMPh|8w(d+Jb07K{c+vEICr=$uwBy+;#7*dD zZgrud*M-P2Rz^_Ojq8DyDP0J6(im(BftS`g_CslSD8@huf#$CCV9n9BK~_THmoX!bhCkA6HXR1}`g&I10a>oI83%X4M{_xJD3#C-}Non!W`T73Ka`M>__ z5YU}rj=%EyYatX;xuC^_86Hd-X*x;!&$+E&#qg2Dm+4YPg6F>Ax_cAC=) z>=?T@5Ts81-hcd$f))xCu3WhiJct1eUwiE}ggN(_Pz(lz1&&temLJwP#XZhJ9 z))eaCwTG|IfvV>m*IwuG@O5$WL;B}1y&fjPVR|=d_Aqst-d!nFh#> zB0qBAo;HGX-Yfuq_qzPNi(R_5kPUVX26LkyO%!0;xbiVLeg~X$h9}2g_uCfgBW)7MKd6)7 z#v|IHDRe*xf9D?hCo#)#i?rEiq%!S8hglLP@PY5C4C|s`fUke^>CgOL(-~0WG>;FY zfb+>zRE`~kTL~c4C|7Hn+4XDhWoOP_j&bfhEC5!}Q-hTVR0R_oYXpnR9%jp$`5Nh8 zt#fgRlwEu`-C3+F4E{~Z1op-JRx7QaGorZw37Y_h8WsSWz3boH3CK_z+zG>Pa4wlC z*8sJx<{`JtT8(*XSAyTa_&6oWGUGUKkJ zGX4q

H`TRT8pKxLT%keGF%Nd$i_(91dw12$Z%q~QtxO_S_3eD^0Nr?RE_1$=uK z0HtXBpv55CM%$rjy1=p*s|nw$fI=-66jTJT2tnU|c7bT&x2A6~q4hiN4 z4O)4v3p71LV|58dT2p zLjgbs0%AHj1OV%R6xS}-q8;XwqN(W*gLsX*Azjx^TBhQMDlko zJFXReSU3B^I_t)ufZ^7SYee&(%tnrkBW##sF6R zzv!UPdIt&iH#matKY{WXYo-I-fQ||%G__Y7Z`Oh`eNitERFL*o_+87oUW6n)2srit z*9sm4+5+;4i6c?(wUvcv-wxwd;hOWx_N*bK*+q~)fSQzRAF(KUh+#4wf}KfXnbhd> zt5@I6ZeG70fkFxT7xS!ILAXNS3^L}lFu8T}Hf=z;L4P>j46NLN0%c)#F6K=<7qD+2 zP=l7L)bO1BVA@Mv3TEeKvQIqmvHDTml@v-`x%y57`Bd=W+*aUs{@leFXKM)KF!2xJ zhgkpi^quTSKl)K2co|NVdwQlS>#H{*0`n^Ic{xw!yGOJ?KBa473^jghoR0Ot^UeXU zx4w=ikG!1x+7ILVFG2&yuh-@D_PZ~SoR%L(+BMtUq`A)m>4BEH`XG%QPYO-2 z0FjM)7tN36c5eKk)n*ZLeRnZR+H5uI`jQ&_C~4e_Xqy!P2*BN-e0R}L2jz04`xEH( zv)8%F2&U8GmfmG_Wunw>88EO5f5vowTKHrNTmS{SUK@-c_0WeiUohRH4Z4FC>r&lmChndv>3rqep2Bg<&`+!m}ZeD{?Ylmy%l?oC=I`OiE?f()R~N`efY z8v!2G`dbJ3Fzk}uP%P_!F3BnY4ODBPY5t$OvibKR3J7dGoPP#6Qz*uIF%{;tn|s+O zo_ahqdhPsP>cF?R+KSeUeBzj5!}fD0TD?77hybXr11*f}GK{c3=4}8^wUe5UtMM}U zoAbth8vq4CshVTwfuP*LcLtR!wh1-Zz>oqY z){kDR1?#RR(;%luM$z`Oz_7H$dZ~7HXLl)p!B2krYS6{!ZJ=phUet6L!G=~p2v=PL zZG*zsfg*JxzJPUdEmd1?fW=;d44ytS1s%7tx8Hs%{EUwspCql|odAILp`b>;csPNty9IKcxBy58LF~Od z)6}IBT2Ng*YCN-`AVlFPg|^{4UoHUVS(`MEcTH?%Zy6$hp~3`d=^mhueGfk6uG#Nj z_W>5H+s2!*{{%d`85qf5+S?Y#mjVC}>*Y&YSs#ILJ7AM;&W0H;(!_G?+W_{oS-O|X z3K~)t1IvpSG&7TcpY2!s+p*(X${(JY1WPTH-^myEHj|%DgvX5!Y;MixIZY!u>H|4Xyx9hP)ci#F8uBL zF?(025Uv)`x@MiJ>#pOOa(sraWZpv~*h3LEAw;kqdk7hPhM@QQ^=lDFLMt~ddfFIw zef>QluyP!$_1DL|4M5B8l67GHV+I4Y?qNAYGo_p5u2NsqQEI7Tn+#yL!t;0eP2o>u zgJ7O)ZZ5~XR5Weyzj53Q9H$C_w04{E&-0mQ8FEbr4Y2&GUnXH3)y$S``xerux=Fu5^Cgo z$~|$PJe5bXLQMRFJXf59POcr}0Ds*{w8&6!(9im3{ED+@&&EsZDbtHu2VDoWmT(<> z@x>SE?_J|T)Gu9pJbUuVC&Mk^fBEPCJbU-eHy9R)7x7uPH$S9>>!RllpZ9m~@#UC3 ze1E=Qc#U(~an?M3J_T~#P#WfkbkEP{=bGqmh{E&yO#+sy;Z!40rjv&lh6 znGQD{c{EKYU4Y!U;&;Bg4;YP_|FJ2m?cb`Q?XRZmT4Cg53f$z?!g*Lm{z~87L}7Xx zX2Y6v`g;q0buwqcG_%2Y-tW2Dopsu41t9QBn@_4kGUb(7dsuQx}xrs$exR{+P(_YO_x zHTMPNxPEwzDa2&(1vL8l>vQe8AaE@4dxf^@5~X(3Ii_0x;x?4tYQ1zXV*Q}8)Hti* zBd+$|DQ{pktsRUvFhICbKg{Lckg(TCi+%79B#gD|R93~-F# z*L6n$rZjWiQ&7SqG2=%N2_5WfBfj?%g6Ufm1o3N)Y)+fTHk9U(5==?)a@5G3SC>z=|Ppmz+z{tn|IxW1+!djgqV z*LSa{PXw3w*tE~Q*7e=Kjr{?Ef)*iyeIclK8^?(ZL&)o(17szTFU)iXJMTY&>OW#^oqu(14 zu0repqtY8}P+^we4Q6KmMg81ule7y!4jt`B1N`-N4`8*>A7jVyqo&z?%l>sQ8XY@A zyE_;o?u*Hsy9)3XSV}|Zt(x~e+rl*pQj&EA0Gs~zIW^{~mJwQM=-=PTSTOLQk?e@>JjdvI$K0^>}0LneumhCeaT^FD&#Sm~<0Xk#J z4Vyky$Rc;**m?}XmSA5&lqUKsWPliAE@^pk?dscEH+!?!*~cfQP7||X9I+!j1^r=L zmY3Eeri7V3Y`=Zyx}`u;%Lp1De2y+8_K#yr0gWKtH9^;ww2!kM@Jyd$zpSrr&|k|j zk2euutnuBoVFdcf6B$FvzRQD$F0WogI5r>FCEWxI9UK^rJ~Z_uw?(@hzpNy@I6+ly zm)0|8?wGlKn|AkS-KS4w$0x^0E7_6_<95|foP||fmR@}6$1ztc^qtlZANlylh&AwX zcK7~F_UWfTM{vWTw7xMv6u91f`Q>nr;K?zMefMxodpQ1Vw{1Fn_j}U6 z?r+lb!+xYOcR&UE`0$a_Od3iv>HY9Mhp%sbZc?C0fnOgAnEG znKC~M^wWC+v-xJC8Kr`T>W;swHB6v6nQ!7tiU1+qr-`Sgo@jy4SnR;a)QJ+@MPQ<+ zFWM%9B&9W$2Czwb?888L6wo}yCJTcXbnqM-ZVP^rK2t`H>IZY{2fx!Qn9AHT!M1U( zu}Ira+pWp7=MT5bK z{Y)n&-354pETfG_JOt=rJJeM76QJ{b$Rp6*P(%_)DXV#9JR}WP-!EmX@j=XyNqx}3jiSx$S4Fo_LX%C z;R^xze7?))CjQ^jT@z^qLaukN;ah+#`$XFMozu|<>1RJ^7HxTEN-&#&mLR%g2!sW` z3L82JLfcO!3pKq8qqY#f*yn1;eWw233Qz2}RyIu6aA_6RRZ$P*ChTzvUbM<^A7y|= z9R-pKj2xc|mmKpB-cnOr$)d&IT!T|Lnwipc^y$9$W~d zxil*fx?)@o1Lrv}-hJmy+E$La;68um%wypap=E{r zwF8*#$E9Wj!G|<(Tv)$NgbUkCtHi({#sG8G@nPUZ-9~h6C{llSS?9$b!VxWyRCw5K z$Br-Og0zo#N4#r^W6H!$+&WC zt{=`HVl&5l(IqFeme-^td-~BAjeC6l!Yn$&MOo0R5?SS5nKWY1LAAE2L z&9hAkG%4__NP$N$04TKWrl|SB;|0(*0G`ZC&hW`V2rT8aT=VN;w&^tr0@6mQZ(gue z4X~?*OS&kcw^-!W;#|3}~_@52mcVB{B%pM#2m5i?U)zJ9E=QQdH z^FqCCU2anE^SsYPdNe+IHiQD{+W5*T>cM8uQy(x6hXKD#XfjJpi+f%t_gLE>))_(B z1jv1^=R8`}nnpzhElT8*ChS2wsGKndT1cm5dC|6p&_bY~d1JULs9{0l5rPMNBqPeQ z%tf3lJoofxfB#_Ti6=MzG%1iMAVVH=jIYiE=d^RtajH4;Fo1Bc*3Ve26D7U}MtU74 zdjp?*^Mu3nqp_~x`^^O*T7;|+CfU-myxf=JFKG1-95l!7?l(N*kuM#Lt8pybp@I4lYxDL3c zXqE8F>#tx%;kr?eKxAd;-$r}ic=I)Y@^<#vx$`{ZZUPm?C}5ULFJmDHu3*>E=DX$s zN@;rlTb|#6n}lZl2BwREfb^NPU7lNsfM$*iP4r8pTF}S5^9nIrN=dNlm{CANNodx) z190!{^u$^j^Z_&mP@#OI@oN&U)rUaQaV5zio)0nnPPM_JrQD1>N_ z?={AamMYRqVT>*#o$Om$lPEZGeU3N+F3R+kUX1{rj7@9`aY;%0XN~gQ z58bP6x`HSLQo2B*?svLzJ>y?~2Ui#eoa4>)K&uYpQ21F*d=*e_S<<%$mxF19Uz1ZO z8N-!q{{Aci9xZ6hY_J+*NP1|UF*G<5)&L3(&Jnlc%9U%>hw;rk)GDN9AAZZa@pvsb z6nZ%RkKq5mhQL5e6NPVMBg0r5EQcVY&fHSq(BIz~zZvYW2MZSa{hhb30RAVLOO+6U z8Nm6ix89;oDZQbV31`lquYdFsZWP2=c=z3RzlRIK7ZMLaB@P{j1p?B+!@1>r%IU-y zd6scCWf_h)g%G|skDpHg=b`kJzOD_<8`n0^2jBPeZ*Bh4q(GAbzXlX|^a6m^_G&Qk zFpd$mnoV5OK0&!AaQXonv?sLHY)1SPjI0~w1K5{>d8S|AGHhnS=wC-N#;j`Qz+hCFk zGJ3US?&!kl%Z)7GtOUOKVOeS~eD@`Amr)Va=k<4U^K&wf*Ocubx@~@6{%*O_H~;Rt z&$bS3fVruy?U#W{hZYx>pUO37c7AxjzojDq{`5JuA@zaUD4xMT0YO+DM0*nBsO5(3 z%KI#r*e8LG%m%|w0T6ZKdEah4toim~rGV4GBk^|WGc2)VC?7kHC9Q+ht~s_fkKP76 z)){w3?7n}0C!0ER77iBk*yV+6Yi%nl%M4Ra2h3||)Im=Q@B}6ByZF)rpkNed@60jg zlc~SJ&_HHB*WjT(*ZJU_GMhl;yaxk^nK*(sfr;thc3HTJfGdOFIfwWYWeE00M~5kA zKZ14XGw(AzFTm&qG#gkBz8ozmYYpq7!SHO;i4!NX8@F$%5JzZ1a69I+jD0(P&g*C% zjmSRG4{)TeVN%WWW6eUSpypcNb^~}h9b;YKImaiC#u_(-)^Z--o$; z=kPN=0^lLRU}#P47y~Kp0umK|45F>>pswZtZ==0F+x+pSq!Yl6;p5&>+{k|P!V3UH z;ti0`J+!ZaF2IYxUn`AP>S?+{qoVUQ`c ze>TnB?K{&!4+Fau+W@t5>*Q8PGaZ&tj3J)aLeR(pF$@&OC;*TaT1L3;2^@8k&?LHV z(4cs|*&VVVSVuLjYgj)7a}21`g+vhuI4$j6jw^&Tx-sNq)$wAPz4*b~&$=Nfj8RbS zx~^7K?e7MCHb1`-X4C?7T~gG-ZvtF*&|C{zt7!gvD8IzusFlg)!czo~ySO(fm{3?X zJTegFmKaZtQ?>Vd0MD9rWBgl}qm!cqzN0N@!B=<}#A*$&h%ksPmE}p4&{0QS#plmh?(|h&}4iS9v zZdl*gKV1l@6c|a9m6bIFPq?-KqSu%&u^$Tt84Dr2rcaFgZ@>2=oYO)=x^;ESPhbrL zz_s5TfA{95Lv!vHuKS7o?3&^H(tX0{`;I5%DY4clU~%cHGilA9(M?^o7BF387d%B5 zW6%JcT2{Db3@}b=1glgFt^me%hjkKt!0nWefB*sJ9Azk&>IHObc_hE2)s68EnATXL zR2hrbr!Uee&XS67j1-a;gfZ^`_RX3wacmNok}XmcUJHTaHhf1bW7J@wwo8GMaR!X{ z(TBBz@hDao=MX&1$DCh8K#E>Cf+7wwuNCI0!FMmWuLf8H)))`>p!*QQ$0cGmv>+XO z=gl|h8?K|CW}%Q@Q+RXv^5yI^PdybDI}E4KuQ4vS5fCUS@z7eqwJjMiCZ59cW>&x@ zsIFj0cY}87J28Hg>=5^}Z~g0UhTt{dH@yD+hjTTxH@)-K{m0^ep?B{;e5AS_KJ&q! z58s!6_TCS;-+H|7$ggjl%4w*p%-Ga_BR)QuT4NZ`P@qff$d?C z-PM^)a9zNvVNGCAEP-+ITTN-|Si9Ktb8wu$d#)ADo|1NbWs}x|sLX6=GEXvbGFAt# z#sW%B-8XenXd!hT-o3%p%E&+b9G~U6{1wrnv-&bc7t*r)aOup;{wWz=fSBc@M&qIPTa300I46po33g8{ZLXMpH4PD|NMYi zaO@s17y^cN%+t}-lUcI0K7;n_(@#H4fn~r(C%)18 zuo}@^1vJ5(Coq=UHLU}*9&kMnU{o2meFQc$DtSwR6kRZ# z1;EQZQT}^I@O!S2UJZs`uu?9k^+HRgr7*oOqIG*Ld*OwD%WtLdWmXecX1!S@zxrj& z+kFnoG}at7prs5YY_`U|6@0RtcM2TVFeg?*DwF1#sK!&R<}LuD8{cQG3>0FTm0$o( zouum@93}Acl5ISKQ(W5mM=IYCHj04tv7}HJy8}bQ|yp!D*U_g%@ z%=3!{0v4_SZ0RQoCn*8@2VfBSZ~(oqYJye<7VIM*ylcB_p=R*9CF~&JP$(lnJazJT z)X{hcjxGfncFTx<1Y79U}sK`@p`jjqXPVLUZqMef4>2=+%UC zRn`ai(~3pVwa=br+=VKAD}dK!r5B*QLjQZ8U~rrID;(Kozv?AmWjp<2ObgS-X}M+} z?i2rI0Jn`!+9hB#mOu?{t3qf66-J=fdLXPEh=Z`cwHh%VY|Gw;DPz(41KtbtPj`{M z4~s5cC`#?PLSPQQfYnIML-$Ia#qh{R0AFgoTiq|is$nmi<+=iM@;-s#q$#bZU4UHL z;P*raGG{=WRs>#^#f@x`X!mO1s|a2;Xp1yc5Trl-jhlC}{^1b-KXoJS$MpUAu+m6E zW%m-y?xEEx;8ObTqH*44PS+`0feXD6sqP#-T#bNj2SLG7R;3-r3lUUnK_U3BAs8>Q zUMLVTRU@c8TSCATG-N%QI(nS>))V`mfj|{ZIPcop5N0vHbQv@Yi2ddmDC(xb*x16- zP)ik$UR+N+<{88KbEOHM@0tA!v2x%vt8$YBoA?B5P+oFh+=nA&9#Xe#9CBEfhG(-^Bh;eQdvcNH2ny zKGGMeR8io#K$eJM;zSIeoXGBxUT}-DU%_f*Y;>GwAE!s_k$&~w%yhIrH11}O*kc8* z;yMNWrM7FLSwzg7(T+ue3K<1DDsWzU^>r*dRJ9puHq%K{fU&e+;viGjv%>LiM`pd!|b4US{?neqWoO{kk zc}WjA8v4l;p(-yt!5V;&WgC}@eE(@hkmau9T4os!4#uNnAb23gTYg0Spqc#*QPXMO ze6D&A(oyaD3||IUOSi>33=GnyfG*9X{cMjt_e3 z2VK`Z*QCI&9|f4vkN)`WFaNWbdCEWj?sxvTKVsed17`C-VG5Tud2`)k?}>F&20E=* z3HZ7O=AbeM{W%bq*~$-H2v{ZAXnm!#Ig_bIAm0RnL6ei>NMJh&68vnS9~TuD)j@!Q zhm3@hde3{WzqzQmxOmPNg|p#l0`K>s!y^EaDh$jO6@aPQIy3qwR*5E z9-g!ARWwhBzvu1AY2n^rnZELRSx1>%uaODydHFT@yXRbX)p}497#YeCY{2wI*&wC7 zymW1Bu z@zXaDpL5+gF5nGQXBZtB2E!x_)KH|E1)Y2?9jk=AgmZbGpe;i0gYrG zO<)m5Gt!2^H5%Ma4Qi3P_;Rjl?%#udu0Hw-FJ=0rpwtQqxUcb&WC* zDBNDOA&=o=opxFG1ZS=VB?KepdAENBYb)fTcil5sp>)}Up;yajCItIJp@{dl7(t!l z%}QYV1$PdJSc?om3c!i=hqH_r>J89B8(M=dJ}Lb0sjjgCj7z|c(f@uIY;~cL-bWkj zcLrR5Ahl=;s67guGPjAn_g)A{eObS$V`QN~xEiPVW1l-#WQ5h~tFcyduZxPHQQvqY zyvrCzfJgf31gYn?p@a8sYyeiuv=ac_gNe5Hw?bq4LP3|~)G@AhU%|A&cJW*W3`58Dd5IJz4Y()I)Q@gwdv`UP8owo8mrwF)ESdN>kM<=JJtm1 zRr*Ow5VgE(2!ZGzKq*o8u~re7sOjFSU{yh-9dkpB{VwVdb)z3ESc^ox0E)e6^?ha$ z;leSjVY;Z#FqQ_I|96yA)`H$%V|461h;yLZjkFTb#N36aP(Ur1Q|RGuIX$%UOZ#LJ z;2595veew0)84kWK^NZ#%7f5l2q8glnBKb%IQG<98w7EOai$eQc|I(;hY+BeXiP2atZ`;hAfJdN#Vo|=7Qm$4nW~Z=Q2IEP9e-F0 z)W^pshzBtMZ#ERx95UmHRn|0Q>SO=sv zPc9>DGfk^8O{|CY)%9r`!9)jfAiTD#v*&+YSzP=hXLphDVZhcP7}pDgQ~&WJ^Fb@9 z9rhOmY7A2sK>i#Y(%NU(6kV;-KQHu92+-h%T;CW!aad8tM+^Opo6{6+zMtL)rJ7_{{6YQhU?tNxG)4wW);HFx0_(#vb4wxM$+PFOf6zblEN&&wZeY1%{1q)_ z3@)k#PjY!HXIEc)Gu7C|z=kq+obxq#a;*UPEZtJ;_|4WiClnTN3tLzmLAnO{7(R?4 zPn%vd?URlv$BDwnyieUjye{Y~Sm5wGO^I95=|Gntj2(M=V@y zWO2Rs@baAZ$!Nu5!FT_;K&y>%Q!y@q(ep9fkMC|yZvGXRUjuWwaCfj_bYh|_BN1g% zj#>;486>YUpS7P|&3yLZ!+U)ByYD_X>P0*A-@M+1OhzQ?W!+pf8%Jt;(wf;8{rfz3 zILd#q?fqE-coc_BMrv!Smd|&AOy^{vJ*caLlAJ8jPm?o-wb&zZrG8jDmC6 zYyesT2tbT359b9qYYGN`&*?V=3H%WC<2r$xsrELtP5?wp z!`M2wrW;{aCm<-`9#$9%1=Q|tBc!SFeUEx7;1T=_Mh&3pzM>mV02uFOFqu`tK5#5* zs%~F9&a8vL!SX7iF2mWBntuH zhF@auSA*%=ps)J?bhi9W0FmR(>GshLXz ze!I}G6Jg|b#Viaf*@X+|7!w&WKPI!c-g!HF<(1bMzhn`iuUt!G}3wScxcu1pELLmJxj5cxIN z4@v91a*g8}`c4|W|8Q=n^-AlN9p{Kr1=WOnM*DTHNM{h;x0 z$12CTBbK+)h;IYH&!*?6qfR5k1N6yQxa>H;>A+_hcf9t(YG@7D3O_6ORcLqq+{Lh1 zTV_42_NTy!j(_(-uW`K||yZ|L}@gx1;M3rii!l;N?5gQgIl>x>7L zOs-qb(KNRZYO#;{-F4OeZXQhvG%4`G6!@hI0P-q)@wfiz9G}1TH_!i{|0@CX{tGlm z{~ciSxRcdICV^8|0ylD*H?1ogGYW&2F3-{#Up1L z-3ayVbpvy;@md7|UgrYhwVt<37Z_h&lNK8pVYNusI|1Iq@80X-y&nD+Oz1=B^ZMrZ z#>I#JxUn97zRz|sk8(Ao>agsj>B*mI9rKsZJY07E*>?}6s(BrJ_dbvOJr@>uF2Bdm z=~?;0>zQ*D`%Z)IH0dYuwU&Yf|9fNdd>O;~tk08RD-n5&;)z$I$fD zTLJ!R72qBmYceOA+rlq})~sV64Tnqz=Ii<*55X+S{A(EyE=Y{cDgZ|&$H?o>d!u!m zEBxHYKZ^hP9MRE9Gl&&|X2R=eqK}Mgj@%0fl|f-mfvMA{c4m48rkC_$Xy(g3Fw$tw z40t7zw8Q!%qa=`UP7h-S+}{Imhewy18_MNZBqe@g>pOo!OZnG z%-zjlzDL}V7Qmt!T(z#wDVcZIJtL{RZdC|~=y_=(P%>kH06~F(=HYFad5f~(TRC_R zpTj4ZrAxphcuAH#X&rO^3Uqft!@e#;ejDM(0qe8v#ZF;-1o4L3}Fg>kV*JIiR>cFE};fR^)qS5ULh zZ&o&qJ{v;|X{URZbXOxB1g4P!E{%(0{ocoiAD~>|Tm`>uP4{&RVVF}E77;SVX!k1g znPnT)ucJipLS8;YUvY!g2_|ey%nhDro7}$~!_FCn4!gU$hXLH_gE}COSweXT6>wwG ziokvj2AsO7{Y`6g+T(m?2oeBET0OLJPYb~(UC*^L>A|8#Fsd7h8e{{~?y{d&iMVep z3uA2*1X|S9AeD}>A{G_K7qAUoXmGVQaliGs?!%6KU&fdj#DYe+tZ=L)ggJr&CIR)- z+UL&AThK3MVo<0c9jsfd7Ye5k@c3Qut>8{t36P@AeAdOlXFI+$4cDE;I+zx5hx$)W z9Eah`y$Mt}pqX?RXcUTaI+uV!jXH zO0dhi@#;_CjB#>e@>mF-1XNYVq5%tA0Z_W#wa^zu)~e3#e%jI%08b&MbKG=;u5GIT zIb&WJ?<9nKj8g?$43`*=VQE5}F%4-Wng9SG07*naRE3E#sOw4x?e0-4UB?JaqmB^nM^F-l}b5Nj2P-UzYx>?^8C>adU zF{!o4_~Zn!D+XgOFD%YRc7eYBo`@sz<-h;;p8wJpzmUE3;~#%bA%TKV`Li#4;Wx6s z{LAOEPk!pD?CN{(Wp7`3D|`L**BMj$*}dDhnJNgXsLM8j-!?vL4M2mVt@gkDXCHV% zi_Hf|nz-5c(b4*6Kl{1t{Q2_{wD23>_(t8>4KKg^Qzg&*cl3Lzv@9(SGouXJ>FJbQHPX!h8J^V!8qmm=t;0=I}A zfw03pV;ez%SuY%$KF^?vTAFI5<6fc#i3hVco~6J;x|uCP0I$W3fiZW`gSQq)FS8%dGF;UdL0B*6+5#99&yBRjDL*nne4kmA6A6(9%#1VNyGl32DwJC;|# z|5$$|PC{B7QW7O@<~sZIGQBUa-@dTGq& zcBo2$t+_4rEv~IS%?lSkQ39CjP#N5FBFA$VE}Z+QIeq2Il_6Vk4$=Vx4j}N2A<$;^ zH-7j3`_pGX^yjGvfBDz{ufP32hM4?hnAV>U!}Ly!dswH?PHuKMqG)Y%FT+b_x`mWx z8R4l#6jPJGdqPYk?_7Q1MIaCmm;5fzFdLpB8i)xdz;nb0k?{^=h4^*??7ec`H);FR zR^RqZ8!%m+sI|7GJ=LzZXjl{^7N6dpoht*(~={7~YX+{lkT_WaVKoeeQyA7|FcE9c7Pr;}t3#&_$911F(_VO9L-sbGOT_Tw37+K~dkp)f*IysJzPXS+ zz?iNatChf8Q}F~?S;@T4UfRA-*PI(8JhL(n*+<>n%DI59F6VjXe4FEDoB)HNQ(@Y6 zB7NN#Hz0{HT<*;%YmVqd)AW%`c1h%crybV2wC92i?glqbb{bCX^}@ zocy+ZpwZDLU}MN@AF?q@ecloLrRM6Mz^j4xO!iZc#oG##8M|2t4-_@?ckdM~dqB^O zeHg};2>s#*L^+T)vvNiZPWjEMtZ%zvN_R3CwO)j$6s*pc00Nq{zAmtxcn>KUGoSK; zN@3*FiYPI-ObdF4z8c@fg?n{kf=K3mb0sG1Q@|JlFlb}JdTniTVNO{CF|jPq=xmOt z%eul^PDs;k{Cl=Qht@_=j1WDPHE%4m{%BmWS;oO`%{@Z)ZiKdxD6Y$mK8lY3qUJ!+ z=KSXNos4y1t|Q+U+*uF_O!`YvG#q7?Ab;pQfx)=ij-edK37Tg?jy&fP5M{|uU~BFK zK9ntm|508@PPU=Qnu&s7Y(!jxc(_E7L#Z=y@@T%zk$I))h!B|h<&+0~BEWQoyK=Mv z4B_wqazKs0ScH+n*?1us!y~c6mjIr!@5R&RUOacK+1f6l4HSR+1NWN6GF}kDCFR)L zZoCgg>F^Mbnx}xa@G2=~NALp-#8ogpb-ZGD0$XFOzu>=1`Ib{`Zr->WrI)~gZR-Mq zg8FMaN5)*e+AheVIa=$qwK_0`2jkgRb9nA}#n9m4axPmw;L&<;H`d_t3}N|SiBL5% z7KKRSjU0>Hc4Y0;nG;X8qx`saeQ-B|o&MVDu(Gn-;-6&g58(=aWv)X&%Bm#zQS>6e zr?aI*EQy-Gp#}5zjc4PrnrFuD;Pud{V-X0sq7&e`^#Ar}f7_HPZ%IWv>UanaQEX&< zHZm^=rnZ6DLNXLLb4Oyn^Si#cT=)f|eB<@k60GrNaAjz4<aC4}SF@4X#~JV8RH+wg=f#GaOvmHoj;}6e>JV%DRj%$~)dL z(nR{&6m#1I{oQAtd1mn0&-_jWTm7LQ`k}!mKJk3f!q=?uSxo=~cXF)Ge69d1V*@~88YwOshOSW+Aoh%a=Q2M|Z@6Aa#zcSPmzDtQAv%51h*vXqoDvj(MOp+MIpdj!~RRHucc=p48$qN1tU7!5df9IK4UVbr}^dE_< zYB;tC@L}#S1)UK@gh~L&Yec`8gegx`-Yo86G}3og8-&dBt_5`; zO~mW=zV$)f%0e7_`#V$Wcfa?QUdjNCnUm)yC?_2iw@>+`qv>`%Si{;b1& zU)jd{KYZV_f38U$Xs(SrbVdcZaP+q-Y>b=&jKN`K1x+i=_FJ?8N|b{56mCx5X(im4-`TLr2=YCFEx> zcC3E{2Psp#wVMSoeF4jf2`3n2&vW3;x2#N@Mnu&~?PKQ!dXJ#=2og|-J31B#Ba(6;us zI#|859i7H>3M9B0!QHcsC~1tD7!Z+lYpkpd?M(a7&#fqBgKY9v{#bYy7n_SU*!AbN zR;164e5{xS!98uG#2{esu5fQ#CPHrsg~5bctBOg@`_$CvZ=>J(qK~x}_&k?y2*`>X zQ&$+|&CvQ68Y-Mc={cqpK3Kv0%VrM(Tc6wLO(O&O+GEa(xnE|e~c_Vm$7EoAsOFo=t(VmI5T%TAX$0Fd^rUN%9VJOxow^Ie)1SVpmx_!|1x*U9J}s*JL<0E-Ko1mrU;upT~g~8qISC{YDv6-AO zaCGqYw|{TVO)z;S0yz4H_k!CW{_uwq1oG10SN`6w6s-mO3+k zP}YWcXdOF#Fm0+m%;~{3; zDNxL*6Q@p=LSs7ktAF~$BkWGLdR#dFM9tG%@iu_-`fOg>=3wsmdn)~aqt>3K`?2ar zv7vwF4Nr}&Y_VC7vaRNO=s53|aJw~*=&8K6*QS7)Gt;T(Xae7c!lga!^c!Al^S7I~ z*i_=kfE$|e`o&lCJ(^G9A%+6nYYNm<5ZpLi;~O!3Fc*&?M?=CN^ZIU-V&C?i?<~cg z@_5MD(gJTCof#$0?!}9*l-El7Gz3rKe-ZD@7akY9a?n|ESB#myNa`34O*nS^6v5hSS8E#vMxWfZNm~(Q zckY@PHcAKm@_ozi6MwfrgA^L9GhrTCue3P?QX49uUkGULw|l>;Qs4=Rw+QsQ-BWU1 z>cG6WZ(7|Jpw=h-Y;9LcLn5qCPwj7Iyg6k7NiD;F@m=rziT~}*?+$)Hq7Zn9N&!H} zqdgpgpJ9^wTmhkSX$&(UjtA@CYMA7?xn{k?SltgJwwseVmh;>!KN2P-Bp_C%i#1P5 zX2`@MsI!I%bTt_-o7=Y&)Gv2}yXfqPVg)2ZTkX-=SkH6bc?2U01dP)#9>S(jRjzqW{%B%)Y z^g`eABV)t$dyfvLTz^vlpbH_F`MU|F&NkoNAhb_JfQ!Nc9nZ*#(?Hl(Z!v+v1p)R5 z;-Q#T*JfPlgB*47a2$zO>D4wH_CcDk(nE`6!k z5P{vjj2$M{k!bEK8QW@?mS((c69Ar}^r=xqFl&9cUR2&#_1pVBK|kd>zrE_tHWn}~ zWh)p3gklibhb@(G9;7QTm9$H|3UMjM#}kb|TTsADdskV%& zu)lisYEw#3kfdE=ir_N{$cIZ{c2dRc;MBRt2Int45#e^Gw);#5Zd0-DqIbk!Z5vsL z=YU{~p_hkd9S@rN;eCFaYj6t9q_8t5%1b6VX{;C;@Ia1Ol=7tTVd(Dt!TUe(!MKZG zADlXqqxP=eOnc{8TXW)q0IP(wSlOfC#ItZI-;PyyGjwPq;|uTM9A%Dv-AQ0nUK+<^ zeLk1CEMwf^g9N8$JdMS>o4H@4viQ%B1c)r(Pe>LyN2Jd>;_mu!? zY(Mjv-%e1*H>!`?_^1BVpZs9jy=#s-x={TTLNC7fVzz61E_lXm-ZqGM?8G_g^qHKR zFgRMY*KwN0U(5sJ)0AnWQKZDhKJ7T2IZ+BIWyEs^j^MF2O^V<&MJAfLk@~D<6bk|t zF745tqVqZCbz~$oC*PUVTlsEdHDg`89HnoB{aD|{Ey3SuyW?$bExCD<*9b-TLj&7d z@OSC@Lai0n3H{~CLu+g&@yc^7=2DiStmRQi-@1LHaAA3Q>1RVD{ytpH2^D`UZTTe% zP!P_`T$P>i!$=`hlPPZ~L=@`vC;L9s(9^soh!oYTtL5jxH3u_kHi#B@hiq zX!_AV^WhwW^~&H(_E0|Y#8ZRc_>JEh{LW`SUpQ&cE-TM)7%OgxEclp1);89v^I@vD z60!cJ7hfr6{N-0)D#8C|guGK>WRB!mx|=ty4c_wfTgcIwB4M;M-`692JpJ_3Rp0&j zw)dC2I)Uv*+%26zz`9k|$@CMf`LN})3I=>k=|Ftl1j)#-4TWkq31pm`v5WCP~-edaF19>S@xZ)OF z!9#{_n4>OCSEn`Vc2&J;mvV}RgiHw2HW8*wQZAY$xnm&9)jECbWmOwezIT|tJ9n32 z$wF_ZYK*kG`Wt4FdpP>rXih6v+a&!j4+FcSRG+ph)Awi^{BWt)H}1;mbdOLAE;BjH z9j!;(_tV>+PZ{1>8weQ$3wOV@b16sG8Bgs|K5L-9V7$Fgvr=bYKN?-+O<>QsJ;`uH z{SxM!JFBe~>c_BS^5IR5Ny=BZKKk8`Yt5FC2nB+f`KDl=^5Bp*5^$7HL9Bh0Px67Q zIkpljE&)!Na7ej}v3kP|N&j!(zFF`C2Uc(8xdc$800UdzHZ0ZZ$gS!S(?FlJgOD^6 zizUII(9k??vX?l~>ic&*O(@>f*Mznl32(-Z*94C>rUb*w7tir z$jJ8;f|;fD9)55;pUPGT@jY0%wFRCM=**?-*KXAjqHy2VfX5Lee zEg!7eC!<_bhS(o>V&!y_1n-~a%q3nNj!n!eUc$6~625FDp;UnX4PF#-8wF?k-}Tvi zU^zGDkow;IVqEkO56(RHSOlh1r7RgvITMq!IUaH;g6g#ryp82*@W~WS@Vp31T(bpZ zTntUpmgafG`+$OkW!IJjibP5_>pOVrFD0e&<{~tnId?w7Vw7+s+bCcb7o5H@oiSY> zyb>$x(IY2Y6-{pv(@JV&wi*B2+ENcU3Gea^6Yg- zJ1BaorwOIX2SduN@`y|yoeX0>&txvy;v_kuPy~Ij$sp%>)}qY0MlYkN4Ne&s9v(fA zC-1Pug&b3xIXvlT&d@us5|3sw3M2SsKB^zhFbAzyaBVX6*6)m;aj6cpOl(t!eC4-f~p0|-2TK$r9$Jov-<$0t7i_vS*}o{Kv1 z7t_YGCV9UQatQ(ISO4vf7$BJa@(f|{9WAER^LUP6xhvl{h+F^G-Shf3->WZ%o214d z_xio>e>D%6-pxkOx>hF0GTV?j&zUyU| zYgycVML6fC*}s>U>z6ymMHyTvCGbIXy8-~y%i5(5{pkJab&6o^@6`FXf8hN;{c}~w z!9R~21oq>6pBo+D0K?zrQN!&vpEBJFck*w+E6n#tKl0;0_S`G4yc}2l6NB&jzHbfV zeZPe9<0noHKKt3v4}RlQpAMt$SUrqpa|gw25c&_rx^(9J*$M=B_T<^Ya`wDlx^$)X z>ff19u)Z+(yU8b}z)aj3GqrMN_u;Yxvh;~JutO1G-Up{&eMJOo?&=$Z<54mkiTmV2 z;tXJ31UXY5%U&{vk&Xf}z1S!rIYGA~6fHz?!0Km?33xRVX4oEUOqV%E>A_k~NYj_L zhc!ySSW-trmv*wZb|Y;9yFSm&PxDZp!4GrkH^$Z8QjEB=xMWM?=5{VZ;BuH_^o}*O z)o&kbtgXrC8-lLq=!bpeycbTLh_^w?#~jOxF~b;R1Rc9bpaD<&`nAos+OUwL{#Y~v znzT_YmINV7UT{?hfkd71g0DVkn{h;QjKk(u1hojetW5Ixb}T|jF9Qr*b2&l`lh`8F zw+Q**eLQ=NSud5XzTUpZtTwnP*LzGqI1vcYbZ+qkqPE9b+oCj1yOaS=@`!H$ce$1m zj0n~&lB|q`G(xe!TA1>o)InLSy^^xkt7TZEfA!jx+5@Z}j5h`yE?4;xhEE=gG9s2q@HI?B<+NK%%$AOP7|;773_n4ELP zjU8{7wFubl)Q{kGtfgFw?SWs5V$Oc%@w8pt_V2UW>a#gOu>n6DovA4qq7$6U=^d=} z@^W(q=fisnw5!<%4VI3S)9y4c?QH@Zc#C_%<6%7k*33hbm0z7ZPX)1yD0Joy#Z^5D z3OEEmjE%W59-30{Nq-4j#*c-apg0u;g;)SW*}e{LM45 zO(<5(16wnU*~-#<`j-9S5h$mFe`j;#-b`Qv@3jMt&!rtSHjXd^dmaGh;A|}KT+Gp9 z0Y;ZIM+Ex|8blbr8^uwJ-61$?(ZVPc;0CWG3I(*Swp!F&h+-#o&899iODqds2RRos zZu`rDwU`lYew~hjfPnnPFMc^z|C`xAekR)>Ldydu#{fFs5)Qy+F5jb3_DyEqQP3C< zbJNkQ`bUt2%RIm+6Dfq8G6CMk`fOsdy!6$tWv~0S!Ambii5&P4Y|m$XI1_INbLO?z zUMq!xJ}TS1aEBwy+5U1U+XAK%$AQw%+?mMt_SXyG*%Vtl36>cpY;crNfA-vk!aq0* z*Dl4w3_TDhrW7<8ZypkxYf)C^4v)cAyTElcTLCEd(6_0;&FK{LIq?8q7tSY8q(l** zpSEHdS2%)>@M!fMTxLRhCGRN=Hlr-kPYN34o6q3ij*p}^qCln8%(!JPqI-_noeQpr zEuwzq@;K;FUf8hxPfbCjVNJfZ8q6dL$nnd3d_69rS}FN}?Or;YM~h58QC0R$dp2sH2QKLQYV z{|Enq{o=p;iI0Euf6o0ULWKUy5UX#|bd&wf2_fr~AF)P&{Fb+0hyfcGLQt|te)T-= zolq5F%6I*D|Gw(Y0u;xlBAi7$_ZlLv)Z5_R%l5qIbw`-A(fgiy{+`!wWvWwO`sI6n zhb8`9eU#sKz3ggl3hdvyV^??p4Dan@m8Z9(f6sy?RXuz4wf3|yE4G0)}IJ*DZ-*eAep;lyhjNqwLClcwp?VEk$>gBCw_Usv*29EzJ0Ff4D-q3k?(1CHW2vzRnh?K} zd@;9G|0`Hs<|C`zM*0%Iu7Wd-jo1RvTr|1*r{gIripQ}ql7!vNKW@rnVZduXhlvw( zEqr}61F0_ze1Wl)nejddb0)B#vd}Kf&v=C5k+?>$V=N;$RNz0Gcfur@zbWOx{5B>S zMRds+6x~U?{cY<}qnnL}5kdrGWAPE2Ayg{gH5W}|z&l7AHY1p@Y!QkH0|dZO$HDcR zcO$693LK`47Z$6LJQ#fWFqFQ>%<*#Cj$q}eJl;z7#A_!jdYU%a3M_^NXDfQu=$N)E zyDJA$X(fFmbZq4Ky$)V_r#JurAOJ~3K~$qo_w=*%b*KajOuyeOP3-`)?Felf znH#L7zSlp3+(^DnaE4$_+nS*c+eEazkIN?9OWSvH_q{euV&G$SzaItK(Ye_O*sZ@5 zW`w;`WTbpTmihwZV)`3gQ&!*x*0YBa2r=J^!N8)bUvTdB?UhojutF=7GS6LE+NM86 z3xap%TV`zVDS3iZJCHMY02c^uV4z zfxo%wq=41**C`tmAoH=fn=35uD-n>D%Tr-9?)07!cF&wXHMqx{DIN=lqR=oe??vF& zcl40JxmHSt=AlBEJaPO~ye*=Di1!9z|6b0D7jb?)xF=3TI#PA%kE9Rg%}|6z%DDC9 zak54*v-Tc1jO4PQpXV>lr~5K{^g9v^roxO@KWxysMOMtRETg>~^_JLQ3un-E*x z7MV99qdrdq;LA4 zF%K2WJ?mG-orlkIltMLznXBWOf5TC#3NE^uxy1dRQuD;gx$>ae4Siq?;;Q=I`2Sf;fgYP&iRcr?gTKgaRu%`}^ZT6~oY4ol0OHWIm)E z7w?x6!r?}KJEGCu*it&nd?c}XwzuQ`l725GU?e4}c{P%weR+o1GJ@{&;G>wbWlF4z zdkIW<Uf*`ar$^gFhSYb@0Fb z`p5p4U(MwHk^KEPLQsCd`^@Vkf`9%k;@9pbef!yjs*!e;x@4bi9BM-zc$W*n{Xbe9pfQvcb=$ zxo^zmbeOxhzBOkfhq+>*_Ku6Z$iur~tmelTiWyvvdu&AFk7q*_9i+q5H7d5vL~R0F>>4#Mq2w>xVK}4 z6j^^aLGCh3!t4?hYtn>{WL`u_$W$B*g`uLn2=xh5AI3O>G{G*QNS&-cVLD^s0YBGp zEd4tX>M>vmj@srHfs(M9yeT@0g~otV2nb%Mtr#xvn&l>QJkQWQ&oHfH1kkiEpP(FR zL)+$L5FT2yQ(t~Nt}PUx{#G^tY&wj$_Al-vzCi>K0m=xuW3dz+J8?Mhus=I=CwIyc z^s3^Qq&!xb67(Z58hZ>r%PxVj!?`iwown}L=%PpZnl^@!9SU6nqYPtcTguO~BG{or z`d{8jfel4RgA^gBlZFt_mJcC1)fnf1=e*kK=a6;FUjjD2}8B#$!eNv;5IftT1DVpZ%;H>DUWEk<5~C6ifqkH+e|&PBfFLEw{j z{@xAR2?l0ci|@oXFprFfZ7Nkp24FJZ3IHaEos$v#XI;y*O<8SkyGZv0>EU5pTCz1G z<*=@gMX6SMs3UN)P*Mm6VfW}v8{3IkK`9rvv-aJO#Ssj_Z7Tu-d^B}e2`;=>qD%ol z<3tg`qE9#zpfIf}YrYdj#4AYY8LQn2QU{-n2{=yfih%$}2eBT{wt11V%@0D!P~ZUn zB;W9USYqXml5=^r;R%a8WrDuWq(6d1I<|5smj8_iP^)p()~B7V@d%hl61>j-d*j#Q zO-v@X$>cU=P3S@7#i=NIC`|+>Jrt!wo$e8sQP2!$ZcI!kxa#h5DFS#v@dkkdJPtx( z0+aMVO?H|Q1>9B?qA9t}qX??JIh?4#l7Ij9oeFTrBj?!BV}tF`as5=r-6(S|Uc6i$ z0F=6p`4il2HSnXfxF0VE0qUmGen*uqneRn6M-r+2*5GR|yigtuwg{XKKHtkT_-MYO zGgDayz>QMDxaIii!MDESTdJ(pwC$^3`eMd@B`A^rlo{g-=bkE@S2xd_<-j#SE!@ar z5jdf%fj|_$XrUM*lx36ChX<3{-ZghLfg@*+J$_8&YqMZsu};*}EdFJrnLc-*fsK7A@dI&+-%<;x2h=Nvzo^39i- zv}b)?Ai$ki{BP8@m%DfG3~gqe*bF@{f|Bwk@gn(K`Ta|jw-mNr;D7D4 zi$i!+so)V>bdU}p@Tfw-O7%xFUkow&kz9C;A_DG`M~E0g=-w0p z?d}~yfJyiF-sfMJw+X?mtX@VjDtr04e<{~9_x*MGdw;pDl-4HCy~mjKZ_g!zl_VqUQ_v*!Hy0^dEw>__Wil}$JAL^CYZ|_S- zkoG9kZ>hh}pI=EIe)t1F_+0ZhuD1vOJSq_AI0#oHcp-IMBE(40Ml^lTeFN_sKIeTt zW%-&4BPp8yMxy2u;pW3A>}*biVVECWx_BiF!B*Tx?-X;x@@C<;rx86ohe z{+Z*W3G!#(X{R~Hgq^GCPRdg6SOh4{jns zTKdk;QtkO<8RbULx~DxX?A=nWt;SECH7?o_2HUt37CZxM@M+Ku4(;I>>$oii+P5A7 zfjc^7hV~f~7olHW<8hfC9ku16xxcsin&PAc)r?=K!`>+q?i7skdo3OnX-43lrBp1H zw66tKYqasyskkslki2~9jS2_}7K9PFxR_|>_R+H*D^I_`wyj5vZrlGZ^?KFq(ih{@ zX}h~TjUG28fZrX4+N2Ijj#4y5ncx|w-$^!t(ajw`I#^h`Q*gO)<4)QgH}ME=zF7|r zQL0Tv*v1MPB+QUF9*R|@&G zdoAOuelTpuu(feeHl>i@d+Icv;B+X*gdT|n-h3sn`<9h+KJ6g1QUut#VJe8YzZnbd zaA3hYugzl-+#bJhCVdK4r61#^OpF2|bKDqEd`jryM7)Ydb7bR@oP6qn*Q9 z8xou^+XHwN98X)pz&HeyQA7y*i5?L$36LX|Z!+5ejvhIlEe>;OOSb&vM2uBl6H$cP zZee?j?IDyr#?Gl0f(NdyFJ=2flnsH=v5Yy-3tl9IdPlyNaG#3wA6a>lN4SyH2)nR32@$Xw3(aOmwrvMz^1smgQOesnIHcu&?w9PtX z?x@Gy*H%ee4$=Vx9%Tsh+5Sfw2Js4bJ{@@eUw`}`ye*UZuVj+{#mw%>2NOI*$yBe% z{~@LbVhOz=?iQ5kFyRP8F_2W*aV0l???&rOtBp}shxWC)n&P7OsrFn4O3%}9wBZ@;K0zxk^{?Hzdjk_t3;O*19Fr6VgLS1X>TM2S zY%v%Z!xQ5t%2k%N4qmcG*l+mitFP9n0LNo}#&pdkQokl*_=X~|Z*J}}JDA;?Luqq_ zyy48H%;20a-{!(p_B&(D;yhV%dn`f;;dCd~Gjp%^+TW}`zDFW3{1rSi&ynLg;3 zc5X%3A_!pP#$p|g`m>Y;j+R5yLY{JE&L@X4YcB4MF8PMQjft%Ghv5`dYC9haLWk?C zex|IIFu=R_a{L#;SYK23L^|H-70aga8Ot4Wy1L5)qFLL^(ww$Y2;8`Nt*ni#j_Kx} zV9~~zmxDM2&7&(qSp*LP$`HDq=Iq3c6us3?v`*bD_)SoX!YK@|Bo2yxy3&Ju174ej zW8emFFqq(a>}ZaSWLXb@C~gS!JTuCgntl^((BIaV@wlnpjCJo&xqY)r+s}IS8e#06 zwWt2#Yp;iCk1!wjj6@h24vkOCBP?ZPqTmr(U%ghH3PPDXS6pp|uLMLMSoU(8Q`(A& z<`GarFROVnIxcQ2R=SOh%W%$UmxuSpLiQq$I@<#+4^DJBA=(6c+Lbiu6h<++6eC31uz?setg3yEQv1|ca$Y2Bpgi?2f%Ly*uih}!pTUYHY(r}Q0ffQ1Ob+{eA!*^QDce8EKEG#58{7WF*L{A^o7xXZH; z6X*#h=ICbD?%m{BiQqvXC7e*SfxBRzqw#ETY@BH9j`O5Q&<6X*wbQt2o4xk%jX+MA z+00zoj_?PUDJt*XX_4G19j&<&u@cYZ*f@U^T&s>K`KIGeUGojh(l##U;u5e>Yx_u) z8mofMrLLvG9DG=K??uT9e*}ypusbz{H8$$Y`g&FBMfD!c?M^5;JLg~1CizchH}2cAhZ{&x*N^V`1@kFDjw_kZ8Jb3Ed! z6;&SW$`dO*)o#XCzk_`RhvPY?Ufs5YIQih!mtGy*%h-tz@E?5SBZDu;mH$NY@I11e zgCfq_aO(J}3OG3#x;2@}4A-n9PLx2$9G`gNSR&a6-iu4dF~L&N=d`)Dg9N|Td+bDF z7Gw*_kqELZ^l16r#7Gc;b}e2utGSe0FwVDIQC^P@+0K=qe1X9f<#Fcad~ksfz7$1| za@8+32+thj4hB7WKNg|iwvpvgr=FDPUHBH%37$nU8JzFyqWqK`St_f4qnp9eD2zr@ zH{}F6E6&Y$aFXKt0nH1}@OByAo10FGLED^EL+goF`mKHNakJLE7Bq1mHlJ%Sc=>BzuKw!Vc$Dd@tMh?hJZ_?#glEc@3itDOJe!_7dFuFc6t_-J z5VTX>=(BpnRv_&2_OjmIzFj8_)L6X!`s-O5&{w2GUz>8Z9vu900D(sk0&SK4W7hHK zKk=()vH<>EuD_bD9qE(aqG)kNwDw=!^{^Jz5EJ<%dF1ck?Pnmo_uRD;VuQ%`@BJt)K<%D^49^7=D*w7V$*T043JudkPf znf1;7I(u8(EzSsZS8lMbrM`u@w|?L~&-~QqdpQU9M;8L{r{m0iD1^5N?v-rN9%m|W zl@62ku`KW(^pHi2+du1-<3H_x#1xZv+e{N9U@u5sggCh92r~GJ>9yF;>5*Jjw`>_)f51#ClvZt`<*XM&@iVRwYAR86epH>tkCW3F{d;ToD4HKQQk?I z`MjIjaH@4DQ7g_3OZKS?g$^+>3h1>$hAoXghuaX=Msc0snZU) z02YKxOdT(e#suaF73<~Z%JasRtGV;K3R6k} zkugU9Fxc|xhjQHEh`%K+x)c-I1owO|0GdeO;e}IYg#QS`_LWngum)p*S>ftv!}OV3 zzO5mGtsaiTX(QW3CWE&W5&8%(TiIzxjcp6eNcd(^2ctRyHwrFet)J7`%S~vE#d zc+aY;Khp&N^u?IFD@)t`Z9g>yz+|lG_MF>O&I0WyErAAW9;J^0Q&MP&6LTau$&z-)mF0TJP0Jd`EB+IrV#~fA1Ros4Z{d=~ZOSwx zjE_Z-oQ#o#iiV}uc-V3w*(PHDy!mCW=uK zIm$Y9Dc9*1yTL^kcUv9kYHf7^BW+h+KvnQYV~kOQd*(^-S{cowr73{THJ(21lsWJb z9t-L@#_d0_Q>HSkXJS)WU&WmeGvxl#-HJT`PfnjcUmkk*GT+cV@bw+#33{t9yzcxh zp>w=az!FTwwJ<-`XU#yv9GPf6@Vj~JIO$?A_|g}@GK3~{`hTDRD3Bif^9Vzr*s(vZ z{r|+T|3e{||9l9_&*!?(`-uP)QOms+(Fg$&!h?_?fSrJOF0WL1QIa<$3IN~!UYAey z*V}))V?Z%Oy?(^a-|BTCg8kdx?uT_XVvVuuZSL=UBO!GA+uq;HpZ~*{W1w5!ud654 z|Mp$)+rx!H89iZKSv?WmR`$q7+WDh7?(bjqJO}qj8v^j6;}}T5J$SPo#)TCr5yp2h zBy$lcFgEhSTS27=q?jd^CT{kEc9|0_OotWR=9fuPNeHoq`A+R*wRrag?L_PRF0$k_Y15XKJ;5)FJdCj{sd z0TUCn!NNwoDnU1v-$S+uL;w#gl+kGgCSFn>dg3{zbvev1_y(XU+dlEQf<|z4bfLY~ z&g3q}G*UjeO@_(xEoBQU8^s0pQ*+%`1d$FzxW@DqBbKIN%#KB%5x9x9tXwuRhZ%3K zx|n%VGrFg2Od5d>j`ZzR0^AYYMDo^tOeBSZy{W9r#QRyA^f2Uv|Ix%$ zApDniNAjtYWv_y+6&?p~6a75=bMUjBjsUM6Eomzls~yXhzQX}Wa%mSFvkW=<4{n$A zkq7YKR)QLjvS6VjWL17yrG0Kegg7w%ePM- zJs}j7z#f4Lo(_+-=RO9%3dRBuQUGW(oEXU|2ykvO$`9M6Sa&I#d;{Jq+2&B+ zhi>p-P(R_n{@PLG(GJ~X(SfOEEEg`kyEU?fMl zJ@xi?42~WX;_=>k65MV%Ec;~20%GmXI!mMX|hq*c&rGxonDsDtULST0O{BrW@ z?^@{7g$s{YG*cF9=1FWhrne_2>PM<`w1 z_3zxhm;8+|_Imog+@M2XF+6#l)GQzfKSD@j-19bK+}o=CP1wN}$kXdkkH1}=3E2Ow z_pJ|I!O^Ts{rjp9vz5MJVtf7lJ^1zV^E&MgGZg_MDaz*U|KvRf!arF2F-tYR-=I%H zfd7XCk0cmPesSJ+7}k$|`{U=IgP(mqR=~{&yKsx4cQeA0;6KjtZu3IWzE}Vf{0yVR z#kGX-%)1J}6b1n!S^F8XecYpc!as(@?7BR9)TpV z)Gk&P0@GLo0(Cd5clL{?FUrK&I&T~uWEtE_nPb!0rx~G#TQRuUO2E=4I2bDr>$m`q z>LJJwj;kNB4Cyn0I??Asm-hOPMiq9o@hNw5G%8~Q{{7fE%G$BR_J3#ZZG_>?g=Qt& zh;>&&=klWZfmy#3++*e2NzevkLa5X)G!agfM?l7{PEyGD3xpPOo!>2JURnCGMPMq7 zwmxnGCVv0`AOJ~3K~xDEHku6jbtsms`(eHbl3e{WD~jI2tMsbT=M00{MNkZA>rRLU zXHoI(-REY@a(ya$m%(x=Z9I~rxpc@*%O=1? zIg~crdk;61S2!Ml2z)EHM_@8#|9*rreY$w@)ruo>Gzu~OS!RJv|HM*QjdDtifLn3n zFXcqucUnlmGscb_nBL8a0H2A{W_9r76FK_z z*h$<;`qn%{W27t6}>!r)%oY@E>r zo)eDVlX#P?r+o2m&>BVZ?x<5Pf{&SewZ#C;ttr|ER~!k-6GR-2fHUyB7g};DeHo9U zvMEU@>o%4{7vj-p4ozhZAi%GtJ>qkqC$oo|k`j(nfZM}=Kl}d$DRnfU`mBTcpCvtw zv!*u>i-0g554>DXMX_|E+Tm#6&wu{&LzJ{Ubj(@sQ_ev;fWV^+0W|%QNuPZFpE9QX zV0eSS8Y23mTvLmq&+1=$+xCbj<^eJ7m&Gi6&x7PSB8&hc+F8G{NIVp{z4N?Z-u0`O zsWAC^-u}1e^7Q<@+<#ks-&q)ZBkljL|J}c>4Ee`5+U`37iABhwWYO{sD_{RcA81wk z?|$#~g$>TanLUId+`dox>)-$VKlVTP;~@P3LBP-(qJIB+SSXb=grDj zcpyWVmzp>7)JI{&Gxpptankj77?omllHH=LZAXqwJ$Y>I$ZIU@hoYtDvU(`4w4%dX zjNu*zf(4-MVUBQ|XBadL8H;4`AHi9;=9n>OW3yB_W0|1G;>ms4zFNXMhS~hZglrKc z(k_f7=7QUPOcJqXDLr?-FZ8Yb6OMqcTB!GcO3D=pYtnTJqG1lpicLYDj z6HbST>SwuY17=bG$}*GkoF)KXU`XI57@GUaiutbIp#$yg^F($Jb1m=Ht5?cZR(~l@ z?#F_Mspl@-guP~sDob+uq>qhW#M+p$3GUU$wDjchqxB8AsFyWrAwuZMQ%B1htvwic z!WT;{OQC#Rh#i?`ELe<2Ggh9%iGUz5&EDj=1|N5iD9RSf2XHel zjS-ljY2eZm7}UJU1Gs-HW3;su1zVze+_~G_%hiWAQ2uR{;-Pt<5U^anS0>!rjFMp@ z9ufo_^it3~W8zy!rD?zX>ZQm*Yq_I?2|DS${!+eaFMQJnc+l|{izFCZR|e>dZ8H=e zhY|}xd+*QRsW}V}xvoo#X@`CHww9D-KEmwjGiMXDElR2=eg_BP{`D9=*HF)L4 zSN0T*#w@~OV2MuYAFmi?+aA%rZ}Y+NvDzb#Kyvb%f4r{r&vp&;7CyW!$_J+m7!OJp z_yQ-47y2k!1N?^DH?BtkDEMmnhql6TWsCiQ?wJ4T7Oc`(I?ciFJg&9O$t*>~0xRw2 z1)^V}8b#lVhL*BdjFs?bslfNv8-jjs(^9PDlxg~ zqNpF_7+qd7Yf=30(z<%>aw$&W*zps`vVI(|F;uqpQ}#7bJX}bvb4qB$=0#}VIiJka8aM&lRiFn;fdOMU~T=aPyNQ= z3t#x+5RWKyk0MK=bgyklh~hyyfWRXPfj`zB0B;`C_dWBIru+Zldj6CD_`6FgjIfz=Tx7AH3>UFvA@R!?{dR-PX-xcA{d-e5lWN+=!FYRs? zm-;4)YR}i(*z@216S(Lb5hA|%u|M%~G&%b{l{1;^Yfd7GtQosK`7PdV(C^*oH z__}|CKdfTm2U=3Tj9fl3GO2Jo0&68^v?L6ycI2}x*rRa)J+b@v`3ogDVH5~cn5EM> ze|aH7!t&jP!L3+(;Votk!+K;6GarE}jVp#H!aHF)yl3HSMO^2t9*f4#28JYpTNsoQ zHewN@l`}mt^B4_#X<3fp_4sBJptWN>nRZ#EVQ#i8P2Qt-H3JC&98Wq8|S@l`k z2@q%icnH=tJ{o1+Xk+|#C`)o-+{{f14H4Qgjde_5XcT6PJ38Kwpi_IM6Y$J)b9FLz z2`sdyj#V?BX%|M1B@AgYMg#`!h<&ygE*8~tGbJ1+l`ALjhzQZf&Df(M+_(vDSFT(s zOA^Ksu3>PAlXfyifU2RjyK(E{P9r#u7$S|6o z+s|!m!APp}zL(dly%ZiLyrpj}*0zbWrVLVyp&TId5R&zfW7FL z?~Rn}_e#FojR51lbqH+0acMWf9W#yuL!JrpPQ;4={`D;do(cR#Xf&Q+qffj%{H7Em zWa`6W>QtWO*g|V3VP-OdjXb^^%{CkJr}WKvZ(s9N6jTML%p=OTx}pT&er?{)M^V5E zJ)U_mWB9v}@XLW`b+cJg-0e}q4Z z7K$zOic%DAYd>X#xdGl3T<+ksI=mWXM3gvrcH-2@;3^@r#gQNkQNpw}KJ+E?yx~@x z_pJ7WH2c+!mAbUw96=WyZ>sLKjGMArbo%B3&!ry~yMOO)6i`%xBw@ zJm}-?dz5`C;7tk44$=Vx9(4#jQVM|mgZ<3=e)_Zd{WG8Z)Ia{OL(l&6Fn2$b-%%Ym zD?ld@BKd};txpNcZ6R+0a!7U&MuL$1{TrD((RA<0!X?lCXKhiooVMhB&)3WJTRw!_ z)!NY7SzkGJXs>>G`_-Re7<}Wm?|WIkO|i+()h|m~2&Fuj^pSaE>2MU2v z(mzePztHm?-2VU}@c&{hYvccWw6(^zRlu^(0#NuF#sZ#DQiTf&qZj;1Hpft%Jb7Z5 z_MRmV_B+2Bv&RJ*GlYr8ys?z5hZ({soH~1^aJ2RkhUp+U!@=peh++uj-;Gc(7J&gX z3!m*7oQ#EXXP2jd;9QuRFrHxu2+|lC%wx@$G?R6d)kax;9?>WS^=nSp#^M_;r+`b@N)loML_}vU(Vvk$eZ1BVkNM=9f?163Z#!PdylL!lXpN zQ$As2VL`B}2qIx}mttALsG)hv;ATz0!P;yvT5bQQsKM=Te`2?=0v%Fj&e& z*gqW0|9G7#&rO@#H)gzz2R!P+zVH1u*R{E>oI4K=E_l*}qRISDl>GD&eW)O1X*VIl zb{6yW)X6h}ORx$)6a3Ro<627c%w>InC%*N(p$_}9XR|;3 zjW_P49a(Sj5NRJ8M@f{)8ljcD@?<;};whDw3q_mu@GuBp^PiB$5<0VYdVr(r;JLBT zPT#=^xCQq1@GUejM%lWRI8lo&XiG)yo5^5W+ zwXqw{oDYV?OC~`Wx%d}cc**bx%T|&o;snie#3OpS9oSP&gKw}T?ah{wMO&>VYAek| zj>Q|!cN8G&8@Bp1g@ZAIJLdm(lqk|dJi%_>xm7~GEj6hy;}S22;Dxap${2u$KFtKz z#}emZZPl@SS;qq(Njp}TSn&nS%xMBgLs!R-7yZ*$@Pj9gmPNNH<9U97Tk{y@6}J*4 z$XqEEXZCQF_k?f30sWc|Zd==}l`FjVqJFZz2URi+%(0x#5@nb6f{Y-h%GbVZXKD*w zzLM`C9YEj!0uLeZki&ZT?2-EGeeeD07t`Ut^qbHBlfRk!U(VjFzY;=m9I-%9_NPuj z`n|uy@JQ}&e&@FZ(p`D(`~S8e)KOXa9>Maim(%n1yS)CE&(-Th+&x#mZ(TjFJpS%^ z{Vjhl! z4(~8V4L@Tg4};r(kAXY8-t=?vp-4l+|WDFLj3)4XmPSYC$5++*vFdo`NIZ{RPkA$%_8qB$H`ljZ5+AV2=gf=OcU}{|C$1wW4S+8T&O#d-s>cL6grZSLXEl!yb>F{xuiC}x`N}J= zL_v@U>8yLH3*$|Q>EjAs0&s~8zpKwt4mjcwgE}>Be8y|vXs2a_wB>k_fCGln-eJr? z=2TkfPeDRR)R!KidM(yAw6OL-2NyGXVQ>k05nwWA+N^F0Dx1HGXDCmoJOO$=VuGcmbe5*%XRkl{H+=TxD2<| zWBmNqjvD*)18yn5mEHERmq%Ip={eY`W^5$!2#jC)!z90+xjvzAaOSzs+$3y5`l%)3;C`A%*ZZ(R|&?xw*58&d=^scyR zbGEJ1HQ!2ck1jNRfD**KQCDk+*da~f0*<~}j-rLDyuXb#g>JPs{a%d_w;MP(WutpJ z%13cB7DXcu1$39v#y2NU98YYB>HJ=(ac0eS0))C2vrWhtk48Z|83E4eEw;>T$Fs(E zrPX*6!HuPC&#*Rtw`87~KaKWM)}Z5U9yt-jIKxQ_X83(*?s$2OP%^vh$2U(X?#%aF zQ98=YRUYhli%>REcD(iJrv}$=+)Axk*Q%clXN`?HgU)~vdgz&P(@ylL0!`+bzEUa# zWl~QQLgA78Z~#o;6B;d{No^iC+J5y~loO!`6qgiS=C^NaPkWG^m&sT>PS5~xXSTPS zcUHQR^>1tN^jjXQzLs)3aZChdq`aGoa?chy37l;u(=KD859pl4%YZV;?OwLVY{i={ z>aftSj8ob~@HXeQ%NoG@#~e@&98!IMuunRYG? zzWn7cCoVx#gr?9M<7BO*j)Qanfkzzz`&Y_G8WuUO&Pwo0zxBy~{@;Z*{6`^ZKOcJa zHbft>K*W0TOv3QBKbp`jUlFgom)|8X!YB1b#4}faZ}E}(_x)ZE^H0y`8+rX!rc2&B zgFE?@?^%D}zw6)lEx+Fu6j!UOF`B;J-?sXm3OhoQ)Z2wQXqShBFXf!rkG%WcKXwpN zrJ(f9`Uj4|$2Z@9@AgpRw6ynK#@dhvd%ym}2uB1INmTGe=Ka|8^!Nu)#BFl!$V@Ro z7JY$w>^~J~2t&l`%N@~PU-*Q1#E4+9FmMDdmT7^RBre;I6p{xna#I}-qa1r|y%)`! zb-OHr5g4Xpr5vAVmTt#d!R>rjOb!OlEXAa->L;>P0t#VJqG$-SE$?((Gr3l3o4nyg z@@@09QU9SZe^Skb^xuB$f>>>LXpExst<4R2R3iW#CaW`$nAz$}EHkV&1Z8t|Hq5Q_ zxrc`-ME2%(?&>HeFxIRG!VK6)c;DG=aA0lT3R8KQun@syYNj#Jr38q87EvnM+g^W> z-nl!oF4Fh#7!W9NC~X-DlPYaRn8Xx!E2bl@HYdV(ri~I<>7#z26OAFwX$rB{V$l7@ z%(eH;V#+Fn0d}VPOvb`{OtG;)8mpbLb!PcS^7WHcI*m*f$roWcI3>Tji*7}_B@{HJ zP+%5ZSXpM-Z7%2)k0Efvr0&MucPssk5;a{*NC_^aq9!^ZL)J8C;6e48wai$Z)REOTH*3t(PC_!66Zp6%H)Y*W2_@s>5vnpK_7K~qVvb>!DFran zBF-z9k`Lo8pxt7uh~@|;oa;8P6Y#rr{YF`U=OXM*O$F}3ot13av6aDIU6xtri`$1<^hX1 z1)lnb1}7ri2JYD+Rfv#pY|q)vJay8=R^~YiYMURKj}gQPwSZJdN&^L2je|*(h1i(wf&%*eon22FUG=oOjY~!+ROt8cG#iqQ0%ak?t z#@m)Rnzq|EMbRPV%f?2Fa{^cOcQbuljeGypw73rm+8S?~^2*2@m^;D~&syBpd3e_q zY~X3En=+MBM$8exEgOEedDXTA84Fw67Na0T0}st6)`R#FnS0j79%!=#4;&dh{q)oE z^jI6*xN#$K16~+hyLPQj*y?%u9{5XQlpLf32pm8l%hUl7z8(Vae&3(v^Y<&i`TRfo zyCG6PGBmXFH$(K^C0AcKAN(Ei;u)eS)k6NJzrDBETRiq(@;9M_>t$oYdpYv;zunuS zPw085RPgtMy0d8Xx_f?Q^gQa4`uG0s<;&N8xAytF`pE+9Z_85ZLV#P>2moCHF?uD! z&JVx)-5;6v-9h?hKw$r3*8kprH+H{Q%DCn~DI;6s{pQ@5XNxXNRL)S|<<@P_wqx#& z%uNq2U4DJ=@+&VClW}D3SQxBx#du@#SlBQ-f?i?FFhibUU4Mt6SVZo4Y5=m+0c*gwxh$jTEI^KU^3%+Y1OOm+69s^z9p+KLtG@@C zqr7Nysaa=~+l9}7sJ?T&n$+hoYpn8`fRx#oA@-dBd|YZL0*}q~BeS?H{=>28PTI2_ zhE%&oA}AEoSi(@VFrh2sB*P?hfMrXdMPtoEF26p4y9*gme}gxHOw54xyJ$v!!=ly~ z%$+^pT+myPQh0FvdKlJ}E2x@2917#jwU%WGlgi~7!|n72Or&GQFqSTYhoE-w0$hx} zvP6T&q>e=K;b=nMAIc-J5D1NR>}J(302fAs&+tAM}4LdBD{-6b8n@ zxVZccuG-ta-5ZCLSAt>`T8HBS0Nx8}D=Q)ehw}6rzN=qSmdpGD1LMe|Hox#t(4`bf z)9T%!xN}Dg$sTvX;==GJ28NeBtVdF>Eht=#wU5PGd%@Hk?)7=6U(z?~le(4@e3O6+ zcJii)so#-<%@YPrfd6i``7}Jt+(bA6`!Ryip~Q$FzSrsAFK~S@zcO}EWdY~_ z03ZNKL_t&?hk4oXWHINo&+|q%nxGADjz+kF=aTlpH+h|OQ8<)#kBznUP#^l-0Bh}0 zM*p^tf#3e#jpFW3+^`+P>6D1=oYy|J9xsz97xif<3IKv#dK?(Vqaar>BaO{i+WQ_@ z5s1t|ZG&5AtTqrtmm+kt>et_y3r#o`Y_;`Q+q7A~`vqrRC6MOi3myf8{H4XE;Fj%F z#yNDQeGVwibA%k8ly3wGI7H#uHCGR?jY9zQjE| z9t4Ne)>em}rt`0VXN7^M0 zOR%+-yN4(GX#GROMzaVC`(YW&aAj2PReyj{qN31^*sH~GK=uL zdS35(vH^Lx*XbHhQuB-SU46THbDz1`_LS}M_`BluGQaNB47dNqRo;!<4w zgD*4Fv9e~b;AS-Xj!?qrVQesw=g*%jW(N*KEq4qc1}RE~2y+<5ttK!9!6swPIGpJ3 zm?n6~f`DOQvLW~hx;7Ny6?3MI8)1$xRSy?-QJ`b#j;r}b7)3(Za9QnB1mP>+=tKCa zd>?CB`pN>dvcg8<89^^@k0n$kC|9hhh5zEekOlVgGsAD1LZv)6!%|UbCPh*Dd%YPB%)oY$s-)gS+{pp$W5q2GC=6v|H zrWm6@Hp&3=I@aX4fmWRnknH`>G)@K0LqVSx6C}x4r~?zl(q-H*U`@~#n2KOQcui2Y z2qf}qqw$iD1qUPMxl6wZlNd4#Zx=2wyMz_xy5QpUW9J9AZnHEutC5ojwDMQ0{`+d8V7zBjt-k&ZI zv8-~*ZI)*;SNo=I6UaVcK?PGIZ-I#jJn90cn5Jv2hIcXX2?n{HQx_tv5`K&Yg$l11 zj66%H{kG_-u`SSLd|;r!kuHq2{r{MC+d8&`$6(?_07@Un%FV<=OAt9823q+9KZ*%% zv*t#@ATVp=5T#GxtIz5i9gW2}Wea>amS+@lux~C*^;G7^Z1$=XEH|TMp->PXf*W^i z@mcqpz)KkBht0Y@btE_xI5>{10)C}5^};=AC-ZnCeFyJuIW{-V|CC@EjpB+|f_>_{ zQ83O`A9y+Fhq?;?N=PDbY!=?CgR-fhmpNjb&;-v3jo=ICd^?h(4}C{LRF=@RsZQS5 z6YR82K6!l4I!S4QZb;rOEG*aiYD-83ffa7SdHE=RaF^jQExV~Pgz z@)1jb7Xl?BuY{m>e#hFKZ{Z|bWA8lW>nv}Pz5Z+Sa=drUPupG&MM1&RjefxeF+9M? zyq1@ei$WA#1?zi>72v(g5rN7uE-dw>oXnU~OZ4jnl?cLBYxBvipOJ)fhA>v^1uZ?G-YMRD`V@l142CY z_43~K5WyWs6VT7xML*%4pnv!UI5HL7ceiFqU-`;c2A})v=dws;E+#PI%;6|DtgUZO z`KGO-R{4W;0D(sv0tX6!e~0mZ*L#2B`DA^BYT!|0Xn3^nCwE$WK z5ha&J1;KQ0%w1!S5yAa=yhkAA@osqn(9Mt3L&-T|x zQ`*1rokdO&55H+dvws^7Vl6%W(RV-l<6o5jAbm3-&~WhItp(pm`1hsfaHhQvniNwP zYw)fBZPQ_rFgaX{?cEmHcmDp?;M(;|5sX;C5d;H-&O<->A!t@co z%qQSVm5jWD?8q5deRn7#<4&XV@cNMP8li~3`Jy6hd7znJJScjfvU0MuL$d|8l( zqhu-JK1v7ioXk^4z>S9S*G73U)XLEw%AP*fRd?R2i=sx7-*^(+*SBg#%rU-|(ZpOVo0um-#f3zD6C|`;(k6>baT<9AY`Vs_^ zN4t!nwosD53Gk`kq4nM3v>X>+46HZ|3t{R{CxGQ{ln?}z(Fj)XY%4HOjPDy$jGhu$ z6HJjnny~ri6*`o>#x1mep3bs zP-ZW$^1xFW=2(7I`#jTD_~@G+&q1HKiyw`OYKZ1jA_4fg;2amwiT&TGi z#ld_muW+?lQVH6GG;0_I6+y#zx5(uW@H8|@{|KaAvFIKAphN^${cyU3=jx&WpyQRHjS;FrKy z5*k}k|5FA9gxCwB`BT`LXG=?KIf|_rI@AMx_Yyau1j+RCT8{M8Zc56Av$5tzP#lSZ z!W@~H$VmlJ7!D0Z*_;y}2*4CVXtGn0%wrejgyU2@Ju}ye#$+T{*A`0&ZJz2!&9l%| z<6ulLT)0p;|I$k@MeuKPdMpat)2B{ndqg{O&^Vz(Xrp$f>dZN(K4gtZxysU))2GiC zJwjXV#C_1!p^M)_e}lQ5IOhYi*GV9)a;no{t@Bw9YeSP@GcSzz-)FICj&x zO=cZfTMK?i`I0J2F}xXt5f6|to?a<$H3~mvY(yEk84owx<}!4Fr}f9Nht2C^ zIkaN-@Z{k9*(XB7PG?KROWF2wr{=`;Y~rzGo*&B*i12?s^FG5HdeA(?Y-Jk6D0c{+6bPTkFS zv^$>%E(`HQSuVPcF4%%`DeJ?FFTXUjnr%$dWP+5gWt+)Hy!##`g&+#K8yBY#ngl7NM-}QX^-yxDc^?b@H zCMS3A21+h0#F+jl$wFpIrS^0_?g?Wy|0j3&Ph{@M3` z_$U8`X9ww<4S^Ll zfMC2V?C`-}Ka5HRiwdq!Mbkc+Bbyw7ML@^U7CS^^9}PWb?ZojM8I^B~i3n4Jv1u;X zVa~!7!KT#+5!%Q79CNA<>c>E1@{~pM@9#r76@Z(w->gB!@L;&ZBw|W2aGv!j{Fqol z|3vd=p;Eqjw1=zr?oO0rVJ3>1)Tc1i%902|Yl%%@KXzl@xP!Jc&oQs2g7d>Mo#29@ zR=>X3blqW&S(HbRB1zx0Q5$ArRr5|>%nxfTc(LM}d;SJ9uJC<6tJk+I;YUs+09Axv z?H5c6)8+kW7-`>9&NKmgr(!dB&#IPJ#gI*g5tk3s3^q-P)4o+dB>>^kJ3Fc?i8U}QW9h}wHJ?zgA2H}_bMOM_$Jclq+g3e<&J)OPiA z30)1Ylr<|f>16s0mV}XecNYi8Vtq4K80VEJsRT}gx7x(g-RiYJIZR@NZNjv@&SlBl z+rlBjxc17gPRBdS2hV&j&>N;2jOz%<2;00v1cc+2;M4=~sS{a)1NOx$OSE@5b3Dhi z39^M*#<;TN!{s}-vj;fkgA>at7{E_sC|*Y40KHTtf)YC2@RMuo?ryfstT(r1V+xnl z3%=F`aN!bNZ6j1>PEyL05+Hksw-SWVF^TF^*H$D2ZD5Ur#zztWZ#$OG%~<)keiNK| z%;baY?athsn5#XyD-pCMxJ`+pPjH1NN*CJTM~1I{!zWf>?(?k7=D0Kw#g09^nLzcs zV4F6BvpzZMvkP|mDn!;hnxKk0n-lf~kSA?Ib0gzQ5z}a=KEOrewq0ZS!V51{j2VKwK5Dyh1~)k2>SLuo zxaYV#I8P`y=HRG5;u3%r`eeO28m}1&7&rswloR&#&*hHBY;LyoWIReE^`1I)ruwN4 zaa05|Ot;FzsOC?UPMuz>j|E?{uD}`I6cjDyh_+4z4lZ*ihZ?J;Q^!Wh~(`TB_fr z_)H(W<(`qr`;p)hIJn?|vdz_Q`L8;H`%Qt8Eq9^AV5J{ldEskAg#9$+VQQqYk&lcQ zd<(ojIyXD_oIa;LL#um=nEI&ae^|o7Uk4C)WFXL1!bhgN|KD`nZ8K`1Gg# z#eWlF>Ssfve<7UZIi*`9Bt#qWmM{pOBX0fq{yPTT`+o0>oNs%1{_cx`XZ!Obr2EVB zw+q4RZScKky}VwRdzS}$-u^uz?QaWvr4ak%|7!=re*?!KhJRTHO8DLr{%cVUo*6UD zti{se*~e6y!v}=%_g7o}VwL@1_C|gT11KNC2pV(wBuu>h?N8TYee3qkFfd^t@(kWA zFWw2`O?|+<6i)6j9$~K351+2AUirV-yVn@cv-F_vRn=A1)z$Z&OV4fRvfj0^v0;s| z*EYsn#0v*QY(av#7|Vu8#0g+Ujsj5<#VApD!5b1H6aol@k_aLtiiINO1xiq~R$|Pu zj=lJ@_IPLK+A}?U@9OTV?yAc7b58wchGlI~fb}|CXXfAk`u{HHJm-0ybIx-+&l&u$ zHG&ZVkwStuDMF$J2z)|=Z{IHb*f>b|W@He`Oz>0}0m7Y%W0mMo0dh|n~J zNP-9jqGP~%U-G2YgsIRl@7HbNu&n=tqv8;Ib_(VC?m``!s2LoXW4cQ<(3uo%FACsLXg|Txy-|PY;SD>N@P|Jpe$_T3mS&qNiwV9fhkHZm*Cu*Q zyi4BrzL!Pc=bSX>CV%^A&-3~+ug$s1^RA&Mfn0%@_Ku-fS+TF7V<}@HrkVHD%yS z9ry`uwQ;BSDJ+zpFS&BoiKa7W8rU)9D;@49$>mb=iY#PT>irSmHM{ zJ8TOdx|pXZEO72`5g7{{;H0#eV=0&yFFZEzBuc?&7-i!_MoKsrX$3A3Dsvn)pX3Q; zxB|;Cu%_H>hga<>j#TqI@Pk&{MMxOa z_}4u+*I!CMeuV?$=BdW)+i!=bv3+5#6YA9G>lySY;Z9)LY(5bo0ePpb;1pbE^JZV^6flA3P!r)Q^W8cdG5(`o~yytF^=_ zD0><6_RA@8z$j?Ev_;^sYmU*~&+C5kR%=6JPEy57jd@8KfAQtdh36+ad8O?8B@M-| zPWq69mt3(S!mPP2aK;t{-hRKg%KamGqiwB`Y#16BBRAO4+d547SEfO58k!s@YwQoh zY4l zfBVVaLw80da}IdMT2sFnddvmKD1HURt!aKblz>+dgqbLGG60n9E*TO-S<#fn&2%k=6Msm>prA70>HfYzVPg~;#+-7o!+rnsKYh)O`0FP zztp{4Tk3M%-`-z7+Gw3Sg2yubL8F7V<^n#iAN&`;?RS3Pe>EOD{^v^q1E0U35pXCz z3K|oN6aob=LThvP``ySV?7sBUONY-t|9oM9&kW&%aC%Vo^sN@vvu6`9?Ga5V;pyJX z({GY+gKQp*ySQ&m%W6AK|tz#}MY-@^YO;{q>3v5rH~5R$w_!$`Au zkTRV5nIMoyt?*JAuy@K*e2-xv;g?rndJ`H`g@_X1HuC)0A1&8_`VE^QKxJ596xdB5 zlVzSjEKwUcR-Na46m|_q{TjI9H95$QF$Aavg-pjuL?e88DveVSF^=}re$=&*5x_WO zY?)(oDvrY2yFKvaIz=CCBxKsji*vWndZC*Hl(lf?)P!aKtmk=0^`}1y|C~ZTT2}iI zP{-JgPCVMefJc6V!xYW%vdjrnft(&F`2hB7dn7NcZBY(jCb$!J30j^PnyGFE9r$Hj zBCHY6;DGno_c)rYEcO(Ed2Cqq$6WfTpuaNesy=xk@Fm)KZs4$Q+1no^KvQ_us|&9X zhcejHwk^$aAJ@w4MGoy=wpY%mjZVx#qoXu z_o;9tNgY0Yv{yZO1`o?>&!~1kPw=CZMs&6P1{{jaw-^hE=*b(Mz9d(49wg~qOMif%?HMWg$l;CTg2%|pVJFJFFQ4 zIeBu9RpI|&dpyI%!|HBQPPsZa+F_h~?e#Z@GH={~b3fy51Q__BnCio33iZ}eWQ6&} z)*bUu6^|$aJgANH(f!GA3V(`l^4DH{eeeug%((?m zF9}Qaks*7hHRgT3CRWcaEg~;$K@&RvWKlr)_H&>6Tt94CklH>$93spyjx}Hb12NpFY#62Jw){ zp|x({ABGBWQ_>aV=9%)i2-|mUnGf^{t?{f#zRmbqE}*(U=(U&O@lkM}sDEP~4G$vp zE@ynQ#pS1e`lnZ&8uY}|kF{%Q|CNt@!^d948@2(#6{9{n887&SY{LNb*0s05SV|1@ zVPZ-=HsqD@>-e8z419TF;Mf50FM;lz9AMS^Tc7;#|M|b`yORS}|7@RcwSbriO+?Gz zzDEw`x$j#6#{%EHH{n{^ za=*X-hwlByC@{i&d(j%`~37XmxrM19BKiLb%kQa3Tc6@Ja5cZYz1TN!|_e?0Oy^C1QNOxI zJ;4m`BdOTYoVD~{+jLYgf@fThkHGDoq7Ha?_HyCX3Bj(P>qH3&&j`$L41W9T35QEk zI7*IV1;O~zM?N~>Q@^v?6@uoy`**4zEkv^jrJeJf@euo^yoA5hqoD+3cmn5w2kj3- zLfaVJSNH4#9$_SrG_8XFf`w;L0xNSc1&9)fes04x1yo3{Iya*)rBxEVulbs8fz!;Ec*gZ;zKAdQ;v_g4d{IC@O-?)z^+Fc49D(-csd)hI- z+gBcrQ|hXED0H5~-}-#Nd0^5zibr;|!$WXkfBo=82dm^<4;Z4{?Ved?;YZitgi=aL zQOB|`9{puqzjMpBpqVI+K?j}h7CwHf@3qlSVe1r)Xc$sQ7*j0GM|c=kaLNfyDRzxs%W z{C1y`3Lo$`MkD}dy$KGB3){gua>bP*>V*Tu>)abb= zoO9lr>p0r^fC-&FLlN{_qG0-&v7A}1KYbBt^N03ZNKL_t*B&~7DNz%Tr{X^@pIQVF7ol!_+M^O{G+(l&_ zM#sDNo4YbVqOU3j-vr0_4iCorRyiH+$Ab*cJUuVG_~MA<7>4wWU=K6u-?;kbm~+o1 z7vK>m`&c7H&YkGQC+qYW6JzbM#!k542_XWQXzUS{{ za`djUw53kP`Ms(j9FBH*K?f|_7@nd3y`Mku?Z5MT=Snr+I{xQN0RxoAA+Q}SfEK^$ z$r74Zh&<@gieL?VZMruR~Cd1&#&#Y^XUuKj)~dW5wr@0Llr z>nBr)gyl$U~qAfikEM z_!ERTx{gB`%{d#J9(BTQ(epbSC2ercO0t9aib;O{M7&)(#68D5xROMV&S z$j}PHo~4w9P2-DF89^u`>LoC8|H$x+j`}f=-v^su zGIBhWeT@$&>;1hRzNY6i4`0IAz-LGqp5yRxFa#m<&)h0N5C+fmbanzj$2URG@X)02 zQuqk2ggiJR7z?q-Yd5Z64fk_jHN^+73AxJ7f=0z)Af<1K^4gQ9uB%^QbLooFL-xNPk_hG3B0yKcpI ztq=VN@57i@RinN5#NO(yvUfZELYs#Nx8uj7NQ3CEZ5~7I-cEVson{yeqwxgAxp49f z0OlTHy!%C4?52!RvJ}tYPkiCM8L@$W6t20KSUv###;YSzrAY&P+PuFu_w}POTubPP z{)+yeKmXWJEJXmgtPTnpUZzao2?hj4q&s)6_V$`De-oDtLcKgglS@42`*QqD! z(VvGYj1Mx>&i3NrpmE$BZ|`OX&^z^iFN4Iyz%+)5rovBnScJ|KPdq;6MSQ*$9QS(X zvBxeAkFU7^zv#cUMEm&6`1YX?`Zm6HGv40mqdzB4imqvHtpDaE_qBVfIpkbP2DhV6 zoH#uC5pLu(dE!#J9>7(r(l5up-OUP<9&oPO(#Dedcpf_}l5$PVzVHD_JBd21YrYrSE7WG}y&SN}xt zZEc-j*~vI#OOU<(U}D(A&yEok^|clsJj}~)?4B#<%CpTqc=mp2oOgGdA5-v8Zj=|M zxo7KCb6fA7JzI20FzJIRA8Yu)`#w*7bas61JrN(a^z9909Np3XLmzs6z+tX4pE2l- zaTD+RjV~8@MRW#(ULz%ZXIMMR$AT9af*26)bWA9m{HAaC*!MsG{Bz&W0Fpp$zu;+0 zmFS^&-@USOx%q^_R2ySX>~FkCK0rfGjUpU=WKsS_YvF|+FwBn2F$TV@F>q`E_*X>! zi~*mh>QDUSKm5^O-{kqjO-g^H33}5cZGu`BWPh8eTz73uVqKe)IU%)4yh+PvE=1F- z2JGco6QFy_@{GT|Gbh72*)7kww_NwV6wi-RU9Ja1a_hn0=bxNU6&^AaUChPd=7#;0Uff z-gkJyWj~(#$|=^ovV>+uqySG3!FptHF8q*CeNY5|1$`z;D=hoM`61X4pe()wj3HR` z?mXfy1$QWTd0^V#NC6?l5ID{Rvkc>Fd3*JblBK^x8A;eWT}Jw3lR8TnOW;Yt1LwF; zC`#~hn-IKKt^x&*8#h8JgFaZ=m!ASeaUmEG&Iu{-00vtS7%WEOs=^-cCwzcGJ?`g6 z3x2r-X7o;#j(h6x%zEA$f{Z=jynk@RyTmv`c;2}`v%ptnLQKlRfzU-mErBy!+54$I zAHpP0sArV{XM*B`gw7$F4R>QB9c)pX+&_o!9L-$_c*U8N)-5 zk~Gnl@Vp3Y+Vr>kzR{5q&%mHP?J7grsvR)Hk$bDbrT$s>+;8o^-zVaQ2`?qwoHZ3< z&yR?V=&ByV;`IKVOnJUJ6lxIy8`)Q<62VivG7MBFw>n~S=lukGj^g6AQ~zvZ!XgI* zoKfBgp8lqc>I?XKd=&32ICa5u8!3Ve4X3u_kBestS#HcEsN=;X@7~`J{*ol7MBgbn z;fpUlpXaiOhWPappZGtAaE#X%Jm5=z8)L?=-}unA{ostHS9XtbT`cr={NI4(2)}SP zKXVQ7t^)q05aRW9$Lq-h{&?YQ;PSCNzE6Ru0B2%Ah(#K|Cr`x_&bp*k}ECiuR)n3O7>j)MY;O z4JYO}1wZ0NUS8MLjSdtK$`Hjzf9Ht|wk};uIhxx)L^|BQb$uLly47Cltw+=I3@6B> zKI6hSxOqFxKbI~&HkAJ^SLT?|2G|T-@2CR};LC3YkVh$Q3YaPW^dI~HX1KH+LR)ZP zj-N)38F96_DH3EFdKhw+c~Sin-sX;Afn%Oq^9ZxX!jo`(zlg1|rWEqcXnQIn9v(0w zpUC)mIJVL-zMLOX1?C+287Ob|`wwq&d;wm(rY>!x@tLD+^)EdC6(br3?+6Ef<+HDk z`*>J=bDgr~U>Y8mq@!2f%KP0If)Anap4CTn!z~`d6Rzpgh}P)a^Ae3pf=J13L_zV< zbMbe7Ym<@>ua8|U@nO7auDo??t}*!aG(%Rngb(z&Q+wv5y@%JwcCnU~j3(i&c|zdZ zZqcIqhtcsM1Lt0IbaMjZqH(w%@4>1Q79{+GuWKciWFXKl>p!Ej?EViQwf!KQXd*&e z6Ee7LS(_&u>m8$ds%;hE0oyVs;0uusqMqjUM{U`7a^Q%e*?7<=c!EC$PIwz*zIT1A z3trTHu4oo>G82sLK93$b325fM5iRFgA^acv*vF#xVNn3TSo@DMkT`a7MuLd0+RBin z9XxzLzCky9fJc7u7k`m)=+B`I&;RI4Jfw_m0Ii+J{#euVvC)>u9&0`+LpHKm0Af^$-8lc;Wb;FG&noOcg@8f`(Y+*=L{b2*2ls zFvL4XC>6@iYs%A1sChDlKas!RQ;BdS&#m?#TEy*Lq)bsl9l1nVmlNPrQiHmLu3FI7 zQ_i`!DW;MK?Wg=$#PJv5eXoU_0xjDw<&#n*(G;bfMsq*mQn(~ueDHumN-&MjgOQLy zh~+67+XoU9ooh{*t%;Qj2^!#|Ea7YKRb}sFNb8xw|6Qjz6F9)j6_pE3B_BZ(9SKsWPc8wQ^5GlL4 zeVSn571Wk`R;!0mp_gjA5ayoOuZ;`{qn_a5sc~|LqE0xXz{)D$g>jt-%BW#0!&-em zKRS5Jq8musek37%Enx^Q3*E4&X+b_%5|{RCK%3+}6Le1|Yb;ZKrv%{qytaF;N-tgLgmq$)8xckjM1tXP;d8PvYX28-|$KTvq|m#5LOpLpMxj9M{h_KoPc)|j=Ao>1-?`}hgdo?VnQV;Wzf z`Is+`6lgH{psW4mP92a-1Z)fdV~=xFgE?cD5}>W zj>%Xkx1@c6GR8aQ{%$8<;BjLB&GD}1d72q3;ROCdMFZ1(G$S26yNt(u^K~)=yucY; zl1cP;$&OE{rcCR<(EPXZvY*YPymPMzg%o?&)uCP=^R*(k<16CMAK`5Lp1+R&J;uP7B?gSPR@tk*-kKYz1ACv6zS+03UU6${|7Q&wYi7tKbw|v_l`Op5^U;m$+ z$8=o2Brq^(Z*jx}%Qu0|nkHn|p1t!I&V2uK&prLAul(psDVPRqZ#6Q_3FC`;nxO_IFFbYhUZaYrb~G+#_@Z3uVu)#_m|@8_`%6* z6bOP;3P}PDkA(2_trmG69|9c(5ts7Xdyj&;Ryz`T5v&NZabUuPqkCrJBmK0`?=Xce z**a#m_m(iTGK?FPFbIglgWI3eTiMkVOUi4)RZ4^qT7Ba2_ObW*QSVVSA0${C7v2?q zY-|uvoQ7~FfmK#{A(Y12^gIY*PDx71Azci?xA!SQV}Et;OE5IE^v`|LTNLGl!kq*r z`#FtS!XcdO53j##^`nqXaA?Qau+Mu5-|D4|4FxO@?S8^6 z1I>PQ2qS(}9|vCWNxun7dnsKK)t$`{6uE+-x-)`2N@%CBc!n_N`KhqYNC10W?UO$l zjTkj{3On9O$!By~}58FKOgnLe*ponUN!DG&$C?1ccEDNLG=*)IeGK$b;BlAH<4T>k6GDKZ|=INCW zfB3^Izx3Ict4ruC<-p$G_Q~f)_-`#KlluNC~?lZ z_YFSp@=-1y|3mB_5oSo^}b=UMOCxLx#%tu%N6K0@K3 z=h#!;SfnuANNEQrr3X9;d`-Ag^oI~Xm2b*`Hu2M9B(&DGw>OwXl}Ofhrl^>V618Uw z1i{|8vJC;>QGQM~9^r1iu_K&%;^k4w>XYMnw7s3;$#d;EM&kyI@bWMk&+ylu6GTb;5bwEczo-Odi^k$`er0RM|cA>{)7*3x-P@L zgpqKGCPV3K)!nTfB-*AxjklVsYOmou!p83xzRf^_vA}WCTwo%vPWd-xM9`coD9-S% zJx5652krPCq1)kCLQiuKK9Y=-0c!HXG>92Xihfb*=D3>24C?o(=J7Eu!o~Fx9IiKh z&84;=z_H_2jo}$-lmc4_dqbzbr+CMk61>WnVT@B)&vz2aMg}Id0wyhTcar~YwUy!4?R$+0+gWCW#r+Ikd+`}X|6!3c#y6akBggz1 z!qI&{BdFxC7cXwFJkwE@q9slhadGqdm1q&qooX!JyHSG2k~+p?U=e`_FTCp3TE`+f zd4*DMZP%_ff%1=5lE98*U+cT5wi)ptx^3og81qu_O&NiaZL9a1Cu{3=xI`BQbzXfZ zCp5zhx|?5Z2^`5`yH8e8jJw+z=I$0@{m- z{#AGqTSS`736EouY%v@6x+d|9#3__A6DkXZ2Iq>}cA*KaKB zJTWa=E&jZfM{8Kmc+P7Hj5$!AedhAvi!VO=BQL%9+;>0sq0WXc#P7{FUP-`8S?!px zM+q5mPkT7qgI{~A34jDwiz9C|@4`Ldb9q<@gcfezKzkR5AlWm7TEZA*<^IuL&WCv^ zEXo6(crmFZV^#ugaE&a}30-^f+5MChjLaBtN~kE$a(ujz;6SKyL=olgd>$JLqmcRa zly*W$Vr9Zd%5eJ*3GAz7gg=#Fgr^D0JS7%)aE>F>dIQoZYC34aA70Gx*Fytd;eaxW zQ>+QG#@+DF*JoqoeBLcyq|+%j#>i&Rjs4=$XD{LJMD_H4@AnTN`uLBKYCkpl$#<|0 zf8oU#?4jP_Icz^`E_8R-}YB1CguBH$^4SA0}_IN@UWwP+kgmmUf9X&IUk7#GdDHrZCz1o)~j}p3hy}?CsV^AT; zNe<@Zh11bpe^QTD?$_UDs+BA6yj!J&zs&^tU~Vp?WLz(Vm4dOw`xYPfN^_z}mbRg! zv=GYC4ZOC0C=6uA&S8QjMVrxqapXb5F8W-4>go8T`U%g$dhyc5K_~o;M?ztr6w03Q zH-VG^=Vl?c&p!QZ9;*vY&IaL(051qX`(+_KV0lh+e#h`rz~q8Q&c}iMGOVDT?4S9wn`1NVw7dbnu=|aXJi7L%5MI5V z7qUOb_Jf-}e>$T=TF2n)Wqv{<^HuYUTX^YPCR?I@o^{P(8)a4<^W^XHv`6VW^5u;Kj4*;W_qg9x(Sf5oOS#`O5s}+BBk+ z5H+0MZJ#uz@{aTCDVpXp#>P2cSYXOfMNh~(#24IyU&@>@mLF9(&dAXV^hg%6W2GJUSQyFwuZf<3#XK{Eb`NBV_k~=DDIo znnzD&Y%%}cYaY0t(azi*>fFB*?7EvkBo@tTc6gp+ZN%t)#mQzTXW`G z+lIDF7I^ktM|+-YJ4`S+g3(r&F`k=yw_8ulw-9x`XczN8;{{$?Yc6Min=;3}6#wm& zr!Kd(<#gNY%Aq21gpow_mi3Wrf!^j%J^I>4Rk?|J}$-d^h&-~nH zRu9I)G}x$rX4#Kttslqb7z1DK7!Z4PTz(ZW@O9ttolNn6%jc7y{LybKWb4mlJ^ww^ z6WR1-HSa@^5N_qVYa^eaiLnWBSb1B-UH772(~$N&5*!$7o}g1~IS0_GAWm1oycc?!BwqJ0xmqU^XnJu%yV zD+G;*M%Me8i*P z5lSg8R}+kE6X3z%1tdUPn4fv(xsh1PLXLMRdz07jTLMj4x+QB%z8N8h1Uw3sXB9${ zWLA_N!U$qFhp=A>@be4_KYzx zykLai>f3)fw*gRu-Ak4m^?_C2e1x77Bn%izEtJkJ5Ne*otS?jFnp{Vm3_srmp;G-a-4cyp^>Jz95kAV+TgQ(#9VLbUSDODZ&-Li{Mfcwg>| zU>+s@I&q?L6rH_0K8+u^VtgDYL*(H@U*lk{4Dy@hK(KHAVhR>-nqw`o1m*O6xZK&{ zl}mvSALxgN3FqL_$Ga(Uwhw?CY||?(k)nj4TZ10XKp)B3!ud{$r8VwOird+qH*RCP z##?h;?a~bnt9LgZn%+IijGPX0jnod<2A|gH3n{uyEh#j)L-#x0EZPsxU_8MlD|&#^ z|DZYD-u z$iDet%*BQGi!d?wp$Wq+<(YCl471@!*7Y~9yg7JI8|v1-G3I**A267LlY)#deS3~K z*EcWjyCr%Bo9!I-TZ2KkwNQF}0Q*o@<89l+#&{dgl!)z}t79zd2RPrk|Muwbh&D;V z9b1c{yNEHx_`s_sXUE_%{%T8sLj{fDkr&^VxQ=I;001BWNkl-_5YiYmW!l59II2DBLsp>YC4(n`=v?1pgAEe%O3(j$Yto^x8gsV&$v8=BtN7 zyv^um7(qI%63K=u*h+8*nA8Ynep*TqrWW~8Nk*{Hk$G;!eZy{ z&5VrAtGnwfAA0Wc$}^WQt-RY7fVVm+;Z(-m`x5r<6+IG9Y@fLh&x?NR=--{2gTL|P zYFlTFcLw2;ZM%?TWuu5gh7aNXPUkUS@%)4Bet5sXDd}SQ1qMClQH$`&P=^1>7qMeF zjlVJgde1yy@R36X&g;8~Ly1z2wZjHEx`;Nk{ou^m3mGO$P~5$(3?{||8vWRh{n+1p zRDGXcLiu~e-;-BE za9qA<82G@dV_)J3o6iHllP3|*ED2}{=!6FgFz>j~M8A26`uxD}{@ve^7QvHoYvrYv zUdY3DW97})Uv0rHbTt8sV1nN0zb4sI{6Nw4Jwn41ob7F-K;oUjH!1Yai6*=dCbg%i z2M-NT20o-HCXn(P;!R#$R(~E^pB@;BzmW0`p0z#}?qr6+hoS^1A3W)<_tt2`9#{1V z{{y#hN5$Xzu=GD>PMY!WR zC#(@BH&Z;8?EEM4v=1RPXag~LwK2yUnBZ3B;GyVHKD412%fk~A&M3|3_WqbOu4e)@ z&pv!4sUE?R;xMyA6HvjfkKm-3QOc4i>l?3!90A6DT3g>I6QsN&D|JB5oDPA)NaI8W z=RMmudeHU*_*kz)n+d%e^%oA;)2QIw9&rL11)U(bSs(Y}14=U97{-+Nh%)=2qa+^* zX@;L*Wl-43TgXr_@Q_j;)mILOz#ot)Z)0C^!XBFAgC)fF{{5-6;mgtY@B;VC90pH# z(zpP}Zv0MwTklu6oq&zT7U_y;hGm$qys~ZFkJV{2fpDCkAXq|*Ed9tXluVc?Uz#|-xfP{?V*c(8 zktx*_-%_AOr@$X$&zZBck8mtoKjY9aaIM}STbA&pGvLt|9vG0k%b0`D6mV{JI*RL_ z2k-m5J?BAv^u8iFAKq&azK27eQXl-P9yq`QzUPs4Guhhp3|IE~qs^ryaNxO_3N!jkVF>|qf_IPULu>1wX=vCxVhK1!F z9{L4#xD>XJ_Tbbm`cA%`+fmFfe&ZMK`OTZ`?*UUUyN4#8bIc#Sm?zbVzdS2%fN%YQ zZ>NIT>h?sDNI&Fzh#< z%XcAy$e6r-ZEit$uH$}pcjbH8U-|6kUMn(Tvv(hF4#aoCk)hF8TWB$53|qEZ&l=;l zT*x0Fv9PU%<_GKQwRdL}*Vf51V=iC#^jwYwbJs%0gABp&AZluiwT#dB!pScpXheri zqiqo+(N8oH+@dSI!j-uepGyYo9R&}qHeN*nZ5OTNIq%=PcI^j5M;%u0aXH4oF$TUc z2BtLqh3_3-{UT%F>%ac@eyS$F@6(_D-+rXU;)fEJ{;ejoZPw*Qur(nPW|oB%h=g>L zt7jB{dv4kDv|JmDmDzM<<-hNlKl|}-{UdL>cU*q;Fd$4bDSTy%u$+QVpyw4pCQ22W z4Nqnvr$Vuxf8n`9g3YtfKAUiv;*!Px!|nBd`Q?{;wrs zQat-%?Ieq&H4b4(Xd`~Icv_qZ?0ASWwp}>h!dHX$;w$BdmlBc^czIZdAk;#=D7r(D zWW0EvcfI4jb_k=xP>{eSlred4EZmGCU>V9tN?5YV_$^G^buduGMN9Zi@s*e`a1(Hr zBx;1@2`4;G#b$ca7I^e8hvyIu&#c={Fxw$e5*WQV_tzc?n+ZZPAiGY_C)n@`^ZLr_ zK8`aQ#sy;#o~NOOK%_0tdv|7FpTY}VyC!s!KuRDQ&vl!Z*&b2$g1K*2mhmab6N0?w zeV%t^(umgtv6~}m)3vGW3H{v|0vazl0f`bjy~6JsiKZa|PBIE`PotNP_~4RQpOoD@GnoEI`;Cmj%Wn?-%|t#;=FM9%{W=k0H?5!MRtr;S;CQz_qMLjWsA3%JFWBLNL7=aR-~N~ef!VGjz2IR) z*#v`e0WRhhCl6|3|Hz#EBImP@+{g@9GW(U@dSS;<}V6$j}E1nA!92=N20QW z_%+kd%EoTq&~h@^3UaFKX81zg_wI$u<{X|xco<>Bg?k+Ik@e23=cWd|Zr+Y%#o)c#45fZUu%4^8nr+JR6T}cB~;77TTesdla)p zc`A0N-b@8?&I>6`^3uh zPiW6G>d{a5zzcr6w5&^0>6;NHCmS!`QGBDV{`$;%tP3*&Y4kZ>2P62v#el7CbAu*M*Ta6u&CAM5lBZ;&3ZYxuB z7!-L-VnE9CIKnU3B;vCzr!LixX=pMB?iNucV#zj9W6yl0J#9TGsUVu6(a9A5nHX@M z^kDmlKAjF`d_T9DX0UGTGa!*&^dDYi@K=xViXL!+kMM!{0G_pHzrXpGF(ym&pqFRI z@77=Q^TiAf%FqA&&v#7X^$~$H@G`C*|8tCiV+?#D3>+H(z7SS^m9Ks6*M7$@1;P(~ z>Qn#gf8Ip*?>rBRDVd=Mt(uC-~;u-f{Bb@tIvhe=B{{G=_{~bSY zoY{Y11kkA@I%-TLz#seLfAsK$7hYKT^rwGn zEUY)Kza8CAtXyi3{m=c(PYrAT{q~qr{-1bahT-uj3I87@!QO(sMnO-4rD)=j;knC8 zU~i@Uulp$oQ|Q?r28X@E^^~E2$9D^_S;T$D8PF*#cr4#rbrSdzK3mWU4uk;rco-DN z+VQdwL_{I%wLh2_a;t<#-j!jTf|7&X^th!>H{&23r8_h zJkfaeZ_)?-;KR4RS7G%tATTII=RSDqM2f(@_+Q)bMOz<<1JNZR(^dj|T=4-uTTl4+ zEn(sK&BGiWhbJsN!V~;#%h)pN43Cb1m2HY3tmLUs5bIBUGw?>x?lA5j1jw$*0uC}W$5 z4unM6`wxus`XS-gr9zO0F{b-ZKmGLZBx}R{McImS(QwlEO#E-`QFNEYdGIaq8UEUc zH}Je8E-7YptM7SsI)1*@v2e~Vw||)8Vk^+YGNiBA8qok;B3K-CY8=QfuwDrK2}w3< zlX1iRxt7wum-2KXhL;y*oSG3yABsGxx|5=z;`O^3HEh9{Mkf2Cqiy*E?zPPUuTgNE z)n0c8y!en2=UllhgxDMF3?p;yv5)`Z*lUm9;U2#&_q>bWeJH7Z!vVa=mB6sVkO;rV zrE%d|b@*GDzxhMG6h-}KteDYK%>jl{{ERk|9pb<9Bbj1jHasr;Yi`B-ys>-Dhx^sx z8=P`R$Pu!2er_|m*R~98gHwA93Hm6RpahHN%-P2|J{M!^l5mgGr=R-hee2WUx%xoa zX1E=E(S7xReT*&JNW!7*Z0?J;00UUy3C-c%GjM4xVpwHl_xtwEj=ZhC37he0ZLki9 zi|TL>?G`@vw|3x2@wazH>5Q#*{r3Jaym#N+q-}GM=X}rw?A~2YSun>A7#gcjmXqS@ z)wlaALqvwy>(}m=Q^3)@@nAS=V|(qDsMX)ig~petE_ot&!5Kl#)w>Vwt~~Yhlg+nn zJGm`cXY*f^#F=PN;n*qm|vHiz*^|4NGHUTq4 z!R1p$FD$1;z?&kHfKlK~IUgop&*(Zhq5Q)ECxT-_htV^-yEY8#jrn`SAZu-7TEvd^ z84cra?=du=K2?63_{VmU*FX2_$~$kqxyq3Gg}ndfNM%xZ{(b!KF$TU|F>q`E_!6f4 z*MI$Yw!v=YNB-eI_|ZS#@zE4xK(dfR*}CAIm9Ce8og z+keOR|NU{{_@6Hx1}F|oS^i$WTX-d;84?+Ry@jtIV;`#(>e=U?IsDgu&v&l;=HL9A zR$hDcm6cEb%QyzeXkS9tE_EsT+pMB*Q9Ql{P@XiR;{m_S=9m0bJ*+M#w!)wuQ z*{tpq^aRGaSGff;Az$L1vDi}xdIw(-peR{GAWzU*_{rky?;)tP29)6co^5q4Bj;Y2|;f!K@J?e9K2XFYGE$?gfl|>VM52K zE(oST0>=b{=}qI|I7~5Ph>(37yvBzzg@-BBEPwk3^Az-sJZ&5GXc$c<%mhHs4FQ6} zU!5b0fgqd^<@X{y`Wvo%FKxg*0SrzTJo?rq0d5GPu|iEG^oeX}3kC(cFk}Mzq73+3 z@-f0Sg9FcudI-qyINQ_FsSM~d?-J#VF@Qma;zej<2%@Ru6GEc|Qnm){+oz%K@Jz5G zSZd=zVcdu9=a&r5Zw4kf+DJIt>`d%gqGif}a{pnG2N_N_qFZ1F8zTfExWDTfMO7{W z^d=C)0UjV+g9%>X3=Hn+pZ+fR_4~rbjtTU9b(}4dgHo)I-jg&>!m&&Z(a11sycI60 zP@Lp7ctp`lpw@=aW$p4*Nd%^jg~kM9eZiA>ZZXn`0#FxP*iIrW9IW=fE{e$9E$}2cR`+*c5tRV~U%)P$T^A9gu87j0XnnF86VQ=1m4|U-y zM{)_1r%VVVe=MON&rvSD3kJzR^#zWV#p}tCrJ(Cx?ZNF~bBt}F-i==4=zhi(E<5BpWBuBnC`*_iaKR~ z8VK}9fsX|ziZAAJjqwA$-!JA}{4n?D;~%`> zw{LTq2oGc1JxVDYm{-tTQaR5qFq>n26n$6p#k+p%k3M?F_u!ZMfxf3VZS^^dmg=7V zf%|my@Sb^+g?AOOsMkE>9@@YTA^J%KCzH}}r@WkyPX%SV0g`6$NLNMIOF&;btcm?$brJ>#E< zCrMtx&Hw;@hBocN6Qh%PN8W*-{K=nOdF`{Wte!c0_P4A5IKw|I9G7DZ{K^=Zv+b|^ z%<T2nUk;Q{raXPP#pStWK_^uEJ5lbv&-l4=__?0@ zp|1a_Z~3-A{7N^E%fD<4K=~IcL&^W(O~TUq^cjDT+tIDXecYN_%F6jCA3Oa0|HgO! z$e;X^KR7J>V{iW(ua5=sD?j?-7UH#)U-Q!|AKrXI1*Q3VSc&!K1ffIZQ@)@5J zHhH87#P;HCrcBDLPsz8(a=rF8`Z!99lB_Pui25jQypA$5%Y-}(B0)YQ2Av2!l~i0#)d9yxhz%53Ur`>XVOPb!wf};d%fQYJ$TS8t{8&?tPr$iG(sC?T+1= zUjCGp>R$F65^yAFl$Bp1qnUAfdgu_4fHd)4<^3iA@>0y}Q#dCC>i-n5<}-vR_35Yg zJVQ7nNTHqQg+vlU{q6bb{htaoH@)o&KK@e&Jfi^w`TJp>Jy8-AS()C25Nn5mEc>`4 zm_~BDp0&4>x7XfQUagUdxxSC%`dA>eP%|UfL2WS*fQ8qbSd0=!-)33@#XD)(F; z`4Qq9?MotM3ko5dAUKRu!FMXYp=j3q@tpnQQ;47WO!QUaL-5&myx|pqy6dVCObOg#*Gr#;YEt?;OB&EZI3Nnyy_uEsH|&}lGy{R!xUcMj`x#8<4j80 zehQO5${7MK{Hd=SDN|^%@az10M&aN;a3~ZnLbvCp!I&qvF#B*P=fPM*QjvM(C>MA^ zgaY2NS6&VSfHD-J3okq+0!#$))4?e5n`EQrkDG-@Gm6+wLb*T({4d3e&dlgHjK|I9QcPE5fV-^&{w!{q@MNTY~z7K89?=+`E1k_&KtMpQaJ_iu|mN! z2h3ty1Va}-m}}Vb+gzhRej8V3Tf4UN0@uWtgUmzfTGp#!;0gbDe;Q%T%PIWvo-xf> z#@M94a}KstOoi8Pe=`{AH$@e{s~>DmR$%n<47kRr6m`IOam`V&o->|A@1P;r@wzQB zqH*vcSe1O zvUmHqd?{hTs@~#9n0orf7Y~2$@A;0EZ~m5VO0c@O@-v0@KTJsaqA`aKlT}VrU^HP?NER@{y1v`07`SYXVYUF4lDl zfOiN(7VeR_szsJ3Xef2@7GcXLnRP6z_>B<3`@MfaNhT1eo6Inc1%!r^9X*r?H^LQp zED4kZ4ee<6_L0H?R)PVc$$P>!W&ggE0O8*BKqQnUBoIO=EW+9eQ4cyEQ1R~c5E}zC zfg;6{f}l?Ict+6|aGXqmTLjOkAWhGO=Xi&d**+nZ_&UQ+T_5!CTt}<^2ql$@1nx<`lzhsU~#nCGWPXRNUt{R zGbU70a9w9mkii=~lm>0;H&_Uil#Y=kE5*Za+1VG`AC^^`=S4eXt3XPO6Ch;4-m`V3 zerSV$IYVAcMAbRc1Xm|OP_SnI7>Fp9(`)#scNFiz?eN$Y!s~C(6Y!pV^2vlsUhst3 zu7g2=JHPRaYx?JXa13KYLh6#7O*2t`D0!j*gx2ns`C8~WJb0f`h2VO-F$Mq1S^I3` zw<&zu%bTKEzbO=iU>@|5$Synx<>jfx*WdsTIN%yzG1_SheEP3VMzf8SY;bNSa8qLL z_OAY>Zw&hI_#30bnIC09c%N@6EA5lMf2T3PxH9>3;(2;Y{cTGKI$XbYV<tzV_v_ZAVztoNbJYEVA$=%5C#1hsK&diJc1%>@D&5mG%VORT-9Xoq4ZLj;eo=7 z&n`apL~o&49(iHeJn6v)2IE;@z?Gge@WCTGJc)VNAJ%pn)0~&WH8|i`1j>C!3l6@R zp8LTc8Lue$6d!!8{n)1v{%L4pbi7&r)$a(_rlm1Q8f&{HVZ|5nuberv+ULTgS#{n_ zxt9#{?Yxd>&vZ;U?-nIFx<`PAF~fl-(aMs{;&jQFx!S=Y939?xm>38@5de<;SPqztDD&sZ4iDNnYub z_9UL2n<|jP-&4_(mwZ z`qg8(g$whpei>2f^FF)^-3Rw)Kl{pnQRE9)ZTEBE_;UZ|t!o2LMxOI2=yJ3OuYV-F zzxe_WRrjTfXZzSfaCM9$##Q&=%$S!vlVX1A)ao!&?c6_#5Na>IBLU%nLm(~+{tTDl z+xz<2DDAuTxrX%3l^f+GSZFKM|9S~BZ3(&?U&0Bx!o^oRyPrRG4#j_%R20n{$Ko`+gH#>$DU%vImn-P6Rc*y*}Sv$5?iGDmT#~3)qz%P#h zbH;J`HH?8D|FQq^H#GbG`%RvIuvNhd_?Mbk|NJ+9+xHx2_WxqgwGlKt$}NbCwV9>g zA~${)3BXH12$}nH3B0YQm9;!*2Q5+`{kpGB@&DIWzUr$!n#b#5!v3|g>s}dF_|N?8 z&$Pg&Sf%_KthWl`;~5+RMV5X?{7erXPw!MLER>7FL{YH-%YHug%q5sI2v}qZ=ZTvs zGD7+YYjaU1&=5k@W0CfE4-BD&)n0K=p9sA6Uyps*M}nsJ7s2164=xG9EZl@2#qn=z zDe;a+BFIz92ug$`!ku=R001BWNklQhx}7o>Ry24JK_49QHkv9KJtoZl<7s)n~Mk zG6k-s4q?6Cr7XFoE{25#uhW}B(2Bmbjb5Hphi4^gqC7I}sEa3wR|kF>8F=a$R^S|- zc^>s|WF!xl*WSG`LMG=K=&LE!^B6CCE1!PmsZl5X;W?!&T`1%9z38Mq1|oIBu{uwM zJGwC?l~-mfZ=^8w)p*O+6!=}jM@1GmR?#(rYEX}3tI!v%;FZ^hVrJV%qhXAh^XD#3 zy4*QRh}rwY-~so+$3w+1u-&(PvW{wlucw}RW+;gGlOjKjM0l#41P!+#gr*EpU>uJq zgd9KaQcxOOFTe8HmFJ&-zN4w08P8s9AFdNJ7Ty?%F7v2OuT>$@^#M({6PD3UUA{+d zigDF27Xb;;Jq;Jn*M_g+}eeI?+RPT@015LMsJ>bJjUyX=B+1#PK<3`9QBXnVMk+l zW4&YZ3XfNYM>~)=g4cN7$>XP8bqm>5Ll1?|^CSNU1Ax9QNy8|d1KyH~UA=m3C}d6% z7||O&hvt+A_yeE!^fyFhz`#AtZ=2D(v9gy^1bdD$T~1DMVgh~>y37C|A_zTv2EG|B z^D2s9fWNtydL9R=?~=CT!wc<62K3f5BkO@uf6tK9iM!n4)YnsZ_c@M&4GJu zGa#V1=gh(C1;cJ9cfg-ymiP;P(cZc86h%ku`K_Pk&e2b89`Wa$julmpK1Dj9&>(eEc0q)DDT0=y7B&8uTD7E4n-O6u9Z*@UcqL4!T;KaQ*(oHwD6H@ zlvdA~5B;vwqd&Gkc~4#N>>2R$s)O6J`k=4qd+Fli1DBFY+ESw(IA##Ffq@~G;qGDd z>ybEgMj@O?;RoyR>KFa-_>)hJKKTs~8%G9jkr(P?{9^DyE72gQwi%b_nuAZlg{I_* zt&F;-JF0bU6%Q4?aaRJ^xjus#UzuaPb3P*w+Ut+sw)Bnh8ozrMjplf1-fFDeKXME( zoWTq4KbXk{@b>y^Zw?-MGGmx}e)ea6ew^BIFBo3?+~-#Bgi}Rshb8=fL=Lf}9+zVb z9An@MV&FIe;0vPV*UrU{|CT=>q2Kov5%8ZRJU;yTZ~X4ep~vNmg#nAq2+90FgTfnK zKY!uEi??pxe1-BR9I~~n>oYW)(2(ckvwz~>{&!y7KDV7fmXMc~|4zsJ?B|8r?>L{; zy%tN^d=ut{PZMqk{T4_B45&j6D zAN;*M=Ud%EXP4qP+$jF`0h6|eAYcE+JA-yb45R>z;~5j&lHbA`SSReg5?%8~CxpSP z!V|gBnxX>-^`g2NdMG>@8fx?U^_?M55uWvjaK8w`ywqS>1T^)kXX0;WdFBD!*%9KI zQklp#_Ub0A>$7JGVCul<3`YaH6dQXqcN2(D9GzXSZg5cqRuU5ZjThix7%}48g}wt{ z;cno)aY66{BU%!|g~1Y7MLkqw_u;w+mGG)QijgzsUwP$~6zX~O*o!ZIXywXV?~MB3 z^L*F!gYqWPlwuF^i4$8ZXH&GUb#&d;+R{Ju;E@+!d~rlecpsizleE&9!9PM#T~jY1 zm>}+VLueF6fP?nmyRTk_GORxe!B{=FGIHn}r5`U)xa(Yh=aEm~_dOINPxXwt4&xVf zsoUup%eET$RM5xYLcsBWcP3BIbLc(eUGT#9lb4_Edjd`gkP~FWJq=kRcGTfB>SeL1 zprgoujbS{DYcenp>K``#h2EdcP&F0TnfOllyC@QUa#lLNTIMT%FQ2tlhLw0coQhz1 ztEdWa;>nSNAwHSgZ1h9aNuI{`DVsy~GDfaRTBe;~gk$(KhU6o`W1(aK)Icl0DlhQ@ z+Tk15#}=jfST?}nwH5L$e~7Z${I;KwtJ$|7jq`A@TJpdXwPlXcj=lbrBzOWJUKm>* zq6hplT!Gh7ZThEBi1E9=3j@c~ivAkMQ<0xITkvlSi+6-TFMZpLukaSSE&RGw?hr;- z&!YAIzO5ebv>(BtZFE(v6X-(;_P#k(Kh&>)S#dJWdUKvJ$#`_{p0Sok zeaySlP$}AmF=VM*U(6k7A*5S>)$MyxlE+$Ae?%?mgYmCzeFT>eUZPODKG&TY4K)?^ zxyN5y-Wg-6zZaeZJ6?}5YIho6U4!>wT%we=zItEX;DR%TPv7wE!$S{lf8&1&FqqBn zuAMG2WEN}pobT|9zkT!@d_H6bxP~WnXyw&@dGtJ~b6UR!ZIclpW7V|=ukBY4Ob%{B45b;dl*P&xa3Zso=1 zMFs%#>&=^FoZwEzc&Duj`VJ<>1mCvUxTX!b_tD=mei}o{q~ly;z=qDokSGU+OHm3} zGr+(;(NSH{4x0pM50&##%gzv-L4>vO+m zfc^gwpoB|Vk`>lxi?jurm!I;_Q)$m-GJK2J*|8`lH2tUF@g3jsBfsl+{jQaFJI?Av z!tOyz|NRtY%73bOo{Q@x?723CE6x_m`rN-bLuHc}5@2`6{=dx@SptMblnTMJ?wg=_ zQaE4293{g$o*{q`;0P&0St;R^z45Clbv&Kgl0;7t-QZ*4RVV=#VEraItx1fPU|Ayr zh6BQ1!g{+h^D6UroLzb4m9iM82#&=&{LH%MKIVJXyOE$e&dNR#fYe7AneEIygFI!9 zA9CE>$nc%O$$Kf;8c&=v?d2XIknNN}X=6hYxS&Xwpz!IpGR{t~k0UF1N|xvfoVbr^1s}Us-4-6V7;JWTZ zu=FkT+|~#Cp4U?p9u(p)b{mE920<)tsIIQpz?S{8g$ob50oH!{+TTfGl$2_Ca-x46 zHgS{T;ypYMVRRZ`PE(c|D|koW;g1K&9%@;z^&4!2R30Y%TFMmu3CPn3q;Hg}8eIAK z$3Gs-@N+nhfqLF!?!m1-MZUrJ>(QH6eI#Z)s@psPZ^_+}U>dk?-`k;^D`(#EfO08>aA27;k zJM7n?cse7%PGfY!-g8HDEae>B=0TAJ`2B3r6}1x17%Jq-h|WEKu5fK7aF6EWa8R9^ z!B6mKJA$oG2H|jOzq!A`gUF5awtv_jFq1(tmf;_Kpe}1e-3``^ z33+|BXWkj#%>n3+28_@6()jjK7+Dm@)9r<4Ue{B3h$Z}#nO<^A(M{GStCG_d_WLM| z#T$*EN6jTWDR*iG7dkE9jLLqGK1T!JJ`10K3$FoZx4D~=>Yl#&m?P27JL@I%MacMqp=06dl_EQfkBr+LMQ=_}K&>mbO z9vB?tV!7B@X(}ED5%8^MthoN}yQ}#Ah%JX9^1b%L{c$a~O;iFk%&&_X6$(qgMvyr-a)(6vDzri@zoTU2}2(R@77hY7Kg>JaKIwB8qD zZh<9yfQvRks2zfP@LDnn8tPXF7oJy^XS_S!Pq-Qef}W>TXkWC$YWt)KJabPz-r0RybyAQ)3{{k@xzKzjxYfx!3S!Gj^p zsfPeTiPRs;2#*CrNRN#^4`sM}`lT)3-r*5<@9ep@2;44IvA^MAJYW0Mt2ULk&&Q2E z%$x(J)`@4Hu|&}n5_jzxo$wQ|BnQhZQGccah)%BWKIpvkl(h>N^lutL7$nqlaL6+$ zbU6hjfrvn=p9D=_7k!^bftj$4Q0G~FBWUS|{`%faNuli7FDazm`R9b^-TtNsQ4D!w z(RU5K$?)Nw(n|2!$8U83?(v*&d&s8%K97=wBLX(h9EAXEyju6;M?$i2Z12GrIHrdk zU3kaQBn9FCuT4ck-RiToL&B$5Uwb9EPYhT;`jM|1b=_}oD{tHqSyJVr7$!3pMd92T z8H~M?Cke09J4j$fU;Nl;s;+o2<=-{Q*n0{=$cTE9R8t-hTKnCZvUMZGPt1Tz-3B(Jo%_+lQczpFOwq zQJxR;hik%{@v4yS%u0Dkr{bs{&uf=}&Tz1`l|onk4~8V+>0>W`j0^Z&#+q@#2nALV2a9s59W;=15w2=(@YOP=;oY2|9mh_>qjEN- z=yda|HXJp`h^9_s)|QF2HHPUq=NT{PwwHn?Nh}vs)s3egL<`J<_(%Wd zDHT(pHwTR;&ib>;G_1R^){IJ=uZFDx9F=n5+F3!-K5m z7WkpWI5zLJaniG@|YUPwM3%GbRI3BWD-VC9{qpzyB9rhoNH+W`_@*tsqKS7DWMqwc&5-fRB{ate-`T^;A7#U*%F<2-#U8_CW)xMpz#>E(Dp! zueN*wGq@+u^Kh@HWbN;!>;<#a1DwxIv3l5+mU`6Rz^Nb6c_Vsemq{U;bx}eXtKi57 zz0nH&jET+ObDi+KwBJK3m!D`)eBGq9P<#l^8+jwow@(}%2QI@Y53P48>b%g8;*D2- z>E)Hrz4A*dPvmKO^UW(mkv*|~VddvP^K&a-^R>S|{z+L+P$!Ho%0IZ)@IpO8H+(_> zK5XnPun+iCiYN*c2E15L$G+p4*Wu*wer~nrb{shvzoP5O#v|dK*B9J_*W)AorI5I{ z2-1|O1~i0b07(EIgJ>EXjGfhC9Glxes(p-+>Dj|ub36@2A*xJTG8Ec2FpV3NC)Lkr zG8JZu_0mW1dEdRE*rbe~imt{<19aepvg`Rl^Fe*%Xc`XZ`wSGd$GFvV`sUkMFh7_t zDLvaMtwE6jKer^T#yF0nWCXO$ZV1f{U?WgijkEBS(vbrJ<;H(OZF2{0v7kO2VAcV9NmDo+4ZOdUKjYk=L#ruAD36 z+g1c&`4n%sb25T4Wc*D2F+V!84ec0az*V>62lcBP%=&}RMIbHwHWamB-lw(2bJmG- z=jRc5U^T9Ikwty;QhTvDdBKD_+v&~XoGRm_Bm^V90 z{6F)|bHf|1zVi&E(M-e%rqw=#GJx%t!0z0|3oGmQ=h_I8jUz*Zb=2G}x5UF}0RN&X zM6W%l|LT@o2M)pCL_H#i-~oQYqmSn7`@wv>WT1|N+|J;CI=-m7F@9VF69<7@M9Z;( zW1JOHw_7e8xHfLaTsFM%lA>BeX4DuQ!Skg{Z!rA){5T#VSv0 zo~lcaT|E5W@BQADmtJ}ykLBH!&-}vAjm7x#?v~uBU$hTufeWr-*7&9X{(?|tn|Pio%M7G`0JLiG3U5e6s=RKScDLcDvG z^0=Sp`XB}S;9z=VhN54xDeYRT!KA2LoA&hbZZk%}10#t&$$Jl{LQUWC9(V`LJ*O@L z;*5Hj-X4MnLx_FVU;;lSN9e!n@IzQ(!0@g*cH19%<3_*Ro&c`Z_9h2bG@f3%9L@ty z!VzI|8Xyuh-&39vkn1>M&O2~yudKEx0`TM7^v*L9ZrxI9MpU{}%M0h2t92}tcQito47vl2-d2^3vwlXRjck(3!!r*22Fdi2g+Jo+WN}7-Q zDY5!u4mbtBj3Gw~h5AN&jelNDo=8QV-ami-!ho6a624s5PfC|EaSVTwX*QRI*UWg; z3BKTJo)pEgd1M@Gcz2JYJw+RJdY0j?fmmC3G-bG2P8LG^s1q2#=r}>+@l@k*dppBx z{V;w!3m1xBoiJBcSEH?Q*jVaJ^bxUwNh<@_@c>2NynRsAmu(9B@gGB(QwPjJJeLeX zwm!jaWP7g+{%PJdx4;8D35kbC_<s?#wGzS=0^S(8~JUI;s+FPOl)TwRr z$W&re9#alig^P60eb<%2FGq8R-|m6K_cH!GZ`^$diL38M--B074IrwQa_$@O*`ld zKYoLC{_feeP7H~s7v7)inK6HA&|SNDP`}Kpa))fhSPY8hHnTQLa^Oko+ zeJpJ*?P4=9!pXVw@nm3&qChKn^PGNDxc4&T?%cK4e~v@X;6?8mj|_9h+Jy_}htU~J zY4hIwaxo-(*!rZPjqOA5?=xxG=xI(Gk!J9cVH&Kq<)~lrtYa3@fHYzL!n@kA9pTFB zua`C<;NpSLFOzRS|LXDYV+Lv(^W%9RGccfnyB(b7R2y%q@>Cl2d|nwlELx z$3Ol}hu{6(-_?S7f92Dk{;8GM-*`1)|89E-Umwbg1)WjgQTHEF@Dt>CvL2=o@uJMV z&XnL3-h@+v4yA$TYwnXP{4(L40Bmt}wy%ZL;!YqJa!Y6=WQs;eUQ94a0qeSA;dXI5 zuWh0cso-c~_FZ4B`jy14u@DnvEULT+1Q>r)vYmJUHhcek_WKYbc|=4$@WvCY*Af(M zV;COZYE=*6pFx750uG1aBAC^=>_3(0OuYme;fnrtycYqOW-D7Y;f*3s7$D#)gfPkm zZzLST%@k^DJ3(V8s^Md=dWDe-ja4TBo^TV!M!z=`ZtLoREu@TghUbFd=)LOJE|>+tqHtTc|mDM<{UneEW#%@Br^6I#IO1`PgGlG(d;=EIf8;C_ZpH1lpuV zeHU_$_B=)mGo!Koh0~32;Oy$DBu+t^!tSi@)RY0Uts{<$zSWySf7?pno%iY8cit^D^{wEU=XihJ*Zs!E+oyw^$1~4iaIP1^iazK>VY+$i z`pP?3-!1{*)s^kGn(&I1NQ6?GnDWN?-}Px<|5ZW~G6iO*8*o2!f${I;3EE$_w0zWz4`^HfyOZS)cS zy5_jPWgO^-J{zm(KDVma(>}w~;aZN9?Y>2f>``puCB{Jg82gmt4SdN{Yb13cU*aY8>65OSC-5{p=oq@V zF=;&4t7!~HPklU}0qfG}pX7z`idQK5wn#8`kQ+o(z4pc%E1&w*r&g}M@s>e&6pdp> zo&}~g?#jgbyng)eF$Rt?@K0l4&Zz(N_2VnY82GZlfCXdu{D10j!sZP7KPV&b_V<6} zD_;22*ZqcH_am1sbng1~cUIoM^4btSB(S3BKX{PGAVDg%I+u4Le+e%3A#S#K%fe29 zvRL1~eQS6e2;2l9QX_@l0!w)##9EZemCo3$wxO`_RLUGY_840T`&bAqsupD7%&rkW z2t}t#0;m5fCZKrM{q({4T#KxQ-QH~1DU)MAeD@_pBPiau;n>1=^BUVb?|oi&f;{EB zG#8wL1CJwQu;>%reNoBnTiNQPW!ui zP8j8WeWgqfPjz^Blt4?c0n=te|7LxKPq?Hg*tQ|Nwxn1T2K7X?fkXWzeDU-+E|0Ja z?;}%vf-T_)JTp}IC^8~Gqa;$Y87Te+4|@bGH(n+FM8kAg1{qIF^8DLe$kyD35k zwLuBwIbt;8xeThVfKA953eW}!q#4jrEvZAj?$x$?B%sRxmk!Y zK{mdVaEuZVw@moL&ErozHuwi(DAOY;Wj|~~a2f<}k-m3(@F(7ee*&Lq3SOjc4?Z_O zc2jU9mtI_!Jakd>7+k6qnW-9R_cBt%GHP(hh?NV0?r-Gnu8*30O45%6)n~~qXA5gi*)t`gN-pO5>45bRe%PN=gazL z&?v6W-WgMV~F>W%P4uw++KfE%=85pJtw&aC*dRN)s)(AB+ z#*l8D$x`aoOge>d59CK@?a z)%}eTP2Qsu5pbC&oWva8w{P9vdeCRGfJ01iT+Vj;|2acMkkKVNU9!dYinZ=sxNvcZ z_GOMaux+X%!x~I$heD$#r%$pGY#F{!%S3z98mrBtt!cJ+fy?vO;ZxoBr1?yJk@_}o za9Q|X&Q$9;(l(jW-np}?m(+m72 zBZ!Q{-<(LN%djHn&>Q^VD^6hakMG8r_$bFlTWKs#XoUQ=y#U^fld-Q&IMEh*wvLkv zjDP%u639cvc&%M94c%w}je$F0X`??Hi;M-bI@uTfo=zTUiz5X6Z0JRX02!oBbgrF$ z^)LU`-+OTP&hONSg>m4ElU#UuLuWqg=kuR^_vZT9KwyJ|pH1sO`&KvO|MB;qeb2wx z9^N)B7(F0+@Z7QI@53*}pEWcJDx8@vQ}%m1L2fqEn-kifXse_50~_hu{C| zS3kJ>>%ab$fB5#>=S#oO^Zlyx#kcpiPVH1oZnqmt1$~q;`=ltp{d_wq!n+v;B4x`! zS$p6pl+Rl5)1gL5qr6RlsYXgsqFhN!RS{mXI)#vSQ&K4U6qtt$$P@_*o``_xNNai% zjMbah82*fShQlbKA_1#HGEctWU5pE{th*`EjE8fb-%ZJ+Fj6?3ze_Q+*PntbiYf|M z7qxeEDS0UzoBk#W9Aa>pQk7W|~oQwAww#yAz&O(KPYq6Z!n)g5W}DV;BZ;PSTXQLWkgmL<4ar4sIL-w3O_@X!mlzj=Y8W<-=B!CA6M*(F#^sUAY+&XTll9~KMa@JLkHJy-P}48o;=4nqd#Mk zNuc8OiD1~RTmR4R|9;B)sjcsP`#W3bG6IgLVCK(gPk6Wr7N??j$7Z=8X_QABx$XEZ}mrL<1fYEH7o!U-@=IrN^>YogEfqf#~=$s`;(V9d^6 zZ~IU%&WOr*dD#3J_Kf;dr_N-QoZh;5<7V*gNV3v&j~>f7$*{Y7zazfN{$Uisa)BYrfM#Uey<44;JWJ?H8a+qD z^I$YvTcTe^fntn|0{e~_A1|D&k$l=c8Li^C_?9!tNg!9>eYfYIMMs=C&W=CU{5r9r zei?%l_J-da9lOS`g=3{8L&Gh5&K<{xi8jTXS=L~tSpo|UaZh8x?t zbLU$R6jnU8^`I>{Qs1An=5X>p$*?D{y*SNo-@Lu`*2TAG{ZW76=Jgx(;rVs+uBDH| zhGPL9@3(cx5qpeI$NgRJep~o1#D^Rsmo8RmKH#4WS9gj$Pd%OZ;AQhC2gor_>eCs* zvMb2mm1&U!s&$lO0Fg{~N}utC*UN;I5P5MHX~#NXTb-H#5AQ#W&!e^I*9jfgNn2u0^!LK$p=jiO-zTG@t21XV)W5nF zTgl&xLq8l%_S&28{j!o?*5{+g@nhQ()vDpdo-BfKAd=lj+hTID_MO6G-ONE3by&Ba zb|m4_BhnR;SyU;G1rEk_yy@BsaUywhsiO=z*x|=9t!Nd^yhx7GX*dBcT)31Y=+xH# z{xAOJ)~(O3|BkGOnMm|9H-}@FHNHoGaJ@19e*lV~!XG3bZu-#|dEgtrx_8_=PLctYvT~yeEa$5e7EV>`;Wgi&m2vcL!WeA*)waT zbl>D(^h!714E4v~6Mu94`1c22Z@TzP{r<)Q@Ru4rZwB|XgaAfm#4Yc$ge@zS8a$Q8_p-EoKG5K1_;LmV~&Eb z5s(BUWqva+0#!7?epE$~y!+04XOi(F)7Ke)$&Zj&UHB1>B#jSg#n)>aSK2lmKlp+{wL808pLO7fPdM@P$j=?%S z3jpZ}sherk>=foKMjptMu8x%f$FbWxO3_?xY+;R|POsiadG#EHBz?=@3;jkawGjyppqRMxQkUwOg z)-GCAKZ4=FFc9U|_KH%ilv(?#@n_SXc{*wiy)Qgwkfq?d6b_Wq?s?;81T!dR{Qb`G zKb<3l0|A`8d)Y?dNWrriJ5QoXaD)r=|Ga(zaE4P3m}rKP0#+Pb3^3KiPglH+;i>4> z$h`WZtn1glTlj=$hL|~!FKEmb0_Sv7@X42{0Z<<^ws0eo?&woSkCbCF6MdbEmKxwZ zCksN>zmdcT6{$#RRgCYNU2=vnkXj=p$~5e)9+5&8jVj$8&O`OWd6 zJ((2!L=X>+Pmwsh91P4e;0_O1Dac`t1@q7khr^w__b2m!!;r)BZpYlJc>~7xbAYS0 z;Mr?e-;Une0ynZO`iX|_Sm@W(&1_BB`Y#_I!%_}=^IAHnsmY>wm;S&Kh8 z56CPID)TmA<_TT%vUw`tX2yhCYh=T%Al&*=8wD4J+MaBuOiQKd>S_nm` zEt(cQ{kJA(eAQ3Fg);8DL{35{#UTZNu|{F0VqBLt0!qDz5XGM40P;z>ObG|Du^m7(Dt*G@_bqhplL?w!nn zv=N4;u^;JPDULd!RG9|_)HocMb|i((5<<~8M)R3Hw%tE%&U?ye@N`WyzP2a5J7tye zufUrQw6mh0!9GRPBxEqmaarR4po9g_o)=BFu)G?h%s$@~pfV4#lVN@oy(u`>IA`(c zU4bHoohXK}L6dY;;{}6mZ2n+SghP}lgPE~Ku^NSk5dh}uFLa4~b5dyE_$OsD<)6V} zy9a}j5d>EhF9yc!vv2GcKN%n^LZ?vPN~xqAo0qXkNf!ZiN%N$1awr%NgIK%ZidHCn z6kh43#&3~@D=!Kwy7H{OyY3mMLio0TQrPs**cX)#l;K?J=kqB<#%P{wkH*BHmGSX7 zQ1y^?&ym_C7WRAsR@W0iy)&5M)5Yos>qh_jG3`uYzkf8E6ZV`_8AEjQ_)B? zhGxNH(JSMwQw{p=PKJq8bWwRm^d>D|>h)V!-WkQ&e$!>_+TxL8Al}s&BM?v8Heg)F zyNve-DeY}X`0V=Nbhf^PbFiUkgXwbUF^?3y$|;c|>m3bAolE%zWAemY zP$)x$(`E|xH6F&<7Zv9NUC@op2eO-kLN*Hr8aFOlpG=0vA>+V3_AGM-`E1ng#mo2rd>CJ{ zV`PmmKFN@A$T5tXr~B}hi-C&2?<8Nq3q2YmzTYmA&iJ4EGQ`ZE({o)JxXlf1GUidj zIEVV1bKo^cQGeTO&ghx6=Gvd%;2@xlBQ$3O!xT-#c0EHDc&f)BF*2|=%modT2ea)U*jT`9NdS}Ej`wWr z&qaa5?e*)Q#b<4K>32?sNO54hws$2vlQoZu>f=vNgiA$xIai^(fz{{J$Gh znCtLHyhe5#E8LJt1GicCIm(fY+9B45#v0#v=TNaOgYPOt%kdOF^Z-Y=OeVApPv?`5 zWTg{fWQ&onc#jMl9%~(6`bX^sA8W%8;63ue`fkl$yk_j+V(qgH=~=RiQvn`ifuT|D zt!p{<(edE-%$cv35%Tpi%YM7;zJD6{-dsNy2rM}d@1MV-?D+@{>#xuM`oq5m-|)M+ zD;glj(I@%Y$FACro>$hRtS4(jdPsCV`qs!LHyT43CD8=O9G%Z|bn8Vu>-WulKX~u= zxv%>-4k_z9ns<+ujc)>IeXsr#88}0mf4bp6^ZM}-{AWJ)bHD9}(&*>j^_vdgK;Rb- z0gI_cjOX40Gz)fIF=@R;bzY{BkpKkLh4aUL`zv4h;G_TUzx_L3|L{xi7b&|}g!x8` ze(828&mz96_fJZA!plNzPoPNK2(Xa~jI(8AGx(1sz>I-F(m#Q-l!j$kEJb8RJswqX zi^9UlppZ)0qnl8WjBlkHuOd3ya`D7db~Z0cg1=o-1?x1~$7!*NAg$=KF=&&)CSqVN ztXJPreEdGqNDgS6Aq9~M8_P#-97pR8#tU-M$L-Ctv!_5;}{ubHCULU#b)3d{I#il z?;H5L7d$9?kIEK#S}M1U1p96ohw4gD4)u#x;Cm^v3q}-GO55g~a`$fN%=QRI4@G%J zvVvf+U?go6e&g`+nc@eR6x11G<99sTh8`wrM5ztGvNqrZZ8FeB{+1DgqEGvY4WF8A8GQbZPq((22a)C}RNq8oM!3 zLe)%g4+jAHy;L25+qdtg3~y~+zVh}s5!5i=ri>UnlcB`eYbxqMY8J zMnB|*_KckYvym-+H$S|AKG7ayeE`+`Jm)tGo@lM2j(!udUo=#zbucCud^RV0qQ|*c zUl%Wy9(+L8=7sK;BPWMLMn)YF)G_(u9phsZf*E)(8f;5RkxTr2KBMr_=-#B ziO-U$;L8ZoHkumPHcq_D2{O*6`T#?7$6w?qJaB;3-CP_D?j1*wS=E;L_y0Hm79FnW zC;DdG?dNfP@}w;}!KbOle#znJUu0cWwAN-VV$_T3su?1q!Wx4X80_H3(1j0kKbNrv z_UOf2oNA#z^&X7JRu=qA#z`CJP(~wguuelbkk1jR`QlZ4Kk#SlWw6OW@!iT;=(LQs zT#Vx=1GBFOZ;U{W1vNWl%)C{)x8q02smbgJUK}nrZr&XFIGIyT`ae42@S1+39b=F| z0)FUW@l0DP%HH7s;k-j1WR12({@o8>a04zbu#wt6Fp5{tpTF4pV2xkSbN!41xzE}| z^CxTD{jMd?+R_x9z?a+{So9fP`@CplIRbp1HV>ZH4)`zJtP?YAM;j;h@U<%Y@nv+p z!6o9^@Sbzr88 z-$~x-AKiH25%5Lt@Y1b|7IIdR(@%3Cf(Q9ze(DDp+j2(I7sz^Z;AC3acKSxI9Km=- zz{6TF_qIZV&n8pGTI+jGA@lc}HSPM1&pvn^4ZgX4-Vittc0cHL>0Q?CAHRHuAJFOM z;_ySmf&%b5#`~-p-J$6o8eKg3gg#yL=TQ=Rr!O5zrdZcbojqeA{TIh}kN=}Hr%wN` zZ7KOW=V)26|3W*5l9Ak0`^jYQ{$E!=*0=xY{_|7qqSFcB^&6+aTF+>V?);P20bBpc zAN~q`vvEuR6&muJp}v8@PY(hjkA>f-L5rblj{L&%2QuTWOS>O^ex5d~IOcwh@;oM^= z*-ayqoax?H-C5YLx6e@<7cW+{EM?}dsB#OteSc(Reu@@GEw(79*ek|2MpnIu4*A}3 zaZBKeu&?>PPJ)eb)p#kgl*DmVOnZd1@0P(vxtmml1b8d`z^0bwcOM9H28I2x+M$#i z10`g8TXcjXSHyu)%)sh*QNZoexfu;3h#RL!)pAI*IMk0tz?^r2IT%>{Mets|N&zk! zymcgpLf!Sp+;3n1H~>z<&HOU>QLHNS8-NmpfjNl41*jh0B5< z!njX)VjR@O%l(|-wllzr(13+8Z5GQF~*lL*I*o+v{*^(VrF0?iZb?HBd#_`TUu(eL_soFTT=o^A663kJh!%6c?` zmySdyB3T?1O?6%YE@PttX6G-|mjYmF6ckC0=JvwpVMbaC>eZ{4nu9&&k7`4dx@?NF z4IJ@z`O?*`Yws~GQluOEc1Ocqe&^!g-d_B-atd&~NcWfhaJs$W2!Vm}q&>oKy>&4| z?&(yhzT4>nZ&kEQs`BM4S0++8XVs_hk~70g{bNhSv*sB>Wxw)%^ynVx$l$AZ;)`&m$lJ#7p-^)?j3WVEMTiWcItWisXCF1=_j30bpEJDG zdXU+G=4G?1&3tU6p@TxY@gVRFDdir$F>S|Ct6Crk`;60 z9GdLjJXy8B($LX7UPr4kir|=$;H3~8ZkyEZo@E&5cWd{+FsdKVbE1$HqOr!02i<3! zG6}#9uRnjWibi_Ie4ZX&1`(%-u^O|vpXoC(=Q(hIE8BJYX2$jS<;r3?m9hP5f5BvM zlQE?31{va+!}aqz*(+LVj^v1Uk zf2|4iN1Vqu)`Nyr8)TL7Mb`)Gf;rr{acf||-*1Zd+0G*JjJELecfOOewa@Rqdo4aM z%{|zj55F$7`0lm$dcK++(Ti;%oawK_nY3`*HKxGdllHrp31uBPbNXCGbXTE9G&>|| zwEzGh07*naREGjedhZFq3K)=e~a zAnW?;!o}*&OnZyo6}*)RVQ$*NL$=*;Jb?)(?b+6(R~h|}9?E1GiPCshR+ly5$Pvd1 zlgrkXRoh|Fi!7kUAGTVJTo1qSEyD;b;KrpLu$1M8mu4;KSVI|AVCcSWTdA7Ya)>Qn zTFy}S_k8o;sm2HRD#p9;rO>Txx9S?T2Dc*5ny~t7ds005z3+VI(DUfy&Gn0b0Q&sV z>+|1`VV}RO=aKVV>Q|t5c-~wL?jKyy^4uIPtHniss|e{oN`Lw~y^=0PuK1oqz~_Gd zXS4M%{(72jbK|q?Uw`q*_y6hR=l8#zpj+)lgXGp`96$1YFyQ_A=9D;4ELv~Z_Cxa5 z_DK!wA7pNB#;eVPscpXcGvEKL`+gi=e`W(eqaWTl0DeY*ebek;1qdWa4p{g|o^(o# z$PxqNU0?Z?FURjWPm+y;ZL0^om`4?Y@8q~CNc}*aW;$Wa?9dh+^hG^JDN)3>b*B?>2#Itm*)GXUWTmU;xl>MY(x= zH_DrKyeJj+=u2sSks|JQ0@`zg^s5x6mqk{z>wd=0>zD1fP5Gk0ootV??HZKDdDeIW z1_OB%_k(`?w&2AGSjw6?P91|_^Sbdmb_}fHO$B%<`ln9I2x#oJYg>WH3`LNF1~!{H zz>DbIeg?yeKCUbj{aQF}5um^`O1zGyq^sU8vMF1EVtB4%RHI}yK)BoBTO0bJ0Q$~x zXz0N+lq=sc5WwK+(`7{YPFuEt3|?vj-oQZH=*wI;QLb_DWJJt!;om)z?jJSjU$l5B z^b}f#sAv% z_-}*P4J<~n$3x*8e{%4cqu(i3oBNI3$pqfidSD=QOaId`5uC36;h!FVIb zrXIjfStZRufzQ{kR)z7AXZSxpspIJb&cTL3FKRdunLeX6FK}SI!udD_4&rqR=kEl$j%1 zu>GZOhR%%$O2P2*5lcK9$y#j6bdo*H`6|C+}-_RSUrMm5mmO&7XBN9O9~d*6B1_v6Sg z*Xk?0&H-ip8CjU2cUZB}dmYUePrvFn#XZdr&AiN6?)_rlS@FP}llIc3vs>T(?st;; z%h_rx8#=pm>8<4d%Nz%7LCGP6j?gx_1rFL4Y4#nb7kv4Q=FyTi7z4)dZ}=id!ARfU z&C7STk}O_czo8v{czO0&^4T@;Z|-2>GA3&t8SOjmExKDWd~Ky$xCT3Ycnwb+e17pF zBPM!syshWWiz9p-CbfD}DigMWJ8BfcYgjl9(|~_gLa~u|2ca9$7q_YAUig^=-uTVzoDItZ1O$2!813@B)W0y z=C?ap>)Q#MgX>^ao6p`cgck)k-Gd_`hr@42WB>eBG@1ZQ1}6uH^%uW$=#h5_cC_|r z{FmW+;{f<&z~X<&bJ#HUPXdE@_%LNLW_N!5SO@X=TW?*cu-`jH_b*iV>(17dw=Zp7 zEH%*rdiVDAl#P4ip*(y3Ov+mkpA06(?G%8@FttGOgiqA3aY@^xWQsuEuVU{U&(`sK z7EU4mr5vm%1!Y`4fWt?Z(p9K$s^E%5-@bik7QxvoO+jhzdsAeMTV>#_s_-*9l7M|Sz7(Yd@ym=7 z&x)u}0IEP$ztCSYP-{bRMe|ZsodUza-Py_fsqI<(`>oJf5yT>TMY{$TJv%~~v~AoI zNgP8i<1J;30#WC)5ZGtS;67ZGoluscfE3nPdcLbE%-AOdHUp8ua4dyOv`jVkqbV3q zo>t|&{unci4hp2`$m_iyE%ZN3|)$!y^$H{l=kB(9;$dEB$U$SiwbIQWgyDj>=Ti1#>e)sz~w$7fv zJjTF{ijYnEa8cbSrL=M+i~*5Bh87*y$*@)9gHz|y1!q)WA6!$K&4q%(IJ{J4@|$}% z$LIpb&HNko%-eV5$>WrNF!Q_Z1z_ZF^Y;6D?_C>bfO{N$hevmgpB_=AuTMX@-Fe_^ zzcd3+`uyoLCkHkU9{ez6ow0K+d3Eo0Ck%9o0cV0}`}WaNr^6?OixF`wnpB^`b_#u} zbPwJezFqPJzb^yVJUA$g8?AW;|Dc<#$Bvr3Fz_ND7;46kp1Wn}C3 zfYT&)+M1(1@`O_*R;}mcYrk2W@SVAf_PexiT{ouJ@fK$X*u`$q*WxcQHXm^N{AK?7 za&hk4-eygfA>m#Q>w$yyF#6H2`8o>tb_QNX-Ukz@?Rm2J&Gn0g03QAmS2*5W*6iVd zXuso}hSt$WYtX(m(t0hc5-q_yUhubfH08oacu~d(Ax1AiEABzh&*F6_Ncio_)py>1 z@BJ_CZ!$>80?)g&yJ_3A=n!q6Xv?EIQGO#6u7CR36r8+&<7R@qF?b#wAGBjFi+Jb$ z4J}Rwf670f1I3^6tFL~PKmLrHer8{jN^h<=5cn?>0&(XaqY{@U3_5!2qib(pdH>>h zM||a3>=>Ng45m{p(odc~XaTx0O5G+6*0E6*U|L(P`)Aqd-VM36RP5ANlQ)phkD1tZ2;S!n~0Y^DB zCc;l!gy|aFf#6GllinoNN{TW0R`;aj+;6YCXQVe1*!q$J`#go>P;DEdIXtg#kz@+t zEZpWWZP0M# z(*dP>n*S(U!7+o=SiqS<$FShL5LxBYxc}hx%=>&1DD88?EMwc=-V~nZqA!jXdzWVc zX^iIOZ*zeQQ4oeU(~C~hfyqAK79e`qF57f~%LHaK64;6xVd z2QG|hU^@7<2BipwD>TQb-Yjf&)O{<0seNrbiqPM@@cUg2BS?G63`~I=Ui3OF>-EBcYVH5XP9HRO)|decE4i4%g2*R_#%ajZ=*! zD{2g>qX+jqYpzoA@r)|!Cp%v4WJiXn&2jW_O6$P6W58}aY`zr7mAZPi3fLci{PD~i zE)|&*Svz?m!yL?`3v+rIAAR~+M}S4&yZxph8%M{`L+~_Sk#>0YT-B#%USJ|)V^W)Q z=!vj7l>pD97e=(RvN;dH-u;ZJamK_qgpKc96d!QZhg9FYAK%WvIX|D#zA>QR?|;8y zgyEOd0snjcarnZ2J15Et2!CFeE?t_a8+u2-@DDDG4GxM&RojLS{K!dQH2U}A6u5r< z`t&CQ!gpZLc}A|86B+^^&Mmm!E*nVZgoyXTy+URydUL$37~0Su#|Xm$U2JG;lqfJL z^2Z?3HaL?r?)Ue-vY$j~Go$KvWkD>^tt~TA-HMt9Cw-w|a|b8=!1c(O`qBSeS1$E= z?NtT?@O$!@gUViJM*wz&o$QflhCz$}*zlYS=Eq=md2UWdiJxSS$w=791O~pbfRmSg z;Zda5nEd8D_sa;wi=2r*yTGEyg5&YQKFWxF+&U}pTE#Y3J$ zGmh&c#L1W?cba3e>)m&*Hnux6S4aQ(?VWeto~>*je)wT^H0)PDI=BO)+qZAlhOGe0 zAt8h7Y#BS>`qsCG7SYOv7e4;@dpYUb(h`k=v+v<{)~jG@Y#V+vPxJvMa7aFhRQuhW zJ&z7HGzuq^nbh}d?Ol8A@e(>`M5AB7dCv33rfoH0Jge`{|8W3;HP*Eyo~ ztsN&6xaV+3Ub^6r9Qg8=zA|(DMHfs@@SIgu^K`k`B;fW2eqLmFz`3{YsPwSN5@G;tw`QvZAf|eHVEyut{ zrfYliLW>)Ik1)5+UTBM1zuT7Q9baF4_u90T-0YOjvInC*eDUzXgF~`QN12?}^G})Z zkIf%>{`q(P*h4?Zk8d0RKSyA{>FQ?)ftVR{^T?^@?^4hTlgHWfd8&&iG=AjDdOn*s z@@i3jd%IaKBCMBF$e&i>|EhG}vH%`;Ub1vweOSN<3n`Ji2_+F7krIpA5-t^1%cDqH zCy=gRzj>e}6j4Z+IWq2LscRIG)9v3Qyf_OeaL&;^RNLqCj=Crp7Df>dFP?XoXDqZQ z+RuF?W7FRhnxK%QH3veGoui^p^&zUqXcPg?vM!pPGF`-EBEdNlHbPe$Jfh|%<)1-B z5!J@214E9%WDgcy^q8o7@S~FKwD5zCYzkw0$~zzE3FyH~zlk(5#O=3|s>(3C`*2lL zK3*h{g5rKola(_6sEC5Xc15sz-hx2+pcqJDWnB0!kj@@*za7sA1M|K8rBqTjjfWv+ zzoP+INY1yH`@v&{;8L`jGuT^DRDt%p!gVq>c&J7GPX%Wa;w|=@=!Hn&iN-yVRK@~_ zMR495e580%w1TO5D!4~EeOTc}mxw)jG&VpwsEqLMe)qexc-tqfGW?;=v3{%6 z{#QAO7#f+1^>=vdbg((q9^&oeP7vrMj||Mqmrsv!VO;pd95?Ve+PD~A;7TEIy^_9P z)J=B4!y=v>20Ov(Nf9!zzx?()gMat|5RuNNKll*o+|IhBFpI)Eg73XAd|}{889CSS zl4$4SPcr^%mm`W3@l@x$kAafI@X^DkWBAxF?Otse-=&WKTZV9Wsh_>ZxiMfU^2Rni zE;74ER+L@Tv51#1UFjV4Tg^Gcr5X|sJ7502YuCDWof0tf-an`lP|7^oIGp@A-k$86 zcW!Qd=}TYQ`VYVV2V3vI|Nb~((9;oF7dzoPquTTL4vaNCcJDzM2jNxG$?cOlTbj2h z4=3ZRSDXyX@TJ&AUc)0Ym{giKpYthi+O)TntOdu5m*bP*v^kd??A*gqD9Zn+{nO;e zyI*)OA9ZR4x_lbidMit{S5M474}Gb z;Plp8Z;w0??Z0*N&hX1*CB!z22Pd>>(@lL+! zvJ9f7!@)@v3v0#kXzY13^fGy_Z?M@;RN(XbKhHATs;y$a%QcqP*F^u?@l{-1;68C zCoy=pRSg^tx19qYZ*Q-{kryvqUh=8F$sE}~il&+ihmU8_3f&-0Xyl`DzyY}H%Q)SK zR?Wr5@UxxZ(@#GgXD6Bl55FIY&dJ%C&*=;E{mbo`rK{Cp>zg@#{@@S(pc)f5Qt;;M z*}Ay?dh_qk5(1H7cq!8`TywN<-g z8aiYmI>+BGvVhaib7%?uZ`R?>=R0?94K1QG7rH}B7s|%-obNd{=@8akZCLNf7N0rE zT|Qg41%)``$@f{O>t9`p3r9NEyLFA+GDbnX?%8(_p8fW>zugH_cQ`8#%~-%7Sj|5G zgym0{hBB1`J&z~LyV$PJUe|-Dat>3Z8QD!YF z7>#1MF*KxJd-)whd!0Ue_M=nh&%ZC7+`@SJ)NX0LXSUucQncHC+(!?NZvDT1@E^wT zsMtt?u!v5|(pqR&G>f7%DdGte5fYW5r81vO*{}$H;~U=?VKes}ERuxT9E+pyR}r)q zDH$|hN(zO=0%{MOVqc<9B1HNm%uenWoyjOQ$LG(QQ%1z3ng&rq#>;)8a+`TBC2K{U z2uZ)YkJ2Hct}Sp{0(cod()?ZS+fC8&%#)NF3N?ZHG{cipaQ++xEMXTs-OItT+FQ!% z#_)riybe=nY6NrAGJ9>JMh{bd2~kl`ZHpj@ju;b}TGIz}T6kOV;~`$@oeIn8lludl zriy$0dER`@>uJieJ*Jc~i`m-CTSPc#gL_2%jFI6;MpKeFWwd9H_kJD^kyLGOV5Ltu z_PiBvDOqbF(2S9gLCtw!0hkKdT5T( zdO~o7h$<7JS3Nw0!A%cz= zQD8i>AROQ&(RBDDZ;TIY{Vrn6_%Lp`;Fw~JA3OGB>q(A5G{cZ)cuI?x0{*6;TkTbu>5n)D%`*?0JuV#shYK6BEi6#po4{x*Iu@Kjr3BPTsC17qm9 z-v_>}4?8($S z=gzInBz=Ru6FuBRW_j5nGjcMVp)vBr@8+uyeR6!FF_(My_QEr~9PooNqno`70b0`> zTg>R1@${X3z+|qGRqHo=q3vU3IPD%^^3yZ=G=AeiGv?|0&yQ_GN7Hw-Tl9Avc2no1 zEtHOagqNLagK*g4d-CAquA_4mk6dffzy8<%n&HoR@b?_e>Cz@1XbAI~FW>z06F~r; z;1NDQe??kDU)Gs*f&}^md%6c5XWi`t3YU6J(ZWB9UcZheywE6mycAyXn?CRrIfPcw zjP(;8Fa98V&^5f;hJ(%&ij@&YZsB=-rvpTniH3WbP|cvoB&K>U6F>fNx)UYwHW|UEO-;@`V(h$6Md~=#Q%?`uz-x3vuldau!*U zT2XQ7$@awAmpM$`!b%Z1b$Vx%;O?v-$(>1YrX(IeP(EKK44xlJupMiOK9n+(R2XBX zc`&rq3*c;^SRGHXv-h3%apyASJ%z7G#r+g$O47NG_1b^6iV^mB?O7O`Y~v-=Z7*06 z^c97XSwMn13T(50AI>P?xS0F+4rBZ`6`1LoJOf>Jmw?CO=OW1hB2pZg0bYgZeo3xgUF&|5wUmjM5(nR ztfJ+P&=L`IQiQfFOf}cvj900oqOB>&TpP8o4UQ_f_qS(WK3fi`{i1`fU#}uN(s#kn zTsDiH$k4#QVP!c77vA+gFigUw1=PYUgTnhPyv>*4+>oXMy#<|t&0}scRpHMiG&$fLF_%xH?jFJpjli;fi6Ivn3QsxJzQb~^^|KsJmcFdEoS;T>hV7AV+T zPZ{VLj2WAZep@*xF)|(Cic)O8k3!U=$FC-nxz!9f;+%V$LZ z6-FYXhF-$6Od32PrT$pB`t*~VMa?tBOXU@z12>Un>Gu?zIqogGrhKZXUEBZwAOJ~3 zK~(Kjw*;?Koa(aYbD~tpY()^IWj>sOoA>Wk*P*#`T&`65W%y{k3zhsEM=BO9=YRk@?22qw-sGe6+ynAz!b^mtbus)zY@Mf^dP&#`i z$5+nd$MK%C-FtLoC7JXf+3i>?nMQ}Il_Da=0A%~y+YLu>;{8?qY}N|&q$s7~kppNx zMv701(k2s6B)c46nD}Z9l*!h5GHZxpS~*L4J`nX?a;^Sl#5mqj)S1!8IA{Pfmj$EO zMY_w32&YfO@1n1#72U1Mf6BC)J8I|Hx+Cic+#dEl+J<9oa4MjAV~4v})n;&?xpAm7 zJkYk<5@^!>Xn+%u0~(KyL$&A8iu;!_-I~~U* zl5$wRzkBNBM|ccPqJ1>y7#9lJ>VAwbJ1xeHO_Xr7WqzpMn`}2 zjc*Q3`%DkCRv(H+e6}`oWW~ZG=RAi;JV!>#nAEP%v!$tRZ)D|zPRF1xkWZJ|a;JX| zVp%n0v}+?rPW23Ww01nJy(j4u(?@ly%y)trtuH5Y*lQ==+;^e{p2eTlJ2`YTnXU~5 zU~LHnbG4(u+xqm2yxuqfev#0B)AwHt0v4bIf+9{d!u`(zU?gsEu1bBG;@wAbpncZ7=9x$7D71O(-u z!9aK%O<~w=8$li4zq1l#^uoqmGWUm!5%gGI%~NWtO1lw6KskZqE2# z)#sCpHIZNVKT;~Pw(RNMGZ)cSDc?Cz$(Nj4{!h*&P)f#-O(Yja>?%qiR=j6pV7o=8z@ zp=cpGG|r&qB(acX4vv91#z%Le4{H?_%rM)WRVC}WZGBFOGYzCsg^$p)YbRw)u z@fK^&2k-9N;KuzHDeo3>O6Dd*!oux)3$b?vC1octni&GV=P05eI_l}v$+omKX1GJw z#z|>Mi(>#r6Xr7f*f@;EXZ<|wSUig+7)-WDP-f(rKNxx)j?V23#iRBLGv>~gCU4o- zCc2Xjee&c=ajogL^R$0Hxq zr$~)6Z7qO{4StOo?BT+N{>;8meE`?nBzZxPdLo6I*`01PM+;0n%V=kR;up3_Wdu+!zI7o7GCL5R0zG{A;C38aq zv(Bb3gn$v;wMw7*v+d6Mv@vARy6?$;M@NDOnPYs~a%~*T^LGwKmob?WS|y)+#>d8Ux$Q_d zZd{)}IkiuxH;`)#v$s1k^@9(8bvZ0bFJF=VTU*~Qz4{OT<2SZG`Tq6Q!Su5JF&0v(Sr+L3L?3* z=`((Ye`_?^M-TNbgZ5U%c%9HfE=&L@J?mt;FkV}-jXopDRfc0S=4gDdDNalFOmV#W&;yJ^$)^?~X%28@3AD7Iy3U^+Tic4JrHQ7e~x*8~}sgJwGWM)!i6Vaw+dFvk z(~ol`JnIyIOL+@d8lcEG<>+Y(;_ISbM~X0u$XqH)LC{fHMK7MTr*hxXbP2RGogAPN zvm?r|IpN_Ly0aM{6e0_y3a07P86Fv2y$FeyJn|Wf+8x6;Vdq#o#qCZcXgp^T@6i@d zk;b(+6H0StDS)I%P{JPOI52;*m;wzRj#6W=PyY#7?*y>>`l0uflRWbr9jf$O{29&! zF0bl?#}DQ^3p?Ru@4J+GLT)JvDLC_8@K3R4z>9RIJI)pXii@#&%|7@Pno&G!Lqz3B zXR$8@c^$Jf(e>_uJEtUATwGuv!bEYQ$Z*amEGNri6w7cWs>P8a(rADF>)IaQw< zqxR?CV7+j@(&9$3oygK!XvUcKeE9MVc#7V8b}6#bb^oeHXVB1XriEE0GrDTT}N;IPw&eR2d`evD6jWvV<|GxYhxH13r8X_H{1Wuc|;-mtc(D#yKuo?$))(? z1=r%&m91l}Tb z;nZ`ENOg(MqIa^?xXjC?Rscg3&6vOH<6vOlHhPOoF>v$|aDAU4!?-+-;SyTLp;uyR8%pknM35v{Em0JtuZVd zSp!}dWgY(1S2RlgkXciJitGr_P6k0Yw$0dDBii+<=bojA-|w{yQMEYE1g8^Q-~0Y& z<8(Tb;(9pv-OFKm`*yg9HbvY-b+z}rdKN!4tp|D+!t?(}3)*>@p^yGKA78$dU9!%PKbdoY z9DpzBx%iBXJACBP;A=(y6=7YD9hm_NAv!+NIK9C5X?nrpzm=tB{YCqD(RK6sjadu8 z&WQ`Nj)X^n19L|QV7E7GbTYm*i2NrnJ;SNU(7`|YJRZGzCu1J9&boZY%kDw4etVr0 z#<;BMgNK}P;1L7l=&>eMa54#Vs(KY@CdnOa$!2|ubZW~O$}DLs4a3UC0VxQv!O`*b znnm-=Y2Y4fA4i)lJGRi^ZTF8Xhz?xVEe>+mI|W(Du}{mW1iNe3-f3Ma3nX6s!$17P zYMHc+s|*18+5W5RTi^V~AN|1i$5SrZg_{fiy}5om5ZKW1a-3S%ms56}KPC>!nn>A-+{HvXWb~dt=T(SQ742LjE9zV%pe(UaowS6x+ zO<%P3T`Y5CPM9e2Z_6zDdRBnP?>;*MdorMscd+H3#Y_wL^P=Z3Q} z{{4NF5|vQOi@*QD2Oo@*Bu&ZR6bXyqq?L<36(OVSpG+_ueqD;)vx>HLq_MQ$Wvs_0 z480Wh<0n!$@(fCGBJfm$CKRNnN^=(2$o%N`6!X0A&Z#9_cTym?Q+^n>()?!;PeHg) zF*@AiuM{YXK1H12WbS8Dx+r1SZ(Z-R3ceYB&5uxD z1|lJuK+ceQF@la_lHwAaoX-v~#zYZyzy5cE2_0J`S39D4$L<#A+{CwpjQ) zurPqeEW+k8euCWC*Z6ZB$>yl-eyZ;^Z};p)Pu@kTjMvzY9#w65Md@r?cv`w-1efBu zlx*!UT$!WP%jKP43K+Dk#T0xfZTfsN`>R)!h9iV=zu>ZQp1aPK^Y z)V!o?!-;ld*!b%~5vhQbA}gE0WSUCcgq^5+1}{fZ!T?vkz!^E zxZ1D>zigsteYO;YcLv4dwnd!k*us={o;jUcZOv*Fzp zF+%^Ly1poIU~?*Y=Gw>r@Hb8lfWyfr7bDJGjFTaGD58ZkM|qOZ_*=~eunckor$fOS z95#-%aU#|EcE(>L=(qSHLC$fEJ~$K@u^cuEGjb++mXr5c+g)7n`0VLAx#RKS99GZv z+QRYK*2_ydVH%I^QRXf4;%w0=*&)V#to7q{Z8N@IaLd8KFx|)$_u)x60LL-Zlc5~n z`+GUn%8q(&yHWE;OK6kmXi{o=6bF{DTp|L|b2Qy3+ zo_t*TKV#8nbqkDzb5uXquDv&V!f)TXyWkY=IdvRe2Zr{GzyJOhhCk4O_QAp&zMV7f zolYPiKg7*WBM9@w~V6=jiViM z&pK|~htrFe^EkQ+k4c|dPswTRFuuu<*)9-o;}0^(77KGTKJ%1uwVA(XM-J5oqu(4k zYQfxiz>9;16H_K-Gap`nZ$X#e{LQ~P^d}1HUPUC;25{7;QvhTD{QH0Z@3+4DozG@L zw&mzWG-n)MpTEG)1qN@fpBw@kxNhD>(&3Yga{Z03eRcmz+hb*(l9%WhJ{j3Ekw)%B zPv{?Qc=?;t6(4-@i(ecbB`1gOqhs`KYslTQTb||s(;m4$0lEt-g064(?@ji~(lK7O zCeRHwza_M}mx+|F?eYw`MU>pySGwD^sDGV4^Tk zWHI;ss!+eIV9vdJx5gt^=)UMh5%m^Cf=o2mV(6tPo=EcfqWb5Gjxhiz4)-e}GKz5v zlN;wm@uMu%%>@No!in@hl6h4Eqs5DPTn7Kbs`SRO| zUQ20{ew)Ho(IKZB9LhL;QnO%S@3IT*%%^__MyjuK%vb=jzxytyOt78kahVnhCaS)! za29GgObdrU|$&c!iksuGl_B}WFTcth+LX4L)f;3 zF~T#H%#DI*%nU@SwN7N%C|J{1b7J^zJnz~!PEG{{*6hR9j%wW&L<$>RGSn$uJlfN4 zk;wJzfyceE7?ZKW@%FJ*>7OAt^cT&{VijB$trih)@jKCxc*eJABn;Mu=bd-%0<)K| zq@k`z864{u`aR=aL~gJ9(ekSdndvWMnrEEiXdW)__QF9e@4Rdm`;7fO4xoORObW(I zM!0!$4D7Yn6=`j%kK5m>E&Wm?CMuf(`m9BsAtOamRq(eix25D>>Hig);=r=~Ax&lR zTXelqe(E6_jNjukMxP@!(Gz3sXtYbwKGxr3Q0=S0zF?<510w=lpEZB5AH^a3qb+>m z2rj=fUX1y+(-q=7O2y+84~Ea3whoX#@N$^)5*%a+91RAkF+-1s@-#AMn8b1ElSVpaV(KP@UjX?zWvU%tsB>G4-c7({r_N#z7!E$N|&u2900E~ zTFMyUKxq7@&sH;~%n1f`qnSC8v5#h-B`o7pxLF0E7_+u&7~}o>IZA@(D3!8e!s+37 zdD7E|&wDyvBuTnyj3o|^6J=i=JGPE}6G`ejaIrrdti9Z$sOW6zYT%v)%S$_i`2-s{NN`JZxy@SVucPi4V!VF=ms4 zvm5T5w9Kv**8XL{Ej~y6LTbm9q!k9u#9H11s=cl=J4T0yqQ1IIU^$aJn|&$o3$8 zeOf9nUEt9Hf1+1LDB3XwwBp?yr_gKi&6qfDj8pdAi|G7bvfAZ7I1>#WUT6-k6DJq_ ziC~(iKGxd$!!_D{`}@ntH&)|B7utN3ZepF*=g8CU^*0(Y55~!Y8`@|M7+PMAh2{8c zWh#r|SYz8QWqRP6!!fc9E;&}qC;?xQQCW(D2kNp+CQb8qiO$>lW^7;rC;GG|l1rQn zYrP`hw2OYw#q*5%E8*bT%%{gDJIa3qvQITWAw4j2sF#KL{2j z19sDECIg`7Jd0M~$GgvDDEd}23k}e>yld-NdYJ9F3BDv{G!QKhFGl|^y7IIa4<1W? zZnx#>cz?U};j(2fVwrbiRNNFF`J23RZTGuATH>3__Q-)djlOQUvc1% zzWbfgMUCsZz{4;2dgB221tZ{>qIBBG2qH;0?^PAuLqZo64>#KkLuVt_nDY$Dd-Lqvtw}{PN?3nq<)Akx=q*>qz8D2j7 zN~P*kC>&wLlP{g0(w|y0+W_v|U1wXjCa#p?jFj}bNjW~!GiQp3oa>l2dzogjwW@7V zJPD~H2K7NON^f)|ioah^bVu}R6-@HoXQkO&Fhxcz(o+fh`HG@YKFo>GBFx;!Ng(Q) zNE!jmAR%lOwj=1ZX%Qz_&F@%BTyk&ba43WGXo6Kc4SE#s<0)m26I9wf*_^cTq_!x4 zr!EwoNYR_;6S&6EKO-#lxkusXxs7sToD?sa0U{mGYU|9dNY|5&d1_I};UT(qqR5ha zIcOZaWPks5jtoLyF(CWIv_I*KMM$*4P7)`e(j$hBuEg}&SE2qs6(aQ;Y>HI}K)T|cc$wclbgk)7tnau8%l9vFNS%)r;URpl*09NJDa-}|M1+7pXrD6jgokc#Zj z{2Grvb&<}{kMS@d7_;DS-cKHL9;}Fv@i7)eB_pTi+Wz%mdMxLWEEtCRqqf*QFN*y1 z@rq(G0u&1yTw6TD1zhW&;=pkRt|w1gx;9m?ZGBjZ2V4v<1ZR#n&vFXfySpmvD<<~# zm8+#m-wht_S;ffEuq+^=g)G1y_Q*cFyN+jrJBvD_U%U2pJ3jFFlNC98`>iX(Pw!rR zck7!U{c(=Mb6a;Z?im=P;5H6(TE^cd696AD!tv#H(So}vU&)M|6=aUNqsvESc|5In z7J6S!2kKG^Q*Bb<$d?BXGbE}b0bdMD@RG*K(V=ZLuU3JrL|}Zp;v%-`eDI|Yx9*ot zZC|d_6h3)zW3qb478TYR4crdo5B%=rATkH3n}Kg-JQT?Z9Fy^cuCJFCt$#E~!6RqT zimeU!8vS`5f0@5Aiztg+qoYUUaT!M^QZAp6!F5Fb$adhwFdwkMFNcDG45dSyj-ijz zCmUqwKZ67uZABQv(-s0apx~vvfgKs3ZTttG&bf#Cq}gO0xqmWQ>I04V%wg!B7a2~B zC2cE~D5?r)XB{ybZ2%Dbad_eLPPt&H;td6|jFa;lY_q=_PuV54=fsm2Ij=Yx zXa9G`y>$m2A3qLmOExR?C*AgR(SK@TMA?w$S?>TV+cMhO&s4}I)7yhlS`K_&$b{LEu5@qY>e^d;csx{ z{DM0M?|=GF-x$~|`Jy23I_>1ytBh^xL_<{&5S(q{iZ%GE2frtB&Y@fFdZ7Wd>&5HL zfHoI69-0ouYIczGb5G5$?FfvQ05!ZTtENnnp3&#C92kq%R#0GYA7aLksXwxZ9J8-@ zPOxcgp&%^zXw?(R#nCmAQLf2w4E`MWcoaXoj_mj@JtW!a znA{DX;21BEuP#owPdZxjAsX-VZtMGQa)dGd@_G7ibm>{oX@7%b{h@V+_GH>7KM!*@ zcAtCj4zqZ_)~CcDx79E2`%h|X+XBQFk*J`rstZ(ZnAV1^#)`P;W0i<_gk zwc~gW2>mvQfq^XG!>yyX@w$i1p0TH!ZRW#%I2nu_Q;cV>zWeUhul?GumGE_V>t;oF z|Kq>=zZZ}x9*r9huJ_)44%eFX&!M9?UHp-pv%8w6H3t-?;wC*1cPKq5FKgG^gDRV*9>Te?OBV z_s)CoW%yRHHswyW;CmSmBCr%G%x-aWUC5h#x5%A6L5?>2@WZccedCY6F$U+egp_p1 zDJsaQ%7bWrB1q<7zc;Tr*auq9iKr@5&VTPiJ?S6eEl1GUG3m#Vyo1JjA>1v>f3EYQ9arOb%H_R# z)quzeqGI(^DT&RA_ZEx|mE!jB@%`DmOVeA`i-YYb>J@`;QBo`5ZVLdT^+n2%2+)O& ziM)C1)5aL>{f%Gitn`j1Yg`tpWdyFh^OSgo@8uL##yVK6Bfmm9|4J}=*&_6~6!aNW z_y9nAL}iQgf3S_tT98hs_=#xUzvo=(97h$Fl&Wj5=BbqAofguY)vs{o_v7}gD&WMi z=(oC%@}8lN9+!FKC)`3k)pK3`B6D zBv78g5KUjWczNqah2c(=jbkqz2h1_4qV*#hOPJUbt7wo@InW*_7a1e+$SBX1|%3Xjrv~BDtpf@+EW}cx_I5(WEL=jC@nAJuhXY1KG@tS;IdJS z0sYG?;1Hk`C_1DVmdLJp8n2Q;`&AS^Q9(yJI0zX8s>+M>+XpYQVJ@C|l@pE} zp+KE4vPxcDEE+@}?Ql9JXY_ft$iEI=<_y^Fdj<6vqpujLIu_k-TwZS_8_^(~itNe$ zaio`u@(ia*(ahMnn~ahE{+#iUtgxlZn84l^DMpYZrQjF6QPyNkSQj`qF2DWO&>Pt$ z68WuCz`^?7!+WEA$t2L1XJk6naI&Z>=-qEl3db6{*O8RUG1!yac%hjrM^gB3A7r78 z;~it>D6@fg0u_82bYM7Jj-q!bkD%SN@gpUeaxBAyGjeF5q1>WqQfONnY->3h4ca2K za1y^I<7~H3k3<{Wjh6%Rcrbhx-=T|R$vw3!&S&6JHqj5cCu>8h_SJXZj-KvKb^S-x z3Q%D0q;Cn zg8oc}ZSgo#afKjDIWJ{5mj zlgW54wfDd9#jQKHZsx2#yY=3?Ux;R(=D_`InF!$_REr++0=N0k&H~;6q+xor#Q4nvay#0zHcw~Knl?ZD z)i3OS^=lt~{o1?loIBbUI?lq~Q{fg~!?!i*-1)K)!#79kPV{jo+H^|P>GWgY(IKsQ z)}f=(yLtd*AP3m@zW3dc+tzTrBI9Zt(&-0uA6ZLJl567u8TVG59v^<+^l zt{k~5=t71Vn0t3~s78Rx05{}5S+}lUyBd#jPHr`hoc+=0r=NW?{HU<+srcR!@K!SM zWit9zFM$a>>2K@OZuS6u2zR1mdhXiVtGI5b9I!(gHz&eQ_s_lYDqY*S=@p>;FbDgC zoRsKVpyh1xWw$kh%)4~%!q*?%yZ^g%MKuEewm?b0c52goWV`j0yjspKPGPhA;bn|} zQC~2G_zOVbM``l^Uqd}R#%Sbj|6MnWnFp;N+Dn`+x86 z|AVjpkH7OjeI2u3e(PdCh)$$vq-^06d-qiJpZ&Tm))p2{07jg&Vo|Ke433lsi|N@E z7Q%>xgs8;*W5uvs{Rh`pZ- zRDx&>y9B1W&A1aX^_Y;8!nKSXSprW}w1J$FK)_zRc5Uldzw*~QBJurk08r9x2awWk z?-Yj#OKF5%^J?8+3wR5_@`}O-F_S?6o~12Pl6Mk>l%UhSC>fNcwcscGngeA`n-n=P zmxev5iv4YXM@K|MN2#u6ofevPhFAd2V5D4BIIC$e-u{)hf%zfM--q@Sb_z4DuT?2 z<_I8p5|!M zzAS@_(X4cTe_zeveJ5k~os?R0=(q=Ks-L}Wg+#3hnqX!NQ&ZrZe)Zu>H9`=hA zGa}IV!y@MoADBPK0a}-hkOJQLqz^C0k+n41O<_NubLyRng>kT;eeKISF(yt!v}TPI z)ieii1$X?%0c&-48Vf!lI|eS{>2+ga>@(=`&F!*W@D<#f|J&6MKoey8TRBAZjVHhN zz3&aZS)0ifeU1zXlHT#p=ohu|qTlb8N%))$3SJy!Xcs@zQLHH(>|{Hg!QYQ7D8`wF zAK^pvKU4;*WM1P&KOM~$DuZ`UwY?l_j{oxxot!K8a-Q5(bgi{aMu4_A^vc;wZpc`B zM=&KLh(o}!sGKF2aw=K#ty>(_r^5A_)^AxHO?B{aBLiy+yEfjBjrJv;Xa%AG&qp&hK{XT=28G@b_l@+I;s*_nzD#d;YwOj2R(`pQE+m>u5;U zn%_SE(iYybhFTXkatQ6|>(b>*|Lm{-jbHmGU;EmxeSNz?#);NYI6t1l>EwaqN@V}s z9K%`Ar2Z7ZrQgy&W=qlNVXc$VDLx#hZUG2#0nej#x{yM=)3)`TK2$$~0OPE0-J7hw z#-v7sOda?qCp51O+i~yFe23hBcl)xAlcDd?DE=`1dRsS70n26v4-% z0zC8s^2^J!V541QN%Zx1dTKDm-&0%2cpLYUc>(}>?H|C7O!d1RpQ#-%GTR!JM437R ze(yfIko74{#Vf(C7G(5sDB_Vb>Crh4zaFf97c9}cHrPd@r{n#()_O_Kd|sX${P+{U z#jwL?Q_hFM^iAd!k};3|UGM#+?0|Me$Cw_)S#Q3YSvC^W7I!4_=0mNQo%n z5#N&#j~5CXwKw&23NEGhQAK;spFg&B z`C>=#J+E|O_yIf5QS>OX#rS7D`Xkgvkxr;Jq=EgBqbu!M>habg1KucjVPZKj-t3 z+e7{G0N2j3Ut=QVTXZ-p0LA`kexB}Q1ge(rZxK;WhAA@Bv-V9!!p&pVsW_Z5DGTLd zeA5Ktqm@dJcZ}cS4TcO=?SUWD2Q54msqQJMaK`%0Z+^46-I=4cJnuX7<9R9Q6il%4 zSp*Ed`A$C~%@pqo7gkkV=flH0g;qPF0X|zy(IR|GQ#}&A%wHS$QoDZJ&?|-9bCh}a za5}(^_M+sJ+Qw6K$>n!6yZ%-=;M5 zW?pk-ReVe-UcA&;57Kgt$!ks!=sEIfZ%FU)VQsG=WzCuao&u7dYRitbkX)0~pYpQ$)S9n@{y?8`s0|(BAXYO_n zI6K~mg7y5xiq0rrX+QK%2J433!1d?}PMW2BpexFY)ZeIa@Xfh~$H#dP&Er3pC@%SE zzS>dj(#6?;F2R#Qr@cBA?7#FykAA`qM7qrKLhYn7}4`dsj zzTDOceQ^LYR6hRr;|k#|8rFtw1?2D)bxrme0?6<&91|~znyaqGt=FJ2>?NY1W_VIQh^G9mCUlOqCZHszDS@yxJp%Wm1SRmz&r3A zfW8H}R3(QpDU%9xQDPDa5Fjvv$GT$xzuW=r8s-**Nf65JjMX zuEKfEw%^|tBB#l`_2xTUzx{81`*R#S8#?d~W*dIAfztr%`}rT@|Jz)QZiePJFN`NR z$qI3Cmby4(tQ**ID6T60;a^VgW5*6{UHI6AIsSU_iZV;$H|X-ES6>;J;{i+NmQfU5 z!ymdiIRvMyg?dNU9vxdJJZe`d`J78?%IvAY^59Jcdt>NZ$I3dvr;Q2U*qh_$X}sGW z`UjkE4aRZO`gU56z4*qo(Z`G@)nw?uMzYQ0C5_{5hV#Q5aWZKRrWXk0p-=b2L2{E^ z=8!X9+p+~&@?v8!>bnM0?TVAQkXgm<1U zSO~%m-X;U7Bby?gH2=nd~^RLyxV6w2UvXg!aH2% z`mMix_`d&;zdv#S{D(m6qkF&S5SY}$1RsQclrSKiqU@~3&fP9u%=PF0@?YBiD}U{8 zOhtMg!v`6SqZDLFU%m8pQMXb9Qy3pVjBsKmDnxImnB2(I&BHBfOAy=pI|@@qHO92R z_gxVq$AkV=1jjHi4-5~Z)6WvPDYY>MpAjgfLUALC_3ctH6}q{S5^?P4iD|>0NvU$% z9oOTTT@mj_5x^l3y6Ztsisb-^naAX&zs7?(t$tUeZ5VrVTl+pK5;3I|9&LJNG4B-f zK5qo4Ibrl(e%Ge&JZB4mqJ;`Q9XcXvN}(unJq)?j^x&ZFk6n0a6dP&or%SVUe4Ui1 zTPZzx1TqfR7>sXlV z_x(~9m(oO0G8c1}j%rRW9$mjNT4ZDBS6dVsp6>_tq^1~J+owgGv@6Pr8SBeFZA@F` zZ>j8}kE39P2b46|xpU_xZB4cIaV|6l9%#iOhxzBrAgqn=K(!52&c*yWp)mVV>~`2k zMu;!tW`koCXeTXT{4VQDAi-10lt``PDt%TpnZUBHM~<8vyrpP8%+avtNlu=gNb_@EcMR;dW21viZ)IjOnL26XLdtfQgiMM_cjqJMxS24p&4mtQUjwaWEX5 z30I~r#jM5R5j`~XFn(}39NfKgB8&l)@?>4i8EO*v)?GozwYJ7-f4+3aClfmH8|RR9GCgg1 z;b+?3(41$?i(}3BtdslDGg9~6`d$=hMR$CL-!5}7rWs3r8=Ex~8S<`3lGOLrZZz1s z@8~=IdU;Od=4mvHmTeiCO7+3dk!FX(0msmJ-MJeKq9Hs0eRABY!ptb+{P2QvXo%r9 zdq5kjOebS8Z`JI<8}9l1eo=VywT~74d)7EM`@84J!RBes;EFD^r49G`ZYk8O9*X%G zhx!UV)f_=-8HSWjJdeT8nN3mk`|z;G&rYrgXO`2cLT`;PENtDE^GuZM?ZgkddCRg z$g(4oRhI#oj8YwbqThH>+sVjnm+_uClN=7VN8%BRRpN{A*ScGyntt|8==3u<~)+c(gZVVgQCAPIZiI8PX4NgYraOh65Y|^uHc8aRvC$=QQ zxdZXMd%<~MJa3$Y%~#tB1DX@KzI5Tm+FJ#L)$UQLT~+ugPMhrPr^!I%RJv9Dmo=uG z4%<1nG6*kSzCPDHBtSGy11?b`Z@pZLjN{_^ks!LQ_G|D3hkT${Op+ecRr zfH%)zfoFg7N~Yj<8$4*?`blcV&W{EAxgfb?w^Pnj>4u^LN`i=$<`A*liu; z1oT2X-NJ6x8_XS*S$F-UcYhk#xHS#yEfSo3qH&7&RMq^_hyXV zzuW602f%j=!5{SJze^r%&mZOXX~a$_MO_gODl3xH5q_Wl{O2R?^C?4zQW6{~MF_5F z{jK)g+uv`04#o9ak%I>bG~R4pYw14}t|&NqjDVjkg(l82!fi*y{V=6Tg?Pk-pn23O zG>9*KI!2S4(>vyBuc-+C><5ndsusGGvE{Y)3RA`ViRc~~jq4LSk77$JezgU7aql%~Er(m3tW-BH~H3Q%J*w&1#qY)T8d8kK5_ z8$P^Lv@tq7+#c9RoR3A9WsS6=MLtrrQrscML@Ij@UG5HVq`=>(5TfiPe^VY-&54{j z!T(14vEjFfJEsj8+W%hX^QxI(lYyN92Dd0^j4%;bM{tUG4jqCnT!dipF2=g=@5cYE zFP^Jl(RO3iFGr%6y}@(!EPl0cdN~fzl==&svCP`xC-F+SN0D)4DBPL-m1;nM!n5_Y z27AFJ_=~FV#9QHR*U&)2`ep=qaBdYyn?jl4hVhF=TQ8B802Mvhr`_K6GP@j)sJ4iL zV&)s?5jdZBykeXo;W|(b4j9KX2NJyBjAP*6P5Lu`zu_6<2z#b9!*{fRAH&z1Wj1V1 zbJ6zjsMcf?MfRQcHWBU~udYMU`<`9jb42HKEydl{)aJ7@)fJeVc2ekfRg~>`YmDa9 zWf1i~edbiPTP}~X%NedcSueXee50G7I}us@?@+MAvvwS6-BS9OV|h89ZP(yrqhK>e zZMQ%Q)(Bd7Ih{pROdlL<6Zt<<3Vk%VQMTa;o?$*}j)296zu&s0az7^?X9)ZtFSH%3 zYadKGa~$!xwvW|#b_BK?tzc^BctKap$yz2iJTE*$k)EloJ9)f;w}0# zf0w_#j0cTzQX;CEbK{u3@Ab(@(?3{S8-0?WvTTf7b{Lv}nhe^N{)G2qecjMAGS`A{ zbWW~X2U`i?o3-UAZ8>Mm2ZPChBJ$+7V0%pf03ZNKL_t)XH8rLq9s8@G+rru9#3HBZ zE)8e+H)knFTKLyg!@tCi>6thc_E|%;%)b2Dfa< zl9^IQ>-N!P(6JL`t)@H7i4f^1hmKUhFNaOdgtuytC<=RL>(Gw&_vd)qKzVHoD|;i} ztZj9L&;&~7sYj;GWXoaJSZoomc z@MUHCk#+b6+|wVt!z(xr;39c0tBV{m|Nh*1NERhq=-x7{wCh6Gc+AEjr#)l$LbLAE z_M-2`DP3haesoEnkM>n^O4%dfiL7U(D-F)#K{Ih2F9X$Ba zBOgKFyM{o-JOwX?$;X)@QUtl@$dP~axxe<;f91dZ`+t8+Wq%Rk%a`9zL8;&MHzb<8sXm13~lzvi*0Mhg8%!LxOL8KSh?J$Hys@7^{k=3N|UerpN~ZoAj*S z?R^r-ve#!Adjgq|G<{0IQi2&4De4(#nC@l|w3-5#7^Q`AJ4Q)!CN!isQk3R;#vGO+ zS=xR|&4ziHkG8dI3iiP|c54-F`@q9U8L%%*U4(bvdTZb~*%B?${`xuHzEgY8q$6Tl z#;(1A)p((sa|#;81+!NrR)oUed^^Tw|GgtzC^n+4^Ih{WFJp9Jbk@bZDPT)Tta~?1 zkl{y3GDnd-MWW1el)L)iKv~C_QJ$K62n5c$@LEx33R?a4Vnk~Dh4y%U<};t!`m2BS zuTI3{$A0uvV<1|otL+D6u-nV-UWL-Y09?)4T0AJ1+qh=Gb9e=A6h&}_Po6hsUSCe2 z`MYPW^HTVh14nj&C8cB=+w9wIoc1(3iNW{gXfizi`x8F!j*$hXirIm?!aVTa1wO`V zzuk@Y1ykGzMFR4**S;ozi)4;GkF>!K`0V&H&TW zMn}=EG2YApV1J*Yaib{YAYkY-7@bd#h8fbg@7$c|u_B90`Cjv)wA-sYY4A;6Jjj?m~Z2MxH2dk4qfx*RP0A`e_q371;PP_=MNpYM)Vzr}c@I>xfqrla;)RYM3 zDRl~znj?6Of!25_dtfS~fg%KHz*{A+*yz_z*A509p-p=a0HuB@cv6)PMb(0#_Ced}lK;hds;@DLw_%bXjVwT9RD z1o)w+{aG#?CBrMNYg<5UPdHLd4qG44HpAFHetqe8vmTM+jLjNt481_qny;-0aMN$n zo{bSKyf~KeAZ_6l?g3+Sw9atceH*3I%DSXpd&WK9H<2v-z{OA!8M@&KP1%aQO%JKIoc{jxwi-3V6{M;PTy5TDu9!kkKH{-=S9_9e>IaPXaLeas^ z`q~$d9~p=BM1Sf)7(1NjM8^NX7@chRgLGtg$k4P-@PNG3&(L5b07o9CM9-GC_!oTk z9VZ;#iw7#Chdw70sQ%Hm`Jfr~F*pH^KES|@p9L>)gj2JHA^BmCuu~z-fnmjf2QT}2tu;Ia1MpbzUiA#LV|>;| zL_8z*n`?OL^r?aC22Z@Z;0kp#=VR?c;R_%sab$l z9zBZB72O}_XYIR}^HZ%0I63k!{z~THIbfrGbR>#uy*+~`q01f5aG!BCcwNv%T@-Z^ z=tpE9_;6%eTUi^@(9zr!>&(ggq|bLVidOc7{oQBVGVrm<0JwaauEp80vPQUkIBCPd zUj!d>+rSE((Bk*^6>$tNGfTAK>OEZe)@zgYKi>x@cRStVf4Xqt+!vmE z{!DnBfyrUiG0Mj>(gi7GNWq~4(agcNw%Gq}i^kJ!ydYg5+QgfzIe9$C-^LH7D0Yr* zxWf^Yh^mku#}$41Vmd|ocEu-K#@2KN9Pp-t$$v9YSeUHD<8AY?o=!Yb02cjo##?8& zjt?zfr>HDCFaN)LM&9R8x7|mvT~3MH74>w25P67~dj4X?H|a3=7oI4C%6z<|?TrJ# zJN~!=Z}4s5zW&ue!E-k+G=}ardMUoR!Atk36XJ4@x#9bG6?ze%;1K0BR-@phij3lE zPRaSoSH8OSwXgo+)?079QNmk6#}EC72he|v$Auo2&d3R~K7aUqzWfgVSuK8t4}bL7 zM-bSstZxU2|2G@^W9}q1W(|_U5ZU5(g^XJ>M^x_y?zyIYgrHrPar#w5N?c)1y zZN2&0A5P_d0*O#&us(w0EFCf5Ui`FzI~6689>=H_5hUbf z3f#{CrSvNthS4#qF$hsmM9zEnq^LC_-_@}n_BqY5BxDnT8PRKh(vDLw96P88;hy$D zG4=^vjA+_w4x^maK1RZmxGMKA!-|pW8b@&V01f8DFr-jT#=tY7xLryfPkbX-%z2(P zBv4<16Z62h899_}Fdl`lIZ2CW#6L)wQ=|z3(PawW;oTXvMKTY>>|?=sE1yN+OF6rK z_5EQ^Dp5<}R%P8>%uyeDqh0*xg2{uw}vCM5)3A#wd!x zZX*9hM?_Fw{@8`BPk!Rn!Nq$yoBqlF@{coG4;AToe{j?o?w3JA*|Ij2DK;N3Jf-jt ze*a4|SM%GYs2vaq8r>r>GH+|G|Ud zTno7AaZbqehWcP49f*VES zR0i<6GOSyVz!1DvrjO;Z<>q*Xi@l6axquT=WEuZb-F?>2(HtW(8eCF#8TpDf;bEeh zL(}l4brJcTVoA-Ja^yF#Fc&ZDb)xM&2g9X%(a*v|#Vj+FIP`*r>>^B=;vu8w@#9sH ziybirL%2hsly+`?ccyGM)NsFg7!|-|7=VlZI92rzZr-QAj1<3bF8JZ4E#m`AJdD%C zXYlmwq3{!4$*S0HyedYAM9GE>ZbGE7=Vxoq=(o1|E^^p9l`{tJKJGQR*EntIxqAJ| z@E>FIl7hYHbJdAaW#7?}d&;cQo|8A=k@-DLCZK`gvCr^ZIyQXS0?O_;r`6tC19c~? zrz|D(M=>5ls=o1UhOzmHD8u*5m(_t-M~E^uMYyd8qjb+6MQh{1Ijc^T+JE`V#jWSh zoSol1YdyitQKpI~asV*4!L*@`+yH;vMtV1xt4DFLIuO#+w;1 z9H?Gu_AojgR%hgLPJd@{&sa009cw1-pX0;)k4InTT$6oXg#tsR>08DB!|^BEWZ=yG z3>1z_#}(oQqud8O&TlWL954VLgagv!MO06m?ug*{#2atC-kNpFL-_EqWQOb(u=lcN z;A@OiFs;c=G!~5or=brE(uy#!$VcBX$T(em20JiwjeO{Syvp{OM`hi3c01fks`owq zukZK_J*0j)a%=$;-FIgBI=0PP9~k_yp4Q`WecBEIE70fp7tYo1imq~`yAK{1&+a0= z`>Ty~y_zLg+5)A{3jB6l@_~+wd{TyjV-6kZxU=m5PA9ldl!l5s`m}6zp#R}?pp8VgN zjMx``Iwc1VIU1YO4y{jSNO%M0+ok&p;*bLj(I{o;WNK#N*M6rE%0njFjF%0WD* z@I=qM+O}i)?)5x*>=-?A;$FDFKc_W3l1)S=MXZf|9S?Z0-(@q6Jc$ktB{yurLbum) z+>vqWf63OmInn(bpE=mkkj$gVVro?2m-wAaU--Cja3sQgnK&~0IP=gWn4%@P)t~7u z0we3YCBqwhbUrxP{d>Y;HFw;<@HE;84l-l$Vmz4Mc5G+9+IFO`f9>_j4C16K zgLB8zWa4Dukx{{F6<0j?a%25sYyEm{d_JD>3pwb2iLPlLE`5XlhE|Mk^Y`5F9sKiw z1pW>l{^*g9An@;kz%w59!7b#JFE{Ug>F*s0_@Df#pV|J4fB7$W|cBBYYFX+ zkUD!Ng}v1BTUWQkZ6Kd-`+EH{ffPDXaMcb}ixjN~X zD%@j8w^C9N62(FhGDP$!flsgvv(;9Ngs~(7y*JfBgV5gp@sQvVoE+#(|{=7{;=j4?s7-;pU#6PVO`#LNhHjgr^17@=|KdquHD z5SE9W;>b}kshKe$42QCoML0|k6XXe=0wfr)_Isy%oA=WkA=*?icvp&ob{H0z4I}2^ z{S>k?Er#I~ak_Q;YR4Z{?1-V0GKaAqrdbm>!P2`iEQTZ{d!-MGXo@~>E@LpZd8T!} zpRt4q`@9rl9%yr11_9+$yVg{nD?;nYxgyqOdyGQZ^E}qucSUU+DO03_Ln9_{yNI?a zz2@FZ4lJy-aZvcI@3j;d3XnZrzJK%0H@ANGcYk;5_j;WvrB;RQfBCQe`M}(GN0`Bh za6u%AA;{QWb9gjS60qE?9|J}|=3-rq&CB1ECTr>5{^;{6bi*qz!YG9<)pP6qjt>kY z2F~uzrM-5&eYFW95o2vVc#u+8nr&Upn64&B!H@$$-}*oo{@yq&-0S-{-gu+;rD%%W zQf9%)yueOB6!^i%lv=pG{)XoZ2lrID8?MD z%o)Of7MZht+5j&O6SyGC1qVddDKv}*%FfX_`9W6jGQjm~Y=?64+{{2Z8=Y!TW`&e> z&N@c4%G9DG`j$3nd~l~DdZu6aYYg9dfq@s8qCYR=eE#|8XHFv6D_WM(6;5yN8^ifY zDf=noBHN5uJc1Eu5A(r8oyS}RVQ^!sbK;u^1;V(jgJ|vEy%lDw&Aay&?HRkZa*uvQ z>fCGG8(!kG`MZabg!v3S&?($V;c|K2GibrR+MfBv8#p3-2Y>dKf{gaCwRLpYhqf_2 zTLbGwNgLy@cE5>Fk8E#|y|QS3yCQJLx*Q}Qv@?Cx))-P~-MHdm4P?f7v#RlPjROa7 zq6{yG)1lLc%W8RT`Zor~p~%v^citcTaa7!$XEkNuvauS&W{iwNxCtH{28x0z#)q~i zwX-$xyJx{szvJKtmOe9d;Dru`#PRt+q)W_o;@!$lK^|glj^wO@j$Pu)u z;1{PGM;kbKsS9Ile)o)s-l>xv`#lu|u}Jg-`M9 z4W60Dj${k@G}$)c*omBE?YkPo10IkYPj9D)=Y%%?W5>=7|628Q@I>j);a0XRm^$qM ztnc1l*(_iUmS~@|#rod9eR=EjsrEI8%nYv0JsVoE4vT(*cW^$wr(;%|yYYavmult; zH=D?=HN*Yu7HcuefDKcw_Om%euk$4R7(Cak=Mi4v(ifd~Ktg z?}C>Cl791fqK#!Yt_bkr%i3Gp;ucQ#ap)e->-$c|ynFCc^MQl(C0iR5MTCQ7JqLp| zyms^L)+HxhY2S&M^n?sL&abv~aID*=_WEmYRv*b3@brYTGA_Tf^;^IB+n>98`{u6% z=-{w;yD@;t24>*>gLOSK{)6x4;^YY|bM4!|3!m6l;FD93lkUppi&F%0Z(D)DjiHT? z+j0fR&@TDoH?VaI1R91PJ9C1{a#0W#uDZGka3V0f*BQ=_usGzWQ?f z-ou>2X;~TQbkV-c`A0x&t`GX6zNf~=I6W5+C)@BRss3;lOw&MuySF(&@PfcRCkNfA29x>g$GH8S-u1=S?2C>Zef#aVcbNNzC(J_ikMZFP z-_3<0Ke|4Gz;_G*CSaz_H=oC=Ho|R#uv5W2WSz8kw>~2@QQ#l_@y~4kga7UyeBm$s z<zVeknND)}kw>h6Q0uvRDcl2f--6o4*wV?_x@19h0$J|Nz_cv#NJ-7^7Ou2tj zeyc?=_tbuE9k1fM!gSLA9XV*-)uQuwD#GM3bU`X<`}} z*8|E~ZDZu_cOS4zNu+FG2HKaF?%G5Rq#{v>J;zJwK1_X%yQ&{4;=H~6(|j_Birza< zILKt|OJCycv{#xkSsjMw;)b?{P;_K1I977-s_{Nwu_MolroZ>@+XItjT&yvHrGh$O1TRX( z3qIAUDB9-uD8g&J&y5paTgN$is&{`|6U@GN*Wjb|eb{ICx>C+s&)Su$?Gy^euqd8% zcjuG~7g5M$E@&U!t?@dpii6}vYrTw8bu#p)U+X|oa1J)%EajR2Bb3a2#@Tc3<8Xny z(%Q7Yq3KO3tkgP2g;Z1buj<401FpIVr%&g=t51ru{7>{F!r&;wQBf&y?Z70m4y+FK%jrI1NJ^w!LU{ z94R>m;g}1*gnJxdaKSNV4K+H*C~d9Ze(UYNr&z0IuHwB2{KDIpUi#RxIo%(egX3_W z!OjtYzRVB5vBl_CYj&rxz!Naw1Yp>^PpY-&(112hoV1qK+9?WE`7fgZ4ACP;jg?!2D9aBUL4;Jx7UzBHQu>;52(k2{0KciUZZ1avL8M@<4 zh=+=bJJ#wGpZNITgE5kSWPmwd&xv-YvAp!sOLKf4ytvZddi?iJH2^qa@gsDA_c7Sf zv}_7#qTJ&3#EjWNXM>`mEAmfGjDg%nM+~4XiFvj5b22R%9=^5Gwqm4lV$L2W8 z-i^&~NrL851U0&W@3IJemUW0nsJ#BrI)sZygUi+U5m_b^%oqYi@AMI^8VO!J3@T=wt|j8$7~4DIkxZ z#w+7pj7b5OBkk|6ndW>ncvLGR2ldV({!hvRxpeW$)|YO0=^?JoF0HyV8sCWoMXHJ5i=UcmC?sUx3{{(tk6pZuXOT)1#9 zytG|}JloOs#BeX;RDG*MhxZlmIvY+X{JbYxOa6oh=!(vTXU}nUsg6%`nA`e!EeFw) zkt6Zrw%DGl#)y7BPbR1np-xt;y)`YuEwGaQJ%xLtmpg5x<6ysER*V2ws1nW9KjS~A zy1<$vrPVQ#8R8gCM{J%*2SYD6GTtvf06_GalvaZv`#m@U$z~7VJjk@g`a3=vUbU_vU{wB zBl~RAxtARGa?B^$bU0o|=Xd-nof#dmKWtApUH0Ltue>t6>W4o5Lpesv*h-fE_>X;h zj-NHZvuB?lIlLtBj(p%;%+lX{;M8;SYH9c|W^!88x*+27z=PR;yED!vRlzAy{ zynTu{DYo}0!~f2$YYC2bwr*U$7~?2na{cnwo*3ma{Fm^UeU%9kyp!^N{`|Q)U;d46 zyq@5s@I>_8x)`l!%~Dbc%tr}%1Vzw~QQeJ{-zO<*_6ri`jDP!XF$&M9%NBQ|>H1#OKETXacIH(! z=YfUa8`~7@N~v`J#(*(*b65sAgC;4~Tx`eitab4n0YGtg?)Bk}5bgPlWg4G*C|<_q zdy3HVxKi-e(Rtc4SL^6L(Q|v@>=9q7v8zuWad2X&SwnrhUsj0qWJnOcUhvg#3;=j# zO(%LpKsFBdP*ztB0H5tgUwipXRg`R;1p$lVN$H00jDL8o4ShVZ6(;%;5s;cX&ouru zceuTxN#MySvi*P}K5!p+qasaHM*RKEU~3R?kgnf7naO*Z}6usFu30~#`PZ-i1YK&h-rJ{Z}Yu7xEWI*3< zeEU*Vz=fjAn4LZR&Bgjt)YJ&EE}R_3DK+_4nJbhGii4~o`z7J(zSew<>eiZ3B(3&L z3Ih7Qbm?-1mrhKY_xTJwbxRaBi;99b$C8T4>Vt3)u6dXjx-h<3>&Dxn4qb63SzhqR z6a1~6mUQ4|-MqlVS}THtE-CqVp3j_7c$sUhJqOXEG3#sH%@ZAKhtX&(@ERU@2G6w( zVmD`My@)Ahl)P;qJBem2#T6#^7Tp1vd^&^vN3ocg?}~w@O>~w->q-*`Zv!;DtFD zr@lPrv-Q)K@o3lh!9stOLicZA!Z|s(5nL#)oCDgjKHy~xn+sk_c?Z)A7cLCF9m}Dk zFZ5tMH_KQ+$Hw4gKE?#@oRLT4;iBDO#8_`iGd`a^XAb(u>pX{Mja7trl+yO9!TY1( zufmsT^4)jenKsp*Fg689jr&v%4SdUXC3B&G!$UlHw!sBc#wI?yGtU;f@i)9a3P+L~ z6zki!%_+KVJ`{Gc(tNDR#^5It*BWtrEqOb9sppIdKFm5tbMV+)oxWjMaF2rz{QV|- z%e~|Pn88o5)Lyptz}s5rPhT7)GO{=h-GdgiKL&p^rY+xV13sb?vckHfiy2qH!58p= zC)&`yY%qL9elRAYUH-$SAy%XS03ZNKL_t&ciBG(^on!ImpMT-Z)(hv(Oe#AW&#AMk;(Ir5mbG%`*w)$SPK7V&3_0lp zvG$Znr!PDXUEl0w-8tq39PVcLUTyvN?&p9K$Vf*?eyXuS9yHW+2$lAajV?j29yt(> z;Q@?XM>y_mORVCKvZ2!A(ue4NBImM}R(&BS53POeIf;_vY5{Ppzf({pa%fC#7fROZ zkA6$noWNVOHabGM=#(6?*Z1HEH}6C*=AhmMoCQ-fh0gE}^kUBLm8FR`@kV-yd+Cd2}{gW#U)x-La$W6&XI{n)!n}NA#(J4V7>a==C(TexIy?)`4Bj~oEsEd+ni zpO0e^Qj9_fNqCJTpuY(Vg5n_JKCu7g`*&_%_xUqF{ZrdN`BQ&-Jog*`M^Ywu`&I9k zl6SphMJn?daXjq2*w?l$zWqjC>I!%C-HnvJJtIWzKgA%{8Ryt0C~375b!EwYs)&EY5TukV(HJA zC?$@fOG!Raq?BPgPK^4eXshZw3PgCIt$;g97)9@KFx^vs1cFQm@A}ei8ej9`aV_!) z9s^-eCLAdu42fl!4qSsVCyFtfA0-S32_hBx@5E%geY~^q5!@&}&Ol}aio7V0H^y7a zDwTtv5D}rgErF0>PMIy!!BIz!o7&r0WjlzrV(66KG5q^p`yw_XsT4*9=tTaH6=iga zKo8Z=iqc{J8$1Bd$Hv(22a7E7j634Zi}L9Oj+9#h(fWhM;7H$_A6yt^0v`6As=1C*Lq3BGUcCF>#du#)_3+#=XvXFpO)<>W4cP8EsnND#1b~4t zCpy4~MX(R#=$c}xje}ewFBJLXjAIah)pDLQFru8+6i?q} z4_yNz%N0Uj>MQyKOPLgS{G6H)97HL>ZW$wMzdZ-Kd&wuXDH>{B7wp$Q zWjG=|8V=%n_>jyMx{h(7k2#5`@9nQgyBv8d8wWh_+2t^pVro50UW|N>p25Nku2{b* zq&s-9jE~#R^FjQL{F&ngBVI?x!ZmoYbDRe7DCcO^{3DkPoAdLGtxI_H{`PY}D(e4l ze&aVY{9oUCvtnoIE%t-Wnk@bcdYe~&exF~~ctg8O){?>LWMy4CZEAGXz|m4|ef-t) z+duIWKmG-&_JSPfbe*iBsOQd%$g|Oj{qSYF<`|I0X1g9<0S6h!=oJmaGeHV`oLq3c zruA2NwiS=ZacGyZN$-pP1d2xQi9g~;crjYW7wN?C5n}JF4$76Q3hE{IqZ_<};%W;g zt$?m7D{`FLwP8%0cXaIyPd^s#=E#+a0~Y(j+i|$XALuXeL}s2k0Qk)m#|_`_CO6HG z%#{%X-|-aAF7pHf&wAlG_i`%WUEuCMGzK=e;>q|nCnG*1b4qdWJ>4VvKYS!UKmRp{ zrH==T+E-5o58gQcWEs$*ua&)JKAyEDk z{Yx2*U@4x2pz}x>g$N51c;oeNbpP#9swmM6;oS|SEon<>@EoBN5zeczie_OBgpp!F z3{Xr8fjJ6mbIAl40ob^^Y37VsO4q|2pH@`wY4c{NcuXJT zBc%1qU^OO$KQQk5rI;-PAEWgdvj7kGjFD9z7#we|=XoU)F{A8a*c2-LT&pgE=n@VxHt*=O)D28z_oF#)LU9kq8WV^?t|3eM3C zu2FIt^C~p8JrOi(@E`$Vo|JA1lvGLrM)5VU0~byYTSAQI^5u(pi?2R&ScppZl5ZWF z7z3k?BSxyRBNO#u3=AyaTSI&GZic@+xjrw0KsEl9$OOcxQ>9gAFcTu4H}+Y(#wDwS zg67g593A{g0kiJz1ru9J7^8$ySUf^h#sve>zF^xs?pdqmKWU>0XM5)e5NpkIKc46S zZj2jT+fg6z$6WR0rQd~9OHuSUL%{dOxEa?HvTKbfvA#DiZR^8l_jrl0!BO8Ek2%e} zf+cuex_EhTX>VzX?$IZjc7f~3Q^#97PLj5sB&cN(SO=$ZxbPNStT~B~6CHq;keK z2zbR2t=)lW&-V;PdzMwF2hdKlkF)pnxOqzWZ*q zMb2zpDkA>lpZ?LU_j7J49C$PQRB#Dgy`Homm~!s#DU?)ngCT*}o;bCRJ7bvneXZB7 znTKsZU@d##Q4t7&p5ss5)B|Vy2vTQoF&0f=J0sO_@1bzYQ+=TYt6$ zy!qyvQ&nz?%)tSUc->?08O)2eJVc?!n7B9x!CF$Jsq_6u!i224?8N zWqwkd)di3#W!!$lm&^;yE?sJiRL_C|S~gGj8_y>{`N`QUeq*A{D~n`vpSin?cf%Kq zLmxi-+r9cBoveX5Y2UgsY{Av~!C7nRS!3|MHYlbdT#RjzZTBdkdGCpWS}Q}t9JJZ( z{Z`G5U7QOm)9l_2Dd1@EdP?`HX?HUY&IW1a0t4x^yj@)c#rd-oQR)el_T&m zm-%jB!D!>e4jj`D!^!qCW0s!pUdR4|!GcdRCLCitN#W+CZZ*c)U>!JT82QIeoi8Kn zMiJ;70E+$9u6@<-zxV#uKl^9Dx^?N@iyNgUIIeAPODC~Lu=hi2WfI?K7aDeL)?qU} z`05J8tt%LmZF%a@=g*&i;frX}b-Nl&wu?E|5wBvTq8T(1TN&r$`3uj_+L2Z8htkba zt$7ZpkTe?Y7{&rQlbzRAjltc%596l>jI#(!N|+KGG^4i zVkgKdw9lT*;A|EEuyh<2!-tYX94u*E$=Lz{=^HyAtP?}5FtipyI>hzXn}0ZpU}jZO5eae1#J|g+P1f8jNueVDPq%q ziqekYV=ot_=}~QnP#*29YKp=2t2YuVx9Ype1}B$!Q2P2~-nUB|)rY;A{>xgK`Hd5x zelcR+U4m%4%IlOK3Ve6Yx>+xUq%csajMAvBU!xf&54H!3O3K`j+>mmbhBPp} zc#|YS z*0zy9>IeV}-y8GV(!szFU;5s6aJX5_e9Xyf#$F#oyWOWB-@BjioOSJY9(*{%P+`0< zsJs)>a2>psvJ6H=d#ej_?8GMrA3W!tn`IQp?9kV_bI#oKj`xzw+@hK$dZFchaG+ z7hSL)`d-I#!HL-i`3yJk0As89@UOLqrya^*b_^$YgOB~h8|Nv5e~isehp=WGsT{Fk z_heu&$T&BQZQnRQqvCj$h@*mrA{o1)&Dj(Ej0eF&^IiC{_GE&k`BPl|=4EY$*Y*6I zs!}@Z;8R8jN0l*HUlH(!kAhQuQ3}Bp|Ij|3=zM!o|0j(J9XWwOqItCa=H#da1mh*!spdzR{k}%d@8c`d|NMaM-c+iC10;mSwjT>3iqh zx5h!jF@(=wx#9$X6Ej9@3RjFplp5_Y{5YG9QE@{~j~C9ZtpGA4jD?)t@d!^@xPGdm z1L1*ouU-vD!yW5z`O?*J{@@r3$BvznXJQCRfRz7himF)>=w39^g6fJ6uK!$0>y#9^t3-9ERW4hgIFhU@{F8~IAAOrA zr!S*6V9z=+o)`#Tj2dIRSH_RI+18=m4;%fHWq@9qrwi;|@L!)zd;0Xd?->7w5APg4 zXpL_Lf4F${>c#nPWzMwLrPXW8ETuPZ=t=|^ADi~-(zuLict!IvUo>QYwsrOUqxO%> zTFm^fofW{qn{01dfgRZmIrn>hM>xkpv?n>eFI{P8g=kNn-naFQcqG`${7M3E{fmF` zuX0#^VEoU5Mbqjbp>5an9sPelU)BNqt&eN7&YL+yi_>QgeKDT%`O|ILT&e1^^2+Q< zE}T9ib4VfD_~U~LDTerm!(Wc6BS)80n)45TV&D&t4~OVz`ttG}nFH<$dHN0PWm0u( zCw4Tpbf&#=5wz#D$D%_2};la)w=|1WFf)`G1@;!%ucF2E@YvY{p#Fz07@{K$(f3Mfx z_(pxMz}bi4j2A7Lv$pHtui6DGI`M{o-S5;ZHJlKV{sn>Hy5hk2GY1U*jF0=B{3B;0 zqJEdTacJmR4IUW-2eMUi;*1>ORN$xi#3n3)H@_`SG3asYfUp!kE@1{sPAL|7Xq0Anot-8y*u z_~&2!#K*t*cmB@b8E-fc-AeI_cjWcYGZ~Y36mz(nvLo__aY*lf_sy?IAa~pET53=Q z0PXjezWliNyD1a|>IkufvP#|*l;8W(A1nfi0ba{6%+>X;wDBi=aQ5RQ~L#DnNm z_`myDT5eNF$=w-&W1_}VXki5DVyZba8aPITI8Bh!shyoM#W;xR&F`4ZY#|6P!+diT zh`2t8tGHhpJfmh5v)bcz7s19*H;M=)nh}TjVKVyFhtFQxUHjx$R2HL?Znt3ybf1-~ zT+}HcjrmbrJcq$hJe*HXf#ZFq^w`@H z<>qOPj9wK78@c2yrimnsqf^Yi|9)!DnzV&mC38ewe{_u=aNsNpnQk?4O%ROaKnv zJMTXIdJW#kzmVuPb4P1Qh^3JKCA8TS<)>xnJH9lnTw*|M1>ngar9=2ZY z6EXA~IJ=A;+_mLp9t5nSKx!4}({mJSf9uaZiv58T=hhfrdzQ0iIrgHl9c8T4j@QAI z)}!$R#-S?wXkT0Ui9^kLX@j%qdQJhU#CI!
t#8w{mmM@8@yU)#C$fB*V#i~>N} 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

34tYSL#3f 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%0D9nOaL!ddvlr@R=6KeT>cY!$(tM!%agT!TL@%- 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

SzB6K*oV>jFKJtAy0T1{^qXQ7u2DP1c_tD6}-o{ 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%0D>I;0+f9D%zKbhQX~96&_$|1D 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 z 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

AGif!VUqm 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 z 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 literal 0 HcmV?d00001 diff --git a/BlueWater/Assets/08.Models/fish01.png.meta b/BlueWater/Assets/08.Models/fish01.png.meta new file mode 100644 index 000000000..6a36ed9f1 --- /dev/null +++ b/BlueWater/Assets/08.Models/fish01.png.meta @@ -0,0 +1,136 @@ +fileFormatVersion: 2 +guid: b22e9f06f1fbc294c9cb94024e1e05ea +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + 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: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Windows Store Apps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/BlueWater/Assets/10.Shaders/Fish.shadergraph b/BlueWater/Assets/10.Shaders/Fish.shadergraph new file mode 100644 index 000000000..f393deb30 --- /dev/null +++ b/BlueWater/Assets/10.Shaders/Fish.shadergraph @@ -0,0 +1,4522 @@ +{ + "m_SGVersion": 3, + "m_Type": "UnityEditor.ShaderGraph.GraphData", + "m_ObjectId": "4791268607aa46ef99d48dcf58b3a032", + "m_Properties": [], + "m_Keywords": [], + "m_Dropdowns": [], + "m_CategoryData": [ + { + "m_Id": "25358cf83aab43ee8932602621dc64ec" + } + ], + "m_Nodes": [ + { + "m_Id": "a8b1cae53b914fd68cf1ba3c64c01771" + }, + { + "m_Id": "a78d9a4b3cbb47d6b79d9d33c9ad3f58" + }, + { + "m_Id": "3d0088118c9542abae53891f59120364" + }, + { + "m_Id": "82cdf329d0624312978b7d6e75b74cf2" + }, + { + "m_Id": "4459697c446f4f48b0e1c54ab8938279" + }, + { + "m_Id": "282ba8edbd094fa1bf208c66663fbc3f" + }, + { + "m_Id": "6318bc43bd6f4837b42c14dc8325d086" + }, + { + "m_Id": "c0ebfb5a7f4a421b8e9957f5f445f94c" + }, + { + "m_Id": "b109bf4c93a446a4ac047332f8b3fbb7" + }, + { + "m_Id": "d5e2caa439554813970ec2b357371f4d" + }, + { + "m_Id": "0f1ac6bc1ae2420dac4a4876f51e4911" + }, + { + "m_Id": "caf1294c1d6342f0804af1ce485d668c" + }, + { + "m_Id": "c6ad877044bd469abd6b7f4f789f25fe" + }, + { + "m_Id": "32955e756d264a5086e55b37d545b7ff" + }, + { + "m_Id": "8c9dea43eaf844f9afac4d9e75546e33" + }, + { + "m_Id": "65da42847a15404bb2d0de294fc47085" + }, + { + "m_Id": "bb0ffd59442349a3a8c6fe73f861053d" + }, + { + "m_Id": "90dd6af501954e8b9dd96b884cd68a20" + }, + { + "m_Id": "3717d8f9925e445d81b36dcb2c8e6a3e" + }, + { + "m_Id": "a40d010add1e4d0c8c26e9fb20c54c22" + }, + { + "m_Id": "7fc33dfc0b1f4b13974e7b645d95c3a0" + }, + { + "m_Id": "ab526606015446b1bddb71c13f31d468" + }, + { + "m_Id": "74482057bd214c4aa89f6ca457d93f0f" + }, + { + "m_Id": "8e24a674f64d4e928eeb042930c99217" + }, + { + "m_Id": "31867591bcb34896b1e405ebe4517798" + }, + { + "m_Id": "2164d91ae42040a0b963ca6c6d3ce071" + }, + { + "m_Id": "194b6c0639eb4d04b1061bf4b216f38a" + }, + { + "m_Id": "72a52a7f61394514aa741fd584e6194e" + }, + { + "m_Id": "ac4aac880b6243b292a72436a0f7b3df" + }, + { + "m_Id": "6e7ecc51c0994eb9a99912e811f3e281" + }, + { + "m_Id": "f0d7ee6b1b9a435f91e094efb0a0de42" + }, + { + "m_Id": "651be73e08854681b459b29590c860dc" + }, + { + "m_Id": "3e8f5db9046342cd97d481463e9dcc29" + }, + { + "m_Id": "5e0c219c42a140548eae7114b0b30671" + }, + { + "m_Id": "049c6357a6af4292a7f7e07db7fe1e27" + }, + { + "m_Id": "b25fe0ce298b462c997fabb52f00d520" + }, + { + "m_Id": "c0950d9e63dc4b59b42a9e24ddaa9b01" + } + ], + "m_GroupDatas": [], + "m_StickyNoteDatas": [], + "m_Edges": [ + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "049c6357a6af4292a7f7e07db7fe1e27" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "8e24a674f64d4e928eeb042930c99217" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "0f1ac6bc1ae2420dac4a4876f51e4911" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "c0950d9e63dc4b59b42a9e24ddaa9b01" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "0f1ac6bc1ae2420dac4a4876f51e4911" + }, + "m_SlotId": 3 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "b25fe0ce298b462c997fabb52f00d520" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "194b6c0639eb4d04b1061bf4b216f38a" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "72a52a7f61394514aa741fd584e6194e" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "2164d91ae42040a0b963ca6c6d3ce071" + }, + "m_SlotId": 3 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "194b6c0639eb4d04b1061bf4b216f38a" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "2164d91ae42040a0b963ca6c6d3ce071" + }, + "m_SlotId": 3 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "651be73e08854681b459b29590c860dc" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "2164d91ae42040a0b963ca6c6d3ce071" + }, + "m_SlotId": 3 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "f0d7ee6b1b9a435f91e094efb0a0de42" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "31867591bcb34896b1e405ebe4517798" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "2164d91ae42040a0b963ca6c6d3ce071" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "32955e756d264a5086e55b37d545b7ff" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "8c9dea43eaf844f9afac4d9e75546e33" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "3717d8f9925e445d81b36dcb2c8e6a3e" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "3e8f5db9046342cd97d481463e9dcc29" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "3717d8f9925e445d81b36dcb2c8e6a3e" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "5e0c219c42a140548eae7114b0b30671" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "3e8f5db9046342cd97d481463e9dcc29" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "049c6357a6af4292a7f7e07db7fe1e27" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "5e0c219c42a140548eae7114b0b30671" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "049c6357a6af4292a7f7e07db7fe1e27" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "651be73e08854681b459b29590c860dc" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "72a52a7f61394514aa741fd584e6194e" + }, + "m_SlotId": 2 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "65da42847a15404bb2d0de294fc47085" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "8c9dea43eaf844f9afac4d9e75546e33" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "6e7ecc51c0994eb9a99912e811f3e281" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "f0d7ee6b1b9a435f91e094efb0a0de42" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "72a52a7f61394514aa741fd584e6194e" + }, + "m_SlotId": 3 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "3e8f5db9046342cd97d481463e9dcc29" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "74482057bd214c4aa89f6ca457d93f0f" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "a8b1cae53b914fd68cf1ba3c64c01771" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "7fc33dfc0b1f4b13974e7b645d95c3a0" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "ab526606015446b1bddb71c13f31d468" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "8c9dea43eaf844f9afac4d9e75546e33" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "90dd6af501954e8b9dd96b884cd68a20" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "8e24a674f64d4e928eeb042930c99217" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "74482057bd214c4aa89f6ca457d93f0f" + }, + "m_SlotId": 2 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "90dd6af501954e8b9dd96b884cd68a20" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "3717d8f9925e445d81b36dcb2c8e6a3e" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "a40d010add1e4d0c8c26e9fb20c54c22" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "3717d8f9925e445d81b36dcb2c8e6a3e" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "ab526606015446b1bddb71c13f31d468" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "74482057bd214c4aa89f6ca457d93f0f" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "ab526606015446b1bddb71c13f31d468" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "8e24a674f64d4e928eeb042930c99217" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "ab526606015446b1bddb71c13f31d468" + }, + "m_SlotId": 3 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "74482057bd214c4aa89f6ca457d93f0f" + }, + "m_SlotId": 3 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "ac4aac880b6243b292a72436a0f7b3df" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "72a52a7f61394514aa741fd584e6194e" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "b25fe0ce298b462c997fabb52f00d520" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "65da42847a15404bb2d0de294fc47085" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "bb0ffd59442349a3a8c6fe73f861053d" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "65da42847a15404bb2d0de294fc47085" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "c0950d9e63dc4b59b42a9e24ddaa9b01" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "b25fe0ce298b462c997fabb52f00d520" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "c6ad877044bd469abd6b7f4f789f25fe" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "32955e756d264a5086e55b37d545b7ff" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "caf1294c1d6342f0804af1ce485d668c" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "32955e756d264a5086e55b37d545b7ff" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "d5e2caa439554813970ec2b357371f4d" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "0f1ac6bc1ae2420dac4a4876f51e4911" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "f0d7ee6b1b9a435f91e094efb0a0de42" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "ac4aac880b6243b292a72436a0f7b3df" + }, + "m_SlotId": 0 + } + } + ], + "m_VertexContext": { + "m_Position": { + "x": 0.0, + "y": 0.0 + }, + "m_Blocks": [ + { + "m_Id": "a8b1cae53b914fd68cf1ba3c64c01771" + }, + { + "m_Id": "a78d9a4b3cbb47d6b79d9d33c9ad3f58" + }, + { + "m_Id": "3d0088118c9542abae53891f59120364" + } + ] + }, + "m_FragmentContext": { + "m_Position": { + "x": 0.0, + "y": 200.0 + }, + "m_Blocks": [ + { + "m_Id": "82cdf329d0624312978b7d6e75b74cf2" + }, + { + "m_Id": "4459697c446f4f48b0e1c54ab8938279" + }, + { + "m_Id": "282ba8edbd094fa1bf208c66663fbc3f" + }, + { + "m_Id": "6318bc43bd6f4837b42c14dc8325d086" + }, + { + "m_Id": "c0ebfb5a7f4a421b8e9957f5f445f94c" + }, + { + "m_Id": "b109bf4c93a446a4ac047332f8b3fbb7" + } + ] + }, + "m_PreviewData": { + "serializedMesh": { + "m_SerializedMesh": "{\"mesh\":{\"fileID\":1391105594336295549,\"guid\":\"4fcad621167d55148be4bc4c00d7226e\",\"type\":3}}", + "m_Guid": "" + }, + "preventRotation": false + }, + "m_Path": "Shader Graphs", + "m_GraphPrecision": 1, + "m_PreviewMode": 2, + "m_OutputNode": { + "m_Id": "" + }, + "m_ActiveTargets": [ + { + "m_Id": "56302c7c694f49cb84a7ae337084cfb0" + } + ] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "00356bb8673b42eaab942b3d41e55d93", + "m_Id": 2, + "m_DisplayName": "Cosine Time", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Cosine Time", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "030945fdceaa42aca0055b3e8d67d713", + "m_Id": 2, + "m_DisplayName": "G", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.AddNode", + "m_ObjectId": "049c6357a6af4292a7f7e07db7fe1e27", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Add", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2003.2469482421875, + "y": 355.7529602050781, + "width": 208.0, + "height": 302.0 + } + }, + "m_Slots": [ + { + "m_Id": "8decb471d2364ed7aa8df33d16304381" + }, + { + "m_Id": "4721ff2e29a948ada6436f51a1ee5e4b" + }, + { + "m_Id": "3dcf6727bbc84c9486fe45cbee98b9ca" + } + ], + "synonyms": [ + "addition", + "sum", + "plus" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "0bf3b0a08c8a42e3813d9e664119b6fc", + "m_Id": 0, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "0d06182c364d471d86b5830d79332260", + "m_Id": 2, + "m_DisplayName": "G", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SplitNode", + "m_ObjectId": "0f1ac6bc1ae2420dac4a4876f51e4911", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Split", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -5398.0, + "y": -381.0, + "width": 120.0, + "height": 149.00003051757813 + } + }, + "m_Slots": [ + { + "m_Id": "b632b839f125497abf86e40ba8256de9" + }, + { + "m_Id": "77fcef0cdb45451bb6bd9dd308754422" + }, + { + "m_Id": "030945fdceaa42aca0055b3e8d67d713" + }, + { + "m_Id": "1d267f73daf2449192488bd8bab453b8" + }, + { + "m_Id": "bc43c47f26b947e9b8cd6e640280c926" + } + ], + "synonyms": [ + "separate" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "10da1fda7bb24ca493aab73864f37495", + "m_Id": 0, + "m_DisplayName": "Smoothness", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Smoothness", + "m_StageCapability": 2, + "m_Value": 0.5, + "m_DefaultValue": 0.5, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "11667d99830c4fb9b3e843e1c7372f65", + "m_Id": 2, + "m_DisplayName": "G", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "1303bd9b6e974cd8b3112e728bd1c580", + "m_Id": 1, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "1442ff1d26a9468084e30ae4289bf7fd", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.ColorRGBMaterialSlot", + "m_ObjectId": "15b9de87a104492a82545a3c8dae0590", + "m_Id": 0, + "m_DisplayName": "Emission", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Emission", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_ColorMode": 1, + "m_DefaultColor": { + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "17652d1f1c3d40a8a41694527c66eb51", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "18621c545a0140a0ba835ff53efde72c", + "m_Id": 0, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.ComparisonNode", + "m_ObjectId": "194b6c0639eb4d04b1061bf4b216f38a", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Comparison", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3853.000244140625, + "y": 972.9999389648438, + "width": 145.000244140625, + "height": 136.00018310546876 + } + }, + "m_Slots": [ + { + "m_Id": "50606af4c8094b3d824782bfa0626513" + }, + { + "m_Id": "ef9e76bcf354447fb8165b0582384888" + }, + { + "m_Id": "c3f23c1cacb3405884909bd950a96379" + } + ], + "synonyms": [ + "equal", + "greater than", + "less than" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_ComparisonType": 4 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "1c3c6abdbbd74f84ae44a9b8b77519e7", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.20000000298023225, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "1d267f73daf2449192488bd8bab453b8", + "m_Id": 3, + "m_DisplayName": "B", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "1e42d3d4c818460997003b910f9395ae", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "1f3c6362f5604708bd3acafde02c9a78", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.ColorRGBMaterialSlot", + "m_ObjectId": "21536829f9324cdb82403f50620fe367", + "m_Id": 0, + "m_DisplayName": "Specular Color", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Specular", + "m_StageCapability": 2, + "m_Value": { + "x": 0.5, + "y": 0.5, + "z": 0.5 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_ColorMode": 0, + "m_DefaultColor": { + "r": 0.5, + "g": 0.5, + "b": 0.5, + "a": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SplitNode", + "m_ObjectId": "2164d91ae42040a0b963ca6c6d3ce071", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Split", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -4407.0, + "y": 987.0001220703125, + "width": 120.0, + "height": 148.9998779296875 + } + }, + "m_Slots": [ + { + "m_Id": "8a83e23974614204a4f357b648fd036e" + }, + { + "m_Id": "e2bab2800e8047bd965741b8f9bbb53f" + }, + { + "m_Id": "11667d99830c4fb9b3e843e1c7372f65" + }, + { + "m_Id": "8392fecea2d54ad296528e2c59246b92" + }, + { + "m_Id": "bae200461e7e48f68d94c8e52b3da76c" + } + ], + "synonyms": [ + "separate" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.CategoryData", + "m_ObjectId": "25358cf83aab43ee8932602621dc64ec", + "m_Name": "", + "m_ChildObjectList": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "282ba8edbd094fa1bf208c66663fbc3f", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Smoothness", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "10da1fda7bb24ca493aab73864f37495" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Smoothness" +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.PositionNode", + "m_ObjectId": "31867591bcb34896b1e405ebe4517798", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Position", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -4686.0, + "y": 987.0001220703125, + "width": 208.0, + "height": 315.0 + } + }, + "m_Slots": [ + { + "m_Id": "0bf3b0a08c8a42e3813d9e664119b6fc" + } + ], + "synonyms": [ + "location" + ], + "m_Precision": 1, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 2, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Space": 0, + "m_PositionSource": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "32955e756d264a5086e55b37d545b7ff", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -4002.999755859375, + "y": 74.0000228881836, + "width": 207.999755859375, + "height": 301.9999694824219 + } + }, + "m_Slots": [ + { + "m_Id": "47591795fc15448b84086739b03a0164" + }, + { + "m_Id": "9fde2771a79d44c3808e1479c76946fe" + }, + { + "m_Id": "e5b287cb34a34bcb8fb22237cd13b4b4" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.NormalMaterialSlot", + "m_ObjectId": "357777c029fd4e339c614131a2a85676", + "m_Id": 0, + "m_DisplayName": "Normal (Tangent Space)", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "NormalTS", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 3 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "3711c71453724bf1a66604ebdfbf2407", + "m_Id": 3, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "3717d8f9925e445d81b36dcb2c8e6a3e", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3122.999755859375, + "y": 74.0000228881836, + "width": 207.999755859375, + "height": 301.9999694824219 + } + }, + "m_Slots": [ + { + "m_Id": "94eefaf35e1f4419902bac2576d2a75b" + }, + { + "m_Id": "7028004b4efc495b94e1c0aa585a0e98" + }, + { + "m_Id": "aa4fc1ee3a734f5dadfd30ca73d588ae" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "3d0088118c9542abae53891f59120364", + "m_Group": { + "m_Id": "" + }, + "m_Name": "VertexDescription.Tangent", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "74da2f8a45594176a4001b3f00eb4c20" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "VertexDescription.Tangent" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "3dcf6727bbc84c9486fe45cbee98b9ca", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "3e8f5db9046342cd97d481463e9dcc29", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2893.0, + "y": 972.9999389648438, + "width": 208.000244140625, + "height": 302.00018310546877 + } + }, + "m_Slots": [ + { + "m_Id": "83029f2eb9f046ea915aed0d2ae7a5ed" + }, + { + "m_Id": "e8dee8506a33408d89240bacea8fdf79" + }, + { + "m_Id": "1f3c6362f5604708bd3acafde02c9a78" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "4459697c446f4f48b0e1c54ab8938279", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.NormalTS", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "357777c029fd4e339c614131a2a85676" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.NormalTS" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "4721ff2e29a948ada6436f51a1ee5e4b", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "47591795fc15448b84086739b03a0164", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "50606af4c8094b3d824782bfa0626513", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "553f5a6c1d084422969a1b31cbfb110d", + "m_Id": 0, + "m_DisplayName": "In", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "In", + "m_StageCapability": 3, + "m_Value": { + "x": 1.0, + "y": 1.0, + "z": 1.0, + "w": 1.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "555ca8b85bce450e9f4ad51fa8aa9636", + "m_Id": 2, + "m_DisplayName": "False", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "False", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.Rendering.Universal.ShaderGraph.UniversalTarget", + "m_ObjectId": "56302c7c694f49cb84a7ae337084cfb0", + "m_Datas": [], + "m_ActiveSubTarget": { + "m_Id": "8c6a89b980974e8f9223fdb4ee36ce4b" + }, + "m_AllowMaterialOverride": false, + "m_SurfaceType": 0, + "m_ZTestMode": 4, + "m_ZWriteControl": 0, + "m_AlphaMode": 0, + "m_RenderFace": 2, + "m_AlphaClip": false, + "m_CastShadows": true, + "m_ReceiveShadows": true, + "m_SupportsLODCrossFade": false, + "m_CustomEditorGUI": "", + "m_SupportVFX": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "5634078a5dee40d8a1ff2022cc24d2c6", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.ColorRGBMaterialSlot", + "m_ObjectId": "570501c1bbe54970bcc9b0bba3e9ff49", + "m_Id": 0, + "m_DisplayName": "Base Color", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "BaseColor", + "m_StageCapability": 2, + "m_Value": { + "x": 0.5, + "y": 0.5, + "z": 0.5 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_ColorMode": 0, + "m_DefaultColor": { + "r": 0.5, + "g": 0.5, + "b": 0.5, + "a": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "57c31e53eaba4869ad83f9f6dba0e017", + "m_Id": 1, + "m_DisplayName": "True", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "True", + "m_StageCapability": 3, + "m_Value": { + "x": 1.0, + "y": 1.0, + "z": 1.0, + "w": 1.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "5e0c219c42a140548eae7114b0b30671", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2378.0, + "y": 204.0, + "width": 208.0, + "height": 301.99993896484377 + } + }, + "m_Slots": [ + { + "m_Id": "e5dd2b566e914efe9b1923f7ad33d540" + }, + { + "m_Id": "1c3c6abdbbd74f84ae44a9b8b77519e7" + }, + { + "m_Id": "cc5e6c8cb5fa4791bee39abb4768e17f" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "618fd3a248034bb4be8e51778339b69b", + "m_Id": 0, + "m_DisplayName": "In", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "In", + "m_StageCapability": 3, + "m_Value": { + "x": 1.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "62fe610e80914e63aa023a13c84fa5bb", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "6318bc43bd6f4837b42c14dc8325d086", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Emission", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "15b9de87a104492a82545a3c8dae0590" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Emission" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.ExponentialNode", + "m_ObjectId": "651be73e08854681b459b29590c860dc", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Exponential", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3781.0, + "y": 1679.0001220703125, + "width": 208.000244140625, + "height": 313.0 + } + }, + "m_Slots": [ + { + "m_Id": "bb191a2d026e425f9e0fb3890855b609" + }, + { + "m_Id": "837cfe8241e944478cb109ab072823d1" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_ExponentialBase": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "65da42847a15404bb2d0de294fc47085", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -4118.0, + "y": -426.9999694824219, + "width": 208.000244140625, + "height": 301.9999694824219 + } + }, + "m_Slots": [ + { + "m_Id": "1442ff1d26a9468084e30ae4289bf7fd" + }, + { + "m_Id": "1e42d3d4c818460997003b910f9395ae" + }, + { + "m_Id": "b91b33e367bb4fe6ba78d8b16e698b92" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "6c92d9dcc2434ad7b77de1b7c6b30875", + "m_Id": 1, + "m_DisplayName": "Sine Time", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Sine Time", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "6d451823a9724587bdc03ecf300a37a2", + "m_Id": 1, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.ExponentialNode", + "m_ObjectId": "6e7ecc51c0994eb9a99912e811f3e281", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Exponential", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -4528.0, + "y": 1372.0, + "width": 208.0, + "height": 313.000244140625 + } + }, + "m_Slots": [ + { + "m_Id": "618fd3a248034bb4be8e51778339b69b" + }, + { + "m_Id": "dd462619b57147eabead5016e98a8c8a" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_ExponentialBase": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "7028004b4efc495b94e1c0aa585a0e98", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "719f47da6e514e78980775c72edc6a5a", + "m_Id": 0, + "m_DisplayName": "In", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "In", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BranchNode", + "m_ObjectId": "72a52a7f61394514aa741fd584e6194e", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Branch", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3424.999755859375, + "y": 972.9999389648438, + "width": 207.999755859375, + "height": 326.00018310546877 + } + }, + "m_Slots": [ + { + "m_Id": "b9e3cc675e3349a08ac3cfc53c8295e5" + }, + { + "m_Id": "57c31e53eaba4869ad83f9f6dba0e017" + }, + { + "m_Id": "555ca8b85bce450e9f4ad51fa8aa9636" + }, + { + "m_Id": "3711c71453724bf1a66604ebdfbf2407" + } + ], + "synonyms": [ + "switch", + "if", + "else" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3Node", + "m_ObjectId": "74482057bd214c4aa89f6ca457d93f0f", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Vector 3", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -720.0, + "y": -73.99999237060547, + "width": 127.99993896484375, + "height": 124.9999771118164 + } + }, + "m_Slots": [ + { + "m_Id": "c25b845ee709429ebc8a3b9ba1eec0b8" + }, + { + "m_Id": "ac42ba2f675b416ea0bae2766b05ae71" + }, + { + "m_Id": "7cf4e29ec4594d0c865ddff1a3b9c5fb" + }, + { + "m_Id": "d8fb3200962041da8363df73f5453daa" + } + ], + "synonyms": [ + "3", + "v3", + "vec3", + "float3" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.TangentMaterialSlot", + "m_ObjectId": "74da2f8a45594176a4001b3f00eb4c20", + "m_Id": 0, + "m_DisplayName": "Tangent", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Tangent", + "m_StageCapability": 1, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "77fcef0cdb45451bb6bd9dd308754422", + "m_Id": 1, + "m_DisplayName": "R", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "78af1406693640ff97379a6f1e59e42d", + "m_Id": 0, + "m_DisplayName": "Time", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Time", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "794c06e529e04841ae3d2f56d6cc4213", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "7cf4e29ec4594d0c865ddff1a3b9c5fb", + "m_Id": 3, + "m_DisplayName": "Z", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Z", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [ + "Z" + ] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "7edf77cba84348c0ba95929c4470ce32", + "m_Id": 0, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.PositionNode", + "m_ObjectId": "7fc33dfc0b1f4b13974e7b645d95c3a0", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Position", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1296.0499267578125, + "y": -80.6725082397461, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "7edf77cba84348c0ba95929c4470ce32" + } + ], + "synonyms": [ + "location" + ], + "m_Precision": 1, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 2, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Space": 0, + "m_PositionSource": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "82cdf329d0624312978b7d6e75b74cf2", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.BaseColor", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "570501c1bbe54970bcc9b0bba3e9ff49" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.BaseColor" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "83029f2eb9f046ea915aed0d2ae7a5ed", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "837cfe8241e944478cb109ab072823d1", + "m_Id": 1, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "8392fecea2d54ad296528e2c59246b92", + "m_Id": 3, + "m_DisplayName": "B", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "8a83e23974614204a4f357b648fd036e", + "m_Id": 0, + "m_DisplayName": "In", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "In", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 2, + "m_Type": "UnityEditor.Rendering.Universal.ShaderGraph.UniversalLitSubTarget", + "m_ObjectId": "8c6a89b980974e8f9223fdb4ee36ce4b", + "m_WorkflowMode": 0, + "m_NormalDropOffSpace": 0, + "m_ClearCoat": false, + "m_BlendModePreserveSpecular": true +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.AddNode", + "m_ObjectId": "8c9dea43eaf844f9afac4d9e75546e33", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Add", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3695.0, + "y": 32.000030517578128, + "width": 208.0, + "height": 301.9999694824219 + } + }, + "m_Slots": [ + { + "m_Id": "c50fe2a0f2d643a094b634784325dd22" + }, + { + "m_Id": "8d70224a60e249a6be0d3b02835b80d3" + }, + { + "m_Id": "5634078a5dee40d8a1ff2022cc24d2c6" + } + ], + "synonyms": [ + "addition", + "sum", + "plus" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "8d5160c87ee5438ea9b28a528ab4af9a", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "8d70224a60e249a6be0d3b02835b80d3", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "8decb471d2364ed7aa8df33d16304381", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.AddNode", + "m_ObjectId": "8e24a674f64d4e928eeb042930c99217", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Add", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -866.5626831054688, + "y": 204.43739318847657, + "width": 208.0, + "height": 302.0 + } + }, + "m_Slots": [ + { + "m_Id": "dbd69a90ee4e41a0973ba4ee678cc0b9" + }, + { + "m_Id": "bf1ee5934dc348b48cdddbb310eb62aa" + }, + { + "m_Id": "d514f56f9b614895a619c0bc03a6b35e" + } + ], + "synonyms": [ + "addition", + "sum", + "plus" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SineNode", + "m_ObjectId": "90dd6af501954e8b9dd96b884cd68a20", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Sine", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3442.0, + "y": 32.000030517578128, + "width": 208.000244140625, + "height": 278.0 + } + }, + "m_Slots": [ + { + "m_Id": "719f47da6e514e78980775c72edc6a5a" + }, + { + "m_Id": "1303bd9b6e974cd8b3112e728bd1c580" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "94eefaf35e1f4419902bac2576d2a75b", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "9f4fd0620d274b6da6a4e4a53a9c1cd6", + "m_Id": 1, + "m_DisplayName": "X", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "X", + "m_StageCapability": 3, + "m_Value": 0.15000000596046449, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "9fde2771a79d44c3808e1479c76946fe", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1Node", + "m_ObjectId": "a40d010add1e4d0c8c26e9fb20c54c22", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Float", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3360.0, + "y": 392.0000915527344, + "width": 126.000244140625, + "height": 77.0 + } + }, + "m_Slots": [ + { + "m_Id": "9f4fd0620d274b6da6a4e4a53a9c1cd6" + }, + { + "m_Id": "18621c545a0140a0ba835ff53efde72c" + } + ], + "synonyms": [ + "Vector 1", + "1", + "v1", + "vec1", + "scalar" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Value": 0.0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "a78d9a4b3cbb47d6b79d9d33c9ad3f58", + "m_Group": { + "m_Id": "" + }, + "m_Name": "VertexDescription.Normal", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "d1ab903d5557451fa949a2d1ddfe616d" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "VertexDescription.Normal" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "a7f36214cd8042368d1499654a7978ba", + "m_Id": 1, + "m_DisplayName": "X", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "X", + "m_StageCapability": 3, + "m_Value": 0.699999988079071, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "a87ea9339f1f4ec0bad4dd0344c28324", + "m_Id": 3, + "m_DisplayName": "Delta Time", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Delta Time", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "a8b1cae53b914fd68cf1ba3c64c01771", + "m_Group": { + "m_Id": "" + }, + "m_Name": "VertexDescription.Position", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "be8b7d07014d42d9844472d7f270bcf5" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "VertexDescription.Position" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "aa4fc1ee3a734f5dadfd30ca73d588ae", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SplitNode", + "m_ObjectId": "ab526606015446b1bddb71c13f31d468", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Split", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1051.0, + "y": -73.99999237060547, + "width": 119.99993896484375, + "height": 148.99998474121095 + } + }, + "m_Slots": [ + { + "m_Id": "ce77843a8d484985917872613fc0bea6" + }, + { + "m_Id": "e97b588a9e3343c38d1d7dfaae533f08" + }, + { + "m_Id": "0d06182c364d471d86b5830d79332260" + }, + { + "m_Id": "dbd46c2461db42b4a5021d89bbd8f019" + }, + { + "m_Id": "bd627ff98ba34edd9aebd8d4f51336db" + } + ], + "synonyms": [ + "separate" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "ac42ba2f675b416ea0bae2766b05ae71", + "m_Id": 2, + "m_DisplayName": "Y", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Y", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [ + "Y" + ] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.LogNode", + "m_ObjectId": "ac4aac880b6243b292a72436a0f7b3df", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Log", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3888.0, + "y": 1315.0, + "width": 208.0, + "height": 313.0 + } + }, + "m_Slots": [ + { + "m_Id": "553f5a6c1d084422969a1b31cbfb110d" + }, + { + "m_Id": "6d451823a9724587bdc03ecf300a37a2" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_LogBase": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "ad7a8bbd6ef44390aafdfb7c26adf6c4", + "m_Id": 4, + "m_DisplayName": "Smooth Delta", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Smooth Delta", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "b109bf4c93a446a4ac047332f8b3fbb7", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Specular", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "21536829f9324cdb82403f50620fe367" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Specular" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.AddNode", + "m_ObjectId": "b25fe0ce298b462c997fabb52f00d520", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Add", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -5005.0341796875, + "y": -175.0340576171875, + "width": 208.0, + "height": 302.0 + } + }, + "m_Slots": [ + { + "m_Id": "c11a969730db4c5ea15e9279fa50ea01" + }, + { + "m_Id": "17652d1f1c3d40a8a41694527c66eb51" + }, + { + "m_Id": "fdc0b013d71448c591e7234cb1f305fc" + } + ], + "synonyms": [ + "addition", + "sum", + "plus" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "b37751bae92f461eb45a0df551879c88", + "m_Id": 1, + "m_DisplayName": "X", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "X", + "m_StageCapability": 3, + "m_Value": 6.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "b632b839f125497abf86e40ba8256de9", + "m_Id": 0, + "m_DisplayName": "In", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "In", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "b91b33e367bb4fe6ba78d8b16e698b92", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BooleanMaterialSlot", + "m_ObjectId": "b9e3cc675e3349a08ac3cfc53c8295e5", + "m_Id": 0, + "m_DisplayName": "Predicate", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Predicate", + "m_StageCapability": 3, + "m_Value": false, + "m_DefaultValue": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "bae200461e7e48f68d94c8e52b3da76c", + "m_Id": 4, + "m_DisplayName": "A", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1Node", + "m_ObjectId": "bb0ffd59442349a3a8c6fe73f861053d", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Float", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -4278.0, + "y": -201.99996948242188, + "width": 126.0, + "height": 76.9999771118164 + } + }, + "m_Slots": [ + { + "m_Id": "a7f36214cd8042368d1499654a7978ba" + }, + { + "m_Id": "ce7bdbb83d404dd4891c3bed805b7f58" + } + ], + "synonyms": [ + "Vector 1", + "1", + "v1", + "vec1", + "scalar" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Value": 0.0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "bb191a2d026e425f9e0fb3890855b609", + "m_Id": 0, + "m_DisplayName": "In", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "In", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "bc43c47f26b947e9b8cd6e640280c926", + "m_Id": 4, + "m_DisplayName": "A", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "bd627ff98ba34edd9aebd8d4f51336db", + "m_Id": 4, + "m_DisplayName": "A", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PositionMaterialSlot", + "m_ObjectId": "be8b7d07014d42d9844472d7f270bcf5", + "m_Id": 0, + "m_DisplayName": "Position", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Position", + "m_StageCapability": 1, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "bf1ee5934dc348b48cdddbb310eb62aa", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "c0950d9e63dc4b59b42a9e24ddaa9b01", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -5253.5625, + "y": -79.56261444091797, + "width": 208.0, + "height": 302.0 + } + }, + "m_Slots": [ + { + "m_Id": "62fe610e80914e63aa023a13c84fa5bb" + }, + { + "m_Id": "f744f7e3ed14469bb5fe36d0f6fae1f5" + }, + { + "m_Id": "c78d98838a9f4e14bae45ad42e55b3ae" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "c0ebfb5a7f4a421b8e9957f5f445f94c", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Occlusion", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "d4e2a2f37bfe44e2ae2a55e2e380648a" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Occlusion" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "c11a969730db4c5ea15e9279fa50ea01", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "c25b845ee709429ebc8a3b9ba1eec0b8", + "m_Id": 1, + "m_DisplayName": "X", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "X", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BooleanMaterialSlot", + "m_ObjectId": "c3f23c1cacb3405884909bd950a96379", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": false, + "m_DefaultValue": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "c50fe2a0f2d643a094b634784325dd22", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1Node", + "m_ObjectId": "c6ad877044bd469abd6b7f4f789f25fe", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Float", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -4215.0, + "y": 257.0000305175781, + "width": 126.0, + "height": 76.99996948242188 + } + }, + "m_Slots": [ + { + "m_Id": "b37751bae92f461eb45a0df551879c88" + }, + { + "m_Id": "d09d6bb131da47c4bb963593592ddca0" + } + ], + "synonyms": [ + "Vector 1", + "1", + "v1", + "vec1", + "scalar" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Value": 0.0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "c78d98838a9f4e14bae45ad42e55b3ae", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.TimeNode", + "m_ObjectId": "caf1294c1d6342f0804af1ce485d668c", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Time", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -4213.0, + "y": 74.0000228881836, + "width": 124.0, + "height": 173.00003051757813 + } + }, + "m_Slots": [ + { + "m_Id": "78af1406693640ff97379a6f1e59e42d" + }, + { + "m_Id": "6c92d9dcc2434ad7b77de1b7c6b30875" + }, + { + "m_Id": "00356bb8673b42eaab942b3d41e55d93" + }, + { + "m_Id": "a87ea9339f1f4ec0bad4dd0344c28324" + }, + { + "m_Id": "ad7a8bbd6ef44390aafdfb7c26adf6c4" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "cc5e6c8cb5fa4791bee39abb4768e17f", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "ce77843a8d484985917872613fc0bea6", + "m_Id": 0, + "m_DisplayName": "In", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "In", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "ce7bdbb83d404dd4891c3bed805b7f58", + "m_Id": 0, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "cf44a77fa24c44a193fda3037b88907a", + "m_Id": 0, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "d09d6bb131da47c4bb963593592ddca0", + "m_Id": 0, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.NormalMaterialSlot", + "m_ObjectId": "d1ab903d5557451fa949a2d1ddfe616d", + "m_Id": 0, + "m_DisplayName": "Normal", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Normal", + "m_StageCapability": 1, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "d4852ba2814e4057a3b430f959c7b4b2", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "d4e2a2f37bfe44e2ae2a55e2e380648a", + "m_Id": 0, + "m_DisplayName": "Ambient Occlusion", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Occlusion", + "m_StageCapability": 2, + "m_Value": 1.0, + "m_DefaultValue": 1.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "d514f56f9b614895a619c0bc03a6b35e", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.PositionNode", + "m_ObjectId": "d5e2caa439554813970ec2b357371f4d", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Position", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -5662.0, + "y": -381.0, + "width": 208.0, + "height": 314.9999694824219 + } + }, + "m_Slots": [ + { + "m_Id": "cf44a77fa24c44a193fda3037b88907a" + } + ], + "synonyms": [ + "location" + ], + "m_Precision": 1, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 2, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Space": 0, + "m_PositionSource": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "d8fb3200962041da8363df73f5453daa", + "m_Id": 0, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "dbd46c2461db42b4a5021d89bbd8f019", + "m_Id": 3, + "m_DisplayName": "B", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "dbd69a90ee4e41a0973ba4ee678cc0b9", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "dd462619b57147eabead5016e98a8c8a", + "m_Id": 1, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "e2bab2800e8047bd965741b8f9bbb53f", + "m_Id": 1, + "m_DisplayName": "R", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "e5b287cb34a34bcb8fb22237cd13b4b4", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "e5dd2b566e914efe9b1923f7ad33d540", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "e8dee8506a33408d89240bacea8fdf79", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "e97b588a9e3343c38d1d7dfaae533f08", + "m_Id": 1, + "m_DisplayName": "R", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "ef9e76bcf354447fb8165b0582384888", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.AddNode", + "m_ObjectId": "f0d7ee6b1b9a435f91e094efb0a0de42", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Add", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -4184.0, + "y": 1170.0001220703125, + "width": 208.0, + "height": 302.0 + } + }, + "m_Slots": [ + { + "m_Id": "d4852ba2814e4057a3b430f959c7b4b2" + }, + { + "m_Id": "8d5160c87ee5438ea9b28a528ab4af9a" + }, + { + "m_Id": "794c06e529e04841ae3d2f56d6cc4213" + } + ], + "synonyms": [ + "addition", + "sum", + "plus" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "f744f7e3ed14469bb5fe36d0f6fae1f5", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.5, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "fdc0b013d71448c591e7234cb1f305fc", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + diff --git a/BlueWater/Assets/10.Shaders/Fish.shadergraph.meta b/BlueWater/Assets/10.Shaders/Fish.shadergraph.meta new file mode 100644 index 000000000..5814c32d5 --- /dev/null +++ b/BlueWater/Assets/10.Shaders/Fish.shadergraph.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 7cae0496bda14c04a9d5aa9138f04bda +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3} diff --git a/BlueWater/Assets/10.Shaders/FishAnimation.shader b/BlueWater/Assets/10.Shaders/FishAnimation.shader new file mode 100644 index 000000000..2ab72da97 --- /dev/null +++ b/BlueWater/Assets/10.Shaders/FishAnimation.shader @@ -0,0 +1,109 @@ +/* + Author: Alberto Mellado Cruz + Date: 09/11/2017 + + Comments: + This is just a test that would depend on the 3D Model used. + Vertex animations would allow the use of GPU Instancing, + enabling the use of a dense amount of animated fish. + The code may not be optimized but it was just a test +*/ + +Shader "Custom/FishAnimation" { + Properties{ + _MainTex("Albedo (RGB)", 2D) = "white" {} + _SpeedX("SpeedX", Range(0, 10)) = 1 + _FrequencyX("FrequencyX", Range(0, 10)) = 1 + _AmplitudeX("AmplitudeX", Range(0, 0.2)) = 1 + _SpeedY("SpeedY", Range(0, 10)) = 1 + _FrequencyY("FrequencyY", Range(0, 10)) = 1 + _AmplitudeY("AmplitudeY", Range(0, 0.2)) = 1 + _SpeedZ("SpeedZ", Range(0, 10)) = 1 + _FrequencyZ("FrequencyZ", Range(0, 10)) = 1 + _AmplitudeZ("AmplitudeZ", Range(0, 2)) = 1 + _HeadLimit("HeadLimit", Range(-2, 2)) = 0.05 + } + SubShader{ + Tags{ "RenderType" = "Opaque" + "RenderPipeline" = "UniversalPipeline" + } + Cull off + + Pass{ + + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #include "UnityCG.cginc" + + sampler2D _MainTex; + float4 _MainTex_ST; + + struct v2f { + float4 pos : SV_POSITION; + float2 uv : TEXCOORD0; + }; + + // X AXIS + + float _SpeedX; + float _FrequencyX; + float _AmplitudeX; + + // Y AXIS + + float _SpeedY; + float _FrequencyY; + float _AmplitudeY; + + // Z AXIS + + float _SpeedZ; + float _FrequencyZ; + float _AmplitudeZ; + + // Head Limit (Head wont shake so much) + + float _HeadLimit; + + v2f vert(appdata_base v) + { + v2f o; + + //Z AXIS + + v.vertex.z += sin((v.vertex.z + _Time.y * _SpeedX) * _FrequencyX)* _AmplitudeX; + + //Y AXIS + + v.vertex.y += sin((v.vertex.z + _Time.y * _SpeedY) * _FrequencyY)* _AmplitudeY; + + //X AXIS + + if (v.vertex.z > _HeadLimit) + { + v.vertex.x += sin((0.05 + _Time.y * _SpeedZ) * _FrequencyZ)* _AmplitudeZ * _HeadLimit; + } + else + { + v.vertex.x += sin((v.vertex.z + _Time.y * _SpeedZ) * _FrequencyZ)* _AmplitudeZ * v.vertex.z; + } + + + o.pos = UnityObjectToClipPos(v.vertex); + o.uv = TRANSFORM_TEX(v.texcoord, _MainTex); + return o; + + } + + fixed4 frag(v2f i) : SV_Target + { + return tex2D(_MainTex, i.uv); + } + + ENDCG + + } + } + FallBack "Diffuse" +} \ No newline at end of file diff --git a/BlueWater/Assets/10.Shaders/FishAnimation.shader.meta b/BlueWater/Assets/10.Shaders/FishAnimation.shader.meta new file mode 100644 index 000000000..e94ca5f4c --- /dev/null +++ b/BlueWater/Assets/10.Shaders/FishAnimation.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 8b0bcba1cce78b64f84471735e786188 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/BlueWater/ProjectSettings/TagManager.asset b/BlueWater/ProjectSettings/TagManager.asset index 6fd309a89..4a679b25c 100644 --- a/BlueWater/ProjectSettings/TagManager.asset +++ b/BlueWater/ProjectSettings/TagManager.asset @@ -37,7 +37,7 @@ TagManager: - - Enemy - - - Fish + - Boid - - Npc - From d84434997c0e059f2fcd339b517dc395c1302cd8 Mon Sep 17 00:00:00 2001 From: NTG_Lenovo Date: Fri, 29 Dec 2023 14:59:04 +0900 Subject: [PATCH 2/3] =?UTF-8?q?#70=20=EB=AC=BC=EA=B3=A0=EA=B8=B0=20Ai=20?= =?UTF-8?q?=EC=9E=91=EC=97=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit + Fish01 모델링 추가 + Fish01 shader를 통한 애니메이션 추가 + Boid 프리팹 수정 --- BlueWater/Assets/01.Scenes/02.Ocean.unity | 179 +-- BlueWater/Assets/02.Scripts/Boid.cs | 3 +- BlueWater/Assets/02.Scripts/Boids.cs | 27 +- .../Assets/03.Materials/Boids/FishGraph.mat | 13 +- BlueWater/Assets/05.Prefabs/Boids/Boid.prefab | 14 +- BlueWater/Assets/08.Models/fish.fbx | Bin 31500 -> 0 bytes BlueWater/Assets/08.Models/fish.fbx.meta | 107 -- BlueWater/Assets/08.Models/fish01.fbx | Bin 31740 -> 31596 bytes BlueWater/Assets/08.Models/fish01.fbx.meta | 2 +- BlueWater/Assets/08.Models/fish01.png.meta | 10 +- BlueWater/Assets/10.Shaders/Fish.shadergraph | 1041 +++++++++++++---- 11 files changed, 856 insertions(+), 540 deletions(-) delete mode 100644 BlueWater/Assets/08.Models/fish.fbx delete mode 100644 BlueWater/Assets/08.Models/fish.fbx.meta diff --git a/BlueWater/Assets/01.Scenes/02.Ocean.unity b/BlueWater/Assets/01.Scenes/02.Ocean.unity index 8f5f4dd28..6eccc2f23 100644 --- a/BlueWater/Assets/01.Scenes/02.Ocean.unity +++ b/BlueWater/Assets/01.Scenes/02.Ocean.unity @@ -781,79 +781,6 @@ Transform: - {fileID: 44403557} m_Father: {fileID: 357776295} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1001 &102757400 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: -8679921383154817045, guid: 4fcad621167d55148be4bc4c00d7226e, - type: 3} - propertyPath: m_LocalPosition.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 4fcad621167d55148be4bc4c00d7226e, - type: 3} - propertyPath: m_LocalPosition.y - value: 4.25 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 4fcad621167d55148be4bc4c00d7226e, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 4fcad621167d55148be4bc4c00d7226e, - type: 3} - propertyPath: m_LocalRotation.w - value: 0.7071067 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 4fcad621167d55148be4bc4c00d7226e, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 4fcad621167d55148be4bc4c00d7226e, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 4fcad621167d55148be4bc4c00d7226e, - type: 3} - propertyPath: m_LocalRotation.z - value: 0.7071068 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 4fcad621167d55148be4bc4c00d7226e, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 4fcad621167d55148be4bc4c00d7226e, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 4fcad621167d55148be4bc4c00d7226e, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -7511558181221131132, guid: 4fcad621167d55148be4bc4c00d7226e, - type: 3} - propertyPath: 'm_Materials.Array.data[0]' - value: - objectReference: {fileID: 2100000, guid: ba438db46799cdc48b7a187f7d42df9e, type: 2} - - target: {fileID: 919132149155446097, guid: 4fcad621167d55148be4bc4c00d7226e, - type: 3} - propertyPath: m_Name - value: fish01 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 4fcad621167d55148be4bc4c00d7226e, type: 3} --- !u!1 &107190133 GameObject: m_ObjectHideFlags: 0 @@ -7115,7 +7042,7 @@ PrefabInstance: - target: {fileID: 5146900491857106217, guid: f228040d76c9217409284544f353da47, type: 3} propertyPath: boidCount - value: 1000 + value: 100 objectReference: {fileID: 0} - target: {fileID: 5146900491857106217, guid: f228040d76c9217409284544f353da47, type: 3} @@ -7125,27 +7052,27 @@ PrefabInstance: - target: {fileID: 5146900491857106217, guid: f228040d76c9217409284544f353da47, type: 3} propertyPath: k__BackingField - value: 0.1 + value: 1 objectReference: {fileID: 0} - target: {fileID: 5146900491857106217, guid: f228040d76c9217409284544f353da47, type: 3} propertyPath: k__BackingField - value: 10 + value: 5 objectReference: {fileID: 0} - target: {fileID: 5146900491857106217, guid: f228040d76c9217409284544f353da47, type: 3} propertyPath: k__BackingField - value: 10 + value: 2 objectReference: {fileID: 0} - target: {fileID: 5146900491857106217, guid: f228040d76c9217409284544f353da47, type: 3} propertyPath: k__BackingField - value: 6 + value: 3 objectReference: {fileID: 0} - target: {fileID: 5146900491857106217, guid: f228040d76c9217409284544f353da47, type: 3} propertyPath: k__BackingField - value: 1 + value: 2 objectReference: {fileID: 0} - target: {fileID: 5146900491857106217, guid: f228040d76c9217409284544f353da47, type: 3} @@ -10840,8 +10767,8 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1485085414} serializedVersion: 2 - m_LocalRotation: {x: 0.38024005, y: 0.61873704, z: -0.46296254, w: 0.5081807} - m_LocalPosition: {x: -0.0006713867, y: 0, z: -0.0033721924} + m_LocalRotation: {x: 0.38024017, y: 0.6187369, z: -0.46296236, w: 0.5081809} + m_LocalPosition: {x: -0.0006790161, y: 0, z: -0.00340271} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: @@ -11268,94 +11195,6 @@ MeshFilter: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1508474649} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1001 &1516929766 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: -8679921383154817045, guid: d8bab48d09fd529438ea0c30410bd858, - type: 3} - propertyPath: m_LocalScale.x - value: 1 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: d8bab48d09fd529438ea0c30410bd858, - type: 3} - propertyPath: m_LocalScale.y - value: 1 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: d8bab48d09fd529438ea0c30410bd858, - type: 3} - propertyPath: m_LocalScale.z - value: 1 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: d8bab48d09fd529438ea0c30410bd858, - type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: d8bab48d09fd529438ea0c30410bd858, - type: 3} - propertyPath: m_LocalPosition.y - value: 0.938 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: d8bab48d09fd529438ea0c30410bd858, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: d8bab48d09fd529438ea0c30410bd858, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: d8bab48d09fd529438ea0c30410bd858, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: d8bab48d09fd529438ea0c30410bd858, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: d8bab48d09fd529438ea0c30410bd858, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: d8bab48d09fd529438ea0c30410bd858, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: d8bab48d09fd529438ea0c30410bd858, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: d8bab48d09fd529438ea0c30410bd858, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -7511558181221131132, guid: d8bab48d09fd529438ea0c30410bd858, - type: 3} - propertyPath: 'm_Materials.Array.data[0]' - value: - objectReference: {fileID: 2100000, guid: ba438db46799cdc48b7a187f7d42df9e, type: 2} - - target: {fileID: 919132149155446097, guid: d8bab48d09fd529438ea0c30410bd858, - type: 3} - propertyPath: m_Name - value: fish - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: d8bab48d09fd529438ea0c30410bd858, type: 3} --- !u!4 &1537919015 stripped Transform: m_CorrespondingSourceObject: {fileID: 2213139629052044068, guid: 0f7ff4b7b8d5e4f09ac4fc513061cd59, @@ -16652,5 +16491,3 @@ SceneRoots: - {fileID: 280786784} - {fileID: 2821987114204187354} - {fileID: 718723263} - - {fileID: 1516929766} - - {fileID: 102757400} diff --git a/BlueWater/Assets/02.Scripts/Boid.cs b/BlueWater/Assets/02.Scripts/Boid.cs index d7a167ffb..fa7211601 100644 --- a/BlueWater/Assets/02.Scripts/Boid.cs +++ b/BlueWater/Assets/02.Scripts/Boid.cs @@ -15,6 +15,7 @@ namespace BlueWaterProject [SerializeField] private float viewAngle = 120; [SerializeField] private int maxNeighbourCount = 10; [SerializeField] private float neighbourDistance = 6; + [SerializeField] private float avoidAdditionalSpeed = 10; [Title("ETC")] [SerializeField] private LayerMask boidUnitLayer; @@ -168,7 +169,7 @@ namespace BlueWaterProject { Debug.DrawLine(transform.position, hit.point, Color.black); obstaclePos = hit.normal; - additionalSpeed = 10; + additionalSpeed = avoidAdditionalSpeed; } return obstaclePos; } diff --git a/BlueWater/Assets/02.Scripts/Boids.cs b/BlueWater/Assets/02.Scripts/Boids.cs index 1822c139c..b19033df9 100644 --- a/BlueWater/Assets/02.Scripts/Boids.cs +++ b/BlueWater/Assets/02.Scripts/Boids.cs @@ -1,3 +1,4 @@ +using System.Collections; using Sirenix.OdinInspector; using UnityEngine; using Random = UnityEngine.Random; @@ -23,27 +24,27 @@ namespace BlueWaterProject [field: SerializeField] public Vector2 RandomSpeedRange { get; private set; } = new(5, 10); [field: Range(0, 10)] - [field: Tooltip("응집력 가중치")] + [field: Tooltip("응집력(뭉치기) 가중치")] [field: SerializeField] public float CohesionWeight { get; private set; } = 1; [field: Range(0, 10)] - [field: Tooltip("정렬 가중치")] + [field: Tooltip("정렬(같은 방향) 가중치")] [field: SerializeField] public float AlignmentWeight { get; private set; } = 1; [field: Range(0, 10)] - [field: Tooltip("분리 가중치")] + [field: Tooltip("분리(서로 회피) 가중치")] [field: SerializeField] public float SeparationWeight { get; private set; } = 1; [field: Range(0, 100)] - [field: Tooltip("경계 가중치")] + [field: Tooltip("경계 범위 내 행동 가중치")] [field: SerializeField] public float BoundsWeight { get; private set; } = 1; [field: Range(0, 100)] - [field: Tooltip("장애물 가중치")] + [field: Tooltip("장애물 회피 가중치")] [field: SerializeField] public float ObstacleWeight { get; private set; } = 10; [field: Range(0, 10)] - [field: Tooltip("자아 가중치")] + [field: Tooltip("자아(독립행동) 가중치")] [field: SerializeField] public float EgoWeight { get; private set; } = 1; [Title("옵션")] @@ -78,5 +79,19 @@ namespace BlueWaterProject boid.Init(this, Random.Range(RandomSpeedRange.x, RandomSpeedRange.y)); } } + + public void SetBoundPos(Vector3 value) => BoundMeshRenderer.transform.position = value; + public void SetBoundPosLerp(Vector3 value, float time) => StartCoroutine(BoundPosLerpCoroutine(value, 1/time)); + + private IEnumerator BoundPosLerpCoroutine(Vector3 value, float time) + { + while (Vector3.Distance(transform.position, value) > 0.1f) + { + transform.position = Vector3.Lerp(transform.position, value, time * Time.deltaTime); + yield return null; + } + + transform.position = value; + } } } \ No newline at end of file diff --git a/BlueWater/Assets/03.Materials/Boids/FishGraph.mat b/BlueWater/Assets/03.Materials/Boids/FishGraph.mat index 16f1dc144..bf411c417 100644 --- a/BlueWater/Assets/03.Materials/Boids/FishGraph.mat +++ b/BlueWater/Assets/03.Materials/Boids/FishGraph.mat @@ -49,7 +49,7 @@ Material: m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _MainTex: - m_Texture: {fileID: 2800000, guid: b22e9f06f1fbc294c9cb94024e1e05ea, type: 3} + m_Texture: {fileID: 2800000, guid: b34b0ea64a298ba48a6f15ff41f219b4, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _MetallicGlossMap: @@ -82,27 +82,34 @@ Material: m_Offset: {x: 0, y: 0} m_Ints: [] m_Floats: + - _A: 0.5 - _AlphaClip: 0 - _AlphaToMask: 0 + - _Amplitude: 0.15 - _AmplitudeX: 0.2 - _AmplitudeX_1: 0.2 - _AmplitudeX_2: 0.2 - _AmplitudeX_3: 0.2 - _AmplitudeY: 0.2 - _AmplitudeZ: 1 + - _B: 0.7 - _Blend: 0 - _BlendModePreserveSpecular: 1 - _BlendOp: 0 - _BumpScale: 1 + - _C: 6 - _ClearCoatMask: 0 - _ClearCoatSmoothness: 0 - _Cull: 0 - _Cutoff: 0.5 + - _D: 0.15 - _DetailAlbedoMapScale: 1 - _DetailNormalMapScale: 1 - _DstBlend: 0 - _DstBlendAlpha: 0 + - _E: 0.2 - _EnvironmentReflections: 1 + - _F: 1 - _FrequencyX: 1 - _FrequencyX_1: 1 - _FrequencyX_2: 1 @@ -121,9 +128,11 @@ Material: - _QueueOffset: 50 - _ReceiveShadows: 1 - _SampleGI: 0 + - _Shake: 0.7 - _Smoothness: 0.5 - _SmoothnessTextureChannel: 0 - _SpecularHighlights: 1 + - _Speed: 6 - _SpeedX: 1 - _SpeedY: 1 - _SpeedZ: 1 @@ -132,6 +141,8 @@ Material: - _Surface: 0 - _WorkflowMode: 1 - _ZWrite: 1 + - _offsetY: 0.2 + - _offsetZ: 0.5 m_Colors: - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - _Color: {r: 1, g: 1, b: 1, a: 1} diff --git a/BlueWater/Assets/05.Prefabs/Boids/Boid.prefab b/BlueWater/Assets/05.Prefabs/Boids/Boid.prefab index 3b7eab052..c423ec96e 100644 --- a/BlueWater/Assets/05.Prefabs/Boids/Boid.prefab +++ b/BlueWater/Assets/05.Prefabs/Boids/Boid.prefab @@ -52,7 +52,7 @@ MonoBehaviour: neighbourDistance: 6 boidUnitLayer: serializedVersion: 2 - m_Bits: 0 + m_Bits: 32768 obstacleLayer: serializedVersion: 2 m_Bits: 2097672 @@ -75,7 +75,7 @@ BoxCollider: m_ProvidesContacts: 0 m_Enabled: 1 serializedVersion: 3 - m_Size: {x: 1, y: 1, z: 4} + m_Size: {x: 0.5, y: 0.9, z: 2} m_Center: {x: 0, y: 0, z: 0} --- !u!1 &5370122689380285007 GameObject: @@ -103,13 +103,13 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 5370122689380285007} serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0.7071068, w: 0.7071067} + m_LocalRotation: {x: -0.7071068, y: 0, z: 0, w: 0.7071068} m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1.9594047} - m_ConstrainProportionsScale: 0 + m_LocalScale: {x: 0.2, y: 0.2, z: 0.2} + m_ConstrainProportionsScale: 1 m_Children: [] m_Father: {fileID: 4874816205509271808} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_LocalEulerAnglesHint: {x: -90, y: 0, z: 0} --- !u!33 &1579208819468009085 MeshFilter: m_ObjectHideFlags: 0 @@ -117,7 +117,7 @@ MeshFilter: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 5370122689380285007} - m_Mesh: {fileID: 1391105594336295549, guid: 4fcad621167d55148be4bc4c00d7226e, type: 3} + m_Mesh: {fileID: 1391105594336295549, guid: fbd7d2a74f65925409b9760a9b241131, type: 3} --- !u!23 &1238523984028734065 MeshRenderer: m_ObjectHideFlags: 0 diff --git a/BlueWater/Assets/08.Models/fish.fbx b/BlueWater/Assets/08.Models/fish.fbx deleted file mode 100644 index 7dcc828553a2d9eb796336f6262ba788dafa4400..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31500 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 diff --git a/BlueWater/Assets/08.Models/fish.fbx.meta b/BlueWater/Assets/08.Models/fish.fbx.meta deleted file mode 100644 index f993d5c48..000000000 --- a/BlueWater/Assets/08.Models/fish.fbx.meta +++ /dev/null @@ -1,107 +0,0 @@ -fileFormatVersion: 2 -guid: d8bab48d09fd529438ea0c30410bd858 -ModelImporter: - serializedVersion: 22200 - internalIDToNameTable: [] - externalObjects: {} - materials: - materialImportMode: 2 - materialName: 0 - materialSearch: 1 - materialLocation: 1 - animations: - legacyGenerateAnimations: 4 - bakeSimulation: 0 - resampleCurves: 1 - optimizeGameObjects: 0 - removeConstantScaleCurves: 0 - motionNodeName: - animationImportErrors: - animationImportWarnings: - animationRetargetingWarnings: - animationDoRetargetingWarnings: 0 - importAnimatedCustomProperties: 0 - importConstraints: 0 - animationCompression: 1 - animationRotationError: 0.5 - animationPositionError: 0.5 - animationScaleError: 0.5 - animationWrapMode: 0 - extraExposedTransformPaths: [] - extraUserProperties: [] - clipAnimations: [] - isReadable: 0 - meshes: - lODScreenPercentages: [] - globalScale: 1 - meshCompression: 0 - addColliders: 0 - useSRGBMaterialColor: 1 - sortHierarchyByName: 1 - importPhysicalCameras: 1 - importVisibility: 1 - importBlendShapes: 1 - importCameras: 1 - importLights: 1 - nodeNameCollisionStrategy: 1 - fileIdsGeneration: 2 - swapUVChannels: 0 - generateSecondaryUV: 0 - useFileUnits: 1 - keepQuads: 0 - weldVertices: 1 - bakeAxisConversion: 0 - preserveHierarchy: 0 - skinWeightsMode: 0 - maxBonesPerVertex: 4 - minBoneWeight: 0.001 - optimizeBones: 1 - meshOptimizationFlags: -1 - indexFormat: 0 - secondaryUVAngleDistortion: 8 - secondaryUVAreaDistortion: 15.000001 - secondaryUVHardAngle: 88 - secondaryUVMarginMethod: 1 - secondaryUVMinLightmapResolution: 40 - secondaryUVMinObjectScale: 1 - secondaryUVPackMargin: 4 - useFileScale: 1 - strictVertexDataChecks: 0 - tangentSpace: - normalSmoothAngle: 60 - normalImportMode: 0 - tangentImportMode: 3 - normalCalculationMode: 4 - legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 - blendShapeNormalImportMode: 1 - normalSmoothingSource: 0 - referencedClips: [] - importAnimation: 1 - humanDescription: - serializedVersion: 3 - human: [] - skeleton: [] - armTwist: 0.5 - foreArmTwist: 0.5 - upperLegTwist: 0.5 - legTwist: 0.5 - armStretch: 0.05 - legStretch: 0.05 - feetSpacing: 0 - globalScale: 1 - rootMotionBoneName: - hasTranslationDoF: 0 - hasExtraRoot: 0 - skeletonHasParents: 1 - lastHumanDescriptionAvatarSource: {instanceID: 0} - autoGenerateAvatarMappingIfUnspecified: 1 - animationType: 2 - humanoidOversampling: 1 - avatarSetup: 0 - addHumanoidExtraRootOnlyWhenUsingAvatar: 1 - importBlendShapeDeformPercent: 1 - remapMaterialsIfMaterialImportModeIsNone: 0 - additionalBone: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/08.Models/fish01.fbx b/BlueWater/Assets/08.Models/fish01.fbx index b614696290e5fc67bc7877de3c3e6ba8d0750d3f..470eed83a123429388de91af1f0a9c9cac5454b3 100644 GIT binary patch delta 9302 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 gS`kC$zm4@Ec)hI1q20@ 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 diff --git a/BlueWater/Assets/08.Models/fish01.fbx.meta b/BlueWater/Assets/08.Models/fish01.fbx.meta index 7a658cc3f..7b36ed493 100644 --- a/BlueWater/Assets/08.Models/fish01.fbx.meta +++ b/BlueWater/Assets/08.Models/fish01.fbx.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 4fcad621167d55148be4bc4c00d7226e +guid: fbd7d2a74f65925409b9760a9b241131 ModelImporter: serializedVersion: 22200 internalIDToNameTable: [] diff --git a/BlueWater/Assets/08.Models/fish01.png.meta b/BlueWater/Assets/08.Models/fish01.png.meta index 6a36ed9f1..b1febc1bc 100644 --- a/BlueWater/Assets/08.Models/fish01.png.meta +++ b/BlueWater/Assets/08.Models/fish01.png.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: b22e9f06f1fbc294c9cb94024e1e05ea +guid: b34b0ea64a298ba48a6f15ff41f219b4 TextureImporter: internalIDToNameTable: [] externalObjects: {} @@ -37,9 +37,9 @@ TextureImporter: filterMode: 1 aniso: 1 mipBias: 0 - wrapU: 1 - wrapV: 1 - wrapW: 1 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 compressionQuality: 50 @@ -52,7 +52,7 @@ TextureImporter: spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteGenerateFallbackPhysicsShape: 1 alphaUsage: 1 - alphaIsTransparency: 1 + alphaIsTransparency: 0 spriteTessellationDetail: -1 textureType: 0 textureShape: 1 diff --git a/BlueWater/Assets/10.Shaders/Fish.shadergraph b/BlueWater/Assets/10.Shaders/Fish.shadergraph index f393deb30..16a45776f 100644 --- a/BlueWater/Assets/10.Shaders/Fish.shadergraph +++ b/BlueWater/Assets/10.Shaders/Fish.shadergraph @@ -2,7 +2,26 @@ "m_SGVersion": 3, "m_Type": "UnityEditor.ShaderGraph.GraphData", "m_ObjectId": "4791268607aa46ef99d48dcf58b3a032", - "m_Properties": [], + "m_Properties": [ + { + "m_Id": "4bb4f678090c4db6bba80b0029d65754" + }, + { + "m_Id": "bf9fd4ef06464864b5c37629c15f9774" + }, + { + "m_Id": "2f8f732b8e5e49baa6070f553e0354f8" + }, + { + "m_Id": "6a13a72349b142e99a2ffbb22df46601" + }, + { + "m_Id": "9428f6a2d93941838922245ae435dfe6" + }, + { + "m_Id": "46a98735faed4e5faa43025fc59c92b0" + } + ], "m_Keywords": [], "m_Dropdowns": [], "m_CategoryData": [ @@ -47,9 +66,6 @@ { "m_Id": "caf1294c1d6342f0804af1ce485d668c" }, - { - "m_Id": "c6ad877044bd469abd6b7f4f789f25fe" - }, { "m_Id": "32955e756d264a5086e55b37d545b7ff" }, @@ -59,18 +75,12 @@ { "m_Id": "65da42847a15404bb2d0de294fc47085" }, - { - "m_Id": "bb0ffd59442349a3a8c6fe73f861053d" - }, { "m_Id": "90dd6af501954e8b9dd96b884cd68a20" }, { "m_Id": "3717d8f9925e445d81b36dcb2c8e6a3e" }, - { - "m_Id": "a40d010add1e4d0c8c26e9fb20c54c22" - }, { "m_Id": "7fc33dfc0b1f4b13974e7b645d95c3a0" }, @@ -121,6 +131,27 @@ }, { "m_Id": "c0950d9e63dc4b59b42a9e24ddaa9b01" + }, + { + "m_Id": "13a3a563abdd4930b2f1cdc100ea3a51" + }, + { + "m_Id": "a5fe8311ab444deaad2f70d5ad59050c" + }, + { + "m_Id": "97e1c5721050497e850466f092770e4f" + }, + { + "m_Id": "e7c9e2fac49c46faa0181578933532a9" + }, + { + "m_Id": "df3ca5f541294090addd285dcc2c8ab2" + }, + { + "m_Id": "65e6c2d9c7b4443e99d6dad5a1990487" + }, + { + "m_Id": "96fe066beac34868835064c9cde0c7e9" } ], "m_GroupDatas": [], @@ -145,11 +176,11 @@ "m_Node": { "m_Id": "0f1ac6bc1ae2420dac4a4876f51e4911" }, - "m_SlotId": 1 + "m_SlotId": 2 }, "m_InputSlot": { "m_Node": { - "m_Id": "c0950d9e63dc4b59b42a9e24ddaa9b01" + "m_Id": "b25fe0ce298b462c997fabb52f00d520" }, "m_SlotId": 0 } @@ -163,7 +194,21 @@ }, "m_InputSlot": { "m_Node": { - "m_Id": "b25fe0ce298b462c997fabb52f00d520" + "m_Id": "c0950d9e63dc4b59b42a9e24ddaa9b01" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "13a3a563abdd4930b2f1cdc100ea3a51" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "82cdf329d0624312978b7d6e75b74cf2" }, "m_SlotId": 0 } @@ -187,7 +232,7 @@ "m_Node": { "m_Id": "2164d91ae42040a0b963ca6c6d3ce071" }, - "m_SlotId": 3 + "m_SlotId": 2 }, "m_InputSlot": { "m_Node": { @@ -201,7 +246,7 @@ "m_Node": { "m_Id": "2164d91ae42040a0b963ca6c6d3ce071" }, - "m_SlotId": 3 + "m_SlotId": 2 }, "m_InputSlot": { "m_Node": { @@ -215,7 +260,7 @@ "m_Node": { "m_Id": "2164d91ae42040a0b963ca6c6d3ce071" }, - "m_SlotId": 3 + "m_SlotId": 2 }, "m_InputSlot": { "m_Node": { @@ -336,6 +381,20 @@ "m_SlotId": 0 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "65e6c2d9c7b4443e99d6dad5a1990487" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "3717d8f9925e445d81b36dcb2c8e6a3e" + }, + "m_SlotId": 1 + } + }, { "m_OutputSlot": { "m_Node": { @@ -417,7 +476,7 @@ "m_Node": { "m_Id": "74482057bd214c4aa89f6ca457d93f0f" }, - "m_SlotId": 2 + "m_SlotId": 1 } }, { @@ -437,13 +496,41 @@ { "m_OutputSlot": { "m_Node": { - "m_Id": "a40d010add1e4d0c8c26e9fb20c54c22" + "m_Id": "96fe066beac34868835064c9cde0c7e9" }, "m_SlotId": 0 }, "m_InputSlot": { "m_Node": { - "m_Id": "3717d8f9925e445d81b36dcb2c8e6a3e" + "m_Id": "5e0c219c42a140548eae7114b0b30671" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "97e1c5721050497e850466f092770e4f" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "c0950d9e63dc4b59b42a9e24ddaa9b01" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "a5fe8311ab444deaad2f70d5ad59050c" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "13a3a563abdd4930b2f1cdc100ea3a51" }, "m_SlotId": 1 } @@ -457,9 +544,9 @@ }, "m_InputSlot": { "m_Node": { - "m_Id": "74482057bd214c4aa89f6ca457d93f0f" + "m_Id": "8e24a674f64d4e928eeb042930c99217" }, - "m_SlotId": 1 + "m_SlotId": 0 } }, { @@ -471,9 +558,9 @@ }, "m_InputSlot": { "m_Node": { - "m_Id": "8e24a674f64d4e928eeb042930c99217" + "m_Id": "74482057bd214c4aa89f6ca457d93f0f" }, - "m_SlotId": 0 + "m_SlotId": 2 } }, { @@ -518,20 +605,6 @@ "m_SlotId": 0 } }, - { - "m_OutputSlot": { - "m_Node": { - "m_Id": "bb0ffd59442349a3a8c6fe73f861053d" - }, - "m_SlotId": 0 - }, - "m_InputSlot": { - "m_Node": { - "m_Id": "65da42847a15404bb2d0de294fc47085" - }, - "m_SlotId": 1 - } - }, { "m_OutputSlot": { "m_Node": { @@ -546,20 +619,6 @@ "m_SlotId": 1 } }, - { - "m_OutputSlot": { - "m_Node": { - "m_Id": "c6ad877044bd469abd6b7f4f789f25fe" - }, - "m_SlotId": 0 - }, - "m_InputSlot": { - "m_Node": { - "m_Id": "32955e756d264a5086e55b37d545b7ff" - }, - "m_SlotId": 1 - } - }, { "m_OutputSlot": { "m_Node": { @@ -588,6 +647,34 @@ "m_SlotId": 0 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "df3ca5f541294090addd285dcc2c8ab2" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "32955e756d264a5086e55b37d545b7ff" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "e7c9e2fac49c46faa0181578933532a9" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "65da42847a15404bb2d0de294fc47085" + }, + "m_SlotId": 1 + } + }, { "m_OutputSlot": { "m_Node": { @@ -648,7 +735,7 @@ }, "m_PreviewData": { "serializedMesh": { - "m_SerializedMesh": "{\"mesh\":{\"fileID\":1391105594336295549,\"guid\":\"4fcad621167d55148be4bc4c00d7226e\",\"type\":3}}", + "m_SerializedMesh": "{\"mesh\":{\"fileID\":1391105594336295549,\"guid\":\"fbd7d2a74f65925409b9760a9b241131\",\"type\":3}}", "m_Guid": "" }, "preventRotation": false @@ -666,6 +753,21 @@ ] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "00080bf8ddef4603b5ddedd4d1584747", + "m_Id": 5, + "m_DisplayName": "G", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -789,10 +891,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": -5398.0, - "y": -381.0, - "width": 120.0, - "height": 149.00003051757813 + "x": -5396.0, + "y": -380.79998779296877, + "width": 119.2001953125, + "height": 148.79998779296876 } }, "m_Slots": [ @@ -824,6 +926,21 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "105d53302dee4a7c97376d8062afbd55", + "m_Id": 0, + "m_DisplayName": "Shake", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -878,6 +995,66 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SampleTexture2DNode", + "m_ObjectId": "13a3a563abdd4930b2f1cdc100ea3a51", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Sample Texture 2D", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -354.0, + "y": 237.99998474121095, + "width": 208.00001525878907, + "height": 435.0 + } + }, + "m_Slots": [ + { + "m_Id": "c069d24304fb4d8da8f1405e2a6bc6ba" + }, + { + "m_Id": "990a1a285ddd4ca0a32dcca95903e434" + }, + { + "m_Id": "00080bf8ddef4603b5ddedd4d1584747" + }, + { + "m_Id": "ab08ab0ee8a04d459dd8194bb2251023" + }, + { + "m_Id": "2f8361bff3ba415caf62457723006e6a" + }, + { + "m_Id": "bb4cd6e6672b407381b7153b398505b6" + }, + { + "m_Id": "625691f420e6449abcd31fb6e5a7fa5e" + }, + { + "m_Id": "475202c6e5234db39237f62b99b1f76d" + } + ], + "synonyms": [ + "tex2d" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_TextureType": 0, + "m_NormalMapSpace": 0, + "m_EnableGlobalMipBias": true, + "m_MipSamplingMode": 0 +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", @@ -980,21 +1157,6 @@ } } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", - "m_ObjectId": "18621c545a0140a0ba835ff53efde72c", - "m_Id": 0, - "m_DisplayName": "Out", - "m_SlotType": 1, - "m_Hidden": false, - "m_ShaderOutputName": "Out", - "m_StageCapability": 3, - "m_Value": 0.0, - "m_DefaultValue": 0.0, - "m_Labels": [] -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.ComparisonNode", @@ -1280,7 +1442,26 @@ "m_Type": "UnityEditor.ShaderGraph.CategoryData", "m_ObjectId": "25358cf83aab43ee8932602621dc64ec", "m_Name": "", - "m_ChildObjectList": [] + "m_ChildObjectList": [ + { + "m_Id": "4bb4f678090c4db6bba80b0029d65754" + }, + { + "m_Id": "bf9fd4ef06464864b5c37629c15f9774" + }, + { + "m_Id": "2f8f732b8e5e49baa6070f553e0354f8" + }, + { + "m_Id": "6a13a72349b142e99a2ffbb22df46601" + }, + { + "m_Id": "9428f6a2d93941838922245ae435dfe6" + }, + { + "m_Id": "46a98735faed4e5faa43025fc59c92b0" + } + ] } { @@ -1317,6 +1498,49 @@ "m_SerializedDescriptor": "SurfaceDescription.Smoothness" } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "2f8361bff3ba415caf62457723006e6a", + "m_Id": 7, + "m_DisplayName": "A", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", + "m_ObjectId": "2f8f732b8e5e49baa6070f553e0354f8", + "m_Guid": { + "m_GuidSerialized": "4fdfb00b-5ae8-424a-88e6-c351e44f33dd" + }, + "m_Name": "Shake", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "Shake", + "m_DefaultReferenceName": "_Shake", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": 0.699999988079071, + "m_FloatType": 1, + "m_RangeValues": { + "x": 0.0, + "y": 1.0 + } +} + { "m_SGVersion": 1, "m_Type": "UnityEditor.ShaderGraph.PositionNode", @@ -1623,6 +1847,34 @@ "m_SerializedDescriptor": "SurfaceDescription.NormalTS" } +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", + "m_ObjectId": "46a98735faed4e5faa43025fc59c92b0", + "m_Guid": { + "m_GuidSerialized": "6059be58-9737-4307-8095-ee3ed2cb1415" + }, + "m_Name": "offsetY", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "offsetY", + "m_DefaultReferenceName": "_offsetY", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": 0.20000000298023225, + "m_FloatType": 1, + "m_RangeValues": { + "x": -1.0, + "y": 1.0 + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", @@ -1647,6 +1899,19 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SamplerStateMaterialSlot", + "m_ObjectId": "475202c6e5234db39237f62b99b1f76d", + "m_Id": 3, + "m_DisplayName": "Sampler", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Sampler", + "m_StageCapability": 3, + "m_BareResource": false +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", @@ -1695,6 +1960,51 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "4ace2f9112e9492f8f698eb14f885194", + "m_Id": 0, + "m_DisplayName": "Amplitude", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty", + "m_ObjectId": "4bb4f678090c4db6bba80b0029d65754", + "m_Guid": { + "m_GuidSerialized": "e7a3ec27-6d67-4225-8b6e-c856b7d51231" + }, + "m_Name": "MainTex", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "MainTex", + "m_DefaultReferenceName": "_MainTex", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "isMainTexture": false, + "useTilingAndOffset": false, + "m_Modifiable": true, + "m_DefaultType": 0 +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -1925,6 +2235,28 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.UVMaterialSlot", + "m_ObjectId": "625691f420e6449abcd31fb6e5a7fa5e", + "m_Id": 2, + "m_DisplayName": "UV", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "UV", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0 + }, + "m_Labels": [], + "m_Channel": 0 +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", @@ -2056,10 +2388,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": -4118.0, - "y": -426.9999694824219, - "width": 208.000244140625, - "height": 301.9999694824219 + "x": -4192.7998046875, + "y": -380.8000183105469, + "width": 207.999755859375, + "height": 301.6000061035156 } }, "m_Slots": [ @@ -2087,6 +2419,70 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "65e6c2d9c7b4443e99d6dad5a1990487", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3123.199951171875, + "y": 376.0, + "width": 84.0, + "height": 33.600006103515628 + } + }, + "m_Slots": [ + { + "m_Id": "4ace2f9112e9492f8f698eb14f885194" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "9428f6a2d93941838922245ae435dfe6" + } +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", + "m_ObjectId": "6a13a72349b142e99a2ffbb22df46601", + "m_Guid": { + "m_GuidSerialized": "1bc5a05e-b3ff-4011-b0f4-bb272589828e" + }, + "m_Name": "Speed", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "Speed", + "m_DefaultReferenceName": "_Speed", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": 6.0, + "m_FloatType": 1, + "m_RangeValues": { + "x": 0.0, + "y": 10.0 + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -2411,6 +2807,21 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "7cbbfbc54284492fbd8efd65486c8b42", + "m_Id": 0, + "m_DisplayName": "offsetZ", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -2837,6 +3248,34 @@ } } +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", + "m_ObjectId": "9428f6a2d93941838922245ae435dfe6", + "m_Guid": { + "m_GuidSerialized": "59e7c019-d450-4caf-8bbb-323a694662df" + }, + "m_Name": "Amplitude", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "Amplitude", + "m_DefaultReferenceName": "_Amplitude", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": 0.15000000596046449, + "m_FloatType": 1, + "m_RangeValues": { + "x": 0.0, + "y": 1.0 + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", @@ -2885,17 +3324,89 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "96fe066beac34868835064c9cde0c7e9", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2377.60009765625, + "y": 505.6000061035156, + "width": 82.400146484375, + "height": 33.599945068359378 + } + }, + "m_Slots": [ + { + "m_Id": "affb76fd2ba24eb39c5cd8663a1b9e59" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "46a98735faed4e5faa43025fc59c92b0" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "97e1c5721050497e850466f092770e4f", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -5252.00048828125, + "y": 83.20002746582031, + "width": 82.39990234375, + "height": 33.599952697753909 + } + }, + "m_Slots": [ + { + "m_Id": "7cbbfbc54284492fbd8efd65486c8b42" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "bf9fd4ef06464864b5c37629c15f9774" + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", - "m_ObjectId": "9f4fd0620d274b6da6a4e4a53a9c1cd6", - "m_Id": 1, - "m_DisplayName": "X", - "m_SlotType": 0, + "m_ObjectId": "990a1a285ddd4ca0a32dcca95903e434", + "m_Id": 4, + "m_DisplayName": "R", + "m_SlotType": 1, "m_Hidden": false, - "m_ShaderOutputName": "X", - "m_StageCapability": 3, - "m_Value": 0.15000000596046449, + "m_ShaderOutputName": "R", + "m_StageCapability": 2, + "m_Value": 0.0, "m_DefaultValue": 0.0, "m_Labels": [] } @@ -2950,37 +3461,28 @@ { "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector1Node", - "m_ObjectId": "a40d010add1e4d0c8c26e9fb20c54c22", + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "a5fe8311ab444deaad2f70d5ad59050c", "m_Group": { "m_Id": "" }, - "m_Name": "Float", + "m_Name": "Property", "m_DrawState": { "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": -3360.0, - "y": 392.0000915527344, - "width": 126.000244140625, - "height": 77.0 + "x": -354.0, + "y": 203.99998474121095, + "width": 129.0, + "height": 34.0 } }, "m_Slots": [ { - "m_Id": "9f4fd0620d274b6da6a4e4a53a9c1cd6" - }, - { - "m_Id": "18621c545a0140a0ba835ff53efde72c" + "m_Id": "cfaa7ed7dce345b9ac153af47b706af7" } ], - "synonyms": [ - "Vector 1", - "1", - "v1", - "vec1", - "scalar" - ], + "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, "m_DismissedVersion": 0, @@ -2988,7 +3490,9 @@ "m_CustomColors": { "m_SerializableColors": [] }, - "m_Value": 0.0 + "m_Property": { + "m_Id": "4bb4f678090c4db6bba80b0029d65754" + } } { @@ -3025,21 +3529,6 @@ "m_SerializedDescriptor": "VertexDescription.Normal" } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", - "m_ObjectId": "a7f36214cd8042368d1499654a7978ba", - "m_Id": 1, - "m_DisplayName": "X", - "m_SlotType": 0, - "m_Hidden": false, - "m_ShaderOutputName": "X", - "m_StageCapability": 3, - "m_Value": 0.699999988079071, - "m_DefaultValue": 0.0, - "m_Labels": [] -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -3137,6 +3626,21 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "ab08ab0ee8a04d459dd8194bb2251023", + "m_Id": 6, + "m_DisplayName": "B", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.SplitNode", @@ -3253,6 +3757,21 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "affb76fd2ba24eb39c5cd8663a1b9e59", + "m_Id": 0, + "m_DisplayName": "offsetY", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.BlockNode", @@ -3299,10 +3818,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": -5005.0341796875, - "y": -175.0340576171875, + "x": -5013.60009765625, + "y": -380.79998779296877, "width": 208.0, - "height": 302.0 + "height": 301.5999755859375 } }, "m_Slots": [ @@ -3330,21 +3849,6 @@ } } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", - "m_ObjectId": "b37751bae92f461eb45a0df551879c88", - "m_Id": 1, - "m_DisplayName": "X", - "m_SlotType": 0, - "m_Hidden": false, - "m_ShaderOutputName": "X", - "m_StageCapability": 3, - "m_Value": 6.0, - "m_DefaultValue": 0.0, - "m_Labels": [] -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", @@ -3448,45 +3952,17 @@ { "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector1Node", - "m_ObjectId": "bb0ffd59442349a3a8c6fe73f861053d", - "m_Group": { - "m_Id": "" - }, - "m_Name": "Float", - "m_DrawState": { - "m_Expanded": true, - "m_Position": { - "serializedVersion": "2", - "x": -4278.0, - "y": -201.99996948242188, - "width": 126.0, - "height": 76.9999771118164 - } - }, - "m_Slots": [ - { - "m_Id": "a7f36214cd8042368d1499654a7978ba" - }, - { - "m_Id": "ce7bdbb83d404dd4891c3bed805b7f58" - } - ], - "synonyms": [ - "Vector 1", - "1", - "v1", - "vec1", - "scalar" - ], - "m_Precision": 0, - "m_PreviewExpanded": true, - "m_DismissedVersion": 0, - "m_PreviewMode": 0, - "m_CustomColors": { - "m_SerializableColors": [] - }, - "m_Value": 0.0 + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "bb02e0789d5f46c28f69f07c2c42eec9", + "m_Id": 0, + "m_DisplayName": "Speed", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] } { @@ -3513,6 +3989,24 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DInputMaterialSlot", + "m_ObjectId": "bb4cd6e6672b407381b7153b398505b6", + "m_Id": 1, + "m_DisplayName": "Texture", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Texture", + "m_StageCapability": 3, + "m_BareResource": false, + "m_Texture": { + "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "m_DefaultType": 0 +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -3591,6 +4085,59 @@ } } +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", + "m_ObjectId": "bf9fd4ef06464864b5c37629c15f9774", + "m_Guid": { + "m_GuidSerialized": "dfbd0df2-9029-47c0-b65c-abdacd17b0a5" + }, + "m_Name": "offsetZ", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "offsetZ", + "m_DefaultReferenceName": "_offsetZ", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": 0.5, + "m_FloatType": 1, + "m_RangeValues": { + "x": -1.0, + "y": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "c069d24304fb4d8da8f1405e2a6bc6ba", + "m_Id": 0, + "m_DisplayName": "RGBA", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "RGBA", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", @@ -3603,10 +4150,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": -5253.5625, - "y": -79.56261444091797, + "x": -5252.0, + "y": -218.39999389648438, "width": 208.0, - "height": 302.0 + "height": 301.60003662109377 } }, "m_Slots": [ @@ -3745,49 +4292,6 @@ } } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector1Node", - "m_ObjectId": "c6ad877044bd469abd6b7f4f789f25fe", - "m_Group": { - "m_Id": "" - }, - "m_Name": "Float", - "m_DrawState": { - "m_Expanded": true, - "m_Position": { - "serializedVersion": "2", - "x": -4215.0, - "y": 257.0000305175781, - "width": 126.0, - "height": 76.99996948242188 - } - }, - "m_Slots": [ - { - "m_Id": "b37751bae92f461eb45a0df551879c88" - }, - { - "m_Id": "d09d6bb131da47c4bb963593592ddca0" - } - ], - "synonyms": [ - "Vector 1", - "1", - "v1", - "vec1", - "scalar" - ], - "m_Precision": 0, - "m_PreviewExpanded": true, - "m_DismissedVersion": 0, - "m_PreviewMode": 0, - "m_CustomColors": { - "m_SerializableColors": [] - }, - "m_Value": 0.0 -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", @@ -3953,21 +4457,6 @@ } } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", - "m_ObjectId": "ce7bdbb83d404dd4891c3bed805b7f58", - "m_Id": 0, - "m_DisplayName": "Out", - "m_SlotType": 1, - "m_Hidden": false, - "m_ShaderOutputName": "Out", - "m_StageCapability": 3, - "m_Value": 0.0, - "m_DefaultValue": 0.0, - "m_Labels": [] -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", @@ -3993,17 +4482,15 @@ { "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", - "m_ObjectId": "d09d6bb131da47c4bb963593592ddca0", + "m_Type": "UnityEditor.ShaderGraph.Texture2DMaterialSlot", + "m_ObjectId": "cfaa7ed7dce345b9ac153af47b706af7", "m_Id": 0, - "m_DisplayName": "Out", + "m_DisplayName": "MainTex", "m_SlotType": 1, "m_Hidden": false, "m_ShaderOutputName": "Out", "m_StageCapability": 3, - "m_Value": 0.0, - "m_DefaultValue": 0.0, - "m_Labels": [] + "m_BareResource": false } { @@ -4216,6 +4703,42 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "df3ca5f541294090addd285dcc2c8ab2", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -4003.199951171875, + "y": 376.0, + "width": 84.0, + "height": 33.5999755859375 + } + }, + "m_Slots": [ + { + "m_Id": "bb02e0789d5f46c28f69f07c2c42eec9" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "6a13a72349b142e99a2ffbb22df46601" + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -4327,6 +4850,42 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "e7c9e2fac49c46faa0181578933532a9", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -4192.7998046875, + "y": -79.20001220703125, + "width": 83.19970703125, + "height": 33.59996795654297 + } + }, + "m_Slots": [ + { + "m_Id": "105d53302dee4a7c97376d8062afbd55" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "2f8f732b8e5e49baa6070f553e0354f8" + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", From 2da1b44a5393cd9da0c67d5c6895bdafc123fcb8 Mon Sep 17 00:00:00 2001 From: NTG Date: Wed, 3 Jan 2024 06:39:53 +0900 Subject: [PATCH 3/3] Closes #70 #79 #87 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit + Layer Boids, Boid로 분리 + Fish의 로직을 Boids(군집) 알고리즘으로 변경 + 군집에 이펙트를 통해 낚시 가시성 추가 + 테스트용 군집 애니메이션 추가 + Epic Toon EX 에셋의 스크립트 수정 버전 ㄴ ParticleWeapon(Layer 선택, UnityEvent Hit 델리게이트 기능 추가) 사용 + Cannon의 x축 회전 고정 + Cannon이 공격한 Layer에 따른 기능 변경 + DataManager에 PlayerInventory 추가 ㄴ 초창기에 사용한 코딩 삭제 + 초창기에 사용했던 스크립트들 일부 정리 --- BlueWater/Assets/01.Scenes/02.Ocean.unity | 588 +- .../Assets/02.Scripts/Ai/BehaviorTree.meta | 8 - .../02.Scripts/Ai/BehaviorTree/Task.meta | 8 - .../Ai/BehaviorTree/Task/Combat.meta | 8 - .../Ai/BehaviorTree/Task/Combat/Action.meta | 8 - .../Task/Combat/Action/DieOfCombat.cs | 19 - .../Ai/BehaviorTree/Task/Enemy.meta | 8 - .../Ai/BehaviorTree/Task/Enemy/Action.meta | 8 - .../Task/Enemy/Action/AttackOfEnemy.cs | 24 - .../Task/Enemy/Action/BeAttackedOfEnemy.cs | 20 - .../Enemy/Action/BeAttackedOfEnemy.cs.meta | 11 - .../Task/Enemy/Action/FindTargetOfEnemy.cs | 19 - .../Enemy/Action/FindTargetOfEnemy.cs.meta | 11 - .../Task/Enemy/Action/InitBaseEnemy.cs | 22 - .../Task/Enemy/Action/InitBaseEnemy.cs.meta | 11 - .../Task/Enemy/Action/InitDefenseEnemy.cs | 22 - .../Enemy/Action/InitDefenseEnemy.cs.meta | 11 - .../Task/Enemy/Action/MoveTargetOfEnemy.cs | 19 - .../Enemy/Action/MoveTargetOfEnemy.cs.meta | 11 - .../Enemy/Action/ReturnDefensePosOfEnemy.cs | 19 - .../Action/ReturnDefensePosOfEnemy.cs.meta | 11 - .../BehaviorTree/Task/Enemy/Conditional.meta | 8 - .../Enemy/Conditional/CanAttackOfEnemy.cs | 14 - .../Conditional/CanAttackOfEnemy.cs.meta | 11 - .../CanComebackDefensePosOfEnemy.cs | 14 - .../CanComebackDefensePosOfEnemy.cs.meta | 11 - .../Ai/BehaviorTree/Task/Pirate.meta | 8 - .../Ai/BehaviorTree/Task/Pirate/Action.meta | 8 - .../Task/Pirate/Action/AttackOfPirate.cs | 24 - .../Task/Pirate/Action/AttackOfPirate.cs.meta | 11 - .../Task/Pirate/Action/FindTargetOfPirate.cs | 19 - .../Pirate/Action/FindTargetOfPirate.cs.meta | 11 - .../Task/Pirate/Action/InitBasePirate.cs | 23 - .../Task/Pirate/Action/InitBasePirate.cs.meta | 11 - .../Task/Pirate/Action/InitOffensePirate.cs | 22 - .../Pirate/Action/InitOffensePirate.cs.meta | 11 - .../Task/Pirate/Action/MoveTargetOfPirate.cs | 19 - .../Pirate/Action/MoveTargetOfPirate.cs.meta | 11 - .../BehaviorTree/Task/Pirate/Conditional.meta | 8 - .../Pirate/Conditional/CanAttackOfPirate.cs | 14 - .../Conditional/CanAttackOfPirate.cs.meta | 11 - .../02.Scripts/Ai/BehaviorTree/Variable.meta | 8 - .../Ai/BehaviorTree/Variable/Compare.meta | 8 - .../Variable/Compare/CompareSharedAiType.cs | 26 - .../Compare/CompareSharedAiType.cs.meta | 8 - .../Compare/CompareSharedAttackerType.cs | 26 - .../Compare/CompareSharedAttackerType.cs.meta | 8 - .../Ai/BehaviorTree/Variable/Inheritance.meta | 8 - .../Variable/Inheritance/CombatAction.cs | 15 - .../Variable/Inheritance/CombatAction.cs.meta | 11 - .../Variable/Inheritance/EnemyAction.cs | 15 - .../Variable/Inheritance/EnemyAction.cs.meta | 11 - .../Variable/Inheritance/EnemyConditional.cs | 15 - .../Inheritance/EnemyConditional.cs.meta | 11 - .../Variable/Inheritance/PirateAction.cs | 15 - .../Variable/Inheritance/PirateAction.cs.meta | 11 - .../Variable/Inheritance/PirateConditional.cs | 15 - .../Inheritance/PirateConditional.cs.meta | 11 - .../Ai/BehaviorTree/Variable/Set.meta | 8 - .../Variable/Set/IncreaseSharedInt.cs | 18 - .../Variable/Set/IncreaseSharedInt.cs.meta | 11 - .../Variable/Set/SetIslandInfo.cs | 26 - .../Variable/Set/SetIslandInfo.cs.meta | 11 - .../Ai/BehaviorTree/Variable/SharedAiStat.cs | 11 - .../Variable/SharedAiStat.cs.meta | 8 - .../Ai/BehaviorTree/Variable/SharedAiType.cs | 11 - .../Variable/SharedAiType.cs.meta | 8 - .../Variable/SharedAttackerType.cs | 11 - .../Variable/SharedAttackerType.cs.meta | 8 - .../BehaviorTree/Variable/SharedIslandInfo.cs | 11 - .../Variable/SharedIslandInfo.cs.meta | 8 - .../Variable/SharedNavMeshAgent.cs | 12 - .../Variable/SharedNavMeshAgent.cs.meta | 8 - BlueWater/Assets/02.Scripts/Ai/Human.meta | 8 - .../Assets/02.Scripts/Ai/Human/Combat.meta | 8 - .../02.Scripts/Ai/Human/Combat/CombatAi.cs | 195 - .../Ai/Human/Combat/CombatAi.cs.meta | 11 - .../02.Scripts/Ai/Human/Combat/Enemy.meta | 8 - .../Ai/Human/Combat/Enemy/EnemyAi.cs | 429 -- .../Ai/Human/Combat/Enemy/EnemyAi.cs.meta | 11 - .../Ai/Human/Combat/Enemy/EnemyStat.cs | 174 - .../Ai/Human/Combat/Enemy/EnemyStat.cs.meta | 11 - .../Ai/Human/Combat/Enemy/EnemyView.cs | 87 - .../Ai/Human/Combat/Enemy/EnemyView.cs.meta | 11 - .../Ai/Human/Combat/Enemy/Type.meta | 8 - .../Ai/Human/Combat/Enemy/Type/EnemyArcher.cs | 230 - .../Combat/Enemy/Type/EnemyArcher.cs.meta | 11 - .../Combat/Enemy/Type/EnemySpearKnight.cs | 70 - .../Enemy/Type/EnemySpearKnight.cs.meta | 11 - .../Human/Combat/Enemy/Type/EnemySpearman.cs | 70 - .../Combat/Enemy/Type/EnemySpearman.cs.meta | 11 - .../Combat/Enemy/Type/EnemySwordKnight.cs | 70 - .../Enemy/Type/EnemySwordKnight.cs.meta | 11 - .../Human/Combat/Enemy/Type/EnemySwordman.cs | 70 - .../Combat/Enemy/Type/EnemySwordman.cs.meta | 11 - .../02.Scripts/Ai/Human/Combat/Pirate.meta | 8 - .../Ai/Human/Combat/Pirate/PirateAi.cs | 439 -- .../Ai/Human/Combat/Pirate/PirateAi.cs.meta | 11 - .../Ai/Human/Combat/Pirate/PirateStat.cs | 174 - .../Ai/Human/Combat/Pirate/PirateStat.cs.meta | 11 - .../Ai/Human/Combat/Pirate/PirateView.cs | 87 - .../Ai/Human/Combat/Pirate/PirateView.cs.meta | 11 - .../Ai/Human/Combat/Pirate/Type.meta | 8 - .../Human/Combat/Pirate/Type/PirateArcher.cs | 228 - .../Combat/Pirate/Type/PirateArcher.cs.meta | 11 - .../Human/Combat/Pirate/Type/PirateAxeman.cs | 59 - .../Combat/Pirate/Type/PirateAxeman.cs.meta | 11 - .../Combat/Pirate/Type/PirateSpearman.cs | 59 - .../Combat/Pirate/Type/PirateSpearman.cs.meta | 11 - .../Combat/Pirate/Type/PirateSwordKnight.cs | 59 - .../Pirate/Type/PirateSwordKnight.cs.meta | 11 - .../Combat/Pirate/Type/PirateSwordman.cs | 59 - .../Combat/Pirate/Type/PirateSwordman.cs.meta | 11 - .../Assets/02.Scripts/Ai/Human/HumanAi.cs | 67 - .../02.Scripts/Ai/Human/HumanAi.cs.meta | 11 - BlueWater/Assets/02.Scripts/Ai/Human/NpcAi.cs | 27 - .../Assets/02.Scripts/Ai/Human/NpcAi.cs.meta | 3 - .../Assets/02.Scripts/Ai/Human/Unit.meta | 8 - .../02.Scripts/Ai/Human/Unit/BaseUnit.cs | 12 - .../02.Scripts/Ai/Human/Unit/BaseUnit.cs.meta | 11 - .../02.Scripts/Ai/Human/Unit/EnemyUnit.cs | 101 - .../Ai/Human/Unit/EnemyUnit.cs.meta | 11 - .../02.Scripts/Ai/Human/Unit/EnemyUnitStat.cs | 91 - .../Ai/Human/Unit/EnemyUnitStat.cs.meta | 11 - .../02.Scripts/Ai/Human/Unit/PirateUnit.cs | 60 - .../Ai/Human/Unit/PirateUnit.cs.meta | 11 - .../Ai/Human/Unit/PirateUnitStat.cs | 91 - .../Ai/Human/Unit/PirateUnitStat.cs.meta | 11 - .../02.Scripts/Ai/Human/Unit/UnitManager.cs | 445 -- .../Ai/Human/Unit/UnitManager.cs.meta | 11 - .../02.Scripts/Ai/Human/Unit/UnitSelection.cs | 151 - .../Ai/Human/Unit/UnitSelection.cs.meta | 11 - BlueWater/Assets/02.Scripts/Ai/Tower.meta | 8 - .../Assets/02.Scripts/Ai/Tower/TowerAi.cs | 20 - .../02.Scripts/Ai/Tower/TowerAi.cs.meta | 11 - .../Assets/02.Scripts/Ai/Tower/Type.meta | 3 - .../02.Scripts/Ai/Tower/Type/ArrowTower.cs | 254 - .../Ai/Tower/Type/ArrowTower.cs.meta | 3 - .../02.Scripts/AssaultMode/DraggableCard.cs | 8 +- BlueWater/Assets/02.Scripts/Boid.cs | 56 +- BlueWater/Assets/02.Scripts/Boids.cs | 253 +- BlueWater/Assets/02.Scripts/BoidsManager.cs | 23 + ...shManager.cs.meta => BoidsManager.cs.meta} | 0 .../Character/Player/Type/ShipPlayer.cs | 7 +- .../Assets/02.Scripts/Data/CardDataSo.cs | 12 - .../Assets/02.Scripts/Data/CardDataSo.cs.meta | 11 - .../Assets/02.Scripts/Data/CrewmateDataSo.cs | 12 - .../02.Scripts/Data/CrewmateDataSo.cs.meta | 11 - .../Assets/02.Scripts/Data/EnemyStatDataSo.cs | 12 - .../02.Scripts/Data/EnemyStatDataSo.cs.meta | 11 - .../02.Scripts/Data/EnemyUnitStatDataSo.cs | 12 - .../Data/EnemyUnitStatDataSo.cs.meta | 11 - .../Assets/02.Scripts/Data/EnemyViewDataSo.cs | 12 - .../02.Scripts/Data/EnemyViewDataSo.cs.meta | 11 - .../02.Scripts/Data/PirateStatDataSo.cs | 12 - .../02.Scripts/Data/PirateStatDataSo.cs.meta | 11 - .../02.Scripts/Data/PirateUnitStatDataSo.cs | 12 - .../Data/PirateUnitStatDataSo.cs.meta | 11 - .../02.Scripts/Data/PirateViewDataSo.cs | 12 - .../02.Scripts/Data/PirateViewDataSo.cs.meta | 11 - .../02.Scripts/Data/So/CardDataSo.asset | 29 - .../02.Scripts/Data/So/CrewmateData.asset | 15 - .../02.Scripts/Data/So/EnemyStatDataSo.asset | 267 - .../Data/So/EnemyStatDataSo.asset.meta | 8 - .../Data/So/EnemyUnitStatDataSo.asset | 96 - .../Data/So/EnemyUnitStatDataSo.asset.meta | 8 - .../02.Scripts/Data/So/EnemyViewDataSo.asset | 95 - .../Data/So/EnemyViewDataSo.asset.meta | 8 - .../02.Scripts/Data/So/PirateStatDataSo.asset | 225 - .../Data/So/PirateStatDataSo.asset.meta | 8 - .../Data/So/PirateUnitStatDataSo.asset | 78 - .../Data/So/PirateUnitStatDataSo.asset.meta | 8 - .../02.Scripts/Data/So/PirateViewDataSo.asset | 95 - .../Data/So/PirateViewDataSo.asset.meta | 8 - BlueWater/Assets/02.Scripts/DataManager.cs | 61 +- BlueWater/Assets/02.Scripts/Fish.cs | 10 +- BlueWater/Assets/02.Scripts/FishInfo.cs | 31 + .../DieOfCombat.cs.meta => FishInfo.cs.meta} | 2 +- BlueWater/Assets/02.Scripts/FishManager.cs | 22 - BlueWater/Assets/02.Scripts/HouseInfo.cs | 148 +- BlueWater/Assets/02.Scripts/IslandInfo.cs | 288 +- BlueWater/Assets/02.Scripts/Player/Cannon.cs | 41 +- .../Assets/02.Scripts/PlayerInventory.cs | 33 + ...fEnemy.cs.meta => PlayerInventory.cs.meta} | 2 +- BlueWater/Assets/02.Scripts/Utility/Utils.cs | 27 - .../02.Scripts/Weapon/ParticleWeapon.cs | 36 +- BlueWater/Assets/05.Prefabs/Boids/Boid.prefab | 9 +- .../Assets/05.Prefabs/Boids/Boids.prefab | 138 +- .../GrenadeFire/GrenadeFireOBJ.prefab | 26 +- .../Particles/Waterfall Impact Ripples.prefab | 5028 +++++++++++++++++ .../Waterfall Impact Ripples.prefab.meta} | 4 +- .../05.Prefabs/Particles/WaterfallSoft.prefab | 4779 ++++++++++++++++ .../Particles/WaterfallSoft.prefab.meta} | 4 +- BlueWater/Assets/07.Animation/BoidsAnim.anim | 357 ++ .../BoidsAnim.anim.meta} | 4 +- .../BoidsAnimController.controller | 72 + .../BoidsAnimController.controller.meta} | 4 +- .../Runtime/Tasks/Unity/Vector2/SetValue.cs | 25 - .../Tasks/Unity/Vector2/SetValue.cs.meta | 15 - .../Misc/Liquid/water_soft_3x3_AB.mat | 2 +- .../Water/Flowing/Soft/WaterRippleSoft.prefab | 119 +- .../FeelTemplatesDemo.unitypackage.meta | 7 - .../NiceVibrations-v-1-7.unitypackage.meta | 7 - .../NiceVibrations-v-2-0-1.unitypackage.meta | 7 - .../NiceVibrations-v-3-9-0.unitypackage.meta | 7 - .../Multiplayer/Mirror.unitypackage.meta | 7 - .../Multiplayer/PUN2.unitypackage.meta | 7 - ...pewriter Sound - Package.unitypackage.meta | 7 - .../PlayMaker - Integration.unitypackage.meta | 7 - ... Scripting - Integration.unitypackage.meta | 7 - ...ommonAssemblyDefinitions.unitypackage.meta | 7 - ...ss Navigator Pro Support.unitypackage.meta | 7 - .../Corgi Support.unitypackage.meta | 7 - ...Devion Inventory Support.unitypackage.meta | 7 - .../Dialogue System Support.unitypackage.meta | 7 - .../Easy Save Support.unitypackage.meta | 7 - .../Emerald AI Support.unitypackage.meta | 7 - ...avigation System Support.unitypackage.meta | 7 - .../Invector Support.unitypackage.meta | 7 - ...Inventory Engine Support.unitypackage.meta | 7 - .../Inventory Pro Support.unitypackage.meta | 7 - .../PlayMaker Support.unitypackage.meta | 7 - .../RPG Builder Support.unitypackage.meta | 7 - .../Rewired Support.unitypackage.meta | 7 - ...tical Shooter AI Support.unitypackage.meta | 7 - .../TopDown Engine Support.unitypackage.meta | 7 - ...ystemAssemblyDefinitions.unitypackage.meta | 7 - ...-RPG Starter Kit Support.unitypackage.meta | 7 - ...dventure Creator Support.unitypackage.meta | 7 - ...cy Localization Importer.unitypackage.meta | 7 - ...ehavior Designer Support.unitypackage.meta | 7 - .../Bolt Support.unitypackage.meta | 7 - .../Cinema Director Support.unitypackage.meta | 7 - .../Cinemachine Support.unitypackage.meta | 7 - .../Core GameKit Support.unitypackage.meta | 7 - .../Corgi Support.unitypackage.meta | 7 - ...i Holo Interface Support.unitypackage.meta | 7 - .../Deftly Support.unitypackage.meta | 7 - ...Devion Inventory Support.unitypackage.meta | 7 - .../DoozyUI Support.unitypackage.meta | 7 - .../Easy Save Support.unitypackage.meta | 7 - .../Emerald AI Support.unitypackage.meta | 7 - .../FMOD Support.unitypackage.meta | 7 - .../FaceFX Support.unitypackage.meta | 7 - .../Feel Support.unitypackage.meta | 7 - .../GameFlow Support.unitypackage.meta | 7 - .../I2 Localization Support.unitypackage.meta | 7 - .../ICode Support.unitypackage.meta | 7 - .../Ink Support.unitypackage.meta | 7 - .../Invector Support.unitypackage.meta | 7 - ...Inventory Engine Support.unitypackage.meta | 7 - .../Inventory Pro Support.unitypackage.meta | 7 - .../JLC Importer.unitypackage.meta | 7 - .../KGFMapSystem Support.unitypackage.meta | 7 - .../LipSync Support.unitypackage.meta | 7 - ...ivelyChatBubbles Support.unitypackage.meta | 7 - ...lization Package Support.unitypackage.meta | 7 - .../Look Animator Support.unitypackage.meta | 7 - .../Makinom Support.unitypackage.meta | 7 - .../Master Audio Support.unitypackage.meta | 7 - ...otion Controller Support.unitypackage.meta | 7 - .../NGUI HUD Text Support.unitypackage.meta | 7 - .../NGUI Support.unitypackage.meta | 7 - .../NWT Support.unitypackage.meta | 7 - .../ORK Framework Support.unitypackage.meta | 7 - .../PlayMaker Support.unitypackage.meta | 7 - .../PostProcessing Support.unitypackage.meta | 7 - .../RPG Builder Support.unitypackage.meta | 7 - .../RPG Kit Support.unitypackage.meta | 7 - .../RTVoice Support.unitypackage.meta | 7 - ...istic FPS Prefab Support.unitypackage.meta | 7 - .../Rewired Support.unitypackage.meta | 7 - .../Rog Support.unitypackage.meta | 7 - .../SALSA Support.unitypackage.meta | 7 - .../SLATE Support.unitypackage.meta | 7 - ...cognition System Support.unitypackage.meta | 7 - .../Spine Support.unitypackage.meta | 7 - .../SuperTextMesh Support.unitypackage.meta | 7 - .../TK2D Support.unitypackage.meta | 7 - .../TalkIt Support.unitypackage.meta | 7 - .../Text Animator Support.unitypackage.meta | 7 - .../TopDown Engine Support.unitypackage.meta | 7 - .../Topdown Kit Support.unitypackage.meta | 7 - .../UniStorm Support.unitypackage.meta | 7 - ...Visual Scripting Support.unitypackage.meta | 7 - .../Wwise Support.unitypackage.meta | 7 - ...mportAssemblyDefinitions.unitypackage.meta | 7 - .../plyGame Support.unitypackage.meta | 7 - ...MORPG Remastered Support.unitypackage.meta | 7 - .../uMMORPG Support.unitypackage.meta | 7 - .../uRPG Support.unitypackage.meta | 7 - .../uSequencer Support.unitypackage.meta | 7 - .../uSurvival Support.unitypackage.meta | 7 - .../Waterfall Impact Ripples.prefab | 22 +- .../ProjectSettings/DynamicsManager.asset | 2 +- BlueWater/ProjectSettings/TagManager.asset | 3 +- 296 files changed, 11411 insertions(+), 7790 deletions(-) delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Combat.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Combat/Action.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Combat/Action/DieOfCombat.cs delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Action.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Action/AttackOfEnemy.cs delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Action/BeAttackedOfEnemy.cs delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Action/BeAttackedOfEnemy.cs.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Action/FindTargetOfEnemy.cs delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Action/FindTargetOfEnemy.cs.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Action/InitBaseEnemy.cs delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Action/InitBaseEnemy.cs.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Action/InitDefenseEnemy.cs delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Action/InitDefenseEnemy.cs.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Action/MoveTargetOfEnemy.cs delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Action/MoveTargetOfEnemy.cs.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Action/ReturnDefensePosOfEnemy.cs delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Action/ReturnDefensePosOfEnemy.cs.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Conditional.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Conditional/CanAttackOfEnemy.cs delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Conditional/CanAttackOfEnemy.cs.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Conditional/CanComebackDefensePosOfEnemy.cs delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Conditional/CanComebackDefensePosOfEnemy.cs.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Pirate.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Pirate/Action.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Pirate/Action/AttackOfPirate.cs delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Pirate/Action/AttackOfPirate.cs.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Pirate/Action/FindTargetOfPirate.cs delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Pirate/Action/FindTargetOfPirate.cs.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Pirate/Action/InitBasePirate.cs delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Pirate/Action/InitBasePirate.cs.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Pirate/Action/InitOffensePirate.cs delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Pirate/Action/InitOffensePirate.cs.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Pirate/Action/MoveTargetOfPirate.cs delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Pirate/Action/MoveTargetOfPirate.cs.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Pirate/Conditional.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Pirate/Conditional/CanAttackOfPirate.cs delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Pirate/Conditional/CanAttackOfPirate.cs.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Compare.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Compare/CompareSharedAiType.cs delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Compare/CompareSharedAiType.cs.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Compare/CompareSharedAttackerType.cs delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Compare/CompareSharedAttackerType.cs.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Inheritance.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Inheritance/CombatAction.cs delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Inheritance/CombatAction.cs.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Inheritance/EnemyAction.cs delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Inheritance/EnemyAction.cs.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Inheritance/EnemyConditional.cs delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Inheritance/EnemyConditional.cs.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Inheritance/PirateAction.cs delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Inheritance/PirateAction.cs.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Inheritance/PirateConditional.cs delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Inheritance/PirateConditional.cs.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Set.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Set/IncreaseSharedInt.cs delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Set/IncreaseSharedInt.cs.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Set/SetIslandInfo.cs delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Set/SetIslandInfo.cs.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/SharedAiStat.cs delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/SharedAiStat.cs.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/SharedAiType.cs delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/SharedAiType.cs.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/SharedAttackerType.cs delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/SharedAttackerType.cs.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/SharedIslandInfo.cs delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/SharedIslandInfo.cs.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/SharedNavMeshAgent.cs delete mode 100644 BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/SharedNavMeshAgent.cs.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Human.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Human/Combat.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Human/Combat/CombatAi.cs delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Human/Combat/CombatAi.cs.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/EnemyAi.cs delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/EnemyAi.cs.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/EnemyStat.cs delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/EnemyStat.cs.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/EnemyView.cs delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/EnemyView.cs.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/Type.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/Type/EnemyArcher.cs delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/Type/EnemyArcher.cs.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/Type/EnemySpearKnight.cs delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/Type/EnemySpearKnight.cs.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/Type/EnemySpearman.cs delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/Type/EnemySpearman.cs.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/Type/EnemySwordKnight.cs delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/Type/EnemySwordKnight.cs.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/Type/EnemySwordman.cs delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/Type/EnemySwordman.cs.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/PirateAi.cs delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/PirateAi.cs.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/PirateStat.cs delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/PirateStat.cs.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/PirateView.cs delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/PirateView.cs.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/Type.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/Type/PirateArcher.cs delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/Type/PirateArcher.cs.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/Type/PirateAxeman.cs delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/Type/PirateAxeman.cs.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/Type/PirateSpearman.cs delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/Type/PirateSpearman.cs.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/Type/PirateSwordKnight.cs delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/Type/PirateSwordKnight.cs.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/Type/PirateSwordman.cs delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/Type/PirateSwordman.cs.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Human/HumanAi.cs delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Human/HumanAi.cs.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Human/NpcAi.cs delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Human/NpcAi.cs.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Human/Unit.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Human/Unit/BaseUnit.cs delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Human/Unit/BaseUnit.cs.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Human/Unit/EnemyUnit.cs delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Human/Unit/EnemyUnit.cs.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Human/Unit/EnemyUnitStat.cs delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Human/Unit/EnemyUnitStat.cs.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Human/Unit/PirateUnit.cs delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Human/Unit/PirateUnit.cs.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Human/Unit/PirateUnitStat.cs delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Human/Unit/PirateUnitStat.cs.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Human/Unit/UnitManager.cs delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Human/Unit/UnitManager.cs.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Human/Unit/UnitSelection.cs delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Human/Unit/UnitSelection.cs.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Tower.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Tower/TowerAi.cs delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Tower/TowerAi.cs.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Tower/Type.meta delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Tower/Type/ArrowTower.cs delete mode 100644 BlueWater/Assets/02.Scripts/Ai/Tower/Type/ArrowTower.cs.meta create mode 100644 BlueWater/Assets/02.Scripts/BoidsManager.cs rename BlueWater/Assets/02.Scripts/{FishManager.cs.meta => BoidsManager.cs.meta} (100%) delete mode 100644 BlueWater/Assets/02.Scripts/Data/CardDataSo.cs delete mode 100644 BlueWater/Assets/02.Scripts/Data/CardDataSo.cs.meta delete mode 100644 BlueWater/Assets/02.Scripts/Data/CrewmateDataSo.cs delete mode 100644 BlueWater/Assets/02.Scripts/Data/CrewmateDataSo.cs.meta delete mode 100644 BlueWater/Assets/02.Scripts/Data/EnemyStatDataSo.cs delete mode 100644 BlueWater/Assets/02.Scripts/Data/EnemyStatDataSo.cs.meta delete mode 100644 BlueWater/Assets/02.Scripts/Data/EnemyUnitStatDataSo.cs delete mode 100644 BlueWater/Assets/02.Scripts/Data/EnemyUnitStatDataSo.cs.meta delete mode 100644 BlueWater/Assets/02.Scripts/Data/EnemyViewDataSo.cs delete mode 100644 BlueWater/Assets/02.Scripts/Data/EnemyViewDataSo.cs.meta delete mode 100644 BlueWater/Assets/02.Scripts/Data/PirateStatDataSo.cs delete mode 100644 BlueWater/Assets/02.Scripts/Data/PirateStatDataSo.cs.meta delete mode 100644 BlueWater/Assets/02.Scripts/Data/PirateUnitStatDataSo.cs delete mode 100644 BlueWater/Assets/02.Scripts/Data/PirateUnitStatDataSo.cs.meta delete mode 100644 BlueWater/Assets/02.Scripts/Data/PirateViewDataSo.cs delete mode 100644 BlueWater/Assets/02.Scripts/Data/PirateViewDataSo.cs.meta delete mode 100644 BlueWater/Assets/02.Scripts/Data/So/CardDataSo.asset delete mode 100644 BlueWater/Assets/02.Scripts/Data/So/CrewmateData.asset delete mode 100644 BlueWater/Assets/02.Scripts/Data/So/EnemyStatDataSo.asset delete mode 100644 BlueWater/Assets/02.Scripts/Data/So/EnemyStatDataSo.asset.meta delete mode 100644 BlueWater/Assets/02.Scripts/Data/So/EnemyUnitStatDataSo.asset delete mode 100644 BlueWater/Assets/02.Scripts/Data/So/EnemyUnitStatDataSo.asset.meta delete mode 100644 BlueWater/Assets/02.Scripts/Data/So/EnemyViewDataSo.asset delete mode 100644 BlueWater/Assets/02.Scripts/Data/So/EnemyViewDataSo.asset.meta delete mode 100644 BlueWater/Assets/02.Scripts/Data/So/PirateStatDataSo.asset delete mode 100644 BlueWater/Assets/02.Scripts/Data/So/PirateStatDataSo.asset.meta delete mode 100644 BlueWater/Assets/02.Scripts/Data/So/PirateUnitStatDataSo.asset delete mode 100644 BlueWater/Assets/02.Scripts/Data/So/PirateUnitStatDataSo.asset.meta delete mode 100644 BlueWater/Assets/02.Scripts/Data/So/PirateViewDataSo.asset delete mode 100644 BlueWater/Assets/02.Scripts/Data/So/PirateViewDataSo.asset.meta create mode 100644 BlueWater/Assets/02.Scripts/FishInfo.cs rename BlueWater/Assets/02.Scripts/{Ai/BehaviorTree/Task/Combat/Action/DieOfCombat.cs.meta => FishInfo.cs.meta} (83%) delete mode 100644 BlueWater/Assets/02.Scripts/FishManager.cs create mode 100644 BlueWater/Assets/02.Scripts/PlayerInventory.cs rename BlueWater/Assets/02.Scripts/{Ai/BehaviorTree/Task/Enemy/Action/AttackOfEnemy.cs.meta => PlayerInventory.cs.meta} (83%) create mode 100644 BlueWater/Assets/05.Prefabs/Particles/Waterfall Impact Ripples.prefab rename BlueWater/Assets/{Distant Lands/Cozy Weather/Custom Render Pipelines/Import for Buto Integration.unitypackage.meta => 05.Prefabs/Particles/Waterfall Impact Ripples.prefab.meta} (63%) create mode 100644 BlueWater/Assets/05.Prefabs/Particles/WaterfallSoft.prefab rename BlueWater/Assets/{Distant Lands/Cozy Weather/Custom Render Pipelines/Import for URP.unitypackage.meta => 05.Prefabs/Particles/WaterfallSoft.prefab.meta} (63%) create mode 100644 BlueWater/Assets/07.Animation/BoidsAnim.anim rename BlueWater/Assets/{02.Scripts/Data/So/CardDataSo.asset.meta => 07.Animation/BoidsAnim.anim.meta} (64%) create mode 100644 BlueWater/Assets/07.Animation/BoidsAnimController.controller rename BlueWater/Assets/{02.Scripts/Data/So/CrewmateData.asset.meta => 07.Animation/BoidsAnimController.controller.meta} (64%) delete mode 100644 BlueWater/Assets/Behavior Designer/Runtime/Tasks/Unity/Vector2/SetValue.cs delete mode 100644 BlueWater/Assets/Behavior Designer/Runtime/Tasks/Unity/Vector2/SetValue.cs.meta delete mode 100644 BlueWater/Assets/Feel/FeelDemos/FeelTemplatesDemo.unitypackage.meta delete mode 100644 BlueWater/Assets/Feel/NiceVibrations/OlderVersions/v1.7/NiceVibrations-v-1-7.unitypackage.meta delete mode 100644 BlueWater/Assets/Feel/NiceVibrations/OlderVersions/v2.0.1/NiceVibrations-v-2-0-1.unitypackage.meta delete mode 100644 BlueWater/Assets/Feel/NiceVibrations/OlderVersions/v3.9/NiceVibrations-v-3-9-0.unitypackage.meta delete mode 100644 BlueWater/Assets/NWH/Dynamic Water Physics 2/OptionalPackages/Multiplayer/Mirror.unitypackage.meta delete mode 100644 BlueWater/Assets/NWH/Dynamic Water Physics 2/OptionalPackages/Multiplayer/PUN2.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Febucci/Text Animator/Extra/Typewriter Sound - Package.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Febucci/Text Animator/Integrations/PlayMaker - Integration.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Febucci/Text Animator/Integrations/Visual Scripting - Integration.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Common/Scripts/CommonAssemblyDefinitions.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Common/Third Party Support/Compass Navigator Pro Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Common/Third Party Support/Corgi Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Common/Third Party Support/Devion Inventory Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Common/Third Party Support/Dialogue System Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Common/Third Party Support/Easy Save Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Common/Third Party Support/Emerald AI Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Common/Third Party Support/HUD Navigation System Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Common/Third Party Support/Invector Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Common/Third Party Support/Inventory Engine Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Common/Third Party Support/Inventory Pro Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Common/Third Party Support/PlayMaker Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Common/Third Party Support/RPG Builder Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Common/Third Party Support/Rewired Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Common/Third Party Support/Tactical Shooter AI Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Common/Third Party Support/TopDown Engine Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Scripts/DialogueSystemAssemblyDefinitions.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Action-RPG Starter Kit Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Adventure Creator Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Articy Localization Importer.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Behavior Designer Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Bolt Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Cinema Director Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Cinemachine Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Core GameKit Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Corgi Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Customizable SciFi Holo Interface Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Deftly Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Devion Inventory Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/DoozyUI Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Easy Save Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Emerald AI Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/FMOD Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/FaceFX Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Feel Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/GameFlow Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/I2 Localization Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/ICode Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Ink Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Invector Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Inventory Engine Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Inventory Pro Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/JLC Importer.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/KGFMapSystem Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/LipSync Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/LivelyChatBubbles Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Localization Package Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Look Animator Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Makinom Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Master Audio Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Motion Controller Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/NGUI HUD Text Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/NGUI Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/NWT Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/ORK Framework Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/PlayMaker Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/PostProcessing Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/RPG Builder Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/RPG Kit Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/RTVoice Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Realistic FPS Prefab Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Rewired Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Rog Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/SALSA Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/SLATE Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Speech Recognition System Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Spine Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/SuperTextMesh Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/TK2D Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/TalkIt Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Text Animator Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/TopDown Engine Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Topdown Kit Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/UniStorm Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Visual Scripting Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Wwise Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Yarn2ImportAssemblyDefinitions.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/plyGame Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/uMMORPG Remastered Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/uMMORPG Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/uRPG Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/uSequencer Support.unitypackage.meta delete mode 100644 BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/uSurvival Support.unitypackage.meta diff --git a/BlueWater/Assets/01.Scenes/02.Ocean.unity b/BlueWater/Assets/01.Scenes/02.Ocean.unity index 6eccc2f23..146af0127 100644 --- a/BlueWater/Assets/01.Scenes/02.Ocean.unity +++ b/BlueWater/Assets/01.Scenes/02.Ocean.unity @@ -233,9 +233,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 910f2fd54fe913648b37e911580e8068, type: 3} m_Name: m_EditorClassIdentifier: - islandInfo: {fileID: 357776294} - maxHp: 500 - currentHp: 0 --- !u!65 &44403560 BoxCollider: m_ObjectHideFlags: 0 @@ -811,28 +808,8 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: _persistent: 0 - k__BackingField: {fileID: 11400000, guid: d4ed8ebcf48bbdb4d84caf4a4cab7c04, - type: 2} - k__BackingField: {fileID: 11400000, guid: 33ac25d6eca8f6447a342dfb44a2a282, - type: 2} - k__BackingField: {fileID: 11400000, guid: c19ae12d221eae64f90d58e15a04d592, - type: 2} - k__BackingField: {fileID: 11400000, guid: 0f0ed8929be00534e97398bb55d8c541, - type: 2} - k__BackingField: {fileID: 11400000, guid: d363ca1023ab0754489bda2d69d79564, - type: 2} - k__BackingField: {fileID: 11400000, guid: 6cd374040492d94498f1cce6c3a10e14, - type: 2} - k__BackingField: {fileID: 11400000, guid: 0db3b35c9121e9e4bbe8559a0922145f, - type: 2} - k__BackingField: - - card_001 - - card_002 - - card_003 - - card_004 - - card_005 - - card_006 - - card_007 + k__BackingField: + fishInfoList: [] mouseSpot: {fileID: 1347266192824951316, guid: 049de7a77e0534ced92b672937a0f8db, type: 3} boat: {fileID: 2987405546353765599, guid: 96173da392e9a408d9aea814b4cfe00e, type: 3} @@ -843,6 +820,9 @@ MonoBehaviour: vomit: {fileID: 8216347814332420713, guid: 55593ff8cc9154523aa7f5951f2444a5, type: 3} nukeFire: {fileID: 128572, guid: d8aca1dfdbd0741fca61f68fd3bc8119, type: 3} grenadeFire: {fileID: 128572, guid: 8d387b0f65dfa4cdc965c4b56216e120, type: 3} + emojiHeart: {fileID: 0} + emojiPuke: {fileID: 0} + emojiAnger: {fileID: 0} cardType: - {fileID: 21300000, guid: 550b6170d3e5c4cf885cf56fa1df8f6b, type: 3} - {fileID: 21300000, guid: fa70a195a66db4c7fb6180f4205a06b1, type: 3} @@ -1679,7 +1659,6 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 200595900} - - component: {fileID: 200595902} - component: {fileID: 200595901} m_Layer: 0 m_Name: SecondMap @@ -1747,26 +1726,6 @@ MonoBehaviour: m_MinRegionArea: 2 m_NavMeshData: {fileID: 23800000, guid: ed36e1064a49b084bac46d5debdc1de3, type: 2} m_BuildHeightMesh: 0 ---- !u!114 &200595902 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 200595899} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: e21653ba0089cfe46beca2cdf851abcd, type: 3} - m_Name: - m_EditorClassIdentifier: - k__BackingField: - k__BackingField: [] - k__BackingField: [] - k__BackingField: [] - k__BackingField: [] - k__BackingField: [] - k__BackingField: [] - k__BackingField: {fileID: 0} --- !u!1001 &214342752 PrefabInstance: m_ObjectHideFlags: 0 @@ -3047,7 +3006,6 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 357776295} - - component: {fileID: 357776294} - component: {fileID: 357776293} m_Layer: 0 m_Name: FirstMap @@ -3087,195 +3045,6 @@ MonoBehaviour: m_MinRegionArea: 2 m_NavMeshData: {fileID: 23800000, guid: 5ea25972c984549389ea883b022806f2, type: 2} m_BuildHeightMesh: 0 ---- !u!114 &357776294 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 357776292} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: e21653ba0089cfe46beca2cdf851abcd, type: 3} - m_Name: - m_EditorClassIdentifier: - k__BackingField: FirstIsland - k__BackingField: - - {fileID: 1256859591} - - {fileID: 1332914089} - - {fileID: 44403557} - k__BackingField: [] - k__BackingField: - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - k__BackingField: - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - k__BackingField: - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - k__BackingField: - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 1256859591} - - {fileID: 1332914089} - - {fileID: 44403557} - k__BackingField: {fileID: 541711048} --- !u!4 &357776295 Transform: m_ObjectHideFlags: 0 @@ -6972,17 +6741,17 @@ PrefabInstance: - target: {fileID: 1800824703194841433, guid: f228040d76c9217409284544f353da47, type: 3} propertyPath: m_LocalPosition.x - value: -13.5 + value: -91.9 objectReference: {fileID: 0} - target: {fileID: 1800824703194841433, guid: f228040d76c9217409284544f353da47, type: 3} propertyPath: m_LocalPosition.y - value: -88.1 + value: -25.1 objectReference: {fileID: 0} - target: {fileID: 1800824703194841433, guid: f228040d76c9217409284544f353da47, type: 3} propertyPath: m_LocalPosition.z - value: 163.8 + value: 15.9 objectReference: {fileID: 0} - target: {fileID: 1800824703194841433, guid: f228040d76c9217409284544f353da47, type: 3} @@ -7022,23 +6791,28 @@ PrefabInstance: - target: {fileID: 2854089398056668840, guid: f228040d76c9217409284544f353da47, type: 3} propertyPath: m_LocalScale.x - value: 50 - objectReference: {fileID: 0} - - target: {fileID: 2854089398056668840, guid: f228040d76c9217409284544f353da47, - type: 3} - propertyPath: m_LocalScale.y value: 20 objectReference: {fileID: 0} + - target: {fileID: 2854089398056668840, guid: f228040d76c9217409284544f353da47, + type: 3} + propertyPath: m_LocalScale.y + value: 10 + objectReference: {fileID: 0} - target: {fileID: 2854089398056668840, guid: f228040d76c9217409284544f353da47, type: 3} propertyPath: m_LocalScale.z - value: 50 + value: 20 objectReference: {fileID: 0} - target: {fileID: 4541625270423798677, guid: f228040d76c9217409284544f353da47, type: 3} propertyPath: m_Name value: Boids (1) objectReference: {fileID: 0} + - target: {fileID: 4541625270423798677, guid: f228040d76c9217409284544f353da47, + type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} - target: {fileID: 5146900491857106217, guid: f228040d76c9217409284544f353da47, type: 3} propertyPath: boidCount @@ -7047,7 +6821,12 @@ PrefabInstance: - target: {fileID: 5146900491857106217, guid: f228040d76c9217409284544f353da47, type: 3} propertyPath: spawnRange - value: 25 + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 5146900491857106217, guid: f228040d76c9217409284544f353da47, + type: 3} + propertyPath: showWaterEffect + value: 0 objectReference: {fileID: 0} - target: {fileID: 5146900491857106217, guid: f228040d76c9217409284544f353da47, type: 3} @@ -7077,17 +6856,21 @@ PrefabInstance: - target: {fileID: 5146900491857106217, guid: f228040d76c9217409284544f353da47, type: 3} propertyPath: k__BackingField.x - value: 3 + value: 5 objectReference: {fileID: 0} - target: {fileID: 5146900491857106217, guid: f228040d76c9217409284544f353da47, type: 3} propertyPath: k__BackingField.y - value: 6 + value: 8 objectReference: {fileID: 0} m_RemovedComponents: [] m_RemovedGameObjects: [] m_AddedGameObjects: [] - m_AddedComponents: [] + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 2441661978531314766, guid: f228040d76c9217409284544f353da47, + type: 3} + insertIndex: -1 + addedObject: {fileID: 1408368785} m_SourcePrefab: {fileID: 100100000, guid: f228040d76c9217409284544f353da47, type: 3} --- !u!1 &734248429 GameObject: @@ -9511,9 +9294,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 910f2fd54fe913648b37e911580e8068, type: 3} m_Name: m_EditorClassIdentifier: - islandInfo: {fileID: 357776294} - maxHp: 500 - currentHp: 0 --- !u!65 &1256859594 BoxCollider: m_ObjectHideFlags: 0 @@ -9922,9 +9702,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 910f2fd54fe913648b37e911580e8068, type: 3} m_Name: m_EditorClassIdentifier: - islandInfo: {fileID: 357776294} - maxHp: 500 - currentHp: 0 --- !u!65 &1332914092 BoxCollider: m_ObjectHideFlags: 0 @@ -10482,6 +10259,34 @@ MonoBehaviour: - {fileID: 1354317160} - {fileID: 957406935} - {fileID: 745028227} +--- !u!1 &1408368779 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 2441661978531314766, guid: f228040d76c9217409284544f353da47, + type: 3} + m_PrefabInstance: {fileID: 718723263} + m_PrefabAsset: {fileID: 0} +--- !u!95 &1408368785 +Animator: + serializedVersion: 7 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1408368779} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 9100000, guid: d59e6dd2b1d1f7a499297dfecfc7b777, type: 2} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_StabilizeFeet: 0 + m_AnimatePhysics: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorStateOnDisable: 0 + m_WriteDefaultValuesOnDisable: 0 --- !u!1001 &1446558449 PrefabInstance: m_ObjectHideFlags: 0 @@ -10767,8 +10572,8 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1485085414} serializedVersion: 2 - m_LocalRotation: {x: 0.38024017, y: 0.6187369, z: -0.46296236, w: 0.5081809} - m_LocalPosition: {x: -0.0006790161, y: 0, z: -0.00340271} + m_LocalRotation: {x: 0.38024342, y: 0.6187334, z: -0.4629597, w: 0.50818527} + m_LocalPosition: {x: -0.0008125305, y: 0, z: -0.004096985} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: @@ -11648,7 +11453,7 @@ MonoBehaviour: IsHidden: 0 - Type: 0 Name: - GameObject: {fileID: 0} + GameObject: {fileID: 1683670876} Ordinal: 2 Priority: 0 IconType: 1000 @@ -11660,7 +11465,7 @@ MonoBehaviour: IsHidden: 0 - Type: 0 Name: - GameObject: {fileID: 107190133} + GameObject: {fileID: 2105062287} Ordinal: 3 Priority: 0 IconType: 1000 @@ -11670,34 +11475,10 @@ MonoBehaviour: BackgroundTexture: {fileID: 0} IsBackgroundRecursive: 0 IsHidden: 0 - - Type: 0 - Name: - GameObject: {fileID: 0} - Ordinal: 4 - Priority: 0 - IconType: 1000 - IconTexture: {fileID: 0} - IsIconRecursive: 0 - BackgroundType: 0 - BackgroundTexture: {fileID: 0} - IsBackgroundRecursive: 0 - IsHidden: 0 - - Type: 0 - Name: - GameObject: {fileID: 2105062287} - Ordinal: 5 - Priority: 0 - IconType: 1000 - IconTexture: {fileID: 0} - IsIconRecursive: 0 - BackgroundType: 0 - BackgroundTexture: {fileID: 0} - IsBackgroundRecursive: 0 - IsHidden: 0 - Type: 0 Name: GameObject: {fileID: 357776292} - Ordinal: 6 + Ordinal: 4 Priority: 0 IconType: 6000 IconTexture: {fileID: 0} @@ -11709,7 +11490,7 @@ MonoBehaviour: - Type: 0 Name: GameObject: {fileID: 200595899} - Ordinal: 7 + Ordinal: 5 Priority: 0 IconType: 6000 IconTexture: {fileID: 0} @@ -11718,22 +11499,10 @@ MonoBehaviour: BackgroundTexture: {fileID: 0} IsBackgroundRecursive: 0 IsHidden: 0 - - Type: 0 - Name: - GameObject: {fileID: 0} - Ordinal: 8 - Priority: 0 - IconType: 6000 - IconTexture: {fileID: 0} - IsIconRecursive: 0 - BackgroundType: 9000 - BackgroundTexture: {fileID: 0} - IsBackgroundRecursive: 0 - IsHidden: 0 - Type: 0 Name: GameObject: {fileID: 776161953} - Ordinal: 9 + Ordinal: 6 Priority: 0 IconType: 290000 IconTexture: {fileID: 0} @@ -11745,7 +11514,7 @@ MonoBehaviour: - Type: 0 Name: GameObject: {fileID: 649179606} - Ordinal: 10 + Ordinal: 7 Priority: 0 IconType: 341000 IconTexture: {fileID: 0} @@ -11757,7 +11526,7 @@ MonoBehaviour: - Type: 0 Name: GameObject: {fileID: 168896972} - Ordinal: 11 + Ordinal: 8 Priority: 0 IconType: 341000 IconTexture: {fileID: 0} @@ -11766,12 +11535,48 @@ MonoBehaviour: BackgroundTexture: {fileID: 0} IsBackgroundRecursive: 0 IsHidden: 0 + - Type: 0 + Name: + GameObject: {fileID: 0} + Ordinal: 9 + Priority: 0 + IconType: 341000 + IconTexture: {fileID: 0} + IsIconRecursive: 0 + BackgroundType: 0 + BackgroundTexture: {fileID: 0} + IsBackgroundRecursive: 0 + IsHidden: 0 + - Type: 0 + Name: + GameObject: {fileID: 0} + Ordinal: 10 + Priority: 0 + IconType: 7000 + IconTexture: {fileID: 0} + IsIconRecursive: 0 + BackgroundType: 0 + BackgroundTexture: {fileID: 0} + IsBackgroundRecursive: 0 + IsHidden: 0 + - Type: 0 + Name: + GameObject: {fileID: 0} + Ordinal: 11 + Priority: 0 + IconType: 7000 + IconTexture: {fileID: 0} + IsIconRecursive: 0 + BackgroundType: 0 + BackgroundTexture: {fileID: 0} + IsBackgroundRecursive: 0 + IsHidden: 0 - Type: 0 Name: GameObject: {fileID: 0} Ordinal: 12 Priority: 0 - IconType: 341000 + IconType: 7000 IconTexture: {fileID: 0} IsIconRecursive: 0 BackgroundType: 0 @@ -11780,10 +11585,10 @@ MonoBehaviour: IsHidden: 0 - Type: 0 Name: - GameObject: {fileID: 0} + GameObject: {fileID: 476261169} Ordinal: 13 Priority: 0 - IconType: 341000 + IconType: 200000 IconTexture: {fileID: 0} IsIconRecursive: 0 BackgroundType: 0 @@ -11795,7 +11600,7 @@ MonoBehaviour: GameObject: {fileID: 0} Ordinal: 14 Priority: 0 - IconType: 341000 + IconType: 200000 IconTexture: {fileID: 0} IsIconRecursive: 0 BackgroundType: 0 @@ -11807,78 +11612,6 @@ MonoBehaviour: GameObject: {fileID: 0} Ordinal: 15 Priority: 0 - IconType: 341000 - IconTexture: {fileID: 0} - IsIconRecursive: 0 - BackgroundType: 0 - BackgroundTexture: {fileID: 0} - IsBackgroundRecursive: 0 - IsHidden: 0 - - Type: 0 - Name: - GameObject: {fileID: 0} - Ordinal: 16 - Priority: 0 - IconType: 7000 - IconTexture: {fileID: 0} - IsIconRecursive: 0 - BackgroundType: 0 - BackgroundTexture: {fileID: 0} - IsBackgroundRecursive: 0 - IsHidden: 0 - - Type: 0 - Name: - GameObject: {fileID: 0} - Ordinal: 17 - Priority: 0 - IconType: 7000 - IconTexture: {fileID: 0} - IsIconRecursive: 0 - BackgroundType: 0 - BackgroundTexture: {fileID: 0} - IsBackgroundRecursive: 0 - IsHidden: 0 - - Type: 0 - Name: - GameObject: {fileID: 0} - Ordinal: 18 - Priority: 0 - IconType: 7000 - IconTexture: {fileID: 0} - IsIconRecursive: 0 - BackgroundType: 0 - BackgroundTexture: {fileID: 0} - IsBackgroundRecursive: 0 - IsHidden: 0 - - Type: 0 - Name: - GameObject: {fileID: 476261169} - Ordinal: 19 - Priority: 0 - IconType: 200000 - IconTexture: {fileID: 0} - IsIconRecursive: 0 - BackgroundType: 0 - BackgroundTexture: {fileID: 0} - IsBackgroundRecursive: 0 - IsHidden: 0 - - Type: 0 - Name: - GameObject: {fileID: 0} - Ordinal: 20 - Priority: 0 - IconType: 200000 - IconTexture: {fileID: 0} - IsIconRecursive: 0 - BackgroundType: 0 - BackgroundTexture: {fileID: 0} - IsBackgroundRecursive: 0 - IsHidden: 0 - - Type: 0 - Name: - GameObject: {fileID: 0} - Ordinal: 21 - Priority: 0 IconType: 200000 IconTexture: {fileID: 0} IsIconRecursive: 0 @@ -12501,6 +12234,66 @@ PrefabInstance: m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 6b556d7a85528a84aac27247ff9eeb24, type: 3} +--- !u!1 &1683670876 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1683670877} + - component: {fileID: 1683670878} + m_Layer: 0 + m_Name: DataManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1683670877 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1683670876} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1683670878 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1683670876} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 996bb30c01d484013ab3cb98f88b5c03, type: 3} + m_Name: + m_EditorClassIdentifier: + _persistent: 0 + k__BackingField: + fishInfoList: [] + mouseSpot: {fileID: 0} + boat: {fileID: 0} + assaultCard: {fileID: 0} + radarTargetUi: {fileID: 0} + vomit: {fileID: 0} + nukeFire: {fileID: 0} + grenadeFire: {fileID: 0} + emojiHeart: {fileID: 0} + emojiPuke: {fileID: 0} + emojiAnger: {fileID: 0} + cardType: [] + cursorTexture: {fileID: 0} + enemyMarker: {fileID: 0} --- !u!1001 &1708098703 PrefabInstance: m_ObjectHideFlags: 0 @@ -14608,6 +14401,11 @@ PrefabInstance: propertyPath: speed value: 2000 objectReference: {fileID: 0} + - target: {fileID: 7810505435716704953, guid: 8c9e74631c8994b8cb728cde8efae49a, + type: 3} + propertyPath: height + value: 20 + objectReference: {fileID: 0} - target: {fileID: 7810505435716704953, guid: 8c9e74631c8994b8cb728cde8efae49a, type: 3} propertyPath: firePos @@ -15789,7 +15587,7 @@ PrefabInstance: - target: {fileID: 1800824703194841433, guid: f228040d76c9217409284544f353da47, type: 3} propertyPath: m_LocalPosition.y - value: -13.2 + value: -9.48 objectReference: {fileID: 0} - target: {fileID: 1800824703194841433, guid: f228040d76c9217409284544f353da47, type: 3} @@ -15831,11 +15629,46 @@ PrefabInstance: propertyPath: m_LocalEulerAnglesHint.z value: 0 objectReference: {fileID: 0} + - target: {fileID: 2146763844810315378, guid: f228040d76c9217409284544f353da47, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2146763844810315378, guid: f228040d76c9217409284544f353da47, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2854089398056668840, guid: f228040d76c9217409284544f353da47, + type: 3} + propertyPath: m_LocalScale.x + value: 10 + objectReference: {fileID: 0} + - target: {fileID: 2854089398056668840, guid: f228040d76c9217409284544f353da47, + type: 3} + propertyPath: m_LocalScale.z + value: 10 + objectReference: {fileID: 0} - target: {fileID: 4541625270423798677, guid: f228040d76c9217409284544f353da47, type: 3} propertyPath: m_Name value: Boids objectReference: {fileID: 0} + - target: {fileID: 5146900491857106217, guid: f228040d76c9217409284544f353da47, + type: 3} + propertyPath: escapeMode + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5146900491857106217, guid: f228040d76c9217409284544f353da47, + type: 3} + propertyPath: viewRadius + value: 20 + objectReference: {fileID: 0} + - target: {fileID: 5146900491857106217, guid: f228040d76c9217409284544f353da47, + type: 3} + propertyPath: isDirectionChange + value: 1 + objectReference: {fileID: 0} m_RemovedComponents: [] m_RemovedGameObjects: [] m_AddedGameObjects: [] @@ -16480,6 +16313,7 @@ SceneRoots: - {fileID: 734248431} - {fileID: 55264371} - {fileID: 1806659892} + - {fileID: 1683670877} - {fileID: 1540310984} - {fileID: 2105062291} - {fileID: 1560348101} diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree.meta b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree.meta deleted file mode 100644 index 774865854..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: e17ff32e5dc9e1c41b8d7e41f871d450 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task.meta b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task.meta deleted file mode 100644 index 86660b306..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: dde7f062b30207f419bf1b952edfc83b -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Combat.meta b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Combat.meta deleted file mode 100644 index 7750258db..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Combat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: ec88ff1593c266f4bacdac246851500a -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Combat/Action.meta b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Combat/Action.meta deleted file mode 100644 index 4e1457ce6..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Combat/Action.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 1b2c1ea1e8ca8894eb1c93a20ae6bdcb -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Combat/Action/DieOfCombat.cs b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Combat/Action/DieOfCombat.cs deleted file mode 100644 index 5512559c4..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Combat/Action/DieOfCombat.cs +++ /dev/null @@ -1,19 +0,0 @@ -using BehaviorDesigner.Runtime.Tasks; - -// ReSharper disable once CheckNamespace -namespace BlueWaterProject -{ - [TaskCategory("Custom/CombatAction")] - public class DieOfCombat : CombatAction - { - public override void OnStart() - { - combatAi.Die(); - } - - public override TaskStatus OnUpdate() - { - return TaskStatus.Success; - } - } -} diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy.meta b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy.meta deleted file mode 100644 index f96f7bd09..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: b95f16cdd3b71dc48bd7fc20493b6b35 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Action.meta b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Action.meta deleted file mode 100644 index f3d80c3a2..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Action.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: ce7fd23e7154da9409e4c8e9b8709535 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Action/AttackOfEnemy.cs b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Action/AttackOfEnemy.cs deleted file mode 100644 index 43a8e3665..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Action/AttackOfEnemy.cs +++ /dev/null @@ -1,24 +0,0 @@ -using BehaviorDesigner.Runtime.Tasks; - -// ReSharper disable once CheckNamespace -namespace BlueWaterProject -{ - [TaskCategory("Custom/EnemyAction")] - public class AttackOfEnemy : EnemyAction - { - public override void OnStart() - { - enemyAi.Attack(); - } - - public override TaskStatus OnUpdate() - { - return enemyAi.GetIsAttackCoroutine() ? TaskStatus.Running : TaskStatus.Success; - } - - public override void OnEnd() - { - StopAllCoroutines(); - } - } -} diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Action/BeAttackedOfEnemy.cs b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Action/BeAttackedOfEnemy.cs deleted file mode 100644 index 837afdcf5..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Action/BeAttackedOfEnemy.cs +++ /dev/null @@ -1,20 +0,0 @@ -using BehaviorDesigner.Runtime.Tasks; - -// ReSharper disable once CheckNamespace -namespace BlueWaterProject -{ - [TaskCategory("Custom/EnemyAction")] - public class BeAttackedOfEnemy : EnemyAction - { - public override TaskStatus OnUpdate() - { - if (enemyAi.GetCombatAgent().pathPending || enemyAi.GetCombatAgent().remainingDistance > enemyAi.GetCombatAgent().stoppingDistance) - { - return TaskStatus.Running; - } - - enemyAi.SetBeAttacked(false, true); - return TaskStatus.Success; - } - } -} diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Action/BeAttackedOfEnemy.cs.meta b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Action/BeAttackedOfEnemy.cs.meta deleted file mode 100644 index e57ebac9d..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Action/BeAttackedOfEnemy.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: d11582d2ef4686a45b306c5a93d70bb6 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Action/FindTargetOfEnemy.cs b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Action/FindTargetOfEnemy.cs deleted file mode 100644 index 72348c2d8..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Action/FindTargetOfEnemy.cs +++ /dev/null @@ -1,19 +0,0 @@ -using BehaviorDesigner.Runtime.Tasks; - -// ReSharper disable once CheckNamespace -namespace BlueWaterProject -{ - [TaskCategory("Custom/EnemyAction")] - public class FindTargetOfEnemy : EnemyAction - { - public override void OnStart() - { - enemyAi.FindTarget(); - } - - public override TaskStatus OnUpdate() - { - return TaskStatus.Success; - } - } -} diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Action/FindTargetOfEnemy.cs.meta b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Action/FindTargetOfEnemy.cs.meta deleted file mode 100644 index cbfd3f1b5..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Action/FindTargetOfEnemy.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: df8ebf14d54ec644f9203c1d3dcb3274 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Action/InitBaseEnemy.cs b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Action/InitBaseEnemy.cs deleted file mode 100644 index ec7886bbf..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Action/InitBaseEnemy.cs +++ /dev/null @@ -1,22 +0,0 @@ -using BehaviorDesigner.Runtime; -using BehaviorDesigner.Runtime.Tasks; - -// ReSharper disable once CheckNamespace -namespace BlueWaterProject -{ - [TaskCategory("Custom/EnemyAction")] - public class InitBaseEnemy : EnemyAction - { - [RequiredField] public SharedAttackerType attackerType; - - public override void OnStart() - { - attackerType.Value = enemyAi.EnemyStat.AttackerType; - } - - public override TaskStatus OnUpdate() - { - return TaskStatus.Success; - } - } -} diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Action/InitBaseEnemy.cs.meta b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Action/InitBaseEnemy.cs.meta deleted file mode 100644 index ad925ce1b..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Action/InitBaseEnemy.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 6b7c7916c685bf741ad0c84618c3ef00 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Action/InitDefenseEnemy.cs b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Action/InitDefenseEnemy.cs deleted file mode 100644 index f2a3cb84c..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Action/InitDefenseEnemy.cs +++ /dev/null @@ -1,22 +0,0 @@ -using BehaviorDesigner.Runtime; -using BehaviorDesigner.Runtime.Tasks; - -// ReSharper disable once CheckNamespace -namespace BlueWaterProject -{ - [TaskCategory("Custom/EnemyAction")] - public class InitDefenseEnemy : EnemyAction - { - [RequiredField] public SharedGameObject myObj; - - public override void OnStart() - { - myObj.Value = gameObject; - } - - public override TaskStatus OnUpdate() - { - return TaskStatus.Success; - } - } -} diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Action/InitDefenseEnemy.cs.meta b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Action/InitDefenseEnemy.cs.meta deleted file mode 100644 index 14d4e2ae7..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Action/InitDefenseEnemy.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: cac9370c446b93e4e8a596c75db1ba1d -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Action/MoveTargetOfEnemy.cs b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Action/MoveTargetOfEnemy.cs deleted file mode 100644 index 99cf41d12..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Action/MoveTargetOfEnemy.cs +++ /dev/null @@ -1,19 +0,0 @@ -using BehaviorDesigner.Runtime.Tasks; - -// ReSharper disable once CheckNamespace -namespace BlueWaterProject -{ - [TaskCategory("Custom/EnemyAction")] - public class MoveTargetOfEnemy : EnemyAction - { - public override void OnStart() - { - enemyAi.MoveTargetInDefense(enemyAi.GetTargetTransform().position); - } - - public override TaskStatus OnUpdate() - { - return TaskStatus.Success; - } - } -} diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Action/MoveTargetOfEnemy.cs.meta b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Action/MoveTargetOfEnemy.cs.meta deleted file mode 100644 index 144ec549a..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Action/MoveTargetOfEnemy.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 8228d4b74ab4bcd47a4c2acfbb49441d -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Action/ReturnDefensePosOfEnemy.cs b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Action/ReturnDefensePosOfEnemy.cs deleted file mode 100644 index 0aedcdd71..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Action/ReturnDefensePosOfEnemy.cs +++ /dev/null @@ -1,19 +0,0 @@ -using BehaviorDesigner.Runtime.Tasks; - -// ReSharper disable once CheckNamespace -namespace BlueWaterProject -{ - [TaskCategory("Custom/EnemyAction")] - public class ReturnDefensePosOfEnemy : EnemyAction - { - public override void OnStart() - { - enemyAi.ReturnDefensePos(enemyAi.GetDefensePos()); - } - - public override TaskStatus OnUpdate() - { - return TaskStatus.Success; - } - } -} diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Action/ReturnDefensePosOfEnemy.cs.meta b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Action/ReturnDefensePosOfEnemy.cs.meta deleted file mode 100644 index 9c4184779..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Action/ReturnDefensePosOfEnemy.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 0984e3cb3464c4247922ba7d9eae2b71 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Conditional.meta b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Conditional.meta deleted file mode 100644 index 636ed2596..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Conditional.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 6a1ba3fb8915d4048a7151e5e4bdd8f0 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Conditional/CanAttackOfEnemy.cs b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Conditional/CanAttackOfEnemy.cs deleted file mode 100644 index 3462b2864..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Conditional/CanAttackOfEnemy.cs +++ /dev/null @@ -1,14 +0,0 @@ -using BehaviorDesigner.Runtime.Tasks; - -// ReSharper disable once CheckNamespace -namespace BlueWaterProject -{ - [TaskCategory("Custom/EnemyConditional")] - public class CanAttackOfEnemy : EnemyConditional - { - public override TaskStatus OnUpdate() - { - return enemyAi.CanAttack() ? TaskStatus.Success : TaskStatus.Failure; - } - } -} diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Conditional/CanAttackOfEnemy.cs.meta b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Conditional/CanAttackOfEnemy.cs.meta deleted file mode 100644 index 98302cdff..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Conditional/CanAttackOfEnemy.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 2ce7d209551b49e4e802d662e4ca90eb -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Conditional/CanComebackDefensePosOfEnemy.cs b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Conditional/CanComebackDefensePosOfEnemy.cs deleted file mode 100644 index a1ce45601..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Conditional/CanComebackDefensePosOfEnemy.cs +++ /dev/null @@ -1,14 +0,0 @@ -using BehaviorDesigner.Runtime.Tasks; - -// ReSharper disable once CheckNamespace -namespace BlueWaterProject -{ - [TaskCategory("Custom/EnemyConditional")] - public class CanComebackDefensePosOfEnemy : EnemyConditional - { - public override TaskStatus OnUpdate() - { - return enemyAi.transform.position != enemyAi.GetDefensePos() ? TaskStatus.Success : TaskStatus.Failure; - } - } -} diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Conditional/CanComebackDefensePosOfEnemy.cs.meta b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Conditional/CanComebackDefensePosOfEnemy.cs.meta deleted file mode 100644 index ca0012b68..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Conditional/CanComebackDefensePosOfEnemy.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 272b142d6b035b948b8315474050f48b -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Pirate.meta b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Pirate.meta deleted file mode 100644 index d07f434c7..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Pirate.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: fb74fe89de7396d4d8d4aa1400b262f9 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Pirate/Action.meta b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Pirate/Action.meta deleted file mode 100644 index a32f8fc0a..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Pirate/Action.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 631b6319d10351a4392d0b692de598d7 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Pirate/Action/AttackOfPirate.cs b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Pirate/Action/AttackOfPirate.cs deleted file mode 100644 index 6df75e93b..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Pirate/Action/AttackOfPirate.cs +++ /dev/null @@ -1,24 +0,0 @@ -using BehaviorDesigner.Runtime.Tasks; - -// ReSharper disable once CheckNamespace -namespace BlueWaterProject -{ - [TaskCategory("Custom/PirateAction")] - public class AttackOfPirate : PirateAction - { - public override void OnStart() - { - pirateAi.Attack(); - } - - public override TaskStatus OnUpdate() - { - return pirateAi.GetIsAttackCoroutine() ? TaskStatus.Running : TaskStatus.Success; - } - - public override void OnEnd() - { - StopAllCoroutines(); - } - } -} diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Pirate/Action/AttackOfPirate.cs.meta b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Pirate/Action/AttackOfPirate.cs.meta deleted file mode 100644 index 5205c806b..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Pirate/Action/AttackOfPirate.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 152eaa40581591946884634c29014ed1 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Pirate/Action/FindTargetOfPirate.cs b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Pirate/Action/FindTargetOfPirate.cs deleted file mode 100644 index 16b891983..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Pirate/Action/FindTargetOfPirate.cs +++ /dev/null @@ -1,19 +0,0 @@ -using BehaviorDesigner.Runtime.Tasks; - -// ReSharper disable once CheckNamespace -namespace BlueWaterProject -{ - [TaskCategory("Custom/PirateAction")] - public class FindTargetOfPirate : PirateAction - { - public override void OnStart() - { - pirateAi.FindTarget(); - } - - public override TaskStatus OnUpdate() - { - return TaskStatus.Success; - } - } -} diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Pirate/Action/FindTargetOfPirate.cs.meta b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Pirate/Action/FindTargetOfPirate.cs.meta deleted file mode 100644 index f4c995bac..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Pirate/Action/FindTargetOfPirate.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 67078393a27b3414fb475b36e0787001 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Pirate/Action/InitBasePirate.cs b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Pirate/Action/InitBasePirate.cs deleted file mode 100644 index 9169cdae1..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Pirate/Action/InitBasePirate.cs +++ /dev/null @@ -1,23 +0,0 @@ -using BehaviorDesigner.Runtime; -using BehaviorDesigner.Runtime.Tasks; -using UnityEngine; - -// ReSharper disable once CheckNamespace -namespace BlueWaterProject -{ - [TaskCategory("Custom/PirateAction")] - public class InitBasePirate : PirateAction - { - [RequiredField] public SharedAttackerType attackerType; - - public override void OnStart() - { - attackerType.Value = pirateAi.PirateStat.AttackerType; - } - - public override TaskStatus OnUpdate() - { - return TaskStatus.Success; - } - } -} diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Pirate/Action/InitBasePirate.cs.meta b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Pirate/Action/InitBasePirate.cs.meta deleted file mode 100644 index e57dc0a83..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Pirate/Action/InitBasePirate.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 86c2cf9f56d3adf4ebadf9a0e1915e9a -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Pirate/Action/InitOffensePirate.cs b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Pirate/Action/InitOffensePirate.cs deleted file mode 100644 index 9235ae871..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Pirate/Action/InitOffensePirate.cs +++ /dev/null @@ -1,22 +0,0 @@ -using BehaviorDesigner.Runtime; -using BehaviorDesigner.Runtime.Tasks; - -// ReSharper disable once CheckNamespace -namespace BlueWaterProject -{ - [TaskCategory("Custom/PirateAction")] - public class InitOffensePirate : PirateAction - { - [RequiredField] public SharedGameObject myObj; - - public override void OnStart() - { - myObj.Value = gameObject; - } - - public override TaskStatus OnUpdate() - { - return TaskStatus.Success; - } - } -} diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Pirate/Action/InitOffensePirate.cs.meta b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Pirate/Action/InitOffensePirate.cs.meta deleted file mode 100644 index b732515a2..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Pirate/Action/InitOffensePirate.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: cfedbfa8c252b5648b9faf49acff2222 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Pirate/Action/MoveTargetOfPirate.cs b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Pirate/Action/MoveTargetOfPirate.cs deleted file mode 100644 index ca4789c98..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Pirate/Action/MoveTargetOfPirate.cs +++ /dev/null @@ -1,19 +0,0 @@ -using BehaviorDesigner.Runtime.Tasks; - -// ReSharper disable once CheckNamespace -namespace BlueWaterProject -{ - [TaskCategory("Custom/PirateAction")] - public class MoveTargetOfPirate : PirateAction - { - public override void OnStart() - { - pirateAi.MoveTarget(pirateAi.GetTargetTransform().position, GlobalValue.MAXIMUM_STOP_DISTANCE); - } - - public override TaskStatus OnUpdate() - { - return TaskStatus.Success; - } - } -} diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Pirate/Action/MoveTargetOfPirate.cs.meta b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Pirate/Action/MoveTargetOfPirate.cs.meta deleted file mode 100644 index efcbf2f4d..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Pirate/Action/MoveTargetOfPirate.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: b3be30dac4ab81d47a4313e506fbf7b8 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Pirate/Conditional.meta b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Pirate/Conditional.meta deleted file mode 100644 index dd8414c85..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Pirate/Conditional.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: f225dd6308d308d47ac7aa75de28c5da -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Pirate/Conditional/CanAttackOfPirate.cs b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Pirate/Conditional/CanAttackOfPirate.cs deleted file mode 100644 index 70a30ff18..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Pirate/Conditional/CanAttackOfPirate.cs +++ /dev/null @@ -1,14 +0,0 @@ -using BehaviorDesigner.Runtime.Tasks; - -// ReSharper disable once CheckNamespace -namespace BlueWaterProject -{ - [TaskCategory("Custom/PirateConditional")] - public class CanAttackOfPirate : PirateConditional - { - public override TaskStatus OnUpdate() - { - return pirateAi.CanAttack() ? TaskStatus.Success : TaskStatus.Failure; - } - } -} diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Pirate/Conditional/CanAttackOfPirate.cs.meta b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Pirate/Conditional/CanAttackOfPirate.cs.meta deleted file mode 100644 index 536f54dba..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Pirate/Conditional/CanAttackOfPirate.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 68fbf203f20f0444694fc0cd87678685 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable.meta b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable.meta deleted file mode 100644 index dad4c5ad9..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: a54b7510bd752444f862463504e573f5 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Compare.meta b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Compare.meta deleted file mode 100644 index b6dbfac80..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Compare.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: a0e430e073cfd444f889ea710a57bf41 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Compare/CompareSharedAiType.cs b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Compare/CompareSharedAiType.cs deleted file mode 100644 index e605f473d..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Compare/CompareSharedAiType.cs +++ /dev/null @@ -1,26 +0,0 @@ -using BlueWaterProject; - -// ReSharper disable once CheckNamespace -namespace BehaviorDesigner.Runtime.Tasks.Unity.SharedVariables -{ - [TaskCategory("Unity/SharedVariable")] - [TaskDescription("Returns success if the variable value is equal to the compareTo value.")] - public class CompareSharedAiType : Conditional - { - [Tooltip("The first variable to compare")] - public SharedAiType variable; - [Tooltip("The variable to compare to")] - public SharedAiType compareTo; - - public override TaskStatus OnUpdate() - { - return variable.Value.Equals(compareTo.Value) ? TaskStatus.Success : TaskStatus.Failure; - } - - public override void OnReset() - { - variable = EAiType.NONE; - compareTo = EAiType.NONE; - } - } -} \ No newline at end of file diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Compare/CompareSharedAiType.cs.meta b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Compare/CompareSharedAiType.cs.meta deleted file mode 100644 index 33c63a848..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Compare/CompareSharedAiType.cs.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: e3fdf6e71e3deef46bb9ab0bcf3ea68e -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Compare/CompareSharedAttackerType.cs b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Compare/CompareSharedAttackerType.cs deleted file mode 100644 index b21913c4d..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Compare/CompareSharedAttackerType.cs +++ /dev/null @@ -1,26 +0,0 @@ -using BlueWaterProject; - -// ReSharper disable once CheckNamespace -namespace BehaviorDesigner.Runtime.Tasks.Unity.SharedVariables -{ - [TaskCategory("Unity/SharedVariable")] - [TaskDescription("Returns success if the variable value is equal to the compareTo value.")] - public class CompareSharedAttackerType : Conditional - { - [Tooltip("The first variable to compare")] - public SharedAttackerType variable; - [Tooltip("The variable to compare to")] - public SharedAttackerType compareTo; - - public override TaskStatus OnUpdate() - { - return variable.Value.Equals(compareTo.Value) ? TaskStatus.Success : TaskStatus.Failure; - } - - public override void OnReset() - { - variable = EAttackerType.NONE; - compareTo = EAttackerType.NONE; - } - } -} \ No newline at end of file diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Compare/CompareSharedAttackerType.cs.meta b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Compare/CompareSharedAttackerType.cs.meta deleted file mode 100644 index 23f938fa8..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Compare/CompareSharedAttackerType.cs.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 6a6c4dcf5ecd5494d84255dd2ea4a646 -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Inheritance.meta b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Inheritance.meta deleted file mode 100644 index 77bb8a640..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Inheritance.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 18e4f63224214fb48af158d76b500c31 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Inheritance/CombatAction.cs b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Inheritance/CombatAction.cs deleted file mode 100644 index c1570c323..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Inheritance/CombatAction.cs +++ /dev/null @@ -1,15 +0,0 @@ -using BehaviorDesigner.Runtime.Tasks; - -// ReSharper disable once CheckNamespace -namespace BlueWaterProject -{ - public class CombatAction : Action - { - protected CombatAi combatAi; - - public override void OnAwake() - { - combatAi = GetComponent(); - } - } -} \ No newline at end of file diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Inheritance/CombatAction.cs.meta b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Inheritance/CombatAction.cs.meta deleted file mode 100644 index ddf8f324b..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Inheritance/CombatAction.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 7f96e64d7dffad149835e1501b362e91 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Inheritance/EnemyAction.cs b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Inheritance/EnemyAction.cs deleted file mode 100644 index b93646a27..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Inheritance/EnemyAction.cs +++ /dev/null @@ -1,15 +0,0 @@ -using BehaviorDesigner.Runtime.Tasks; - -// ReSharper disable once CheckNamespace -namespace BlueWaterProject -{ - public class EnemyAction : Action - { - protected EnemyAi enemyAi; - - public override void OnAwake() - { - enemyAi = GetComponent(); - } - } -} \ No newline at end of file diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Inheritance/EnemyAction.cs.meta b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Inheritance/EnemyAction.cs.meta deleted file mode 100644 index c54a8b9c6..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Inheritance/EnemyAction.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 84f9fa3fad1de6640a44b43f28baf46f -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Inheritance/EnemyConditional.cs b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Inheritance/EnemyConditional.cs deleted file mode 100644 index b807c1a61..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Inheritance/EnemyConditional.cs +++ /dev/null @@ -1,15 +0,0 @@ -using BehaviorDesigner.Runtime.Tasks; - -// ReSharper disable once CheckNamespace -namespace BlueWaterProject -{ - public class EnemyConditional : Conditional - { - protected EnemyAi enemyAi; - - public override void OnAwake() - { - enemyAi = GetComponent(); - } - } -} \ No newline at end of file diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Inheritance/EnemyConditional.cs.meta b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Inheritance/EnemyConditional.cs.meta deleted file mode 100644 index 1f6a16bec..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Inheritance/EnemyConditional.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 0ac6714e1a3da5e42b2433907ceace0c -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Inheritance/PirateAction.cs b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Inheritance/PirateAction.cs deleted file mode 100644 index 9ef7922ce..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Inheritance/PirateAction.cs +++ /dev/null @@ -1,15 +0,0 @@ -using BehaviorDesigner.Runtime.Tasks; - -// ReSharper disable once CheckNamespace -namespace BlueWaterProject -{ - public class PirateAction : Action - { - protected PirateAi pirateAi; - - public override void OnAwake() - { - pirateAi = GetComponent(); - } - } -} \ No newline at end of file diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Inheritance/PirateAction.cs.meta b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Inheritance/PirateAction.cs.meta deleted file mode 100644 index 83035c48d..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Inheritance/PirateAction.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: ecb029565680f1d4694b164292599545 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Inheritance/PirateConditional.cs b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Inheritance/PirateConditional.cs deleted file mode 100644 index f043da6e4..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Inheritance/PirateConditional.cs +++ /dev/null @@ -1,15 +0,0 @@ -using BehaviorDesigner.Runtime.Tasks; - -// ReSharper disable once CheckNamespace -namespace BlueWaterProject -{ - public class PirateConditional : Conditional - { - protected PirateAi pirateAi; - - public override void OnAwake() - { - pirateAi = GetComponent(); - } - } -} \ No newline at end of file diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Inheritance/PirateConditional.cs.meta b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Inheritance/PirateConditional.cs.meta deleted file mode 100644 index 0c4fc30ed..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Inheritance/PirateConditional.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 775faef187f436241b9bf4fae9115d48 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Set.meta b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Set.meta deleted file mode 100644 index 85e661f86..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Set.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: b51024a661c57aa49879a8fecc4fa495 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Set/IncreaseSharedInt.cs b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Set/IncreaseSharedInt.cs deleted file mode 100644 index b07cbf025..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Set/IncreaseSharedInt.cs +++ /dev/null @@ -1,18 +0,0 @@ -using BehaviorDesigner.Runtime; -using BehaviorDesigner.Runtime.Tasks; - -// ReSharper disable once CheckNamespace -namespace BlueWaterProject -{ - public class IncreaseSharedInt : Action - { - public SharedInt targetInt; - - public override TaskStatus OnUpdate() - { - targetInt.Value++; - - return TaskStatus.Success; - } - } -} \ No newline at end of file diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Set/IncreaseSharedInt.cs.meta b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Set/IncreaseSharedInt.cs.meta deleted file mode 100644 index c7a058f8c..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Set/IncreaseSharedInt.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 94aaede23a4430d42ae8ef55a1b21e9b -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Set/SetIslandInfo.cs b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Set/SetIslandInfo.cs deleted file mode 100644 index 246c155cc..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Set/SetIslandInfo.cs +++ /dev/null @@ -1,26 +0,0 @@ -using UnityEngine; - -namespace BehaviorDesigner.Runtime.Tasks.Unity.UnityVector2 -{ - [TaskCategory("Unity/Vector2")] - [TaskDescription("Sets the value of the Vector2.")] - public class SetValue : Action - { - [Tooltip("The Vector2 to get the values of")] - public SharedVector2 vector2Value; - [Tooltip("The Vector2 to set the values of")] - public SharedVector2 vector2Variable; - - public override TaskStatus OnUpdate() - { - vector2Variable.Value = vector2Value.Value; - return TaskStatus.Success; - } - - public override void OnReset() - { - vector2Value = Vector2.zero; - vector2Variable = Vector2.zero; - } - } -} \ No newline at end of file diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Set/SetIslandInfo.cs.meta b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Set/SetIslandInfo.cs.meta deleted file mode 100644 index 8098c97ca..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/Set/SetIslandInfo.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 85d3b21532037744fa14ddebf47c3c74 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/SharedAiStat.cs b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/SharedAiStat.cs deleted file mode 100644 index c817f481f..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/SharedAiStat.cs +++ /dev/null @@ -1,11 +0,0 @@ -// using BlueWaterProject; -// -// // ReSharper disable once CheckNamespace -// namespace BehaviorDesigner.Runtime -// { -// [System.Serializable] -// public class SharedAiStat : SharedVariable -// { -// public static implicit operator SharedAiStat(AiStat value) { return new SharedAiStat { mValue = value }; } -// } -// } \ No newline at end of file diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/SharedAiStat.cs.meta b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/SharedAiStat.cs.meta deleted file mode 100644 index ac50e4b96..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/SharedAiStat.cs.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 02ba639560737f44db74c938a6eaf769 -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/SharedAiType.cs b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/SharedAiType.cs deleted file mode 100644 index b64a3b200..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/SharedAiType.cs +++ /dev/null @@ -1,11 +0,0 @@ -using BlueWaterProject; - -// ReSharper disable once CheckNamespace -namespace BehaviorDesigner.Runtime -{ - [System.Serializable] - public class SharedAiType : SharedVariable - { - public static implicit operator SharedAiType(EAiType value) { return new SharedAiType { mValue = value }; } - } -} \ No newline at end of file diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/SharedAiType.cs.meta b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/SharedAiType.cs.meta deleted file mode 100644 index 5325e9744..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/SharedAiType.cs.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: a8a13c299691ac64ab6d467bb8e8932f -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/SharedAttackerType.cs b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/SharedAttackerType.cs deleted file mode 100644 index 31e8d9e05..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/SharedAttackerType.cs +++ /dev/null @@ -1,11 +0,0 @@ -using BlueWaterProject; - -// ReSharper disable once CheckNamespace -namespace BehaviorDesigner.Runtime -{ - [System.Serializable] - public class SharedAttackerType : SharedVariable - { - public static implicit operator SharedAttackerType(EAttackerType value) { return new SharedAttackerType { mValue = value }; } - } -} \ No newline at end of file diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/SharedAttackerType.cs.meta b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/SharedAttackerType.cs.meta deleted file mode 100644 index b0c1bef5c..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/SharedAttackerType.cs.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: ff361707107fef94788b3ff999b21044 -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/SharedIslandInfo.cs b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/SharedIslandInfo.cs deleted file mode 100644 index 8d1be6407..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/SharedIslandInfo.cs +++ /dev/null @@ -1,11 +0,0 @@ -using BlueWaterProject; - -// ReSharper disable once CheckNamespace -namespace BehaviorDesigner.Runtime -{ - [System.Serializable] - public class SharedIslandInfo : SharedVariable - { - public static implicit operator SharedIslandInfo(IslandInfo value) { return new SharedIslandInfo { mValue = value }; } - } -} \ No newline at end of file diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/SharedIslandInfo.cs.meta b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/SharedIslandInfo.cs.meta deleted file mode 100644 index 2255fd2d1..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/SharedIslandInfo.cs.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 6e23fcea0f1d6544db6c749d0bbb2de5 -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/SharedNavMeshAgent.cs b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/SharedNavMeshAgent.cs deleted file mode 100644 index 8f571bc3d..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/SharedNavMeshAgent.cs +++ /dev/null @@ -1,12 +0,0 @@ -using BlueWaterProject; -using UnityEngine.AI; - -// ReSharper disable once CheckNamespace -namespace BehaviorDesigner.Runtime -{ - [System.Serializable] - public class SharedNavMeshAgent : SharedVariable - { - public static implicit operator SharedNavMeshAgent(NavMeshAgent value) { return new SharedNavMeshAgent { mValue = value }; } - } -} \ No newline at end of file diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/SharedNavMeshAgent.cs.meta b/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/SharedNavMeshAgent.cs.meta deleted file mode 100644 index c374b529c..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Variable/SharedNavMeshAgent.cs.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 00580f11879e46d4998b60f02d843ba7 -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: diff --git a/BlueWater/Assets/02.Scripts/Ai/Human.meta b/BlueWater/Assets/02.Scripts/Ai/Human.meta deleted file mode 100644 index 7756f2c43..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Human.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 22754cea389b9fc49a6a943b90c2710a -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/Human/Combat.meta b/BlueWater/Assets/02.Scripts/Ai/Human/Combat.meta deleted file mode 100644 index 924e22d7d..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Human/Combat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: c610fa776fedd914683a0ad074480544 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/CombatAi.cs b/BlueWater/Assets/02.Scripts/Ai/Human/Combat/CombatAi.cs deleted file mode 100644 index 3cee1d5fa..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/CombatAi.cs +++ /dev/null @@ -1,195 +0,0 @@ -using BehaviorDesigner.Runtime; -using UnityEngine; -using UnityEngine.AI; -using UnityEngine.Animations; - -// ReSharper disable once CheckNamespace -namespace BlueWaterProject -{ - public abstract class CombatAi : HumanAi - { - #region Properties and variables - - // 일반 변수 - [SerializeField] protected bool isDrawGizmosInFieldOfView = true; - [SerializeField] protected bool isAttacking; - [SerializeField] protected LayerMask targetLayer; - [SerializeField] protected Vector3 defensePos; - - [SerializeField] protected Transform targetTransform; - [SerializeField] protected Collider[] colliderWithinRange = new Collider[TARGET_MAX_SIZE]; - [SerializeField] protected IslandInfo attackingIslandInfo; - [SerializeField] protected IslandInfo defendingIslandInfo; - - // 컴포넌트 관련 변수 - protected Animator combatAnimator; - protected NavMeshAgent combatAgent; - protected CapsuleCollider myCollider; - protected CapsuleCollider hitBoxCollider; - protected LookAtConstraint lookAtConstraint; - protected BehaviorTree behaviorTree; - - // 애니메이션 관련 변수 - protected static readonly int SpeedHash = Animator.StringToHash("Speed"); - protected static readonly int AttackHash = Animator.StringToHash("Attack"); - protected static readonly int DamageHash = Animator.StringToHash("TakeDamage"); - protected static readonly int DeathTypeHash = Animator.StringToHash("DeathType"); - protected static readonly int DeathHash = Animator.StringToHash("Death"); - protected static readonly int ShieldHash = Animator.StringToHash("Shield"); - protected static readonly int OutlineColorHash = Shader.PropertyToID("_OutlineColor"); - - protected const int TARGET_MAX_SIZE = 30; - - #endregion - - #region Abstract methods - - protected abstract void SetLayer(); - protected abstract void SetCurrentHp(float value, bool useBehaviorTreeVariable = false); - protected abstract void RemoveAiListElement(); - public abstract void FindTarget(); - public abstract bool CanAttack(); - public abstract void Attack(); - - #endregion - - #region Unity built-in methods - - protected override void Awake() - { - base.Awake(); - - FlagLookAtCamera(); - SetLayer(); - } - - private void Update() - { - if (combatAnimator.runtimeAnimatorController != null && combatAnimator.isActiveAndEnabled) - { - combatAnimator.SetFloat(SpeedHash, combatAgent.velocity.magnitude); - } - UpdateLookAtTarget(); - } - - #endregion - - #region Custom methods - - protected override void InitComponent() - { - base.InitComponent(); - - combatAnimator = Utils.GetComponentAndAssert(transform); - combatAgent = Utils.GetComponentAndAssert(transform); - myCollider = Utils.GetComponentAndAssert(transform); - hitBoxCollider = Utils.GetComponentAndAssert(transform.Find("HitBox")); - lookAtConstraint = Utils.GetComponentAndAssert(flagContainer); - } - - protected void FlagLookAtCamera() - { - if (CameraManager.Inst.MainCam != null) - { - var source = new ConstraintSource - { - sourceTransform = CameraManager.Inst.MainCam.transform, - weight = 1f - }; - lookAtConstraint.AddSource(source); - } - - lookAtConstraint.constraintActive = true; - } - - protected void SetBehaviorTree(ExternalBehaviorTree externalBehaviorTree) - { - if (!externalBehaviorTree) - { - print("externalBehaviorTree == null error"); - } - - var bt = gameObject.GetComponent(); - if (bt != null) - { - Destroy(bt); - } - - behaviorTree = gameObject.AddComponent(); - behaviorTree.StartWhenEnabled = false; - behaviorTree.ExternalBehavior = externalBehaviorTree; - - behaviorTree.EnableBehavior(); - } - - public void MoveTarget(Vector3 targetPos, float stopDistance) - { - if (Vector3.Distance(combatAgent.destination, targetPos) < 0.1f) return; - - combatAgent.stoppingDistance = stopDistance; - combatAgent.SetDestination(targetPos); - } - - private void UpdateLookAtTarget() - { - if (CanAttack()) - { - combatAgent.updateRotation = false; - - var targetPos = targetTransform.position; - targetPos.y = transform.position.y; - transform.LookAt(targetPos); - } - else - { - combatAgent.updateRotation = true; - } - } - - public void SetTargetTransform(Transform value, bool useBehaviorTreeVariable = false) - { - targetTransform = value; - - if (!useBehaviorTreeVariable) return; - - Utils.SetBehaviorVariable(behaviorTree, "TargetTransform", value); - } - - public void Die() - { - RemoveIslandInfo(); - RemoveAiListElement(); - - StopAllCoroutines(); - combatAgent.enabled = false; - myCollider.enabled = false; - hitBoxCollider.enabled = false; - - var randomValue = Random.Range(0, 2); - combatAnimator.SetInteger(DeathTypeHash, randomValue); - - // TODO : 죽었을 때 처리(죽는 애니메이션 이후 사라지는 효과 등) - combatAnimator.SetTrigger(DeathHash); - } - - private void RemoveIslandInfo() - { - if (defendingIslandInfo == null) return; - - defendingIslandInfo.RemoveListElement(defendingIslandInfo.EnemyList, transform); - defendingIslandInfo.RemoveListElement(defendingIslandInfo.ExceptHouseList, transform); - defendingIslandInfo.RemoveListElement(defendingIslandInfo.TargetAllList, transform); - } - - protected void SetAnimatorController(string controllerName) => combatAnimator.runtimeAnimatorController = - UnitManager.Inst.AIAnimatorControllerList.Find(obj => obj.name == controllerName); - protected void SetMoveSpeed(float value) => combatAgent.speed = value; - public void SetAttackingIslandInfo(IslandInfo info) => attackingIslandInfo = info; - public void SetDefendingIslandInfo(IslandInfo info) => defendingIslandInfo = info; - public Transform GetTargetTransform() => targetTransform; - public Vector3 GetDefensePos() => defensePos; - public NavMeshAgent GetCombatAgent() => combatAgent; - - #endregion - } -} \ No newline at end of file diff --git a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/CombatAi.cs.meta b/BlueWater/Assets/02.Scripts/Ai/Human/Combat/CombatAi.cs.meta deleted file mode 100644 index 4edea88b7..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/CombatAi.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 7d395879fb0a0d740910a879261f7383 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy.meta b/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy.meta deleted file mode 100644 index d60a31fb2..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 76fb3986699b27a49b77bbe71fa5056d -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/EnemyAi.cs b/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/EnemyAi.cs deleted file mode 100644 index 3c3df4a71..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/EnemyAi.cs +++ /dev/null @@ -1,429 +0,0 @@ -using System; -using System.Collections; -using System.Collections.Generic; -using System.Linq; -using UnityEngine; -using Random = UnityEngine.Random; - -// ReSharper disable once CheckNamespace -namespace BlueWaterProject -{ - public abstract class EnemyAi : CombatAi, IDamageable - { - #region Properties and variables - - [field: SerializeField] public EnemyStat EnemyStat { get; set; } - - protected bool isAttackCoroutine; - private bool beAttacked; - private EnemyUnit enemyUnit; - private int childNum; - - #endregion - - #region Unit Built-in methods - - protected virtual void OnDrawGizmosSelected() - { - if (!isDrawGizmosInFieldOfView) return; - - if (EnemyStat.AttackerType == EAttackerType.OFFENSE) - { - if (!targetTransform) return; - - Gizmos.color = Color.red; - Gizmos.DrawLine(transform.position, targetTransform.position); - } - else if (EnemyStat.AttackerType == EAttackerType.DEFENSE) - { - if (EnemyStat.DefenseType == EDefenseType.DEFENDER) - { - Gizmos.color = Color.red; - var startPos = Application.isPlaying ? defensePos : transform.position; - Gizmos.DrawWireSphere(startPos, EnemyStat.DefenseRange); - } - - Gizmos.color = Color.blue; - Gizmos.DrawWireSphere(transform.position, EnemyStat.ViewRange); - - if (!targetTransform) return; - - Gizmos.color = Color.red; - Gizmos.DrawLine(transform.position, targetTransform.position); - } - } - - private void Start() - { - InitStart(); - } - - #endregion - - #region IDamageable interface - - public void TakeDamage(float attackerPower, Vector3? attackPos = null) - { - if (attackPos != null && EnemyStat.AttackerType == EAttackerType.DEFENSE && !targetTransform) - { - BeAttackedMovement((Vector3)attackPos); - } - - // 회피 성공 체크 - if (Random.Range(0, 100) < EnemyStat.AvoidanceRate) - { - // TODO : 회피 처리 - return; - } - - var finalDamage = 0f; - - if (EnemyStat.UsingShield) - { - // var penetrationChance = attackerShieldPenetrationRate - - // (attackerShieldPenetrationRate * EnemyStat.PenetrationResistivity * 0.01f); - // - // // 방패를 관통했다면, - // if (Random.Range(0, 100) < penetrationChance) - // { - // finalDamage = attackerPower - EnemyStat.Def; - // finalDamage = Mathf.Max(finalDamage, 0); - // } - // else - // { - // finalDamage = 0f; - // } - } - - finalDamage = attackerPower - EnemyStat.Def; - finalDamage = Mathf.Max(finalDamage, 0); - - // 방패 막기 체크 - if (finalDamage == 0f) - { - combatAnimator.SetTrigger(ShieldHash); - return; - } - var changeHp = Mathf.Max(EnemyStat.CurrentHp - finalDamage, 0); - SetCurrentHp(changeHp, true); - - // 죽었는지 체크 - if (changeHp == 0f) return; - - combatAnimator.SetTrigger(DamageHash); - } - - #endregion - - #region Custom methods - - protected override void InitComponent() - { - base.InitComponent(); - - enemyUnit = Utils.GetComponentAndAssert(transform.parent); - } - - protected override void SetLayer() - { - gameObject.layer = LayerMask.NameToLayer("Enemy"); - var hitBoxObj = hitBoxCollider.gameObject; - hitBoxObj.layer = LayerMask.NameToLayer("HitBox"); - hitBoxObj.tag = "Enemy"; - targetLayer = LayerMask.GetMask("Player") | LayerMask.GetMask("Pirate"); - - if (EnemyStat.AttackerType == EAttackerType.OFFENSE) - { - targetLayer |= LayerMask.GetMask("Props"); - } - } - -#if UNITY_EDITOR - public virtual void InitStartInEditor() - { - var enemyViewData = DataManager.Inst.GetEnemyViewSoFromKey(EnemyStat.ViewIdx); - - InitComponent(); - SetLayer(); - InitViewModel(enemyViewData); - } -#endif - - protected virtual void InitStart() - { - var enemyViewData = DataManager.Inst.GetEnemyViewDictionaryFromKey(EnemyStat.ViewIdx); - - InitViewModel(enemyViewData); - SetBehaviorTree(UnitManager.Inst.EnemyBehaviorTree); - - SetCurrentHp(EnemyStat.MaxHp, true); - SetMoveSpeed(EnemyStat.MoveSpd); - - - if (EnemyStat.AttackerType == EAttackerType.DEFENSE) - { - SetDefensePos(transform.position, true); - childNum = transform.GetSiblingIndex(); - enemyUnit.SetDefensePos(defensePos, childNum); - } - } - - private void InitViewModel(EnemyView enemyView) - { - SetActiveViewModel(backpackContainer, enemyView.Backpack); - SetActiveViewModel(leftWeaponContainer, enemyView.LeftWeapon); - SetActiveViewModel(leftShieldContainer, enemyView.LeftShield); - SetActiveViewModel(headContainer, enemyView.Head); - SetActiveViewModel(rightWeaponContainer, enemyView.RightWeapon); - SetActiveViewModel(bodyContainer, enemyView.Body); - SetActiveViewModel(flagContainer, enemyView.Flag); - } - - public override void FindTarget() - { - switch (EnemyStat.AttackerType) - { - case EAttackerType.NONE: - print("EnemyStat.AttackerType == NONE Error"); - break; - case EAttackerType.OFFENSE: - FindTargetInOffense(); - break; - case EAttackerType.DEFENSE: - FindTargetInDefense(); - break; - default: - throw new ArgumentOutOfRangeException(); - } - } - - public override bool CanAttack() - { - if (!targetTransform) return false; - - var attackInRange = Vector3.Distance(transform.position, targetTransform.position) <= EnemyStat.AtkRange; - return attackInRange; - } - - public override void Attack() - { - isAttackCoroutine = true; - StartCoroutine(nameof(AttackAnimation)); - } - - protected abstract IEnumerator AttackAnimation(); - - private void FindTargetInOffense() - { - if (!attackingIslandInfo) - { - print("attackingIslandInfo == null error"); - return; - } - - switch (EnemyStat.OffenseType) - { - case EOffenseType.NONE: - print("AiStat.OffenseType == NONE Error"); - break; - case EOffenseType.NORMAL: - if (attackingIslandInfo.ExceptHouseList.Count > 0) - { - FindNearestTargetInList(attackingIslandInfo.ExceptHouseList); - } - else if (attackingIslandInfo.HouseList.Count > 0) - { - FindNearestTargetInList(attackingIslandInfo.HouseList); - } - break; - case EOffenseType.ONLY_HOUSE: - if (attackingIslandInfo.HouseList.Count > 0) - { - FindNearestTargetInList(attackingIslandInfo.HouseList); - } - else if (attackingIslandInfo.ExceptHouseList.Count > 0) - { - FindNearestTargetInList(attackingIslandInfo.ExceptHouseList); - } - break; - default: - throw new ArgumentOutOfRangeException(); - } - } - - protected virtual void FindNearestTargetInList(List targetList) - { - if (targetList.Count <= 0) return; - - var nearestTarget = targetList.OrderBy(t => t ? - Vector3.Distance(transform.position, t.position) : float.MaxValue).FirstOrDefault(); - - if (nearestTarget == null) return; - - SetTargetTransform(nearestTarget, true); - } - - private void FindTargetInDefense() - { - switch (EnemyStat.DefenseType) - { - case EDefenseType.NONE: - print("EnemyStat.DefenseType == NONE Error"); - break; - case EDefenseType.STRIKER: - FindNearestTargetInRange(transform.position, EnemyStat.ViewRange); - break; - case EDefenseType.MIDFIELDER: - FindNearestTargetInRange(transform.position, EnemyStat.ViewRange); - break; - case EDefenseType.DEFENDER: - FindNearestTargetInRange(defensePos, EnemyStat.DefenseRange); - break; - case EDefenseType.KEEPER: - FindNearestTargetInRange(transform.position, EnemyStat.ViewRange); - break; - default: - throw new ArgumentOutOfRangeException(); - } - } - - protected virtual void FindNearestTargetInRange(Vector3 centerPos, float range) - { - Array.Clear(colliderWithinRange, 0, TARGET_MAX_SIZE); - - var maxColliderCount = Physics.OverlapSphereNonAlloc(centerPos, range, colliderWithinRange, - targetLayer, QueryTriggerInteraction.Collide); - - if (maxColliderCount <= 0) - { - SetTargetTransform(null, true); - return; - } - - var nearestDistance = Mathf.Infinity; - Transform nearestTargetTransform = null; - - for (var i = 0; i < maxColliderCount; i++) - { - var distanceToTarget = Vector3.Distance(transform.position, colliderWithinRange[i].transform.position); - - if (distanceToTarget >= nearestDistance) continue; - - nearestDistance = distanceToTarget; - nearestTargetTransform = colliderWithinRange[i].transform; - } - - SetTargetTransform(nearestTargetTransform, true); - } - - public void MoveTargetInDefense(Vector3 targetPos) - { - switch (EnemyStat.DefenseType) - { - case EDefenseType.NONE: - print("EnemyStat.DefenseType == NONE error"); - break; - case EDefenseType.STRIKER: - case EDefenseType.MIDFIELDER: - break; - case EDefenseType.DEFENDER: - if (Vector3.Distance(targetPos, defensePos) > EnemyStat.DefenseRange) - { - combatAgent.stoppingDistance = GlobalValue.MINIMUM_STOP_DISTANCE; - combatAgent.SetDestination(defensePos); - return; - } - break; - case EDefenseType.KEEPER: - return; - default: - throw new ArgumentOutOfRangeException(); - } - - if (Vector3.Distance(combatAgent.destination, targetPos) < 0.1f) return; - - combatAgent.stoppingDistance = GlobalValue.MAXIMUM_STOP_DISTANCE; - combatAgent.SetDestination(targetPos); - } - - public void ReturnDefensePos(Vector3 targetPos) - { - if (Vector3.Distance(combatAgent.destination, targetPos) < 0.1f) return; - - combatAgent.stoppingDistance = GlobalValue.MINIMUM_STOP_DISTANCE; - combatAgent.SetDestination(targetPos); - } - - protected override void SetCurrentHp(float value, bool useBehaviorTreeVariable = false) - { - EnemyStat.CurrentHp = value; - - if (!useBehaviorTreeVariable) return; - - Utils.SetBehaviorVariable(behaviorTree, "CurrentHp", value); - } - - protected override void RemoveAiListElement() - { - if (enemyUnit.enemyUnitStat.EnemyAiList.Contains(this)) - { - enemyUnit.enemyUnitStat.EnemyAiList.Remove(this); - } - - enemyUnit.ResetDefensePos(); - } - - private void BeAttackedMovement(Vector3 attackPos) - { - switch (EnemyStat.DefenseType) - { - case EDefenseType.NONE: - print("EnemyStat.DefenseType == NONE Error"); - break; - case EDefenseType.STRIKER: - case EDefenseType.MIDFIELDER: - break; - case EDefenseType.DEFENDER: - if (Vector3.Distance(defensePos, attackPos) > EnemyStat.DefenseRange) return; - break; - case EDefenseType.KEEPER: - return; - default: - throw new ArgumentOutOfRangeException(); - } - - foreach (var item in enemyUnit.enemyUnitStat.EnemyAiList) - { - if (item.GetTargetTransform()) continue; - - item.SetBeAttacked(true, true); - item.MoveTarget(attackPos, GlobalValue.MAXIMUM_STOP_DISTANCE); - } - } - - public void SetDefensePos(Vector3 value, bool useBehaviorTreeVariable = false) - { - defensePos = value; - - if (!useBehaviorTreeVariable) return; - - Utils.SetBehaviorVariable(behaviorTree, "DefensePos", value); - } - - public void SetBeAttacked(bool value, bool useBehaviorTreeVariable = false) - { - beAttacked = value; - - if (!useBehaviorTreeVariable) return; - - Utils.SetBehaviorVariable(behaviorTree, "BeAttacked", value); - } - - public bool GetIsAttackCoroutine() => isAttackCoroutine; - public void SetAttackerType(EAttackerType type) => EnemyStat.AttackerType = type; - public void SetOffenseType(EOffenseType type) => EnemyStat.OffenseType = type; - public void SetDefenseType(EDefenseType type) => EnemyStat.DefenseType = type; - - #endregion - } -} \ No newline at end of file diff --git a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/EnemyAi.cs.meta b/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/EnemyAi.cs.meta deleted file mode 100644 index 266090901..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/EnemyAi.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 9bc95105830b2294d9941f686fc2f0ba -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/EnemyStat.cs b/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/EnemyStat.cs deleted file mode 100644 index 5bd5d32ef..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/EnemyStat.cs +++ /dev/null @@ -1,174 +0,0 @@ -using System; -using Sirenix.OdinInspector; -using UnityEngine; - -// ReSharper disable once CheckNamespace -namespace BlueWaterProject -{ - [Serializable] - public class EnemyStat : IIdx - { - #region Property and variable - - [field: Tooltip("고유 인덱스")] - [field: SerializeField] public string Idx { get; set; } - - [field: Tooltip("캐릭터 모델 인덱스")] - [field: SerializeField] public string ViewIdx { get; set; } - - [field: Tooltip("Ai 종류")] - [field: SerializeField] public GlobalValue.UnitType UnitType { get; set; } - - [field: Tooltip("공격방식 종류")] - [field: DisableIf("@true")] - [field: SerializeField] public EAttackerType AttackerType { get; set; } - - [field: Tooltip("공격 종류")] - [field: DisableIf("@true")] - [field: SerializeField] public EOffenseType OffenseType { get; set; } - - [field: Tooltip("방어 종류")] - [field: DisableIf("@true")] - [field: SerializeField] public EDefenseType DefenseType { get; set; } - - [field: Tooltip("캐릭터 최대 체력")] - [field: SerializeField] public float MaxHp { get; set; } - - [field: Tooltip("캐릭터 현재 체력")] - [field: SerializeField] public float CurrentHp { get; set; } - - [field: Tooltip("공격력")] - [field: SerializeField] public float Atk { get; set; } - - [field: Tooltip("방어력")] - [field: SerializeField] public float Def { get; set; } - - [field: Tooltip("이동속도")] - [field: SerializeField] public float MoveSpd { get; set; } - - [field: Tooltip("공격속도(다음 공격 주기)")] - [field: SerializeField] public float AtkCooldown { get; set; } - - [field: Tooltip("시야 사거리")] - [field: SerializeField] public float ViewRange { get; set; } - - [field: Tooltip("공격 사거리")] - [field: SerializeField] public float AtkRange { get; set; } - - [field: Tooltip("수비 사거리")] - [field: SerializeField] public float DefenseRange { get; set; } - - [field: Tooltip("방패 캐릭터를 공격했을 때, 방패 관통률")] - [field: Range(0, 100)] - [field: SerializeField] public int ShieldPenetrationRate { get; set; } - - [field: Tooltip("공격을 피할 수 있는 회피율")] - [field: Range(0, 100)] - [field: SerializeField] public int AvoidanceRate { get; set; } - - [field: Tooltip("캐릭터의 방패 사용 유무")] - [field: SerializeField] public bool UsingShield { get; set; } - - [field: Tooltip("방패 캐릭터가 관통 당할 확률을 줄여주는 관통 저항률")] - [field: ShowIf("@UsingShield == true")] - [field: Range(0, 100)] - [field: SerializeField] public int PenetrationResistivity { get; set; } - - [field: Tooltip("캐릭터의 활 사용 유무")] - [field: SerializeField] public bool UsingBow { get; set; } - - [field: Tooltip("화살이 타겟에 도달하는 오차 범위(부정확함)")] - [field: ShowIf("@UsingBow == true")] - [field: Range(0, 5f)] - [field: SerializeField] public float Inaccuracy { get; set; } - - #endregion - - #region Constructor - - ///

- /// 기본 생성자 - /// - public EnemyStat() - { - Idx = null; - ViewIdx = null; - UnitType = GlobalValue.UnitType.NONE; - AttackerType = EAttackerType.NONE; - OffenseType = EOffenseType.NONE; - DefenseType = EDefenseType.NONE; - MaxHp = 0f; - CurrentHp = 0f; - Atk = 0f; - Def = 0f; - MoveSpd = 0f; - AtkCooldown = 0f; - ViewRange = 0f; - AtkRange = 0f; - DefenseRange = 0f; - ShieldPenetrationRate = 0; - AvoidanceRate = 0; - UsingShield = false; - PenetrationResistivity = 0; - UsingBow = false; - Inaccuracy = 0; - } - - /// - /// 일반 생성자 - /// - public EnemyStat(string idx, string viewIdx, GlobalValue.UnitType unitType, float maxHp, float currentHp, float atk, float def, - float moveSpd, float atkCooldown, float viewRange, float atkRange, float defenseRange, int shieldPenetrationRate, int avoidanceRate, - bool usingShield, int penetrationResistivity, bool usingBow, float inaccuracy) - { - Idx = idx; - ViewIdx = viewIdx; - UnitType = unitType; - MaxHp = maxHp; - CurrentHp = currentHp; - Atk = atk; - Def = def; - MoveSpd = moveSpd; - AtkCooldown = atkCooldown; - ViewRange = viewRange; - AtkRange = atkRange; - DefenseRange = defenseRange; - ShieldPenetrationRate = shieldPenetrationRate; - AvoidanceRate = avoidanceRate; - UsingShield = usingShield; - PenetrationResistivity = penetrationResistivity; - UsingBow = usingBow; - Inaccuracy = inaccuracy; - } - - /// - /// 복사 생성자 - /// - public EnemyStat(EnemyStat enemyStat) - { - Idx = enemyStat.Idx; - ViewIdx = enemyStat.ViewIdx; - UnitType = enemyStat.UnitType; - AttackerType = enemyStat.AttackerType; - OffenseType = enemyStat.OffenseType; - DefenseType = enemyStat.DefenseType; - MaxHp = enemyStat.MaxHp; - CurrentHp = enemyStat.CurrentHp; - Atk = enemyStat.Atk; - Def = enemyStat.Def; - MoveSpd = enemyStat.MoveSpd; - AtkCooldown = enemyStat.AtkCooldown; - ViewRange = enemyStat.ViewRange; - AtkRange = enemyStat.AtkRange; - DefenseRange = enemyStat.DefenseRange; - ShieldPenetrationRate = enemyStat.ShieldPenetrationRate; - AvoidanceRate = enemyStat.AvoidanceRate; - UsingShield = enemyStat.UsingShield; - PenetrationResistivity = enemyStat.PenetrationResistivity; - UsingBow = enemyStat.UsingBow; - Inaccuracy = enemyStat.Inaccuracy; - } - - #endregion - } -} \ No newline at end of file diff --git a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/EnemyStat.cs.meta b/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/EnemyStat.cs.meta deleted file mode 100644 index 1379f2c90..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/EnemyStat.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 4c8366e51a915e1428ed891371635918 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/EnemyView.cs b/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/EnemyView.cs deleted file mode 100644 index 56894f686..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/EnemyView.cs +++ /dev/null @@ -1,87 +0,0 @@ -using System; -using UnityEngine; - -// ReSharper disable once CheckNamespace -namespace BlueWaterProject -{ - [Serializable] - public class EnemyView : IIdx - { - #region Property and variable - - [field: Tooltip("고유 인덱스")] - [field: SerializeField] public string Idx { get; set; } - - [field: Tooltip("등에 메고 다닐 모델\n화살통 등")] - [field: SerializeField] public int Backpack { get; set; } - - [field: Tooltip("왼손 무기 모델\n활, 스태프 등")] - [field: SerializeField] public int LeftWeapon { get; set; } - - [field: Tooltip("왼손 방패 모델")] - [field: SerializeField] public int LeftShield { get; set; } - - [field: Tooltip("머리 전체 모델")] - [field: SerializeField] public int Head { get; set; } - - [field: Tooltip("오른손 무기 모델\n왼손 무기를 제외한 무기 등")] - [field: SerializeField] public int RightWeapon { get; set; } - - [field: Tooltip("몸통 및 팔, 다리 전체 모델")] - [field: SerializeField] public int Body { get; set; } - - [field: Tooltip("부대 깃발 모델")] - [field: SerializeField] public int Flag { get; set; } - - #endregion - - #region Constructor - - /// - /// 기본 생성자 - /// - public EnemyView() - { - Idx = null; - Backpack = -1; - LeftWeapon = -1; - LeftShield = -1; - Head = -1; - RightWeapon = -1; - Body = -1; - Flag = -1; - } - - /// - /// 일반 생성자 - /// - public EnemyView(string idx, int backpack, int leftWeapon, int leftShield, int head, int rightWeapon, int body, int flag) - { - Idx = idx; - Backpack = backpack; - LeftWeapon = leftWeapon; - LeftShield = leftShield; - Head = head; - RightWeapon = rightWeapon; - Body = body; - Flag = flag; - } - - /// - /// 복사 생성자 - /// - public EnemyView(EnemyView enemyView) - { - Idx = enemyView.Idx; - Backpack = enemyView.Backpack; - LeftWeapon = enemyView.LeftWeapon; - LeftShield = enemyView.LeftShield; - Head = enemyView.Head; - RightWeapon = enemyView.RightWeapon; - Body = enemyView.Body; - Flag = enemyView.Flag; - } - - #endregion - } -} \ No newline at end of file diff --git a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/EnemyView.cs.meta b/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/EnemyView.cs.meta deleted file mode 100644 index 72e198122..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/EnemyView.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 594e11827de1c1b4c8f08e75516453f1 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/Type.meta b/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/Type.meta deleted file mode 100644 index 3c215b161..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/Type.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: bd54d1697b7a75545858c144d17671c0 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/Type/EnemyArcher.cs b/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/Type/EnemyArcher.cs deleted file mode 100644 index b36309b60..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/Type/EnemyArcher.cs +++ /dev/null @@ -1,230 +0,0 @@ -using System; -using System.Collections; -using System.Collections.Generic; -using System.Linq; -using UnityEngine; -using UnityEngine.Pool; - -// ReSharper disable once CheckNamespace -namespace BlueWaterProject -{ - public class EnemyArcher : EnemyAi - { - #region Property and variable - - [Header("화살 오브젝트 관리")] - [Tooltip("화살 오브젝트 풀링할 최대 갯수")] - [SerializeField] private int arrowMaxSize = 100; - - [Tooltip("화살 발사 후 오브젝트 저장될 위치")] - [SerializeField] private Transform arrowsPoolLocation; - - [SerializeField] private LayerMask arrowLayer; - - private IEnumerator shootArrowCoroutine; - - private IObjectPool arrowPool; - - [SerializeField] private Vector3 rayOffset = new(0f, 3.5f, 0); - - #endregion - - #region Unity built-in methods - - protected override void OnDrawGizmosSelected() - { - if (!isDrawGizmosInFieldOfView) return; - - if (EnemyStat.AttackerType == EAttackerType.OFFENSE) - { - if (!targetTransform) return; - - Gizmos.color = Color.red; - Gizmos.DrawLine(transform.position + rayOffset, targetTransform.position + rayOffset); - } - else if (EnemyStat.AttackerType == EAttackerType.DEFENSE) - { - if (EnemyStat.DefenseType == EDefenseType.DEFENDER) - { - Gizmos.color = Color.red; - var startPos = Application.isPlaying ? defensePos : transform.position; - Gizmos.DrawWireSphere(startPos, EnemyStat.DefenseRange); - } - - Gizmos.color = Color.blue; - Gizmos.DrawWireSphere(transform.position, EnemyStat.ViewRange); - - if (!targetTransform) return; - - Gizmos.color = Color.red; - Gizmos.DrawLine(transform.position + rayOffset, targetTransform.position + rayOffset); - } - } - - #endregion - - #region Custom methods - - protected override void InitComponent() - { - base.InitComponent(); - - var animatorControllerList = UnitManager.Inst.AIAnimatorControllerList; - if (animatorControllerList == null) - { - Debug.LogError("Animator Controller List is null!"); - return; - } - - var archerController = animatorControllerList.Find(obj => obj.name == "Archer"); - if (archerController == null) - { - Debug.LogError("No AnimatorController named 'Archer' was found in the list."); - return; - } - - combatAnimator.runtimeAnimatorController = archerController; - - arrowsPoolLocation = GameObject.Find("ObjectPoolData/Arrows")?.transform; - if (!arrowsPoolLocation) - { - var objectPoolData = GameObject.Find("ObjectPoolData")?.transform; - if (!objectPoolData) - { - objectPoolData = new GameObject("ObjectPoolData").transform; - } - - if (!objectPoolData.Find("Arrows")) - { - Instantiate(new GameObject("Arrows"), Vector3.zero, Quaternion.identity, objectPoolData); - } - } - arrowPool = new ObjectPool(CreateArrow, OnGetArrow, OnReleaseArrow, OnDestroyArrow, maxSize:arrowMaxSize); - } - - protected override void SetLayer() - { - base.SetLayer(); - - arrowLayer = LayerMask.GetMask("Ground") | LayerMask.GetMask("Water") | - LayerMask.GetMask("Player") | LayerMask.GetMask("Pirate") | - LayerMask.GetMask("Props"); - } - - protected override void InitStart() - { - base.InitStart(); - - SetAnimatorController("Archer"); - } - - protected override void FindNearestTargetInList(List targetList) - { - if (targetList.Count <= 0) return; - - var myPos = transform.position; - var nearestTarget = targetList.OrderBy(t => t && IsRaycastHitTarget(myPos, t) ? - Vector3.Distance(myPos, t.position) : - float.MaxValue).FirstOrDefault(); - - if (nearestTarget == null) return; - - SetTargetTransform(nearestTarget, true); - } - - protected override void FindNearestTargetInRange(Vector3 centerPos, float range) - { - Array.Clear(colliderWithinRange, 0, TARGET_MAX_SIZE); - - var maxColliderCount = Physics.OverlapSphereNonAlloc(centerPos, range, colliderWithinRange, - targetLayer, QueryTriggerInteraction.Collide); - - if (maxColliderCount <= 0) - { - SetTargetTransform(null, true); - return; - } - - var nearestDistance = Mathf.Infinity; - Transform nearestTargetTransform = null; - - var myPos = transform.position; - for (var i = 0; i < maxColliderCount; i++) - { - var distanceToTarget = Vector3.Distance(myPos, colliderWithinRange[i].transform.position); - - if (!IsRaycastHitTarget(myPos, colliderWithinRange[i].transform) || distanceToTarget >= nearestDistance) continue; - - nearestDistance = distanceToTarget; - nearestTargetTransform = colliderWithinRange[i].transform; - } - - SetTargetTransform(nearestTargetTransform, true); - } - - private bool IsRaycastHitTarget(Vector3 myPos, Transform target) - { - var direction = ((target.position + rayOffset) - (myPos + rayOffset)).normalized; - var raycastHitTarget = Physics.Raycast(myPos + rayOffset, direction, out var hit, EnemyStat.AtkRange, arrowLayer, QueryTriggerInteraction.Collide); - - return raycastHitTarget && target == hit.transform; - } - - protected override IEnumerator AttackAnimation() - { - combatAnimator.SetTrigger(AttackHash); - - while (isAttacking) - { - yield return null; - } - - yield return new WaitForSeconds(EnemyStat.AtkCooldown); - isAttackCoroutine = false; - } - - /// - /// Archer attack 애니메이션에 event 부착용 함수 - /// - public void OnShootArrow() - { - if (!targetTransform) return; - - var arrow = arrowPool.Get(); - var isOffense = EnemyStat.AttackerType == EAttackerType.OFFENSE; - - arrow.SetShootingArrow(leftWeaponContainer.position, transform.position, - targetTransform.position + rayOffset, EAiType.ENEMY, EnemyStat.Atk, EnemyStat.ShieldPenetrationRate, EnemyStat.Inaccuracy, isOffense); - arrow.ShootArrowCoroutine(); - } - - /// - /// Archer attack 애니메이션에 event 부착용 함수 - /// - public void OnStoppedMove(int boolValue) - { - if (!combatAgent.enabled) return; - - combatAgent.isStopped = boolValue == 1; - } - - private void OnAttacking(int boolValue) => isAttacking = boolValue == 1; - - #endregion - - #region ObjectPool Function - - private Arrow CreateArrow() - { - var arrow = Instantiate(UnitManager.Inst.ArrowPrefab, leftWeaponContainer.position, Quaternion.identity, arrowsPoolLocation).GetComponent(); - arrow.SetManagedPool(arrowPool); - return arrow; - } - - private void OnGetArrow(Arrow arrow) => arrow.gameObject.SetActive(true); - private void OnReleaseArrow(Arrow arrow) => arrow.ReleaseArrowSetting(); - private void OnDestroyArrow(Arrow arrow) => Destroy(arrow.gameObject); - - #endregion - } -} diff --git a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/Type/EnemyArcher.cs.meta b/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/Type/EnemyArcher.cs.meta deleted file mode 100644 index 76e378eac..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/Type/EnemyArcher.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 3f93377933923904282d8a32d7b6dcd8 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/Type/EnemySpearKnight.cs b/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/Type/EnemySpearKnight.cs deleted file mode 100644 index efed46f9c..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/Type/EnemySpearKnight.cs +++ /dev/null @@ -1,70 +0,0 @@ -using System.Collections; -using Unity.VisualScripting; -using UnityEngine; - -// ReSharper disable once CheckNamespace -namespace BlueWaterProject -{ - public class EnemySpearKnight : EnemyAi - { - #region Properties and variables - - private CloseWeapon closeWeapon; - - #endregion - - #region Custrom methods - -#if UNITY_EDITOR - public override void InitStartInEditor() - { - base.InitStartInEditor(); - - SetCloseWeapon(); - } -#endif - - protected override void InitStart() - { - base.InitStart(); - - SetAnimatorController("SpearKnight"); - SetCloseWeapon(); - } - - private void SetCloseWeapon() - { - var rightWeaponView = Application.isPlaying ? - DataManager.Inst.GetEnemyViewDictionaryFromKey(EnemyStat.ViewIdx).RightWeapon : - DataManager.Inst.GetEnemyViewSoFromKey(EnemyStat.ViewIdx).RightWeapon; - if (rightWeaponView == -1) return; - - closeWeapon = rightWeaponContainer.GetChild(rightWeaponView).AddComponent(); - var closeWeaponObj = closeWeapon.gameObject; - closeWeaponObj.layer = LayerMask.NameToLayer("Weapon"); - closeWeaponObj.tag = "Enemy"; - closeWeapon.SetAttackerAiType(EAiType.ENEMY); - closeWeapon.SetBoxCollider(); - } - - protected override IEnumerator AttackAnimation() - { - closeWeapon.SetIsAttacked(false); - closeWeapon.SetWeaponStat(EnemyStat.Atk, EnemyStat.ShieldPenetrationRate, EnemyStat.AttackerType == EAttackerType.OFFENSE); - combatAnimator.SetTrigger(AttackHash); - - while (isAttacking) - { - yield return null; - } - - yield return new WaitForSeconds(EnemyStat.AtkCooldown); - isAttackCoroutine = false; - } - - private void SetCloseWeaponCanAttack(int boolValue) => closeWeapon.SetCanAttack(boolValue == 1); - private void OnAttacking(int boolValue) => isAttacking = boolValue == 1; - - #endregion - } -} diff --git a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/Type/EnemySpearKnight.cs.meta b/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/Type/EnemySpearKnight.cs.meta deleted file mode 100644 index d3502cdb6..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/Type/EnemySpearKnight.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 3081b5da8eafc39478ee39b61bd01249 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/Type/EnemySpearman.cs b/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/Type/EnemySpearman.cs deleted file mode 100644 index 7afffa5a1..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/Type/EnemySpearman.cs +++ /dev/null @@ -1,70 +0,0 @@ -using System.Collections; -using Unity.VisualScripting; -using UnityEngine; - -// ReSharper disable once CheckNamespace -namespace BlueWaterProject -{ - public class EnemySpearman : EnemyAi - { - #region Properties and variables - - private CloseWeapon closeWeapon; - - #endregion - - #region Custrom methods - -#if UNITY_EDITOR - public override void InitStartInEditor() - { - base.InitStartInEditor(); - - SetCloseWeapon(); - } -#endif - - protected override void InitStart() - { - base.InitStart(); - - SetAnimatorController("Spearman"); - SetCloseWeapon(); - } - - private void SetCloseWeapon() - { - var rightWeaponView = Application.isPlaying ? - DataManager.Inst.GetEnemyViewDictionaryFromKey(EnemyStat.ViewIdx).RightWeapon : - DataManager.Inst.GetEnemyViewSoFromKey(EnemyStat.ViewIdx).RightWeapon; - if (rightWeaponView == -1) return; - - closeWeapon = rightWeaponContainer.GetChild(rightWeaponView).AddComponent(); - var closeWeaponObj = closeWeapon.gameObject; - closeWeaponObj.layer = LayerMask.NameToLayer("Weapon"); - closeWeaponObj.tag = "Enemy"; - closeWeapon.SetAttackerAiType(EAiType.ENEMY); - closeWeapon.SetBoxCollider(); - } - - protected override IEnumerator AttackAnimation() - { - closeWeapon.SetIsAttacked(false); - closeWeapon.SetWeaponStat(EnemyStat.Atk, EnemyStat.ShieldPenetrationRate, EnemyStat.AttackerType == EAttackerType.OFFENSE); - combatAnimator.SetTrigger(AttackHash); - - while (isAttacking) - { - yield return null; - } - - yield return new WaitForSeconds(EnemyStat.AtkCooldown); - isAttackCoroutine = false; - } - - private void SetCloseWeaponCanAttack(int boolValue) => closeWeapon.SetCanAttack(boolValue == 1); - private void OnAttacking(int boolValue) => isAttacking = boolValue == 1; - - #endregion - } -} diff --git a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/Type/EnemySpearman.cs.meta b/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/Type/EnemySpearman.cs.meta deleted file mode 100644 index 48a863fba..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/Type/EnemySpearman.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: c14f537594d346b408093acb546136d8 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/Type/EnemySwordKnight.cs b/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/Type/EnemySwordKnight.cs deleted file mode 100644 index 19f2dc9de..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/Type/EnemySwordKnight.cs +++ /dev/null @@ -1,70 +0,0 @@ -using System.Collections; -using Unity.VisualScripting; -using UnityEngine; - -// ReSharper disable once CheckNamespace -namespace BlueWaterProject -{ - public class EnemySwordKnight : EnemyAi - { - #region Properties and variables - - private CloseWeapon closeWeapon; - - #endregion - - #region Custrom methods - -#if UNITY_EDITOR - public override void InitStartInEditor() - { - base.InitStartInEditor(); - - SetCloseWeapon(); - } -#endif - - protected override void InitStart() - { - base.InitStart(); - - SetAnimatorController("SwordKnight"); - SetCloseWeapon(); - } - - private void SetCloseWeapon() - { - var rightWeaponView = Application.isPlaying ? - DataManager.Inst.GetEnemyViewDictionaryFromKey(EnemyStat.ViewIdx).RightWeapon : - DataManager.Inst.GetEnemyViewSoFromKey(EnemyStat.ViewIdx).RightWeapon; - if (rightWeaponView == -1) return; - - closeWeapon = rightWeaponContainer.GetChild(rightWeaponView).AddComponent(); - var closeWeaponObj = closeWeapon.gameObject; - closeWeaponObj.layer = LayerMask.NameToLayer("Weapon"); - closeWeaponObj.tag = "Enemy"; - closeWeapon.SetAttackerAiType(EAiType.ENEMY); - closeWeapon.SetBoxCollider(); - } - - protected override IEnumerator AttackAnimation() - { - closeWeapon.SetIsAttacked(false); - closeWeapon.SetWeaponStat(EnemyStat.Atk, EnemyStat.ShieldPenetrationRate, EnemyStat.AttackerType == EAttackerType.OFFENSE); - combatAnimator.SetTrigger(AttackHash); - - while (isAttacking) - { - yield return null; - } - - yield return new WaitForSeconds(EnemyStat.AtkCooldown); - isAttackCoroutine = false; - } - - private void SetCloseWeaponCanAttack(int boolValue) => closeWeapon.SetCanAttack(boolValue == 1); - private void OnAttacking(int boolValue) => isAttacking = boolValue == 1; - - #endregion - } -} diff --git a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/Type/EnemySwordKnight.cs.meta b/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/Type/EnemySwordKnight.cs.meta deleted file mode 100644 index 6690946e2..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/Type/EnemySwordKnight.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 215148f883898b34a99799d0ad0236e5 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/Type/EnemySwordman.cs b/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/Type/EnemySwordman.cs deleted file mode 100644 index fb3949d99..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/Type/EnemySwordman.cs +++ /dev/null @@ -1,70 +0,0 @@ -using System.Collections; -using Unity.VisualScripting; -using UnityEngine; - -// ReSharper disable once CheckNamespace -namespace BlueWaterProject -{ - public class EnemySwordman : EnemyAi - { - #region Properties and variables - - private CloseWeapon closeWeapon; - - #endregion - - #region Custrom methods - -#if UNITY_EDITOR - public override void InitStartInEditor() - { - base.InitStartInEditor(); - - SetCloseWeapon(); - } -#endif - - protected override void InitStart() - { - base.InitStart(); - - SetAnimatorController("Swordman"); - SetCloseWeapon(); - } - - private void SetCloseWeapon() - { - var rightWeaponView = Application.isPlaying ? - DataManager.Inst.GetEnemyViewDictionaryFromKey(EnemyStat.ViewIdx).RightWeapon : - DataManager.Inst.GetEnemyViewSoFromKey(EnemyStat.ViewIdx).RightWeapon; - if (rightWeaponView == -1) return; - - closeWeapon = rightWeaponContainer.GetChild(rightWeaponView).AddComponent(); - var closeWeaponObj = closeWeapon.gameObject; - closeWeaponObj.layer = LayerMask.NameToLayer("Weapon"); - closeWeaponObj.tag = "Enemy"; - closeWeapon.SetAttackerAiType(EAiType.ENEMY); - closeWeapon.SetBoxCollider(); - } - - protected override IEnumerator AttackAnimation() - { - closeWeapon.SetIsAttacked(false); - closeWeapon.SetWeaponStat(EnemyStat.Atk, EnemyStat.ShieldPenetrationRate, EnemyStat.AttackerType == EAttackerType.OFFENSE); - combatAnimator.SetTrigger(AttackHash); - - while (isAttacking) - { - yield return null; - } - - yield return new WaitForSeconds(EnemyStat.AtkCooldown); - isAttackCoroutine = false; - } - - private void SetCloseWeaponCanAttack(int boolValue) => closeWeapon.SetCanAttack(boolValue == 1); - private void OnAttacking(int boolValue) => isAttacking = boolValue == 1; - - #endregion - } -} diff --git a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/Type/EnemySwordman.cs.meta b/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/Type/EnemySwordman.cs.meta deleted file mode 100644 index e8cc6bfd9..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Enemy/Type/EnemySwordman.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 3bf2b5b70d0f63e40b3dddbd22c90c84 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate.meta b/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate.meta deleted file mode 100644 index 6d81ff4fb..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 7412cdde0dbfd14478199e8a4696df03 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/PirateAi.cs b/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/PirateAi.cs deleted file mode 100644 index 5a1a6d4ca..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/PirateAi.cs +++ /dev/null @@ -1,439 +0,0 @@ -using System; -using System.Collections; -using System.Collections.Generic; -using System.Linq; -using Sirenix.OdinInspector; -using UnityEngine; -using Random = UnityEngine.Random; - -// ReSharper disable once CheckNamespace -namespace BlueWaterProject -{ - public abstract class PirateAi : CombatAi, IDamageable - { - #region Properties and variables - - [Title("Skin")] - [Tooltip("SkinnedMeshRenderer, MeshRenderer의 Material을 모두 담고 있는 리스트")] - [SerializeField] protected List skinMaterialList = new(10); - - [Tooltip("캐릭터 외곽선의 기본 색상")] - [SerializeField] protected Color defaultSkinColor = Color.black; - - [Tooltip("캐릭터에 마우스 커서가 올라가 있을 때 색상")] - [SerializeField] protected Color mouseEnterHighlightSkinColor = Color.white; - - [Tooltip("캐릭터가 선택되었을 때 색상")] - [SerializeField] protected Color selectedSkinColor = Color.red; - - [field: SerializeField] public PirateStat PirateStat { get; set; } - - private PirateUnit pirateUnit; - private PirateUnit mouseEnterPirateUnit; - private UnitSelection unitSelection; - - [SerializeField] protected bool isAttackCoroutine; - [SerializeField] private bool isCommanded; - - #endregion - - #region Unit Built-in methods - - protected virtual void OnDrawGizmosSelected() - { - if (!isDrawGizmosInFieldOfView) return; - - if (PirateStat.AttackerType == EAttackerType.OFFENSE) - { - if (!targetTransform) return; - - Gizmos.color = Color.red; - Gizmos.DrawLine(transform.position, targetTransform.position); - } - else if (PirateStat.AttackerType == EAttackerType.DEFENSE) - { - if (PirateStat.DefenseType == EDefenseType.DEFENDER) - { - Gizmos.color = Color.red; - Gizmos.DrawWireSphere(defensePos, PirateStat.DefenseRange); - } - - Gizmos.color = Color.blue; - Gizmos.DrawWireSphere(transform.position, PirateStat.ViewRange); - - if (!targetTransform) return; - - Gizmos.color = Color.red; - Gizmos.DrawLine(transform.position, targetTransform.position); - } - } - - private void OnMouseEnter() - { - if (!unitSelection || !unitSelection.IsSelectable) return; - - mouseEnterPirateUnit = gameObject.GetComponentInParent(); - - if (mouseEnterPirateUnit == unitSelection.SelectedPirateUnit) return; - - foreach (var pirateAi in mouseEnterPirateUnit.pirateUnitStat.PirateAiList) - { - pirateAi.MouseEnterHighlight(); - } - } - - private void OnMouseExit() - { - if (!unitSelection || !unitSelection.IsSelectable || - !mouseEnterPirateUnit || mouseEnterPirateUnit == unitSelection.SelectedPirateUnit) return; - - foreach (var pirateAi in mouseEnterPirateUnit.pirateUnitStat.PirateAiList) - { - pirateAi.ResetHighlight(); - } - - mouseEnterPirateUnit = null; - } - - private void Start() - { - InitStart(); - } - - #endregion - - #region IDamageable interface - - public void TakeDamage(float attackerPower, Vector3? attackPos = null) - { - if (attackPos != null && combatAgent.enabled && PirateStat.AttackerType == EAttackerType.DEFENSE && !targetTransform) - { - // BeAttackedMovement((Vector3)attackPos); - } - - // 회피 성공 체크 - if (Random.Range(0, 100) < PirateStat.AvoidanceRate) - { - // TODO : 회피 처리 - return; - } - - var finalDamage = 0f; - - if (PirateStat.UsingShield) - { - // var penetrationChance = attackerShieldPenetrationRate - - // (attackerShieldPenetrationRate * PirateStat.PenetrationResistivity * 0.01f); - // - // // 방패를 관통했다면, - // if (Random.Range(0, 100) < penetrationChance) - // { - // finalDamage = attackerPower - PirateStat.Def; - // finalDamage = Mathf.Max(finalDamage, 0); - // } - // else - // { - // finalDamage = 0f; - // } - } - - finalDamage = attackerPower - PirateStat.Def; - finalDamage = Mathf.Max(finalDamage, 0); - - // 방패 막기 체크 - if (finalDamage == 0f) - { - combatAnimator.SetTrigger(ShieldHash); - return; - } - var changeHp = Mathf.Max(PirateStat.CurrentHp - finalDamage, 0); - SetCurrentHp(changeHp, true); - - // 죽었는지 체크 - if (changeHp == 0f) return; - - combatAnimator.SetTrigger(DamageHash); - } - - #endregion - - #region Custom methods - - protected override void InitComponent() - { - base.InitComponent(); - - pirateUnit = Utils.GetComponentAndAssert(transform.parent); - unitSelection = Utils.GetComponentAndAssert(GameObject.Find("UnitManager").transform); - } - - protected override void SetLayer() - { - gameObject.layer = LayerMask.NameToLayer("Pirate"); - var hitBoxObj = hitBoxCollider.gameObject; - hitBoxObj.layer = LayerMask.NameToLayer("HitBox"); - hitBoxObj.tag = "Pirate"; - targetLayer = LayerMask.GetMask("Enemy"); - - if (PirateStat.AttackerType == EAttackerType.OFFENSE) - { - targetLayer |= LayerMask.GetMask("Props"); - } - } - - protected virtual void InitStart() - { - var pirateViewData = DataManager.Inst.GetPirateViewDictionaryFromKey(PirateStat.ViewIdx); - - InitViewModel(pirateViewData); - FindMaterial(); - SetBehaviorTree(UnitManager.Inst.PirateBehaviorTree); - - SetCurrentHp(PirateStat.MaxHp, true); - SetMoveSpeed(PirateStat.MoveSpd); - - if (PirateStat.AttackerType == EAttackerType.DEFENSE) - { - defensePos = transform.position; - } - - } - - private void InitViewModel(PirateView pirateView) - { - SetActiveViewModel(backpackContainer, pirateView.Backpack); - SetActiveViewModel(leftWeaponContainer, pirateView.LeftWeapon); - SetActiveViewModel(leftShieldContainer, pirateView.LeftShield); - SetActiveViewModel(headContainer, pirateView.Head); - SetActiveViewModel(rightWeaponContainer, pirateView.RightWeapon); - SetActiveViewModel(bodyContainer, pirateView.Body); - SetActiveViewModel(flagContainer, pirateView.Flag); - } - - private void FindMaterial() - { - var skinnedMeshRenderers = GetComponentsInChildren(); - var meshRenderers = GetComponentsInChildren(); - - foreach (var skin in skinnedMeshRenderers) - { - if (!skin.gameObject.activeSelf) continue; - - skinMaterialList.Add(skin.material); - } - - foreach (var skin in meshRenderers) - { - if (!skin.gameObject.activeSelf) continue; - - skinMaterialList.Add(skin.material); - } - } - - public void CommandMoveTarget(Vector3 movePos) - { - StartCoroutine(CommandMoveCoroutine(movePos)); - } - - private IEnumerator CommandMoveCoroutine(Vector3 movePos) - { - while (isAttacking) - { - yield return null; - } - - combatAgent.stoppingDistance = GlobalValue.MAXIMUM_STOP_DISTANCE; - combatAgent.SetDestination(movePos); - SetIsCommanded(true, true); - - while (combatAgent.pathPending || combatAgent.remainingDistance > combatAgent.stoppingDistance) - { - yield return null; - } - - SetIsCommanded(false, true); - } - - public override void FindTarget() - { - switch (PirateStat.AttackerType) - { - case EAttackerType.NONE: - print("PirateStat.AttackerType == NONE Error"); - break; - case EAttackerType.OFFENSE: - FindTargetInOffense(); - break; - case EAttackerType.DEFENSE: - FindTargetInDefense(); - break; - default: - throw new ArgumentOutOfRangeException(); - } - } - - public override bool CanAttack() - { - if (!targetTransform) return false; - - var attackInRange = Vector3.Distance(transform.position, targetTransform.position) <= PirateStat.AtkRange; - return attackInRange; - } - - public override void Attack() - { - isAttackCoroutine = true; - StartCoroutine(nameof(AttackAnimation)); - } - - protected abstract IEnumerator AttackAnimation(); - - private void FindTargetInOffense() - { - if (!attackingIslandInfo) - { - print("attackingIslandInfo == null error"); - return; - } - - switch (PirateStat.OffenseType) - { - case EOffenseType.NONE: - print("AiStat.OffenseType == NONE Error"); - break; - case EOffenseType.NORMAL: - if (attackingIslandInfo.ExceptHouseList.Count > 0) - { - FindNearestTargetInList(attackingIslandInfo.ExceptHouseList); - } - else if (attackingIslandInfo.HouseList.Count > 0) - { - FindNearestTargetInList(attackingIslandInfo.HouseList); - } - break; - case EOffenseType.ONLY_HOUSE: - if (attackingIslandInfo.HouseList.Count > 0) - { - FindNearestTargetInList(attackingIslandInfo.HouseList); - } - else if (attackingIslandInfo.ExceptHouseList.Count > 0) - { - FindNearestTargetInList(attackingIslandInfo.ExceptHouseList); - } - break; - default: - throw new ArgumentOutOfRangeException(); - } - } - - protected virtual void FindNearestTargetInList(List targetList) - { - if (targetList.Count <= 0) return; - - var nearestTarget = targetList.OrderBy(t => t ? - Vector3.Distance(transform.position, t.position) : float.MaxValue).FirstOrDefault(); - - if (nearestTarget == null) return; - - SetTargetTransform(nearestTarget, true); - } - - private void FindTargetInDefense() - { - switch (PirateStat.DefenseType) - { - case EDefenseType.NONE: - print("EnemyStat.DefenseType == NONE Error"); - break; - case EDefenseType.STRIKER: - FindNearestTargetInRange(transform.position, PirateStat.ViewRange); - break; - case EDefenseType.MIDFIELDER: - FindNearestTargetInRange(transform.position, PirateStat.ViewRange); - break; - case EDefenseType.DEFENDER: - FindNearestTargetInRange(defensePos, PirateStat.DefenseRange); - break; - case EDefenseType.KEEPER: - FindNearestTargetInRange(transform.position, PirateStat.ViewRange); - break; - default: - throw new ArgumentOutOfRangeException(); - } - } - - protected virtual void FindNearestTargetInRange(Vector3 centerPos, float range) - { - Array.Clear(colliderWithinRange, 0, TARGET_MAX_SIZE); - - var maxColliderCount = Physics.OverlapSphereNonAlloc(centerPos, range, colliderWithinRange, - targetLayer, QueryTriggerInteraction.Collide); - - if (maxColliderCount <= 0) - { - SetTargetTransform(null, true); - return; - } - - var nearestDistance = Mathf.Infinity; - Transform nearestTargetTransform = null; - - for (var i = 0; i < maxColliderCount; i++) - { - var distanceToTarget = Vector3.Distance(transform.position, colliderWithinRange[i].transform.position); - - if (distanceToTarget >= nearestDistance) continue; - - nearestDistance = distanceToTarget; - nearestTargetTransform = colliderWithinRange[i].transform; - } - - SetTargetTransform(nearestTargetTransform, true); - } - - private void SetOutlineColor(Color color) - { - foreach (var skin in skinMaterialList) - { - skin.SetColor(OutlineColorHash, color); - } - } - - public void SetIsCommanded(bool value, bool useBehaviorTreeVariable = false) - { - isCommanded = value; - - if (!useBehaviorTreeVariable) return; - - Utils.SetBehaviorVariable(behaviorTree, "IsCommanded", value); - } - - protected override void SetCurrentHp(float value, bool useBehaviorTreeVariable = false) - { - PirateStat.CurrentHp = value; - - if (!useBehaviorTreeVariable) return; - - Utils.SetBehaviorVariable(behaviorTree, "CurrentHp", value); - } - - protected override void RemoveAiListElement() - { - if (pirateUnit.pirateUnitStat.PirateAiList.Contains(this)) - { - pirateUnit.pirateUnitStat.PirateAiList.Remove(this); - } - } - - public bool GetIsAttackCoroutine() => isAttackCoroutine; - public bool GetIsCommanded() => isCommanded; - public void SetAttackerType(EAttackerType type) => PirateStat.AttackerType = type; - public void SetOffenseType(EOffenseType type) => PirateStat.OffenseType = type; - public void SetDefenseType(EDefenseType type) => PirateStat.DefenseType = type; - public void ResetHighlight() => SetOutlineColor(defaultSkinColor); - public void MouseEnterHighlight() => SetOutlineColor(mouseEnterHighlightSkinColor); - public void SelectedHighlight() => SetOutlineColor(selectedSkinColor); - - #endregion - } -} \ No newline at end of file diff --git a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/PirateAi.cs.meta b/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/PirateAi.cs.meta deleted file mode 100644 index d6ed27c2b..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/PirateAi.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: e86a27e3e99581c4c93d65fa02fdcdb5 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/PirateStat.cs b/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/PirateStat.cs deleted file mode 100644 index cef626f00..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/PirateStat.cs +++ /dev/null @@ -1,174 +0,0 @@ -using System; -using Sirenix.OdinInspector; -using UnityEngine; - -// ReSharper disable once CheckNamespace -namespace BlueWaterProject -{ - [Serializable] - public class PirateStat : IIdx - { - #region Property and variable - - [field: Tooltip("고유 인덱스")] - [field: SerializeField] public string Idx { get; set; } - - [field: Tooltip("캐릭터 모델 인덱스")] - [field: SerializeField] public string ViewIdx { get; set; } - - [field: Tooltip("Ai 종류")] - [field: SerializeField] public GlobalValue.UnitType UnitType { get; set; } - - [field: Tooltip("공격방식 종류")] - [field: DisableIf("@true")] - [field: SerializeField] public EAttackerType AttackerType { get; set; } - - [field: Tooltip("공격 종류")] - [field: DisableIf("@true")] - [field: SerializeField] public EOffenseType OffenseType { get; set; } - - [field: Tooltip("방어 종류")] - [field: DisableIf("@true")] - [field: SerializeField] public EDefenseType DefenseType { get; set; } - - [field: Tooltip("캐릭터 최대 체력")] - [field: SerializeField] public float MaxHp { get; set; } - - [field: Tooltip("캐릭터 현재 체력")] - [field: SerializeField] public float CurrentHp { get; set; } - - [field: Tooltip("공격력")] - [field: SerializeField] public float Atk { get; set; } - - [field: Tooltip("방어력")] - [field: SerializeField] public float Def { get; set; } - - [field: Tooltip("이동속도")] - [field: SerializeField] public float MoveSpd { get; set; } - - [field: Tooltip("공격속도(다음 공격 주기)")] - [field: SerializeField] public float AtkCooldown { get; set; } - - [field: Tooltip("시야 사거리")] - [field: SerializeField] public float ViewRange { get; set; } - - [field: Tooltip("공격 사거리")] - [field: SerializeField] public float AtkRange { get; set; } - - [field: Tooltip("수비 사거리")] - [field: SerializeField] public float DefenseRange { get; set; } - - [field: Tooltip("방패 캐릭터를 공격했을 때, 방패 관통률")] - [field: Range(0, 100)] - [field: SerializeField] public int ShieldPenetrationRate { get; set; } - - [field: Tooltip("공격을 피할 수 있는 회피율")] - [field: Range(0, 100)] - [field: SerializeField] public int AvoidanceRate { get; set; } - - [field: Tooltip("캐릭터의 방패 사용 유무")] - [field: SerializeField] public bool UsingShield { get; set; } - - [field: Tooltip("방패 캐릭터가 관통 당할 확률을 줄여주는 관통 저항률")] - [field: ShowIf("@UsingShield == true")] - [field: Range(0, 100)] - [field: SerializeField] public int PenetrationResistivity { get; set; } - - [field: Tooltip("캐릭터의 활 사용 유무")] - [field: SerializeField] public bool UsingBow { get; set; } - - [field: Tooltip("화살이 타겟에 도달하는 오차 범위(부정확함)")] - [field: ShowIf("@UsingBow == true")] - [field: Range(0, 5f)] - [field: SerializeField] public float Inaccuracy { get; set; } - - #endregion - - #region Constructor - - /// - /// 기본 생성자 - /// - public PirateStat() - { - Idx = null; - ViewIdx = null; - UnitType = GlobalValue.UnitType.NONE; - AttackerType = EAttackerType.NONE; - OffenseType = EOffenseType.NONE; - DefenseType = EDefenseType.NONE; - MaxHp = 0f; - CurrentHp = 0f; - Atk = 0f; - Def = 0f; - MoveSpd = 0f; - AtkCooldown = 0f; - ViewRange = 0f; - AtkRange = 0f; - DefenseRange = 0f; - ShieldPenetrationRate = 0; - AvoidanceRate = 0; - UsingShield = false; - PenetrationResistivity = 0; - UsingBow = false; - Inaccuracy = 0; - } - - /// - /// 일반 생성자 - /// - public PirateStat(string idx, string viewIdx, GlobalValue.UnitType unitType, float maxHp, float currentHp, float atk, float def, - float moveSpd, float atkCooldown, float viewRange, float atkRange, float defenseRange, int shieldPenetrationRate, int avoidanceRate, - bool usingShield, int penetrationResistivity, bool usingBow, float inaccuracy) - { - Idx = idx; - ViewIdx = viewIdx; - UnitType = unitType; - MaxHp = maxHp; - CurrentHp = currentHp; - Atk = atk; - Def = def; - MoveSpd = moveSpd; - AtkCooldown = atkCooldown; - ViewRange = viewRange; - AtkRange = atkRange; - DefenseRange = defenseRange; - ShieldPenetrationRate = shieldPenetrationRate; - AvoidanceRate = avoidanceRate; - UsingShield = usingShield; - PenetrationResistivity = penetrationResistivity; - UsingBow = usingBow; - Inaccuracy = inaccuracy; - } - - /// - /// 복사 생성자 - /// - public PirateStat(PirateStat pirateStat) - { - Idx = pirateStat.Idx; - ViewIdx = pirateStat.ViewIdx; - UnitType = pirateStat.UnitType; - AttackerType = pirateStat.AttackerType; - OffenseType = pirateStat.OffenseType; - DefenseType = pirateStat.DefenseType; - MaxHp = pirateStat.MaxHp; - CurrentHp = pirateStat.CurrentHp; - Atk = pirateStat.Atk; - Def = pirateStat.Def; - MoveSpd = pirateStat.MoveSpd; - AtkCooldown = pirateStat.AtkCooldown; - ViewRange = pirateStat.ViewRange; - AtkRange = pirateStat.AtkRange; - DefenseRange = pirateStat.DefenseRange; - ShieldPenetrationRate = pirateStat.ShieldPenetrationRate; - AvoidanceRate = pirateStat.AvoidanceRate; - UsingShield = pirateStat.UsingShield; - PenetrationResistivity = pirateStat.PenetrationResistivity; - UsingBow = pirateStat.UsingBow; - Inaccuracy = pirateStat.Inaccuracy; - } - - #endregion - } -} \ No newline at end of file diff --git a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/PirateStat.cs.meta b/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/PirateStat.cs.meta deleted file mode 100644 index 22d7bc818..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/PirateStat.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: affbf90a87d7aa74ea6c4326fa3a9656 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/PirateView.cs b/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/PirateView.cs deleted file mode 100644 index 79c30b7d3..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/PirateView.cs +++ /dev/null @@ -1,87 +0,0 @@ -using System; -using UnityEngine; - -// ReSharper disable once CheckNamespace -namespace BlueWaterProject -{ - [Serializable] - public class PirateView : IIdx - { - #region Property and variable - - [field: Tooltip("고유 인덱스")] - [field: SerializeField] public string Idx { get; set; } - - [field: Tooltip("등에 메고 다닐 모델\n화살통 등")] - [field: SerializeField] public int Backpack { get; set; } - - [field: Tooltip("왼손 무기 모델\n활, 스태프 등")] - [field: SerializeField] public int LeftWeapon { get; set; } - - [field: Tooltip("왼손 방패 모델")] - [field: SerializeField] public int LeftShield { get; set; } - - [field: Tooltip("머리 전체 모델")] - [field: SerializeField] public int Head { get; set; } - - [field: Tooltip("오른손 무기 모델\n왼손 무기를 제외한 무기 등")] - [field: SerializeField] public int RightWeapon { get; set; } - - [field: Tooltip("몸통 및 팔, 다리 전체 모델")] - [field: SerializeField] public int Body { get; set; } - - [field: Tooltip("부대 깃발 모델")] - [field: SerializeField] public int Flag { get; set; } - - #endregion - - #region Constructor - - /// - /// 기본 생성자 - /// - public PirateView() - { - Idx = null; - Backpack = -1; - LeftWeapon = -1; - LeftShield = -1; - Head = -1; - RightWeapon = -1; - Body = -1; - Flag = -1; - } - - /// - /// 일반 생성자 - /// - public PirateView(string idx, int backpack, int leftWeapon, int leftShield, int head, int rightWeapon, int body, int flag) - { - Idx = idx; - Backpack = backpack; - LeftWeapon = leftWeapon; - LeftShield = leftShield; - Head = head; - RightWeapon = rightWeapon; - Body = body; - Flag = flag; - } - - /// - /// 복사 생성자 - /// - public PirateView(PirateView pirateView) - { - Idx = pirateView.Idx; - Backpack = pirateView.Backpack; - LeftWeapon = pirateView.LeftWeapon; - LeftShield = pirateView.LeftShield; - Head = pirateView.Head; - RightWeapon = pirateView.RightWeapon; - Body = pirateView.Body; - Flag = pirateView.Flag; - } - - #endregion - } -} \ No newline at end of file diff --git a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/PirateView.cs.meta b/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/PirateView.cs.meta deleted file mode 100644 index 888c794f1..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/PirateView.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: c3bd308daf7dc1546aa18e7f1dc27ec5 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/Type.meta b/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/Type.meta deleted file mode 100644 index 90c0aa9dd..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/Type.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 35a6ee5b069c43a4784c5698d137f33d -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/Type/PirateArcher.cs b/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/Type/PirateArcher.cs deleted file mode 100644 index 3230d180b..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/Type/PirateArcher.cs +++ /dev/null @@ -1,228 +0,0 @@ -using System; -using System.Collections; -using System.Collections.Generic; -using System.Linq; -using UnityEngine; -using UnityEngine.Pool; -using UnityEngine.Serialization; - -// ReSharper disable once CheckNamespace -namespace BlueWaterProject -{ - public class PirateArcher : PirateAi - { - #region Property and variable - - [Header("화살 오브젝트 관리")] - [Tooltip("화살 오브젝트 풀링할 최대 갯수")] - [SerializeField] private int arrowMaxSize = 100; - - [Tooltip("화살 발사 후 오브젝트 저장될 위치")] - [SerializeField] private Transform arrowsPoolLocation; - - [SerializeField] private LayerMask arrowLayer; - - private IEnumerator shootArrowCoroutine; - - private IObjectPool arrowPool; - - [SerializeField] private Vector3 rayOffset = new(0f, 3.5f, 0); - - #endregion - - #region Unity built-in methods - - protected override void OnDrawGizmosSelected() - { - if (!isDrawGizmosInFieldOfView) return; - - if (PirateStat.AttackerType == EAttackerType.OFFENSE) - { - if (!targetTransform) return; - - Gizmos.color = Color.red; - Gizmos.DrawLine(transform.position + rayOffset, targetTransform.position + rayOffset); - } - else if (PirateStat.AttackerType == EAttackerType.DEFENSE) - { - if (PirateStat.DefenseType == EDefenseType.DEFENDER) - { - Gizmos.color = Color.red; - var startPos = Application.isPlaying ? defensePos : transform.position; - Gizmos.DrawWireSphere(startPos, PirateStat.DefenseRange); - } - - Gizmos.color = Color.blue; - Gizmos.DrawWireSphere(transform.position, PirateStat.ViewRange); - - if (!targetTransform) return; - - Gizmos.color = Color.red; - Gizmos.DrawLine(transform.position + rayOffset, targetTransform.position + rayOffset); - } - } - - #endregion - - #region Custom methods - - protected override void InitComponent() - { - base.InitComponent(); - - var animatorControllerList = UnitManager.Inst.AIAnimatorControllerList; - if (animatorControllerList == null) - { - Debug.LogError("Animator Controller List is null!"); - return; - } - - var archerController = animatorControllerList.Find(obj => obj.name == "Archer"); - if (archerController == null) - { - Debug.LogError("No AnimatorController named 'Archer' was found in the list."); - return; - } - - combatAnimator.runtimeAnimatorController = archerController; - - arrowsPoolLocation = GameObject.Find("ObjectPoolData/Arrows")?.transform; - if (!arrowsPoolLocation) - { - var objectPoolData = GameObject.Find("ObjectPoolData")?.transform; - if (!objectPoolData) - { - objectPoolData = new GameObject("ObjectPoolData").transform; - } - - if (!objectPoolData.Find("Arrows")) - { - Instantiate(new GameObject("Arrows"), Vector3.zero, Quaternion.identity, objectPoolData); - } - } - arrowPool = new ObjectPool(CreateArrow, OnGetArrow, OnReleaseArrow, OnDestroyArrow, maxSize:arrowMaxSize); - } - - protected override void SetLayer() - { - base.SetLayer(); - - arrowLayer = LayerMask.GetMask("Ground") | LayerMask.GetMask("Water") | - LayerMask.GetMask("Enemy") | LayerMask.GetMask("Props"); - } - - protected override void InitStart() - { - base.InitStart(); - - SetAnimatorController("Archer"); - } - - protected override void FindNearestTargetInList(List targetList) - { - if (targetList.Count <= 0) return; - - var myPos = transform.position; - var nearestTarget = targetList.OrderBy(t => t && IsRaycastHitTarget(myPos, t) - ? Vector3.Distance(myPos, t.position) : float.MaxValue).FirstOrDefault(); - - if (nearestTarget == null) return; - - SetTargetTransform(nearestTarget, true); - } - - protected override void FindNearestTargetInRange(Vector3 centerPos, float range) - { - Array.Clear(colliderWithinRange, 0, TARGET_MAX_SIZE); - - var maxColliderCount = Physics.OverlapSphereNonAlloc(centerPos, range, colliderWithinRange, - targetLayer, QueryTriggerInteraction.Collide); - - if (maxColliderCount <= 0) - { - SetTargetTransform(null, true); - return; - } - - var nearestDistance = Mathf.Infinity; - Transform nearestTargetTransform = null; - - for (var i = 0; i < maxColliderCount; i++) - { - var distanceToTarget = Vector3.Distance(transform.position, colliderWithinRange[i].transform.position); - - if (!IsRaycastHitTarget(transform.position, colliderWithinRange[i].transform) || distanceToTarget >= nearestDistance) continue; - - nearestDistance = distanceToTarget; - nearestTargetTransform = colliderWithinRange[i].transform; - } - - SetTargetTransform(nearestTargetTransform, true); - } - - private bool IsRaycastHitTarget(Vector3 myPos, Transform target) - { - var direction = ((target.position + rayOffset) - (myPos + rayOffset)).normalized; - var raycastHitTarget = Physics.Raycast(myPos + rayOffset, direction, out var hit, PirateStat.AtkRange, arrowLayer, QueryTriggerInteraction.Collide); - - return raycastHitTarget && target == hit.transform; - } - - protected override IEnumerator AttackAnimation() - { - combatAnimator.SetTrigger(AttackHash); - - while (isAttacking) - { - yield return null; - } - - yield return new WaitForSeconds(PirateStat.AtkCooldown); - isAttackCoroutine = false; - } - - /// - /// Archer attack 애니메이션에 event 부착용 함수 - /// - public void OnShootArrow() - { - if (!targetTransform) return; - - var arrow = arrowPool.Get(); - var isOffense = PirateStat.AttackerType == EAttackerType.OFFENSE; - - arrow.SetShootingArrow(leftWeaponContainer.position, transform.position, - targetTransform.position + rayOffset, EAiType.PIRATE, PirateStat.Atk, PirateStat.ShieldPenetrationRate, PirateStat.Inaccuracy, isOffense); - arrow.ShootArrowCoroutine(); - } - - /// - /// Archer attack 애니메이션에 event 부착용 함수 - /// - public void OnStoppedMove(int boolValue) - { - if (!combatAgent.enabled) return; - - combatAgent.isStopped = boolValue == 1; - } - - private void OnAttacking(int boolValue) => isAttacking = boolValue == 1; - - #endregion - - #region ObjectPool Function - - private Arrow CreateArrow() - { - var arrow = Instantiate(UnitManager.Inst.ArrowPrefab, leftWeaponContainer.position, Quaternion.identity, arrowsPoolLocation).GetComponent(); - arrow.SetManagedPool(arrowPool); - return arrow; - } - - private void OnGetArrow(Arrow arrow) => arrow.gameObject.SetActive(true); - private void OnReleaseArrow(Arrow arrow) => arrow.ReleaseArrowSetting(); - private void OnDestroyArrow(Arrow arrow) => Destroy(arrow.gameObject); - - #endregion - } -} diff --git a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/Type/PirateArcher.cs.meta b/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/Type/PirateArcher.cs.meta deleted file mode 100644 index b3b340bbe..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/Type/PirateArcher.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 46bd31fe387e9f84794c9fd6c7c7750a -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/Type/PirateAxeman.cs b/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/Type/PirateAxeman.cs deleted file mode 100644 index fd46668e1..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/Type/PirateAxeman.cs +++ /dev/null @@ -1,59 +0,0 @@ -using System.Collections; -using Unity.VisualScripting; -using UnityEngine; - -// ReSharper disable once CheckNamespace -namespace BlueWaterProject -{ - public class PirateAxeman : PirateAi - { - #region Properties and variables - - private CloseWeapon closeWeapon; - - #endregion - - #region Custom methods - - protected override void InitStart() - { - base.InitStart(); - - SetAnimatorController("Axeman"); - SetCloseWeapon(); - } - - private void SetCloseWeapon() - { - var rightWeaponView = DataManager.Inst.GetPirateViewDictionaryFromKey(PirateStat.ViewIdx).RightWeapon; - if (rightWeaponView == -1) return; - - closeWeapon = rightWeaponContainer.GetChild(rightWeaponView).AddComponent(); - var closeWeaponObj = closeWeapon.gameObject; - closeWeaponObj.layer = LayerMask.NameToLayer("Weapon"); - closeWeaponObj.tag = "Pirate"; - closeWeapon.SetAttackerAiType(EAiType.PIRATE); - closeWeapon.SetBoxCollider(); - } - - protected override IEnumerator AttackAnimation() - { - closeWeapon.SetIsAttacked(false); - closeWeapon.SetWeaponStat(PirateStat.Atk, PirateStat.ShieldPenetrationRate, PirateStat.AttackerType == EAttackerType.OFFENSE); - combatAnimator.SetTrigger(AttackHash); - - while (isAttacking) - { - yield return null; - } - - yield return new WaitForSeconds(PirateStat.AtkCooldown); - isAttackCoroutine = false; - } - - private void SetCloseWeaponCanAttack(int boolValue) => closeWeapon.SetCanAttack(boolValue == 1); - private void OnAttacking(int boolValue) => isAttacking = boolValue == 1; - - #endregion - } -} diff --git a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/Type/PirateAxeman.cs.meta b/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/Type/PirateAxeman.cs.meta deleted file mode 100644 index e5eb8e1f3..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/Type/PirateAxeman.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 10b29c400f9b90e4eb2b3b69bc8ff49f -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/Type/PirateSpearman.cs b/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/Type/PirateSpearman.cs deleted file mode 100644 index ab86c1fce..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/Type/PirateSpearman.cs +++ /dev/null @@ -1,59 +0,0 @@ -using System.Collections; -using Unity.VisualScripting; -using UnityEngine; - -// ReSharper disable once CheckNamespace -namespace BlueWaterProject -{ - public class PirateSpearman : PirateAi - { - #region Properties and variables - - private CloseWeapon closeWeapon; - - #endregion - - #region Custom methods - - protected override void InitStart() - { - base.InitStart(); - - SetAnimatorController("Spearman"); - SetCloseWeapon(); - } - - private void SetCloseWeapon() - { - var rightWeaponView = DataManager.Inst.GetPirateViewDictionaryFromKey(PirateStat.ViewIdx).RightWeapon; - if (rightWeaponView == -1) return; - - closeWeapon = rightWeaponContainer.GetChild(rightWeaponView).AddComponent(); - var closeWeaponObj = closeWeapon.gameObject; - closeWeaponObj.layer = LayerMask.NameToLayer("Weapon"); - closeWeaponObj.tag = "Pirate"; - closeWeapon.SetAttackerAiType(EAiType.PIRATE); - closeWeapon.SetBoxCollider(); - } - - protected override IEnumerator AttackAnimation() - { - closeWeapon.SetIsAttacked(false); - closeWeapon.SetWeaponStat(PirateStat.Atk, PirateStat.ShieldPenetrationRate, PirateStat.AttackerType == EAttackerType.OFFENSE); - combatAnimator.SetTrigger(AttackHash); - - while (isAttacking) - { - yield return null; - } - - yield return new WaitForSeconds(PirateStat.AtkCooldown); - isAttackCoroutine = false; - } - - private void SetCloseWeaponCanAttack(int boolValue) => closeWeapon.SetCanAttack(boolValue == 1); - private void OnAttacking(int boolValue) => isAttacking = boolValue == 1; - - #endregion - } -} diff --git a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/Type/PirateSpearman.cs.meta b/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/Type/PirateSpearman.cs.meta deleted file mode 100644 index 3719b2867..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/Type/PirateSpearman.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 18a0f769e4861e54cb4467bd1b8fd251 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/Type/PirateSwordKnight.cs b/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/Type/PirateSwordKnight.cs deleted file mode 100644 index bfa31f592..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/Type/PirateSwordKnight.cs +++ /dev/null @@ -1,59 +0,0 @@ -using System.Collections; -using Unity.VisualScripting; -using UnityEngine; - -// ReSharper disable once CheckNamespace -namespace BlueWaterProject -{ - public class PirateSwordKnight : PirateAi - { - #region Properties and variables - - private CloseWeapon closeWeapon; - - #endregion - - #region Custom methods - - protected override void InitStart() - { - base.InitStart(); - - SetAnimatorController("SwordKnight"); - SetCloseWeapon(); - } - - private void SetCloseWeapon() - { - var rightWeaponView = DataManager.Inst.GetPirateViewDictionaryFromKey(PirateStat.ViewIdx).RightWeapon; - if (rightWeaponView == -1) return; - - closeWeapon = rightWeaponContainer.GetChild(rightWeaponView).AddComponent(); - var closeWeaponObj = closeWeapon.gameObject; - closeWeaponObj.layer = LayerMask.NameToLayer("Weapon"); - closeWeaponObj.tag = "Pirate"; - closeWeapon.SetAttackerAiType(EAiType.PIRATE); - closeWeapon.SetBoxCollider(); - } - - protected override IEnumerator AttackAnimation() - { - closeWeapon.SetIsAttacked(false); - closeWeapon.SetWeaponStat(PirateStat.Atk, PirateStat.ShieldPenetrationRate, PirateStat.AttackerType == EAttackerType.OFFENSE); - combatAnimator.SetTrigger(AttackHash); - - while (isAttacking) - { - yield return null; - } - - yield return new WaitForSeconds(PirateStat.AtkCooldown); - isAttackCoroutine = false; - } - - private void SetCloseWeaponCanAttack(int boolValue) => closeWeapon.SetCanAttack(boolValue == 1); - private void OnAttacking(int boolValue) => isAttacking = boolValue == 1; - - #endregion - } -} diff --git a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/Type/PirateSwordKnight.cs.meta b/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/Type/PirateSwordKnight.cs.meta deleted file mode 100644 index c29c60a92..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/Type/PirateSwordKnight.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 0998d53fcca988e4c9476143092169c6 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/Type/PirateSwordman.cs b/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/Type/PirateSwordman.cs deleted file mode 100644 index e217a4b5c..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/Type/PirateSwordman.cs +++ /dev/null @@ -1,59 +0,0 @@ -using System.Collections; -using Unity.VisualScripting; -using UnityEngine; - -// ReSharper disable once CheckNamespace -namespace BlueWaterProject -{ - public class PirateSwordman : PirateAi - { - #region Properties and variables - - private CloseWeapon closeWeapon; - - #endregion - - #region Custom methods - - protected override void InitStart() - { - base.InitStart(); - - SetAnimatorController("Swordman"); - SetCloseWeapon(); - } - - private void SetCloseWeapon() - { - var rightWeaponView = DataManager.Inst.GetPirateViewDictionaryFromKey(PirateStat.ViewIdx).RightWeapon; - if (rightWeaponView == -1) return; - - closeWeapon = rightWeaponContainer.GetChild(rightWeaponView).AddComponent(); - var closeWeaponObj = closeWeapon.gameObject; - closeWeaponObj.layer = LayerMask.NameToLayer("Weapon"); - closeWeaponObj.tag = "Pirate"; - closeWeapon.SetAttackerAiType(EAiType.PIRATE); - closeWeapon.SetBoxCollider(); - } - - protected override IEnumerator AttackAnimation() - { - closeWeapon.SetIsAttacked(false); - closeWeapon.SetWeaponStat(PirateStat.Atk, PirateStat.ShieldPenetrationRate, PirateStat.AttackerType == EAttackerType.OFFENSE); - combatAnimator.SetTrigger(AttackHash); - - while (isAttacking) - { - yield return null; - } - - yield return new WaitForSeconds(PirateStat.AtkCooldown); - isAttackCoroutine = false; - } - - private void SetCloseWeaponCanAttack(int boolValue) => closeWeapon.SetCanAttack(boolValue == 1); - private void OnAttacking(int boolValue) => isAttacking = boolValue == 1; - - #endregion - } -} diff --git a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/Type/PirateSwordman.cs.meta b/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/Type/PirateSwordman.cs.meta deleted file mode 100644 index 7e0a01857..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Human/Combat/Pirate/Type/PirateSwordman.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 8a9f89dd6ed536a4299015e58eeb2673 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/Human/HumanAi.cs b/BlueWater/Assets/02.Scripts/Ai/Human/HumanAi.cs deleted file mode 100644 index 88f76284e..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Human/HumanAi.cs +++ /dev/null @@ -1,67 +0,0 @@ -using UnityEngine; - -// ReSharper disable once CheckNamespace -namespace BlueWaterProject -{ - public class HumanAi : BaseAi - { - #region Properties and variables - - // 모델링 관련 변수 - protected Transform backpackContainer; - protected Transform leftWeaponContainer; - protected Transform leftShieldContainer; - protected Transform headContainer; - protected Transform rightWeaponContainer; - protected Transform bodyContainer; - protected Transform flagContainer; - - #endregion - - #region Unity built-in methods - - protected virtual void Awake() - { - InitComponent(); - } - - #endregion - - #region Custom methods - - protected virtual void InitComponent() - { - backpackContainer = Utils.GetComponentAndAssert(transform. - Find("Bip001/Bip001 Pelvis/Bip001 Spine/Backpack_container")); - leftWeaponContainer = Utils.GetComponentAndAssert(transform. - Find("Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 L Clavicle/Bip001 L UpperArm/Bip001 L Forearm/Bip001 L Hand/L_hand_container")); - leftShieldContainer = Utils.GetComponentAndAssert(transform. - Find("Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 L Clavicle/Bip001 L UpperArm/Bip001 L Forearm/Bip001 L Hand/L_shield_container")); - headContainer = Utils.GetComponentAndAssert(transform. - Find("Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 Neck/Bip001 Head/Head_container")); - rightWeaponContainer = Utils.GetComponentAndAssert(transform. - Find("Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 R Clavicle/Bip001 R UpperArm/Bip001 R Forearm/Bip001 R Hand/R_hand_container")); - bodyContainer = Utils.GetComponentAndAssert(transform. - Find("Body_container")); - flagContainer = Utils.GetComponentAndAssert(transform. - Find("Flag_container")); - } - - protected void SetActiveViewModel(Transform container, int model) - { - foreach (Transform item in container) - { - if (!item.gameObject.activeSelf) continue; - - item.gameObject.SetActive(false); - } - - if (model != -1) - { - container.GetChild(model).gameObject.SetActive(true); - } - } - - #endregion - } -} \ No newline at end of file diff --git a/BlueWater/Assets/02.Scripts/Ai/Human/HumanAi.cs.meta b/BlueWater/Assets/02.Scripts/Ai/Human/HumanAi.cs.meta deleted file mode 100644 index 5bdc6d569..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Human/HumanAi.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 8f5be050be5d811428c7ba86c4dde165 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/Human/NpcAi.cs b/BlueWater/Assets/02.Scripts/Ai/Human/NpcAi.cs deleted file mode 100644 index 871dddd68..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Human/NpcAi.cs +++ /dev/null @@ -1,27 +0,0 @@ -using System; - -namespace BlueWaterProject -{ - public class NpcAi : HumanAi - { - private void Start() - { - Init(); - } - - private void Init() - { - //InitViewModel(Npc SO) - } - // private void InitViewModel(PirateView pirateView) - // { - // SetActiveViewModel(backpackContainer, pirateView.Backpack); - // SetActiveViewModel(leftWeaponContainer, pirateView.LeftWeapon); - // SetActiveViewModel(leftShieldContainer, pirateView.LeftShield); - // SetActiveViewModel(headContainer, pirateView.Head); - // SetActiveViewModel(rightWeaponContainer, pirateView.RightWeapon); - // SetActiveViewModel(bodyContainer, pirateView.Body); - // SetActiveViewModel(flagContainer, pirateView.Flag); - // } - } -} \ No newline at end of file diff --git a/BlueWater/Assets/02.Scripts/Ai/Human/NpcAi.cs.meta b/BlueWater/Assets/02.Scripts/Ai/Human/NpcAi.cs.meta deleted file mode 100644 index fa5f59e31..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Human/NpcAi.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: e4ade29e99e34fc3b3e513a0597e85df -timeCreated: 1694577997 \ No newline at end of file diff --git a/BlueWater/Assets/02.Scripts/Ai/Human/Unit.meta b/BlueWater/Assets/02.Scripts/Ai/Human/Unit.meta deleted file mode 100644 index a26c6ace9..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Human/Unit.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 10c8ae371b4165446b56e1bb20422371 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/Human/Unit/BaseUnit.cs b/BlueWater/Assets/02.Scripts/Ai/Human/Unit/BaseUnit.cs deleted file mode 100644 index c7aaf7298..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Human/Unit/BaseUnit.cs +++ /dev/null @@ -1,12 +0,0 @@ -using System; -using Sirenix.OdinInspector; -using UnityEngine; - -// ReSharper disable once CheckNamespace -namespace BlueWaterProject -{ - public abstract class BaseUnit : MonoBehaviour - { - - } -} \ No newline at end of file diff --git a/BlueWater/Assets/02.Scripts/Ai/Human/Unit/BaseUnit.cs.meta b/BlueWater/Assets/02.Scripts/Ai/Human/Unit/BaseUnit.cs.meta deleted file mode 100644 index 581a36d51..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Human/Unit/BaseUnit.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 0e842ba4025e2a54094d6deee431e313 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/Human/Unit/EnemyUnit.cs b/BlueWater/Assets/02.Scripts/Ai/Human/Unit/EnemyUnit.cs deleted file mode 100644 index 5725c413d..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Human/Unit/EnemyUnit.cs +++ /dev/null @@ -1,101 +0,0 @@ -using Sirenix.OdinInspector; -using UnityEngine; - -// ReSharper disable once CheckNamespace -namespace BlueWaterProject -{ - public class EnemyUnit : BaseUnit - { - #region Property and variable - - [PropertyOrder(-10)] - public EnemyUnitStat enemyUnitStat; - - [SerializeField] private Vector3[] defensePos; - private bool isClickedTypeAllButton; - - #endregion - - #region Unity built-in function - - private void OnDrawGizmosSelected() - { - if (Application.isPlaying || enemyUnitStat == null || enemyUnitStat.SailorCount <= 0) return; - - foreach (var item in enemyUnitStat.EnemyAiList) - { - var unitPos = item.transform.position; - var ray = new Ray(unitPos + Vector3.up, Vector3.down); - Gizmos.color = Physics.Raycast(ray, UnitManager.Inst.MaxGroundDistance, UnitManager.Inst.GroundLayer) ? Color.blue : Color.red; - Gizmos.DrawRay(ray.origin, ray.direction * UnitManager.Inst.MaxGroundDistance); - } - } - - private void Awake() - { - defensePos = new Vector3[enemyUnitStat.EnemyAiList.Count]; - } - - #endregion - - #region Custom function - - [PropertyOrder(-9)] - [HorizontalGroup("Split", 0.5f)] - [GUIColor("GetCreateUnitButtonColor")] - [EnableIf("@DataManager.Inst.GetEnemyUnitStatSoFromKey(enemyUnitStat.Idx) != null")] - [Button("유닛 생성")] - public void CreateUnit() - { - UnitManager.Inst.CreateEnemyUnitInEditor(this); - } - - [PropertyOrder(-8)] - [HorizontalGroup("Split", 0.5f)] - [EnableIf("CanAssignUnit")] - [Button("유닛 배치")] - public void AssignUnit() - { - if (UnitManager.Inst.CanAssignUnit(this, transform.position)) - { - UnitManager.Inst.AssignEnemyUnit(this, transform.position); - } - } - - private bool CanAssignUnit() - { - return !Application.isPlaying && UnitManager.Inst.CanAssignUnit(this, transform.position); - } - - [PropertyOrder(-7)] - [GUIColor(1, 0, 0)] - [Button("유닛 초기화")] - private void ResetUnit() - { - var tempUnitIdx = enemyUnitStat.Idx; - UnitManager.Inst.DestroyDeployedUnits(this); - - enemyUnitStat = new EnemyUnitStat() - { - Idx = tempUnitIdx - }; - isClickedTypeAllButton = false; - } - - public void ResetDefensePos() - { - for (var i = 0; i < enemyUnitStat.EnemyAiList.Count; i++) - { - enemyUnitStat.EnemyAiList[i].SetDefensePos(defensePos[i], true); - } - } - - private Color GetCreateUnitButtonColor() => enemyUnitStat.EnemyAiList.Count > 0 ? Color.white : Color.green; - private Color GetTypeAllButtonColor() => isClickedTypeAllButton ? Color.white : Color.green; - private void OnTypeChanged() => isClickedTypeAllButton = false; - public Vector3 GetDefensePos(int index) => defensePos[index]; - public void SetDefensePos(Vector3 pos, int index) => defensePos[index] = pos; - - #endregion - } -} \ No newline at end of file diff --git a/BlueWater/Assets/02.Scripts/Ai/Human/Unit/EnemyUnit.cs.meta b/BlueWater/Assets/02.Scripts/Ai/Human/Unit/EnemyUnit.cs.meta deleted file mode 100644 index 85e8a9fa7..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Human/Unit/EnemyUnit.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 8ed17fd326510c349a4daf1dac3d88cc -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/Human/Unit/EnemyUnitStat.cs b/BlueWater/Assets/02.Scripts/Ai/Human/Unit/EnemyUnitStat.cs deleted file mode 100644 index ee19c2a85..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Human/Unit/EnemyUnitStat.cs +++ /dev/null @@ -1,91 +0,0 @@ -using System; -using System.Collections.Generic; -using Sirenix.OdinInspector; -using UnityEngine; - -// ReSharper disable once CheckNamespace -namespace BlueWaterProject -{ - [Serializable] - public class EnemyUnitStat : IIdx - { - #region Property and variable - - [field: Tooltip("고유 인덱스")] - [field: SerializeField] public string Idx { get; set; } - - [field: Tooltip("선장의 인덱스")] - [field: SerializeField] public string CaptainStatIdx { get; set; } - - [field: Tooltip("선원의 인덱스")] - [field: SerializeField] public string SailorStatIdx { get; set; } - - [field: Tooltip("부대의 이름 또는 선장의 이름")] - [field: SerializeField] public string UnitName { get; set; } - - [field: Tooltip("선원의 수")] - [field: Range(0, GlobalValue.ONE_UNIT_CAPACITY - 1)] - [field: SerializeField] public int SailorCount { get; set; } - - [field: EnumToggleButtons] - [field: SerializeField] public EAttackerType AttackerType { get; set; } - - [field: EnumToggleButtons] - [field: SerializeField] public EOffenseType OffenseType { get; set; } - - [field: EnumToggleButtons] - [field: SerializeField] public EDefenseType DefenseType { get; set; } - - [field: Tooltip("부대 병력 리스트")] - [field: SerializeField] public List EnemyAiList { get; set; } - - #endregion - - #region Constructor - - public EnemyUnitStat() - { - Idx = null; - CaptainStatIdx = null; - SailorStatIdx = null; - UnitName = null; - SailorCount = 0; - AttackerType = EAttackerType.NONE; - OffenseType = EOffenseType.NONE; - DefenseType = EDefenseType.NONE; - EnemyAiList = new List(GlobalValue.ONE_UNIT_CAPACITY); - } - - public EnemyUnitStat(string idx, string captainIdx, string sailorIdx, string unitName, - int sailorCount, EAttackerType attackerType, EOffenseType offenseType, EDefenseType defenseType, List enemyAiList) - { - Idx = idx; - CaptainStatIdx = captainIdx; - SailorStatIdx = sailorIdx; - UnitName = unitName; - SailorCount = sailorCount; - OffenseType = offenseType; - DefenseType = defenseType; - EnemyAiList = enemyAiList; - - if (AttackerType == EAttackerType.NONE) return; - - AttackerType = attackerType; - } - - public EnemyUnitStat(EnemyUnitStat enemyUnitStat) - { - Idx = enemyUnitStat.Idx; - CaptainStatIdx = enemyUnitStat.CaptainStatIdx; - SailorStatIdx = enemyUnitStat.SailorStatIdx; - UnitName = enemyUnitStat.UnitName; - SailorCount = enemyUnitStat.SailorCount; - AttackerType = enemyUnitStat.AttackerType; - OffenseType = enemyUnitStat.OffenseType; - DefenseType = enemyUnitStat.DefenseType; - EnemyAiList = enemyUnitStat.EnemyAiList; - } - - #endregion - } -} \ No newline at end of file diff --git a/BlueWater/Assets/02.Scripts/Ai/Human/Unit/EnemyUnitStat.cs.meta b/BlueWater/Assets/02.Scripts/Ai/Human/Unit/EnemyUnitStat.cs.meta deleted file mode 100644 index 2b50da826..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Human/Unit/EnemyUnitStat.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 0d1e5af44c71b4443885b72e1b19ddd2 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/Human/Unit/PirateUnit.cs b/BlueWater/Assets/02.Scripts/Ai/Human/Unit/PirateUnit.cs deleted file mode 100644 index f8bef2730..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Human/Unit/PirateUnit.cs +++ /dev/null @@ -1,60 +0,0 @@ -using Sirenix.OdinInspector; -using UnityEngine; - -// ReSharper disable once CheckNamespace -namespace BlueWaterProject -{ - public class PirateUnit : BaseUnit - { - #region Property and variable - - [PropertyOrder(-10)] - public PirateUnitStat pirateUnitStat; - - #endregion - - #region Custom function - - public void MoveCommand(Vector3 targetPos) - { - var gridSize = 0; - - switch (pirateUnitStat.PirateAiList.Count) - { - case 0: - gridSize = 1; - break; - case <= 3: - gridSize = 2; - break; - case <= 8: - gridSize = 3; - break; - case <= 15: - gridSize = 4; - break; - default: - print("유닛의 병사 숫자 설정 에러"); - break; - } - - for (var i = 0; i < gridSize; i++) - { - for (var j = 0; j < gridSize; j++) - { - var currentPos = i * gridSize + j; - - if (currentPos >= pirateUnitStat.PirateAiList.Count) return; - - var zOffset = (i - (gridSize - 1) / 2.0f) * UnitManager.Inst.UnitSpacing; - var xOffset = (j - (gridSize - 1) / 2.0f) * UnitManager.Inst.UnitSpacing; - var movePos = targetPos + new Vector3(xOffset, 0, zOffset); - - pirateUnitStat.PirateAiList[currentPos].CommandMoveTarget(movePos); - } - } - } - - #endregion - } -} \ No newline at end of file diff --git a/BlueWater/Assets/02.Scripts/Ai/Human/Unit/PirateUnit.cs.meta b/BlueWater/Assets/02.Scripts/Ai/Human/Unit/PirateUnit.cs.meta deleted file mode 100644 index 62cd028a1..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Human/Unit/PirateUnit.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: ab5bc80b7b2c7ae4a8629d3000d7c0e0 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/Human/Unit/PirateUnitStat.cs b/BlueWater/Assets/02.Scripts/Ai/Human/Unit/PirateUnitStat.cs deleted file mode 100644 index fc6f62270..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Human/Unit/PirateUnitStat.cs +++ /dev/null @@ -1,91 +0,0 @@ -using System; -using System.Collections.Generic; -using Sirenix.OdinInspector; -using UnityEngine; - -// ReSharper disable once CheckNamespace -namespace BlueWaterProject -{ - [Serializable] - public class PirateUnitStat : IIdx - { - #region Property and variable - - [field: Tooltip("고유 인덱스")] - [field: SerializeField] public string Idx { get; set; } - - [field: Tooltip("선장의 인덱스")] - [field: SerializeField] public string CaptainStatIdx { get; set; } - - [field: Tooltip("선원의 인덱스")] - [field: SerializeField] public string SailorStatIdx { get; set; } - - [field: Tooltip("부대의 이름 또는 선장의 이름")] - [field: SerializeField] public string UnitName { get; set; } - - [field: Tooltip("선원의 수")] - [field: Range(0, GlobalValue.ONE_UNIT_CAPACITY - 1)] - [field: SerializeField] public int SailorCount { get; set; } - - [field: EnumToggleButtons] - [field: SerializeField] public EAttackerType AttackerType { get; set; } - - [field: EnumToggleButtons] - [field: SerializeField] public EOffenseType OffenseType { get; set; } - - [field: EnumToggleButtons] - [field: SerializeField] public EDefenseType DefenseType { get; set; } - - [field: Tooltip("부대 병력 리스트")] - [field: SerializeField] public List PirateAiList { get; set; } - - #endregion - - #region Constructor - - public PirateUnitStat() - { - Idx = null; - CaptainStatIdx = null; - SailorStatIdx = null; - UnitName = null; - SailorCount = 0; - AttackerType = EAttackerType.NONE; - OffenseType = EOffenseType.NONE; - DefenseType = EDefenseType.NONE; - PirateAiList = new List(GlobalValue.ONE_UNIT_CAPACITY); - } - - public PirateUnitStat(string idx, string captainIdx, string sailorIdx, string unitName, - int sailorCount, EAttackerType attackerType, EOffenseType offenseType, EDefenseType defenseType, List pirateAiList) - { - Idx = idx; - CaptainStatIdx = captainIdx; - SailorStatIdx = sailorIdx; - UnitName = unitName; - SailorCount = sailorCount; - OffenseType = offenseType; - DefenseType = defenseType; - PirateAiList = pirateAiList; - - if (AttackerType == EAttackerType.NONE) return; - - AttackerType = attackerType; - } - - public PirateUnitStat(PirateUnitStat pirateUnitStat) - { - Idx = pirateUnitStat.Idx; - CaptainStatIdx = pirateUnitStat.CaptainStatIdx; - SailorStatIdx = pirateUnitStat.SailorStatIdx; - UnitName = pirateUnitStat.UnitName; - SailorCount = pirateUnitStat.SailorCount; - AttackerType = pirateUnitStat.AttackerType; - OffenseType = pirateUnitStat.OffenseType; - DefenseType = pirateUnitStat.DefenseType; - PirateAiList = pirateUnitStat.PirateAiList; - } - - #endregion - } -} \ No newline at end of file diff --git a/BlueWater/Assets/02.Scripts/Ai/Human/Unit/PirateUnitStat.cs.meta b/BlueWater/Assets/02.Scripts/Ai/Human/Unit/PirateUnitStat.cs.meta deleted file mode 100644 index 3ff545449..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Human/Unit/PirateUnitStat.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 010709867b2516347b35489d9e198df0 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/Human/Unit/UnitManager.cs b/BlueWater/Assets/02.Scripts/Ai/Human/Unit/UnitManager.cs deleted file mode 100644 index 3e48db666..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Human/Unit/UnitManager.cs +++ /dev/null @@ -1,445 +0,0 @@ -using System; -using System.Collections.Generic; -using BehaviorDesigner.Runtime; -using Sirenix.OdinInspector; -using UnityEditor.Animations; -using UnityEngine; - -// ReSharper disable once CheckNamespace -namespace BlueWaterProject -{ - public class UnitManager : Singleton - { - #region Property and variable - - [Tooltip("Pirate 프리팹")] - [field: SerializeField] public GameObject PiratePrefab { get; private set; } - - [Tooltip("캐릭터 기초 프리팹")] - [field: SerializeField] public GameObject BaseHumanPrefab { get; private set; } - - [Tooltip("화살 프리팹")] - [field: SerializeField] public GameObject ArrowPrefab { get; private set; } - - [Tooltip("Enemy 비헤이비어 트리")] - [field: SerializeField] public ExternalBehaviorTree EnemyBehaviorTree { get; private set; } - - [Tooltip("Pirate 비헤이비어 트리")] - [field: SerializeField] public ExternalBehaviorTree PirateBehaviorTree { get; private set; } - - [Tooltip("바닥 레이어")] - [field: SerializeField] public LayerMask GroundLayer { get; private set; } - - [Tooltip("바닥과의 최대 허용 거리")] - [field: SerializeField] public float MaxGroundDistance { get; private set; } = 4f; - - [Tooltip("병력 간의 간격")] - [field: SerializeField] public float UnitSpacing { get; private set; } = 2.5f; - - [field: Tooltip("병력들의 애니메이터 컨트롤러 리스트")] - [field: SerializeField] public List AIAnimatorControllerList { get; private set; } = new(GlobalValue.AI_ANIMATOR_CAPACITY); - - private Transform pirateUnits; - - private const int ANIMATOR_CONTROLLER_PREFAB_CAPACITY = 6; - private const int PIRATE_UNIT_CAPACITY = 50; - - #endregion - - #region Unity built-in function - - protected override void OnAwake() - { - GroundLayer = LayerMask.GetMask("Ground"); - } - - private void Reset() - { - GroundLayer = LayerMask.GetMask("Ground"); - MaxGroundDistance = 4f; - UnitSpacing = 2.5f; - InitCharacterPrefabList(); - } - - #endregion - - #region Custom function - -#if UNITY_EDITOR - /// - /// 프리팹 초기화 함수 - /// - [GUIColor(0, 1, 0)] - [ShowIf("@PiratePrefab == null || BaseHumanPrefab == null || ArrowPrefab == null || EnemyBehaviorTree == null || PirateBehaviorTree == null ||" + - "AIAnimatorControllerList == null || AIAnimatorControllerList.Count != ANIMATOR_CONTROLLER_PREFAB_CAPACITY")] - [Button("프리팹 초기화")] - private void InitCharacterPrefabList() - { - GroundLayer = LayerMask.GetMask("Ground"); - - PiratePrefab = Utils.LoadFromFolder("Assets/05.Prefabs/Character/Unit", "PirateUnit", ".prefab"); - BaseHumanPrefab = Utils.LoadFromFolder("Assets/05.Prefabs/Character", "BaseHuman", ".prefab"); - ArrowPrefab = Utils.LoadFromFolder("Assets/05.Prefabs", "Arrow_01", ".prefab"); - EnemyBehaviorTree = Utils.LoadFromFolder("Assets/09.BehaviorTree/Enemy", "BaseEnemyAi", ".asset"); - PirateBehaviorTree = Utils.LoadFromFolder("Assets/09.BehaviorTree/Pirate", "BasePirateAi", ".asset"); - AIAnimatorControllerList = new List(ANIMATOR_CONTROLLER_PREFAB_CAPACITY) - { - Utils.LoadFromFolder("Assets/07.Animation", "Archer", ".controller"), - Utils.LoadFromFolder("Assets/07.Animation", "Axeman", ".controller"), - Utils.LoadFromFolder("Assets/07.Animation", "SpearKnight", ".controller"), - Utils.LoadFromFolder("Assets/07.Animation", "Spearman", ".controller"), - Utils.LoadFromFolder("Assets/07.Animation", "SwordKnight", ".controller"), - Utils.LoadFromFolder("Assets/07.Animation", "Swordman", ".controller") - }; - } -#endif - - private void SetPlayerUnits() - { - var pirateUnitsObj = GameObject.Find("PirateUnits"); - if (pirateUnitsObj) - { - pirateUnits = pirateUnitsObj.transform; - } - else - { - pirateUnitsObj = new GameObject("PirateUnits"); - pirateUnitsObj.transform.SetPositionAndRotation(Vector3.zero, Quaternion.identity); - pirateUnits = pirateUnitsObj.transform; - } - } - - private void SetUnitName(BaseUnit baseUnit, string unitName, string baseName) - { - if (string.IsNullOrEmpty(unitName)) - { - const int maxIterations = 100; - var namingNum = 0; - - while (namingNum < maxIterations) - { - var newUnitName = $"{baseName}_Unit_{namingNum + 1:00}"; - var checkGameObject = GameObject.Find(newUnitName); - if (checkGameObject && checkGameObject != baseUnit.gameObject) - { - namingNum++; - } - else - { - baseUnit.gameObject.name = newUnitName; - break; - } - } - } - else - { - baseUnit.gameObject.name = unitName; - } - } - - public void PirateUnitCreateAndAssign(string cardIdx, Vector3 assignPos) - { - var newUnitController = CreatePirateUnit(cardIdx, EAttackerType.OFFENSE); - AssignPirateUnit(newUnitController, assignPos, true); - } - - /// - /// 동적 생성용 부대 생성 함수 - /// - public PirateUnit CreatePirateUnit(string cardIdx, EAttackerType attackerType) - { - var card = DataManager.Inst.GetCardDictionaryFromKey(cardIdx); - var unit = DataManager.Inst.GetPirateUnitStatDictionaryFromKey(card.UnitIdx); - var captainStat = DataManager.Inst.GetPirateStatDictionaryFromKey(unit.CaptainStatIdx); - var sailorStat = DataManager.Inst.GetPirateStatDictionaryFromKey(unit.SailorStatIdx); - - SetPlayerUnits(); - - var newUnitController = Instantiate(PiratePrefab, Vector3.zero, Quaternion.identity, pirateUnits).GetComponent(); - newUnitController.pirateUnitStat = new PirateUnitStat(unit); - - DestroyDeployedUnits(newUnitController); - - var pirateStat = DataManager.Inst.GetPirateStatDictionaryFromKey(newUnitController.pirateUnitStat.SailorStatIdx); - var baseName = pirateStat.UnitType.ToString(); - SetUnitName(newUnitController, newUnitController.pirateUnitStat.UnitName, baseName); - - newUnitController.pirateUnitStat.PirateAiList = new List(newUnitController.pirateUnitStat.SailorCount + 1); - - var unitControllerTransform = newUnitController.transform; - var unitControllerRotation = unitControllerTransform.rotation; - unitControllerTransform.rotation = Quaternion.identity; - - var gridSize = 0; - - switch (newUnitController.pirateUnitStat.SailorCount) - { - case 0: - gridSize = 1; - break; - case <= 3: - gridSize = 2; - break; - case <= 8: - gridSize = 3; - break; - case <= 15: - gridSize = 4; - break; - default: - print("유닛의 병사 숫자 설정 에러"); - break; - } - - var heroPosition = (gridSize * gridSize) / 2; - - for (var i = 0; i < gridSize; i++) - { - for (var j = 0; j < gridSize; j++) - { - var currentPos = i * gridSize + j; - - if (currentPos > newUnitController.pirateUnitStat.SailorCount) break; - - var zOffset = (i - (gridSize - 1) / 2.0f) * UnitSpacing; - var xOffset = (j - (gridSize - 1) / 2.0f) * UnitSpacing; - var spawnPosition = unitControllerTransform.position + new Vector3(xOffset, 0, zOffset); - - var baseObj = Instantiate(BaseHumanPrefab, spawnPosition, - Quaternion.identity, newUnitController.transform); - - var newSoldierName = $"{baseName}_{currentPos + 1:00}"; - - baseObj.name = newSoldierName; - baseObj.gameObject.SetActive(false); - - var pirateAi = GetPirateAi(baseObj, pirateStat.UnitType, currentPos == heroPosition ? captainStat : sailorStat); - - pirateAi.SetAttackerType(attackerType); - pirateAi.SetOffenseType(newUnitController.pirateUnitStat.OffenseType); - pirateAi.SetDefenseType(newUnitController.pirateUnitStat.DefenseType); - newUnitController.pirateUnitStat.PirateAiList.Add(pirateAi); - } - } - newUnitController.transform.rotation *= unitControllerRotation; - - return newUnitController; - } - - /// - /// 에디터용 부대 생성 함수 - /// - public void CreateEnemyUnitInEditor(EnemyUnit enemyUnit) - { - var unit = DataManager.Inst.GetEnemyUnitStatSoFromKey(enemyUnit.enemyUnitStat.Idx); - - SetPlayerUnits(); - - enemyUnit.enemyUnitStat = new EnemyUnitStat(unit); - - var captainStat = DataManager.Inst.GetEnemyStatSoFromKey(enemyUnit.enemyUnitStat.CaptainStatIdx); - var sailorStat = DataManager.Inst.GetEnemyStatSoFromKey(enemyUnit.enemyUnitStat.SailorStatIdx); - - DestroyDeployedUnits(enemyUnit); - - var enemyStat = DataManager.Inst.GetEnemyStatSoFromKey(enemyUnit.enemyUnitStat.SailorStatIdx); - var baseName = enemyStat.UnitType.ToString(); - SetUnitName(enemyUnit, enemyUnit.enemyUnitStat.UnitName, baseName); - - enemyUnit.enemyUnitStat.EnemyAiList = new List(enemyUnit.enemyUnitStat.SailorCount + 1); - - var unitControllerTransform = enemyUnit.transform; - var unitControllerRotation = unitControllerTransform.rotation; - unitControllerTransform.rotation = Quaternion.identity; - - var gridSize = 0; - - switch (enemyUnit.enemyUnitStat.SailorCount) - { - case 0: - gridSize = 1; - break; - case <= 3: - gridSize = 2; - break; - case <= 8: - gridSize = 3; - break; - case <= 15: - gridSize = 4; - break; - default: - print("유닛의 병사 숫자 설정 에러"); - break; - } - - var heroPosition = (gridSize * gridSize) / 2; - - for (var i = 0; i < gridSize; i++) - { - for (var j = 0; j < gridSize; j++) - { - var currentPos = i * gridSize + j; - - if (currentPos > enemyUnit.enemyUnitStat.SailorCount) break; - - var zOffset = (i - (gridSize - 1) / 2.0f) * UnitSpacing; - var xOffset = (j - (gridSize - 1) / 2.0f) * UnitSpacing; - var spawnPosition = unitControllerTransform.position + new Vector3(xOffset, 0, zOffset); - - var baseObj = Instantiate(BaseHumanPrefab, spawnPosition, - Quaternion.identity, enemyUnit.transform); - - var newSoldierName = $"{baseName}_{currentPos + 1:00}"; - - baseObj.name = newSoldierName; - baseObj.gameObject.SetActive(false); - - var currentStat = currentPos == heroPosition ? captainStat : sailorStat; - var enemyAi = GetEnemyAi(baseObj, enemyStat.UnitType, currentStat); - - enemyAi.SetAttackerType(enemyUnit.enemyUnitStat.AttackerType); - enemyAi.SetOffenseType(enemyUnit.enemyUnitStat.OffenseType); - enemyAi.SetDefenseType(enemyUnit.enemyUnitStat.DefenseType); - enemyAi.InitStartInEditor(); - enemyUnit.enemyUnitStat.EnemyAiList.Add(enemyAi); - } - } - enemyUnit.transform.rotation *= unitControllerRotation; - } - - private EnemyAi GetEnemyAi(GameObject baseObj, GlobalValue.UnitType unitType, EnemyStat enemyStat) - { - EnemyAi enemyAi = unitType switch - { - GlobalValue.UnitType.ARCHER_E => baseObj.AddComponent(), - GlobalValue.UnitType.SPEAR_KNIGHT_E => baseObj.AddComponent(), - GlobalValue.UnitType.SPEARMAN_E => baseObj.AddComponent(), - GlobalValue.UnitType.SWORD_KNIGHT_E => baseObj.AddComponent(), - GlobalValue.UnitType.SWORDMAN_E => baseObj.AddComponent(), - _ => throw new ArgumentOutOfRangeException(nameof(unitType), unitType, null) - }; - - if (enemyAi == null) return null; - - enemyAi.EnemyStat = new EnemyStat(enemyStat); - return enemyAi; - } - - private PirateAi GetPirateAi(GameObject baseObj, GlobalValue.UnitType unitType, PirateStat pirateStat) - { - PirateAi pirateAi = unitType switch - { - GlobalValue.UnitType.ARCHER_P => baseObj.AddComponent(), - GlobalValue.UnitType.AXEMAN_P => baseObj.AddComponent(), - GlobalValue.UnitType.SPEARMAN_P => baseObj.AddComponent(), - GlobalValue.UnitType.SWORD_KNIGHT_P => baseObj.AddComponent(), - GlobalValue.UnitType.SWORDMAN_P => baseObj.AddComponent(), - _ => throw new ArgumentOutOfRangeException(nameof(unitType), unitType, null) - }; - - if (pirateAi == null) return null; - - pirateAi.PirateStat = new PirateStat(pirateStat); - return pirateAi; - } - - /// - /// 유닛 배치 함수 - /// - public bool CanAssignUnit(EnemyUnit enemyUnit, Vector3 assignPos) - { - if (enemyUnit.enemyUnitStat.EnemyAiList.Count <= 0) return false; - - enemyUnit.transform.position = assignPos; - - for (var i = 0; i < enemyUnit.enemyUnitStat.SailorCount; i++) - { - var unitPos = enemyUnit.enemyUnitStat.EnemyAiList[i].transform.position; - var ray = new Ray(unitPos + Vector3.up, Vector3.down); - if (Physics.Raycast(ray, out var hit, MaxGroundDistance, GroundLayer)) - { - unitPos.y = hit.point.y; - } - else - { - return false; - } - } - - return true; - } - - public void AssignEnemyUnit(EnemyUnit enemyUnit, Vector3 assignPos) - { - enemyUnit.transform.position = assignPos; - - foreach (var unit in enemyUnit.enemyUnitStat.EnemyAiList) - { - var myPos = unit.transform.position; - var ray = new Ray(myPos + Vector3.up, Vector3.down); - if (Physics.Raycast(ray, out var hit, MaxGroundDistance, GroundLayer)) - { - unit.transform.position = new Vector3(myPos.x, hit.point.y, myPos.z); - } - } - - foreach (var unit in enemyUnit.enemyUnitStat.EnemyAiList) - { - unit.gameObject.SetActive(true); - } - } - - public void AssignPirateUnit(PirateUnit pirateUnit, Vector3 assignPos, bool isOffense) - { - pirateUnit.transform.position = assignPos; - IslandInfo hitIslandInfo = null; - - foreach (var unit in pirateUnit.pirateUnitStat.PirateAiList) - { - var myPos = unit.transform.position; - var ray = new Ray(myPos + Vector3.up, Vector3.down); - if (Physics.Raycast(ray, out var hit, MaxGroundDistance, GroundLayer)) - { - unit.transform.position = new Vector3(myPos.x, hit.point.y, myPos.z); - - if (isOffense && hitIslandInfo == null) - { - hitIslandInfo = hit.transform.root.GetComponent(); - } - } - } - - foreach (var unit in pirateUnit.pirateUnitStat.PirateAiList) - { - if (isOffense) - { - unit.SetAttackingIslandInfo(hitIslandInfo); - } - unit.gameObject.SetActive(true); - } - } - - /// - /// 기존에 생성된 부대 병력들이 있으면 확인해서 삭제해주는 함수 - /// - public void DestroyDeployedUnits(BaseUnit baseUnit) - { - if (baseUnit.transform.childCount <= 0) return; - - for (var i = baseUnit.transform.childCount - 1; i >= 0; i--) - { - if (Application.isPlaying) - { - Destroy(baseUnit.transform.GetChild(i).gameObject); - } - else - { - DestroyImmediate(baseUnit.transform.GetChild(i).gameObject); - } - } - } - - #endregion - } -} \ No newline at end of file diff --git a/BlueWater/Assets/02.Scripts/Ai/Human/Unit/UnitManager.cs.meta b/BlueWater/Assets/02.Scripts/Ai/Human/Unit/UnitManager.cs.meta deleted file mode 100644 index 128a911ca..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Human/Unit/UnitManager.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 0407cd1376cad7e46816e897ac9f698d -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/Human/Unit/UnitSelection.cs b/BlueWater/Assets/02.Scripts/Ai/Human/Unit/UnitSelection.cs deleted file mode 100644 index 6a67a2414..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Human/Unit/UnitSelection.cs +++ /dev/null @@ -1,151 +0,0 @@ -using UnityEngine; -using UnityEngine.InputSystem; - -// ReSharper disable once CheckNamespace -namespace BlueWaterProject -{ - public class UnitSelection : MonoBehaviour - { - #region Property and variable - - [Tooltip("선택된 부대")] - [field: SerializeField] public bool IsSelectable { get; private set; } = true; - [field: SerializeField] public PirateUnit SelectedPirateUnit { get; private set; } - - [SerializeField] private LayerMask unitLayer; - [SerializeField] private LayerMask groundLayer; - - private PirateUnit previousUnitController; - - #endregion - - #region Unity built-in function - - private void Reset() - { - unitLayer = LayerMask.GetMask("Pirate"); - groundLayer = LayerMask.GetMask("Ground"); - } - - private void Awake() - { - var controls = new BlueWater(); - - controls.Unit.SelectUnit.performed += OnSelectUnit; - controls.Unit.CancelSelectedUnit.performed += OnCancelSelectedUnit; - controls.Unit.MoveUnit.performed += OnMoveUnit; - controls.Enable(); - - unitLayer = LayerMask.GetMask("Pirate"); - groundLayer = LayerMask.GetMask("Ground"); - - } - - #endregion - - #region New input system - - private void OnSelectUnit(InputAction.CallbackContext context) - { - if (!context.performed || !IsSelectable) return; - - var ray = CameraManager.Inst.MainCam.ScreenPointToRay(Mouse.current.position.ReadValue()); - - // 부대를 클릭 했을 때, - if (Physics.Raycast(ray, out var hit, Mathf.Infinity, unitLayer, QueryTriggerInteraction.Collide)) - { - var pirateUnit = hit.collider.transform.parent.GetComponent(); - if (pirateUnit == null) return; - - // 선택된 부대가 없었을 때, - if (SelectedPirateUnit == null) - { - foreach (var pirateAi in pirateUnit.pirateUnitStat.PirateAiList) - { - pirateAi.SelectedHighlight(); - } - - SelectedPirateUnit = pirateUnit; - GameManager.Inst.SlowSpeedMode(); - } - // 선택된 부대가 이미 선택된 부대일 때, - else if (SelectedPirateUnit == pirateUnit) - { - foreach (var pirateAi in SelectedPirateUnit.pirateUnitStat.PirateAiList) - { - pirateAi.ResetHighlight(); - } - - SelectedPirateUnit = null; - GameManager.Inst.DefaultSpeedMode(); - } - // 다른 부대가 선택될 때, - else - { - foreach (var pirateAi in pirateUnit.pirateUnitStat.PirateAiList) - { - pirateAi.SelectedHighlight(); - } - - foreach (var pirateAi in SelectedPirateUnit.pirateUnitStat.PirateAiList) - { - pirateAi.ResetHighlight(); - } - - SelectedPirateUnit = pirateUnit; - } - } - // 부대를 클릭하지 않았을 때, - else - { - // 선택된 부대가 없었을 때, - if (SelectedPirateUnit == null) return; - - // 선택된 부대가 있었을 때, - foreach (var pirateAi in SelectedPirateUnit.pirateUnitStat.PirateAiList) - { - pirateAi.ResetHighlight(); - } - - SelectedPirateUnit = null; - GameManager.Inst.DefaultSpeedMode(); - } - } - - private void OnCancelSelectedUnit(InputAction.CallbackContext context) - { - if (!context.performed || !IsSelectable || SelectedPirateUnit == null) return; - - foreach (var pirateAi in SelectedPirateUnit.pirateUnitStat.PirateAiList) - { - pirateAi.ResetHighlight(); - } - - SelectedPirateUnit = null; - GameManager.Inst.DefaultSpeedMode(); - } - - private void OnMoveUnit(InputAction.CallbackContext context) - { - if (!context.performed || !IsSelectable || SelectedPirateUnit == null) return; - - var ray = CameraManager.Inst.MainCam.ScreenPointToRay(Mouse.current.position.ReadValue()); - - if (Physics.Raycast(ray, out var hit, Mathf.Infinity, groundLayer, QueryTriggerInteraction.Collide)) - { - var targetPos = hit.point; - SelectedPirateUnit.MoveCommand(targetPos); - } - - foreach (var pirateAi in SelectedPirateUnit.pirateUnitStat.PirateAiList) - { - pirateAi.ResetHighlight(); - } - - SelectedPirateUnit = null; - GameManager.Inst.DefaultSpeedMode(); - } - - #endregion - } -} \ No newline at end of file diff --git a/BlueWater/Assets/02.Scripts/Ai/Human/Unit/UnitSelection.cs.meta b/BlueWater/Assets/02.Scripts/Ai/Human/Unit/UnitSelection.cs.meta deleted file mode 100644 index 44384d633..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Human/Unit/UnitSelection.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 2834163d79db40a4c96dc3c618bfe3dc -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/Tower.meta b/BlueWater/Assets/02.Scripts/Ai/Tower.meta deleted file mode 100644 index cbf9782f8..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Tower.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: d834347f4033f5a4895d848e658d8d76 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/Tower/TowerAi.cs b/BlueWater/Assets/02.Scripts/Ai/Tower/TowerAi.cs deleted file mode 100644 index 26f914849..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Tower/TowerAi.cs +++ /dev/null @@ -1,20 +0,0 @@ -using UnityEngine; - -// ReSharper disable once CheckNamespace -namespace BlueWaterProject -{ - public class TowerAi : BaseAi - { - #region Properties and variables - - [SerializeField] protected IslandInfo defendingIslandInfo; - - #endregion - - #region Custom methods - - public void SetDefendingIslandInfo(IslandInfo value) => defendingIslandInfo = value; - - #endregion - } -} \ No newline at end of file diff --git a/BlueWater/Assets/02.Scripts/Ai/Tower/TowerAi.cs.meta b/BlueWater/Assets/02.Scripts/Ai/Tower/TowerAi.cs.meta deleted file mode 100644 index d5099895f..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Tower/TowerAi.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: c3edcdb980004df49baa002cf4b18860 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/Tower/Type.meta b/BlueWater/Assets/02.Scripts/Ai/Tower/Type.meta deleted file mode 100644 index 43f0cb750..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Tower/Type.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 6ee066f60c2e44dda2859804ac4ecdb4 -timeCreated: 1695134020 \ No newline at end of file diff --git a/BlueWater/Assets/02.Scripts/Ai/Tower/Type/ArrowTower.cs b/BlueWater/Assets/02.Scripts/Ai/Tower/Type/ArrowTower.cs deleted file mode 100644 index 11a478890..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Tower/Type/ArrowTower.cs +++ /dev/null @@ -1,254 +0,0 @@ -using System; -using System.Collections; -using RayFire; -using Sirenix.OdinInspector; -using UnityEngine; -using UnityEngine.AI; -using UnityEngine.Pool; - -// ReSharper disable once CheckNamespace -namespace BlueWaterProject -{ - public class ArrowTower : TowerAi, IDamageable - { - #region Property and variable - - [Title("Tower Stat")] - [SerializeField] private bool isDrawGizmosInFieldOfView = true; - [SerializeField] private bool isPredictAttack = true; - - [OnValueChanged(nameof(SetLayer))] - [SerializeField] private EAiType aiType; - [SerializeField] private float maxHp; - [SerializeField] private float currentHp; - [SerializeField] private float atk; - [SerializeField] private float atkRange; - [SerializeField] private float atkCooldown; - [SerializeField] private float shieldPenetrationRate; - [SerializeField] private float inaccuracy; - - [Title("실시간 타겟 정보")] - [SerializeField] private LayerMask targetLayer; - [SerializeField] private LayerMask arrowLayer; - [SerializeField] private Collider[] colliderWithinRange; - [SerializeField] private Collider targetCollider; - - [Title("화살 오브젝트 관리")] - [Tooltip("화살 오브젝트 풀링할 최대 갯수")] - [SerializeField] private int arrowMaxSize = 100; - - private Transform arrowsPoolLocation; - private IObjectPool arrowPool; - private Transform shootLocation; - - private const int TARGET_MAX_SIZE = 20; - - #endregion - - #region Unity built-in Methods - - private void OnDrawGizmosSelected() - { - if (!isDrawGizmosInFieldOfView) return; - - Gizmos.color = Color.blue; - Gizmos.DrawWireSphere(transform.position, atkRange); - - if (!targetCollider) return; - - Gizmos.color = Color.red; - Gizmos.DrawLine(shootLocation.position, targetCollider.bounds.center); - } - - private void Awake() - { - InitComponent(); - } - - private void Start() - { - SetCurrentHp(maxHp); - - StartCoroutine(nameof(Attack)); - } - - #endregion - - #region IDamageable interface - - public void TakeDamage(float attackerPower, Vector3? attackPos = null) - { - var changeHp = Mathf.Max(currentHp - attackerPower, 0); - SetCurrentHp(changeHp); - - // 건물 파괴 - if (changeHp == 0f) - { - Die(); - // RemoveIslandInfo(); - } - } - - #endregion - - #region Custom methods - - private void InitComponent() - { - shootLocation = transform.Find("ShootLocation"); - - arrowsPoolLocation = GameObject.Find("ObjectPoolData/Arrows")?.transform; - if (!arrowsPoolLocation) - { - var objectPoolData = GameObject.Find("ObjectPoolData")?.transform; - if (!objectPoolData) - { - objectPoolData = new GameObject("ObjectPoolData").transform; - } - - if (!objectPoolData.Find("Arrows")) - { - Instantiate(new GameObject("Arrows"), Vector3.zero, Quaternion.identity, objectPoolData); - } - } - arrowPool = new ObjectPool(CreateArrow, OnGetArrow, OnReleaseArrow, OnDestroyArrow, maxSize:arrowMaxSize); - - colliderWithinRange = new Collider[TARGET_MAX_SIZE]; - } - - private void SetLayer() - { - switch (aiType) - { - case EAiType.NONE: - targetLayer = 0; - break; - case EAiType.PLAYER: - case EAiType.PIRATE: - targetLayer = LayerMask.GetMask("Enemy"); - break; - case EAiType.ENEMY: - targetLayer = LayerMask.GetMask("Player") | LayerMask.GetMask("Pirate"); - break; - default: - targetLayer = 0; - arrowLayer = 0; - throw new ArgumentOutOfRangeException(); - } - - arrowLayer = targetLayer | LayerMask.GetMask("Ground") | LayerMask.GetMask("Water") | - LayerMask.GetMask("Props"); - } - - private IEnumerator Attack() - { - while (true) - { - FindNearestTargetInRange(atkRange); - - if (!targetCollider) - { - yield return new WaitForSeconds(atkCooldown); - continue; - } - var arrow = arrowPool.Get(); - var targetPos = isPredictAttack ? PredictTargetPosition(shootLocation, targetCollider, arrow.GetArrowSpeed()) : targetCollider.bounds.center; - - arrow.SetShootingArrow(shootLocation.position, transform.position, - targetPos, aiType, atk, shieldPenetrationRate, inaccuracy, false); - arrow.ShootArrowCoroutine(); - - yield return new WaitForSeconds(atkCooldown); - } - } - - private void FindNearestTargetInRange(float range) - { - Array.Clear(colliderWithinRange, 0, TARGET_MAX_SIZE); - - var maxColliderCount = Physics.OverlapSphereNonAlloc(transform.position, range, colliderWithinRange, - targetLayer, QueryTriggerInteraction.Collide); - - if (maxColliderCount <= 0) - { - SetTargetCollider(null); - return; - } - - var nearestDistance = Mathf.Infinity; - Collider nearestTargetTransform = null; - - for (var i = 0; i < maxColliderCount; i++) - { - var distanceToTarget = Vector3.Distance(shootLocation.position, colliderWithinRange[i].bounds.center); - - if (!IsRaycastHitTarget(shootLocation.position, colliderWithinRange[i]) || distanceToTarget >= nearestDistance) continue; - - if (distanceToTarget >= nearestDistance) continue; - - nearestDistance = distanceToTarget; - nearestTargetTransform = colliderWithinRange[i]; - } - - SetTargetCollider(nearestTargetTransform); - } - - private bool IsRaycastHitTarget(Vector3 startPos, Collider target) - { - var direction = ((target.bounds.center) - (startPos)).normalized; - var raycastHitTarget = Physics.Raycast(startPos, direction, out var hit, atkRange, arrowLayer, QueryTriggerInteraction.Collide); - - return raycastHitTarget && target == hit.collider; - } - - private Vector3 PredictTargetPosition(Transform shooter, Collider target, float arrowSpeed) - { - var targetVelocity = target.GetComponent().velocity; - - var targetPos = target.bounds.center; - var directionToTarget = targetPos - shooter.position; - var distanceToTarget = directionToTarget.magnitude; - var timeToImpact = distanceToTarget / arrowSpeed; - var predictedPosition = targetPos + targetVelocity * timeToImpact; - - return predictedPosition; - } - - public void Die() - { - RemoveIslandInfo(); - - StopAllCoroutines(); - Destroy(gameObject); - } - - private void RemoveIslandInfo() - { - if (defendingIslandInfo == null) return; - - defendingIslandInfo.RemoveListElement(defendingIslandInfo.TowerList, transform); - defendingIslandInfo.RemoveListElement(defendingIslandInfo.ExceptHouseList, transform); - defendingIslandInfo.RemoveListElement(defendingIslandInfo.TargetAllList, transform); - } - - private void SetCurrentHp(float value) => currentHp = value; - private void SetTargetCollider(Collider value) => targetCollider = value; - - #endregion - - #region ObjectPool Function - - private Arrow CreateArrow() - { - var arrow = Instantiate(UnitManager.Inst.ArrowPrefab, shootLocation.position, Quaternion.identity, arrowsPoolLocation).GetComponent(); - arrow.SetManagedPool(arrowPool); - return arrow; - } - - private void OnGetArrow(Arrow arrow) => arrow.gameObject.SetActive(true); - private void OnReleaseArrow(Arrow arrow) => arrow.ReleaseArrowSetting(); - private void OnDestroyArrow(Arrow arrow) => Destroy(arrow.gameObject); - - #endregion - } -} \ No newline at end of file diff --git a/BlueWater/Assets/02.Scripts/Ai/Tower/Type/ArrowTower.cs.meta b/BlueWater/Assets/02.Scripts/Ai/Tower/Type/ArrowTower.cs.meta deleted file mode 100644 index 4596bf854..000000000 --- a/BlueWater/Assets/02.Scripts/Ai/Tower/Type/ArrowTower.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: bd421891d0204bc5a748862f0ac9c0f1 -timeCreated: 1695134049 \ No newline at end of file diff --git a/BlueWater/Assets/02.Scripts/AssaultMode/DraggableCard.cs b/BlueWater/Assets/02.Scripts/AssaultMode/DraggableCard.cs index d7dffc5ce..9a3752af5 100644 --- a/BlueWater/Assets/02.Scripts/AssaultMode/DraggableCard.cs +++ b/BlueWater/Assets/02.Scripts/AssaultMode/DraggableCard.cs @@ -38,9 +38,9 @@ namespace BlueWaterProject public void CardInit() { - var cardInfo = DataManager.Inst.GetPirateUnitStatDictionaryFromKey(card.UnitIdx); - var captainStat = DataManager.Inst.GetPirateStatDictionaryFromKey(cardInfo.CaptainStatIdx); - typeImage.sprite = DataManager.Inst.cardType[(int)captainStat.UnitType]; + // var cardInfo = DataManager.Inst.GetPirateUnitStatDictionaryFromKey(card.UnitIdx); + // var captainStat = DataManager.Inst.GetPirateStatDictionaryFromKey(cardInfo.CaptainStatIdx); + //typeImage.sprite = DataManager.Inst.cardType[(int)captainStat.UnitType]; } public void OnPointerDown(PointerEventData eventData) @@ -102,7 +102,7 @@ namespace BlueWaterProject boat.TypeCardSprite.sprite = typeImage.sprite; boat.Target = hit.point; boat.CardIndex = card.Idx; - boat.OnLanded += UnitManager.Inst.PirateUnitCreateAndAssign; + //boat.OnLanded += UnitManager.Inst.PirateUnitCreateAndAssign; return true; diff --git a/BlueWater/Assets/02.Scripts/Boid.cs b/BlueWater/Assets/02.Scripts/Boid.cs index fa7211601..d122a4d0b 100644 --- a/BlueWater/Assets/02.Scripts/Boid.cs +++ b/BlueWater/Assets/02.Scripts/Boid.cs @@ -1,3 +1,4 @@ +using System; using System.Collections; using System.Collections.Generic; using System.Linq; @@ -10,6 +11,10 @@ namespace BlueWaterProject { public class Boid : MonoBehaviour { + [field: Title("FishInfo")] + [field: SerializeField] public FishInfo FishInfo { get; private set; } + [field: SerializeField] public Vector2 RandomCount { get; private set; } = new(1, 4); + [Title("개체 설정")] [SerializeField] private float obstacleDistance = 10; [SerializeField] private float viewAngle = 120; @@ -17,7 +22,7 @@ namespace BlueWaterProject [SerializeField] private float neighbourDistance = 6; [SerializeField] private float avoidAdditionalSpeed = 10; - [Title("ETC")] + [Title("Extensions Data")] [SerializeField] private LayerMask boidUnitLayer; [SerializeField] private LayerMask obstacleLayer; @@ -30,22 +35,25 @@ namespace BlueWaterProject private Vector3 targetPos; private Vector3 egoVector; private float moveSpeed; - private float additionalSpeed = 0; + private float additionalSpeed ; public void Init(Boids boids, float speed) { myBoids = boids; moveSpeed = speed; hitColliders = new Collider[maxNeighbourCount]; - - findNeighbourCoroutine = StartCoroutine("FindNeighbourCoroutine"); - calculateEgoVectorCoroutine = StartCoroutine("CalculateEgoVectorCoroutine"); + FishInfo.AddCount(Random.Range((int)RandomCount.x, (int)RandomCount.y)); + + findNeighbourCoroutine ??= StartCoroutine("FindNeighbourCoroutine"); + calculateEgoVectorCoroutine ??= StartCoroutine("CalculateEgoVectorCoroutine"); } private void OnDrawGizmosSelected() { foreach (var neighbour in neighbours) { + if (neighbour == null) continue; + var myPos = transform.position; Gizmos.color = Color.red; @@ -106,16 +114,19 @@ namespace BlueWaterProject private Vector3 CalculateCohesionPos() { var cohesionPos = Vector3.zero; - if (neighbours.Count > 0) + var validNeighbours = 0; + foreach (var neighbour in neighbours.Where(neighbour => neighbour != null)) { - cohesionPos = neighbours.Aggregate(cohesionPos, (current, neighbour) => current + neighbour.transform.position); + cohesionPos += neighbour.transform.position; + validNeighbours++; } - else + + if (validNeighbours == 0) { - return cohesionPos; + return Vector3.zero; } - - cohesionPos /= neighbours.Count; + + cohesionPos /= validNeighbours; cohesionPos -= transform.position; cohesionPos.Normalize(); return cohesionPos; @@ -124,16 +135,19 @@ namespace BlueWaterProject private Vector3 CalculateAlignmentPos() { var alignmentPos = transform.forward; - if (neighbours.Count > 0) + var validNeighbours = 0; + foreach (var neighbour in neighbours.Where(neighbour => neighbour != null)) { - alignmentPos = neighbours.Aggregate(alignmentPos, (current, neighbour) => current + neighbour.transform.forward); + alignmentPos += neighbour.transform.forward ; + validNeighbours++; } - else + + if (validNeighbours == 0) { return alignmentPos; } - alignmentPos /= neighbours.Count; + alignmentPos /= validNeighbours; alignmentPos.Normalize(); return alignmentPos; } @@ -141,15 +155,19 @@ namespace BlueWaterProject private Vector3 CalculateSeparationPos() { var separationPos = Vector3.zero; - if (neighbours.Count > 0) + var validNeighbours = 0; + foreach (var neighbour in neighbours.Where(neighbour => neighbour != null)) { - separationPos = neighbours.Aggregate(separationPos, (current, neighbour) => current + (transform.position - neighbour.transform.position)); + separationPos += transform.position - neighbour.transform.position; + validNeighbours++; } - else + + if (validNeighbours == 0) { return separationPos; } - separationPos /= neighbours.Count; + + separationPos /= validNeighbours; separationPos.Normalize(); return separationPos; } diff --git a/BlueWater/Assets/02.Scripts/Boids.cs b/BlueWater/Assets/02.Scripts/Boids.cs index b19033df9..fb9963c18 100644 --- a/BlueWater/Assets/02.Scripts/Boids.cs +++ b/BlueWater/Assets/02.Scripts/Boids.cs @@ -1,13 +1,25 @@ +using System; using System.Collections; +using System.Collections.Generic; using Sirenix.OdinInspector; using UnityEngine; +using UnityEngine.Serialization; using Random = UnityEngine.Random; // ReSharper disable once CheckNamespace namespace BlueWaterProject { + public enum EscapeMode + { + NONE = -1, + STRAIGHT, + ZIGZAG, + TOWARDS + } + public class Boids : MonoBehaviour { + // 군집(떼) 설정 [Title("군집(떼) 설정")] [Tooltip("Boid 프리팹")] [SerializeField] private Boid boidPrefab; @@ -16,12 +28,19 @@ namespace BlueWaterProject [Tooltip("생성할 개체 수")] [SerializeField] private int boidCount = 5; + [field: Tooltip("개체의 랜덤 속도 값\nx == Min\ny == Max")] + [field: SerializeField] public Vector2 RandomSpeedRange { get; private set; } = new(5f, 10f); + [Range(5, 100)] [Tooltip("개체 생성 범위")] [SerializeField] private float spawnRange = 10; + + [Tooltip("자동 재생성 기능 여부")] + [SerializeField] private bool isAutoRespawn = true; - [field: Tooltip("개체의 랜덤 속도 값\nx == Min\ny == Max")] - [field: SerializeField] public Vector2 RandomSpeedRange { get; private set; } = new(5, 10); + [Tooltip("자동 재생성하는데 걸리는 시간")] + [ShowIf("@isAutoRespawn")] + [SerializeField] private Vector2 randomRespawnTime = new(10f, 20f); [field: Range(0, 10)] [field: Tooltip("응집력(뭉치기) 가중치")] @@ -46,19 +65,106 @@ namespace BlueWaterProject [field: Range(0, 10)] [field: Tooltip("자아(독립행동) 가중치")] [field: SerializeField] public float EgoWeight { get; private set; } = 1; - - [Title("옵션")] - [Tooltip("경계 범위 On/Off")] + + // 도주 기능 설정 + [Title("도주 기능 설정")] + [SerializeField] private bool isDrawGizmos = true; + + [Tooltip("타겟 인식 범위")] + [SerializeField] private float viewRadius = 10f; + + [Tooltip("이동속도")] + [SerializeField] private float moveSpd = 500f; + + [Tooltip("랜덤 방향으로 도주 여부")] + [SerializeField] private bool isRandomAngle = true; + + [ShowIf("@isRandomAngle")] + [Tooltip("도망가는 방향의 랜덤 각도")] + [SerializeField] private float randomAngle = 180f; + + [Tooltip("타겟을 재검색하는 시간")] + [SerializeField] private float rescanTime = 0.5f; + + [Tooltip("도망치는 시간")] + [SerializeField] private float escapeTime = 10f; + + [Tooltip("도망치면서 방향 전환 여부")] + [SerializeField] private bool isDirectionChange; + + [ShowIf("@isDirectionChange")] + [Tooltip("도망치면서 방향 전환하는데 걸리는 시간")] + [SerializeField] private Vector2 randomDirectionChangeInterval = new(0.5f, 3f); + + [Tooltip("도주 방식")] + [SerializeField] private EscapeMode escapeMode = EscapeMode.STRAIGHT; + + // ZIGZAG + [Title("ZIGZAG")] + [ShowIf("@escapeMode == EscapeMode.ZIGZAG")] + [Tooltip("흔들림의 정도")] + [SerializeField] private Vector2 randomZigzagAmplitude = new(0.1f, 1f); + + [ShowIf("@escapeMode == EscapeMode.ZIGZAG")] + [Tooltip("흔들림의 주기")] + [SerializeField] private Vector2 randomZigzagFrequency = new(0.1f, 1f); + + // Extensions Data + [Title("Extensions Data")] + [Tooltip("경계 범위 기능 여부")] [SerializeField] private bool showBounds; + [Tooltip("물 표면 이펙트")] + [SerializeField] private ParticleSystem waterEffect; + + [Tooltip("물 표면 이펙트 기능 여부")] + [SerializeField] private bool showWaterEffect = true; + + [Tooltip("물 표면 이펙트 기능 여부")] + [ShowIf("@showWaterEffect")] + [SerializeField] private Vector3 waterEffectOffset = new(0, 0.5f, 0); + + // 디버깅 + [Title("디버깅")] + [SerializeField] private List boidList; + [SerializeField] private Collider[] hitColliders = new Collider[MAX_HIT_NUM]; + [SerializeField] private LayerMask targetLayer; + [SerializeField] private LayerMask waterLayer; + public MeshRenderer BoundMeshRenderer { get; private set; } + private Vector3 spawnPos; + private Coroutine findTargetCoroutine; + private Coroutine escapeCoroutine; + private WaitForSeconds findCoroutineTime; + + private const int MAX_HIT_NUM = 3; + private void OnValidate() { if (BoundMeshRenderer) { BoundMeshRenderer.enabled = showBounds; } + + findCoroutineTime = new WaitForSeconds(rescanTime); + + if (showWaterEffect) + { + waterEffect.Play(); + } + else + { + waterEffect.Stop(); + } + } + + private void OnDrawGizmosSelected() + { + if (!isDrawGizmos) return; + + Gizmos.color = Color.red; + Gizmos.DrawWireSphere(transform.position, viewRadius); } private void Start() @@ -66,10 +172,28 @@ namespace BlueWaterProject CreateBoids(); } - private void CreateBoids() + private void FixedUpdate() { + if (!showWaterEffect) return; + + if (Physics.Raycast(BoundMeshRenderer.transform.position, Vector3.up, out var hit, + float.MaxValue,waterLayer)) + { + waterEffect.transform.position = hit.point + waterEffectOffset; + } + } + + public void CreateBoids() + { + boidList = new List(boidCount); + hitColliders = new Collider[MAX_HIT_NUM]; + findCoroutineTime = new WaitForSeconds(rescanTime); BoundMeshRenderer = GetComponentInChildren(); BoundMeshRenderer.enabled = showBounds; + spawnPos = BoundMeshRenderer.transform.position; + targetLayer = LayerMask.GetMask("Player"); + waterLayer = LayerMask.GetMask("Water"); + var myTransform = transform; for (var i = 0; i < boidCount; i++) { @@ -77,21 +201,122 @@ namespace BlueWaterProject var randomRotation = Quaternion.Euler(0, Random.Range(0, 360f), 0); var boid = Instantiate(boidPrefab, myTransform.position + randomPos, randomRotation, myTransform); boid.Init(this, Random.Range(RandomSpeedRange.x, RandomSpeedRange.y)); + boidList.Add(boid); + } + + findTargetCoroutine ??= StartCoroutine(FindTargetCoroutine()); + } + + private IEnumerator FindTargetCoroutine() + { + while (true) + { + var size = Physics.OverlapSphereNonAlloc(transform.position, viewRadius, hitColliders, targetLayer); + for (var i = 0; i < size; i++) + { + if (hitColliders[i] == null || !hitColliders[i].CompareTag("ShipPlayer")) continue; + + findTargetCoroutine = null; + escapeCoroutine = StartCoroutine(EscapeCoroutine(hitColliders[i])); + yield break; + } + yield return findCoroutineTime; } } - - public void SetBoundPos(Vector3 value) => BoundMeshRenderer.transform.position = value; - public void SetBoundPosLerp(Vector3 value, float time) => StartCoroutine(BoundPosLerpCoroutine(value, 1/time)); - - private IEnumerator BoundPosLerpCoroutine(Vector3 value, float time) + + private IEnumerator EscapeCoroutine(Collider targetCollider) { - while (Vector3.Distance(transform.position, value) > 0.1f) + var currentDirectionChangeInterval = isDirectionChange ? + Random.Range(randomDirectionChangeInterval.x, randomDirectionChangeInterval.y) : 0; + var rotatedEscapeDirection = CalculateEscapeDirection(targetCollider.transform.position); + var currentZigzagFrequency = Random.Range(randomZigzagFrequency.x, randomZigzagFrequency.y); + var currentZigzagAmplitude = Random.Range(randomZigzagAmplitude.x, randomZigzagAmplitude.y); + + var time = 0f; + var directionChangeTime = 0f; + while (time < escapeTime) { - transform.position = Vector3.Lerp(transform.position, value, time * Time.deltaTime); + time += Time.deltaTime; + + if (isDirectionChange) + { + directionChangeTime += Time.deltaTime; + + if (directionChangeTime >= currentDirectionChangeInterval) + { + rotatedEscapeDirection = CalculateEscapeDirection(targetCollider.transform.position); + directionChangeTime = 0f; + currentDirectionChangeInterval = Random.Range(randomDirectionChangeInterval.x,randomDirectionChangeInterval.y); + + if (escapeMode == EscapeMode.ZIGZAG) + { + currentZigzagFrequency = Random.Range(randomZigzagFrequency.x, randomZigzagFrequency.y); + currentZigzagAmplitude = Random.Range(randomZigzagAmplitude.x, randomZigzagAmplitude.y); + } + } + } + + var newDirection = escapeMode switch + { + EscapeMode.NONE => throw new ArgumentOutOfRangeException(), + EscapeMode.STRAIGHT => rotatedEscapeDirection, + EscapeMode.ZIGZAG => rotatedEscapeDirection + + new Vector3(Mathf.Sin(Time.time * currentZigzagFrequency) * currentZigzagAmplitude,0, + Mathf.Sin(Time.time * currentZigzagFrequency) * currentZigzagAmplitude), + EscapeMode.TOWARDS => -rotatedEscapeDirection, + _ => throw new ArgumentOutOfRangeException() + }; + + BoundMeshRenderer.transform.position += newDirection.normalized * (moveSpd * Time.deltaTime); yield return null; } - transform.position = value; + escapeCoroutine = null; + while (boidList.Count > 0) + { + var currentBoid = boidList[0]; + boidList.RemoveAt(0); + Destroy(currentBoid.gameObject); + } + + if (isAutoRespawn) + { + BoidsManager.Inst.RespawnBoids(this, Random.Range(randomRespawnTime.x, randomRespawnTime.y), spawnPos); + } + gameObject.SetActive(false); + } + + private Vector3 CalculateEscapeDirection(Vector3 targetPos) + { + var escapeDirection = (transform.position - targetPos).normalized; + escapeDirection.y = 0; + + if (!isRandomAngle) return escapeDirection; + + var randomRotationAngle = Random.Range(-randomAngle * 0.5f, randomAngle * 0.5f); + var rotation = Quaternion.Euler(0, randomRotationAngle, 0); + return rotation * escapeDirection; + } + + public void CatchBoid(int count) + { + count = Mathf.Min(count, boidList.Count); + for (var i = 0; i < count; i++) + { + // 물고기 잡히는 이펙트 효과 추가 + var currentBoid = boidList[0]; + DataManager.Inst.PlayerInventory.AddFish(currentBoid.FishInfo.Name, currentBoid.FishInfo.Count); + boidList.RemoveAt(0); + Destroy(currentBoid.gameObject); + } + + if (boidList.Count > 0) return; + + if (isAutoRespawn) + { + BoidsManager.Inst.RespawnBoids(this, Random.Range(randomRespawnTime.x, randomRespawnTime.y), spawnPos); + } + gameObject.SetActive(false); } } } \ No newline at end of file diff --git a/BlueWater/Assets/02.Scripts/BoidsManager.cs b/BlueWater/Assets/02.Scripts/BoidsManager.cs new file mode 100644 index 000000000..83a4664c8 --- /dev/null +++ b/BlueWater/Assets/02.Scripts/BoidsManager.cs @@ -0,0 +1,23 @@ +using System.Collections; +using UnityEngine; + +// ReSharper disable once CheckNamespace +namespace BlueWaterProject +{ + public class BoidsManager : Singleton + { + public void RespawnBoids(Boids boids, float delay, Vector3 respawnPos) + { + StartCoroutine(RespawnBoidsCoroutine(boids, delay, respawnPos)); + } + + private IEnumerator RespawnBoidsCoroutine(Boids boids, float delay, Vector3 respawnPos) + { + yield return new WaitForSeconds(delay); + + boids.BoundMeshRenderer.transform.position = respawnPos; + boids.gameObject.SetActive(true); + boids.CreateBoids(); + } + } +} \ No newline at end of file diff --git a/BlueWater/Assets/02.Scripts/FishManager.cs.meta b/BlueWater/Assets/02.Scripts/BoidsManager.cs.meta similarity index 100% rename from BlueWater/Assets/02.Scripts/FishManager.cs.meta rename to BlueWater/Assets/02.Scripts/BoidsManager.cs.meta diff --git a/BlueWater/Assets/02.Scripts/Character/Player/Type/ShipPlayer.cs b/BlueWater/Assets/02.Scripts/Character/Player/Type/ShipPlayer.cs index 9ed79cb5a..f0ce97134 100644 --- a/BlueWater/Assets/02.Scripts/Character/Player/Type/ShipPlayer.cs +++ b/BlueWater/Assets/02.Scripts/Character/Player/Type/ShipPlayer.cs @@ -158,9 +158,10 @@ namespace BlueWaterProject directionToMouse.y = 0f; var lookRotation = Quaternion.LookRotation(directionToMouse); - var rotationDirection = Quaternion.Euler(0f, lookRotation.eulerAngles.y, 0f); - directionIndicator.transform.rotation = rotationDirection; - cannon.transform.rotation = rotationDirection; + var indicatorRotationDirection = Quaternion.Euler(0f, lookRotation.eulerAngles.y, 0f); + var cannonRotationDirection = Quaternion.Euler(cannon.transform.rotation.eulerAngles.x, lookRotation.eulerAngles.y, 0f); + directionIndicator.transform.rotation = indicatorRotationDirection; + cannon.transform.rotation = cannonRotationDirection; } if (!chargingCannon) return; diff --git a/BlueWater/Assets/02.Scripts/Data/CardDataSo.cs b/BlueWater/Assets/02.Scripts/Data/CardDataSo.cs deleted file mode 100644 index 55e9f8698..000000000 --- a/BlueWater/Assets/02.Scripts/Data/CardDataSo.cs +++ /dev/null @@ -1,12 +0,0 @@ -using System.Collections.Generic; -using UnityEngine; - -// ReSharper disable once CheckNamespace -namespace BlueWaterProject -{ - [CreateAssetMenu(fileName = "CardDataSo", menuName = "ScriptableObjects/CardData", order = 10)] - public class CardDataSo : ScriptableObject - { - public List cardDataList = new(GlobalValue.CARD_DATA_CAPACITY); - } -} \ No newline at end of file diff --git a/BlueWater/Assets/02.Scripts/Data/CardDataSo.cs.meta b/BlueWater/Assets/02.Scripts/Data/CardDataSo.cs.meta deleted file mode 100644 index 89feab75e..000000000 --- a/BlueWater/Assets/02.Scripts/Data/CardDataSo.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 420d288b4d553b64ca505f318acd0c60 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Data/CrewmateDataSo.cs b/BlueWater/Assets/02.Scripts/Data/CrewmateDataSo.cs deleted file mode 100644 index 3603b38d5..000000000 --- a/BlueWater/Assets/02.Scripts/Data/CrewmateDataSo.cs +++ /dev/null @@ -1,12 +0,0 @@ -using System.Collections.Generic; -using UnityEngine; - -// ReSharper disable once CheckNamespace -namespace BlueWaterProject -{ - [CreateAssetMenu(fileName = "CrewmateData", menuName = "ScriptableObjects/CrewmateData", order = 1)] - public class CrewmateDataSo : ScriptableObject - { - public List crewmateList; - } -} \ No newline at end of file diff --git a/BlueWater/Assets/02.Scripts/Data/CrewmateDataSo.cs.meta b/BlueWater/Assets/02.Scripts/Data/CrewmateDataSo.cs.meta deleted file mode 100644 index 1b95acca2..000000000 --- a/BlueWater/Assets/02.Scripts/Data/CrewmateDataSo.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: c04e61fd913bab44a834a1586e2ada3c -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Data/EnemyStatDataSo.cs b/BlueWater/Assets/02.Scripts/Data/EnemyStatDataSo.cs deleted file mode 100644 index f40c8ccbc..000000000 --- a/BlueWater/Assets/02.Scripts/Data/EnemyStatDataSo.cs +++ /dev/null @@ -1,12 +0,0 @@ -using System.Collections.Generic; -using UnityEngine; - -// ReSharper disable once CheckNamespace -namespace BlueWaterProject -{ - [CreateAssetMenu(fileName = "EnemyStatDataSo", menuName = "ScriptableObjects/EnemyStatData", order = 3)] - public class EnemyStatDataSo : ScriptableObject - { - public List enemyStatDataList = new(GlobalValue.ENEMY_STAT_DATA_CAPACITY); - } -} \ No newline at end of file diff --git a/BlueWater/Assets/02.Scripts/Data/EnemyStatDataSo.cs.meta b/BlueWater/Assets/02.Scripts/Data/EnemyStatDataSo.cs.meta deleted file mode 100644 index f29e72eb9..000000000 --- a/BlueWater/Assets/02.Scripts/Data/EnemyStatDataSo.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 0b73a9021577a154c991acd5616ad6d9 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Data/EnemyUnitStatDataSo.cs b/BlueWater/Assets/02.Scripts/Data/EnemyUnitStatDataSo.cs deleted file mode 100644 index 6ada01f04..000000000 --- a/BlueWater/Assets/02.Scripts/Data/EnemyUnitStatDataSo.cs +++ /dev/null @@ -1,12 +0,0 @@ -using System.Collections.Generic; -using UnityEngine; - -// ReSharper disable once CheckNamespace -namespace BlueWaterProject -{ - [CreateAssetMenu(fileName = "EnemyUnitStatDataSo", menuName = "ScriptableObjects/EnemyUnitStatData", order = 5)] - public class EnemyUnitStatDataSo : ScriptableObject - { - public List enemyUnitStatDataList = new(GlobalValue.ENEMY_UNIT_STAT_DATA_CAPACITY); - } -} \ No newline at end of file diff --git a/BlueWater/Assets/02.Scripts/Data/EnemyUnitStatDataSo.cs.meta b/BlueWater/Assets/02.Scripts/Data/EnemyUnitStatDataSo.cs.meta deleted file mode 100644 index 1d9462dce..000000000 --- a/BlueWater/Assets/02.Scripts/Data/EnemyUnitStatDataSo.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 3cfd6c9178f4c2a48a79549b238ac772 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Data/EnemyViewDataSo.cs b/BlueWater/Assets/02.Scripts/Data/EnemyViewDataSo.cs deleted file mode 100644 index 4f71a1206..000000000 --- a/BlueWater/Assets/02.Scripts/Data/EnemyViewDataSo.cs +++ /dev/null @@ -1,12 +0,0 @@ -using System.Collections.Generic; -using UnityEngine; - -// ReSharper disable once CheckNamespace -namespace BlueWaterProject -{ - [CreateAssetMenu(fileName = "EnemyViewDataSo", menuName = "ScriptableObjects/EnemyViewData", order = 1)] - public class EnemyViewDataSo : ScriptableObject - { - public List enemyViewDataList = new(GlobalValue.ENEMY_VIEW_DATA_CAPACITY); - } -} \ No newline at end of file diff --git a/BlueWater/Assets/02.Scripts/Data/EnemyViewDataSo.cs.meta b/BlueWater/Assets/02.Scripts/Data/EnemyViewDataSo.cs.meta deleted file mode 100644 index eee5beba3..000000000 --- a/BlueWater/Assets/02.Scripts/Data/EnemyViewDataSo.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: c71fe8f0398eaea4e9a1bee5d4a92a64 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Data/PirateStatDataSo.cs b/BlueWater/Assets/02.Scripts/Data/PirateStatDataSo.cs deleted file mode 100644 index da2594997..000000000 --- a/BlueWater/Assets/02.Scripts/Data/PirateStatDataSo.cs +++ /dev/null @@ -1,12 +0,0 @@ -using System.Collections.Generic; -using UnityEngine; - -// ReSharper disable once CheckNamespace -namespace BlueWaterProject -{ - [CreateAssetMenu(fileName = "PirateStatDataSo", menuName = "ScriptableObjects/PirateStatData", order = 4)] - public class PirateStatDataSo : ScriptableObject - { - public List pirateStatDataList = new(GlobalValue.PIRATE_STAT_DATA_CAPACITY); - } -} \ No newline at end of file diff --git a/BlueWater/Assets/02.Scripts/Data/PirateStatDataSo.cs.meta b/BlueWater/Assets/02.Scripts/Data/PirateStatDataSo.cs.meta deleted file mode 100644 index d2502552b..000000000 --- a/BlueWater/Assets/02.Scripts/Data/PirateStatDataSo.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: f7c2e9bf391cbc2458b6eacd61baed5c -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Data/PirateUnitStatDataSo.cs b/BlueWater/Assets/02.Scripts/Data/PirateUnitStatDataSo.cs deleted file mode 100644 index 77baf6a35..000000000 --- a/BlueWater/Assets/02.Scripts/Data/PirateUnitStatDataSo.cs +++ /dev/null @@ -1,12 +0,0 @@ -using System.Collections.Generic; -using UnityEngine; - -// ReSharper disable once CheckNamespace -namespace BlueWaterProject -{ - [CreateAssetMenu(fileName = "PirateUnitStatDataSo", menuName = "ScriptableObjects/PirateUnitStatData", order = 6)] - public class PirateUnitStatDataSo : ScriptableObject - { - public List pirateUnitStatDataList = new(GlobalValue.PIRATE_UNIT_STAT_DATA_CAPACITY); - } -} \ No newline at end of file diff --git a/BlueWater/Assets/02.Scripts/Data/PirateUnitStatDataSo.cs.meta b/BlueWater/Assets/02.Scripts/Data/PirateUnitStatDataSo.cs.meta deleted file mode 100644 index bb7f83526..000000000 --- a/BlueWater/Assets/02.Scripts/Data/PirateUnitStatDataSo.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 6860dacd36ec53343bc4ee3879adc0e9 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Data/PirateViewDataSo.cs b/BlueWater/Assets/02.Scripts/Data/PirateViewDataSo.cs deleted file mode 100644 index 5b95f3afd..000000000 --- a/BlueWater/Assets/02.Scripts/Data/PirateViewDataSo.cs +++ /dev/null @@ -1,12 +0,0 @@ -using System.Collections.Generic; -using UnityEngine; - -// ReSharper disable once CheckNamespace -namespace BlueWaterProject -{ - [CreateAssetMenu(fileName = "PirateViewDataSo", menuName = "ScriptableObjects/PirateViewData", order = 2)] - public class PirateViewDataSo : ScriptableObject - { - public List pirateViewDataList = new(GlobalValue.PIRATE_VIEW_DATA_CAPACITY); - } -} \ No newline at end of file diff --git a/BlueWater/Assets/02.Scripts/Data/PirateViewDataSo.cs.meta b/BlueWater/Assets/02.Scripts/Data/PirateViewDataSo.cs.meta deleted file mode 100644 index 20d01bae3..000000000 --- a/BlueWater/Assets/02.Scripts/Data/PirateViewDataSo.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: f28df59e93ab2804789a4e010c4f21e1 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Data/So/CardDataSo.asset b/BlueWater/Assets/02.Scripts/Data/So/CardDataSo.asset deleted file mode 100644 index acf8ef067..000000000 --- a/BlueWater/Assets/02.Scripts/Data/So/CardDataSo.asset +++ /dev/null @@ -1,29 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &11400000 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 420d288b4d553b64ca505f318acd0c60, type: 3} - m_Name: CardDataSo - m_EditorClassIdentifier: - cardDataList: - - k__BackingField: card_001 - k__BackingField: pirate_archer_unit_001 - - k__BackingField: card_002 - k__BackingField: pirate_archer_unit_002 - - k__BackingField: card_003 - k__BackingField: pirate_axeman_unit_001 - - k__BackingField: card_004 - k__BackingField: pirate_spearman_unit_001 - - k__BackingField: card_005 - k__BackingField: pirate_spear_knight_unit_001 - - k__BackingField: card_006 - k__BackingField: pirate_swordman_unit_001 - - k__BackingField: card_007 - k__BackingField: pirate_swordman_unit_002 diff --git a/BlueWater/Assets/02.Scripts/Data/So/CrewmateData.asset b/BlueWater/Assets/02.Scripts/Data/So/CrewmateData.asset deleted file mode 100644 index 8cad18ccc..000000000 --- a/BlueWater/Assets/02.Scripts/Data/So/CrewmateData.asset +++ /dev/null @@ -1,15 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &11400000 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: c04e61fd913bab44a834a1586e2ada3c, type: 3} - m_Name: CrewmateData - m_EditorClassIdentifier: - crewmateList: [] diff --git a/BlueWater/Assets/02.Scripts/Data/So/EnemyStatDataSo.asset b/BlueWater/Assets/02.Scripts/Data/So/EnemyStatDataSo.asset deleted file mode 100644 index c04576ed0..000000000 --- a/BlueWater/Assets/02.Scripts/Data/So/EnemyStatDataSo.asset +++ /dev/null @@ -1,267 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &11400000 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 0b73a9021577a154c991acd5616ad6d9, type: 3} - m_Name: EnemyStatDataSo - m_EditorClassIdentifier: - enemyStatDataList: - - k__BackingField: enemy_stat_archer_001 - k__BackingField: enemy_view_archer_001 - k__BackingField: 0 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: 100 - k__BackingField: 0 - k__BackingField: 30 - k__BackingField: 0 - k__BackingField: 15 - k__BackingField: 3 - k__BackingField: 40 - k__BackingField: 30 - k__BackingField: 30 - k__BackingField: 25 - k__BackingField: 20 - k__BackingField: 0 - k__BackingField: 0 - k__BackingField: 1 - k__BackingField: 2 - - k__BackingField: enemy_stat_spearknight_001 - k__BackingField: enemy_view_spearknight_001 - k__BackingField: 1 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: 200 - k__BackingField: 0 - k__BackingField: 40 - k__BackingField: 20 - k__BackingField: 8 - k__BackingField: 2 - k__BackingField: 40 - k__BackingField: 3.5 - k__BackingField: 30 - k__BackingField: 75 - k__BackingField: 10 - k__BackingField: 1 - k__BackingField: 0 - k__BackingField: 0 - k__BackingField: 0 - - k__BackingField: enemy_stat_spearman_001 - k__BackingField: enemy_view_spearman_001 - k__BackingField: 2 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: 150 - k__BackingField: 0 - k__BackingField: 40 - k__BackingField: 0 - k__BackingField: 10 - k__BackingField: 2 - k__BackingField: 40 - k__BackingField: 3.5 - k__BackingField: 30 - k__BackingField: 75 - k__BackingField: 20 - k__BackingField: 0 - k__BackingField: 0 - k__BackingField: 0 - k__BackingField: 0 - - k__BackingField: enemy_stat_swordknight_001 - k__BackingField: enemy_view_swordknight_001 - k__BackingField: 3 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: 200 - k__BackingField: 0 - k__BackingField: 30 - k__BackingField: 20 - k__BackingField: 10 - k__BackingField: 1.5 - k__BackingField: 40 - k__BackingField: 3 - k__BackingField: 30 - k__BackingField: 50 - k__BackingField: 10 - k__BackingField: 1 - k__BackingField: 0 - k__BackingField: 0 - k__BackingField: 0 - - k__BackingField: enemy_stat_swordman_001 - k__BackingField: enemy_view_swordman_001 - k__BackingField: 4 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: 150 - k__BackingField: 0 - k__BackingField: 30 - k__BackingField: 0 - k__BackingField: 13 - k__BackingField: 1.5 - k__BackingField: 40 - k__BackingField: 3 - k__BackingField: 30 - k__BackingField: 50 - k__BackingField: 30 - k__BackingField: 0 - k__BackingField: 0 - k__BackingField: 0 - k__BackingField: 0 - - k__BackingField: enemy_stat_archer_101 - k__BackingField: enemy_view_archer_101 - k__BackingField: 0 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: 300 - k__BackingField: 0 - k__BackingField: 30 - k__BackingField: 0 - k__BackingField: 15 - k__BackingField: 3 - k__BackingField: 40 - k__BackingField: 30 - k__BackingField: 30 - k__BackingField: 25 - k__BackingField: 20 - k__BackingField: 0 - k__BackingField: 0 - k__BackingField: 1 - k__BackingField: 4 - - k__BackingField: enemy_stat_spearknight_101 - k__BackingField: enemy_view_spearknight_101 - k__BackingField: 1 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: 400 - k__BackingField: 0 - k__BackingField: 40 - k__BackingField: 0 - k__BackingField: 10 - k__BackingField: 2 - k__BackingField: 40 - k__BackingField: 3.5 - k__BackingField: 30 - k__BackingField: 75 - k__BackingField: 10 - k__BackingField: 1 - k__BackingField: 0 - k__BackingField: 0 - k__BackingField: 0 - - k__BackingField: enemy_stat_spearman_101 - k__BackingField: enemy_view_spearman_101 - k__BackingField: 2 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: 300 - k__BackingField: 0 - k__BackingField: 50 - k__BackingField: 5 - k__BackingField: 7.5 - k__BackingField: 2 - k__BackingField: 40 - k__BackingField: 3.5 - k__BackingField: 30 - k__BackingField: 75 - k__BackingField: 20 - k__BackingField: 0 - k__BackingField: 0 - k__BackingField: 0 - k__BackingField: 0 - - k__BackingField: enemy_stat_swordknight_101 - k__BackingField: enemy_view_swordknight_101 - k__BackingField: 3 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: 400 - k__BackingField: 0 - k__BackingField: 30 - k__BackingField: 20 - k__BackingField: 10 - k__BackingField: 1.5 - k__BackingField: 40 - k__BackingField: 3 - k__BackingField: 30 - k__BackingField: 50 - k__BackingField: 10 - k__BackingField: 1 - k__BackingField: 0 - k__BackingField: 0 - k__BackingField: 0 - - k__BackingField: enemy_stat_swordman_101 - k__BackingField: enemy_view_swordman_101 - k__BackingField: 4 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: 300 - k__BackingField: 0 - k__BackingField: 30 - k__BackingField: 0 - k__BackingField: 13 - k__BackingField: 1.5 - k__BackingField: 40 - k__BackingField: 3 - k__BackingField: 30 - k__BackingField: 50 - k__BackingField: 30 - k__BackingField: 0 - k__BackingField: 0 - k__BackingField: 0 - k__BackingField: 0 - - k__BackingField: enemy_stat_archer_test - k__BackingField: enemy_view_sailor_001 - k__BackingField: 0 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: 30 - k__BackingField: 0 - k__BackingField: 10 - k__BackingField: 5 - k__BackingField: 10 - k__BackingField: 3 - k__BackingField: 40 - k__BackingField: 30 - k__BackingField: 30 - k__BackingField: 25 - k__BackingField: 20 - k__BackingField: 0 - k__BackingField: 0 - k__BackingField: 1 - k__BackingField: 4 - - k__BackingField: enemy_stat_captain_test - k__BackingField: enemy_view_captain_001 - k__BackingField: 0 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: 60 - k__BackingField: 0 - k__BackingField: 50 - k__BackingField: 6 - k__BackingField: 12 - k__BackingField: 2 - k__BackingField: 40 - k__BackingField: 30 - k__BackingField: 30 - k__BackingField: 25 - k__BackingField: 20 - k__BackingField: 0 - k__BackingField: 0 - k__BackingField: 1 - k__BackingField: 4 diff --git a/BlueWater/Assets/02.Scripts/Data/So/EnemyStatDataSo.asset.meta b/BlueWater/Assets/02.Scripts/Data/So/EnemyStatDataSo.asset.meta deleted file mode 100644 index 351f30bac..000000000 --- a/BlueWater/Assets/02.Scripts/Data/So/EnemyStatDataSo.asset.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: c19ae12d221eae64f90d58e15a04d592 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 11400000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Data/So/EnemyUnitStatDataSo.asset b/BlueWater/Assets/02.Scripts/Data/So/EnemyUnitStatDataSo.asset deleted file mode 100644 index e5b14f7fa..000000000 --- a/BlueWater/Assets/02.Scripts/Data/So/EnemyUnitStatDataSo.asset +++ /dev/null @@ -1,96 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &11400000 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 3cfd6c9178f4c2a48a79549b238ac772, type: 3} - m_Name: EnemyUnitStatDataSo - m_EditorClassIdentifier: - enemyUnitStatDataList: - - k__BackingField: enemy_archer_unit_001_d5 - k__BackingField: enemy_stat_archer_101 - k__BackingField: enemy_stat_archer_001 - k__BackingField: EnemyArcherUnit001 - k__BackingField: 5 - k__BackingField: 1 - k__BackingField: -1 - k__BackingField: 2 - k__BackingField: [] - - k__BackingField: enemy_spear_knight_unit_001_k5 - k__BackingField: enemy_stat_spearknight_101 - k__BackingField: enemy_stat_spearknight_001 - k__BackingField: EnemySpearKnightUnit001 - k__BackingField: 5 - k__BackingField: 1 - k__BackingField: -1 - k__BackingField: 3 - k__BackingField: [] - - k__BackingField: enemy_spear_knight_unit_002_d5 - k__BackingField: enemy_stat_spearknight_101 - k__BackingField: enemy_stat_spearknight_001 - k__BackingField: EnemySpearKnightUnit002 - k__BackingField: 5 - k__BackingField: 1 - k__BackingField: -1 - k__BackingField: 2 - k__BackingField: [] - - k__BackingField: enemy_spear_man_unit_001_d7 - k__BackingField: enemy_stat_spearman_101 - k__BackingField: enemy_stat_spearman_001 - k__BackingField: EnemySpearmanUnit001 - k__BackingField: 7 - k__BackingField: 1 - k__BackingField: -1 - k__BackingField: 2 - k__BackingField: [] - - k__BackingField: enemy_sword_knight_unit_001_s6 - k__BackingField: enemy_stat_swordknight_101 - k__BackingField: enemy_stat_swordknight_001 - k__BackingField: EnemySwordKnightUnit001 - k__BackingField: 6 - k__BackingField: 1 - k__BackingField: -1 - k__BackingField: 0 - k__BackingField: [] - - k__BackingField: enemy_sword_knight_unit_002_s6 - k__BackingField: enemy_stat_swordknight_101 - k__BackingField: enemy_stat_swordknight_001 - k__BackingField: EnemySwordKnightUnit001 - k__BackingField: 6 - k__BackingField: 1 - k__BackingField: -1 - k__BackingField: 0 - k__BackingField: [] - - k__BackingField: enemy_swordman_unit_001_s8 - k__BackingField: enemy_stat_swordman_101 - k__BackingField: enemy_stat_swordman_001 - k__BackingField: EnemySwordmanUnit001 - k__BackingField: 8 - k__BackingField: 1 - k__BackingField: -1 - k__BackingField: 0 - k__BackingField: [] - - k__BackingField: enemy_swordman_unit_002_s8 - k__BackingField: enemy_stat_swordman_101 - k__BackingField: enemy_stat_swordman_001 - k__BackingField: EnemySwordmanUnit001 - k__BackingField: 8 - k__BackingField: 1 - k__BackingField: -1 - k__BackingField: 0 - k__BackingField: [] - - k__BackingField: enemy_archer_test - k__BackingField: enemy_stat_captain_test - k__BackingField: enemy_stat_archer_test - k__BackingField: EnemyArcherTest - k__BackingField: 3 - k__BackingField: 1 - k__BackingField: -1 - k__BackingField: 2 - k__BackingField: [] diff --git a/BlueWater/Assets/02.Scripts/Data/So/EnemyUnitStatDataSo.asset.meta b/BlueWater/Assets/02.Scripts/Data/So/EnemyUnitStatDataSo.asset.meta deleted file mode 100644 index 799f3f195..000000000 --- a/BlueWater/Assets/02.Scripts/Data/So/EnemyUnitStatDataSo.asset.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: d363ca1023ab0754489bda2d69d79564 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 11400000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Data/So/EnemyViewDataSo.asset b/BlueWater/Assets/02.Scripts/Data/So/EnemyViewDataSo.asset deleted file mode 100644 index aafaabff4..000000000 --- a/BlueWater/Assets/02.Scripts/Data/So/EnemyViewDataSo.asset +++ /dev/null @@ -1,95 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &11400000 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: c71fe8f0398eaea4e9a1bee5d4a92a64, type: 3} - m_Name: EnemyViewDataSo - m_EditorClassIdentifier: - enemyViewDataList: - - k__BackingField: enemy_view_archer_001 - k__BackingField: 1 - k__BackingField: 2 - k__BackingField: -1 - k__BackingField: 16 - k__BackingField: -1 - k__BackingField: 11 - k__BackingField: -1 - - k__BackingField: enemy_view_spearknight_001 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: 1 - k__BackingField: 46 - k__BackingField: 27 - k__BackingField: 18 - k__BackingField: -1 - - k__BackingField: enemy_view_spearman_001 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: 35 - k__BackingField: 27 - k__BackingField: 17 - k__BackingField: -1 - - k__BackingField: enemy_view_swordknight_001 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: 9 - k__BackingField: 33 - k__BackingField: 6 - k__BackingField: 39 - k__BackingField: -1 - - k__BackingField: enemy_view_swordman_001 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: 25 - k__BackingField: 28 - k__BackingField: 29 - k__BackingField: -1 - - k__BackingField: enemy_view_archer_101 - k__BackingField: 1 - k__BackingField: 2 - k__BackingField: -1 - k__BackingField: 16 - k__BackingField: -1 - k__BackingField: 11 - k__BackingField: 1 - - k__BackingField: enemy_view_spearknight_101 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: 1 - k__BackingField: 46 - k__BackingField: 27 - k__BackingField: 18 - k__BackingField: 1 - - k__BackingField: enemy_view_spearman_101 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: 35 - k__BackingField: 27 - k__BackingField: 17 - k__BackingField: -1 - - k__BackingField: enemy_view_swordknight_101 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: 9 - k__BackingField: 33 - k__BackingField: 6 - k__BackingField: 39 - k__BackingField: 1 - - k__BackingField: enemy_view_swordman_101 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: 25 - k__BackingField: 28 - k__BackingField: 29 - k__BackingField: 1 diff --git a/BlueWater/Assets/02.Scripts/Data/So/EnemyViewDataSo.asset.meta b/BlueWater/Assets/02.Scripts/Data/So/EnemyViewDataSo.asset.meta deleted file mode 100644 index 6d07e8f78..000000000 --- a/BlueWater/Assets/02.Scripts/Data/So/EnemyViewDataSo.asset.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: d4ed8ebcf48bbdb4d84caf4a4cab7c04 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 11400000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Data/So/PirateStatDataSo.asset b/BlueWater/Assets/02.Scripts/Data/So/PirateStatDataSo.asset deleted file mode 100644 index 36bc912bd..000000000 --- a/BlueWater/Assets/02.Scripts/Data/So/PirateStatDataSo.asset +++ /dev/null @@ -1,225 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &11400000 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f7c2e9bf391cbc2458b6eacd61baed5c, type: 3} - m_Name: PirateStatDataSo - m_EditorClassIdentifier: - pirateStatDataList: - - k__BackingField: pirate_stat_archer_001 - k__BackingField: pirate_view_archer_001 - k__BackingField: 5 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: 100 - k__BackingField: 0 - k__BackingField: 30 - k__BackingField: 0 - k__BackingField: 10 - k__BackingField: 3 - k__BackingField: 40 - k__BackingField: 30 - k__BackingField: 0 - k__BackingField: 25 - k__BackingField: 20 - k__BackingField: 0 - k__BackingField: 0 - k__BackingField: 1 - k__BackingField: 2 - - k__BackingField: pirate_stat_axeman_001 - k__BackingField: pirate_view_axeman_001 - k__BackingField: 6 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: 150 - k__BackingField: 0 - k__BackingField: 70 - k__BackingField: 0 - k__BackingField: 7 - k__BackingField: 2.5 - k__BackingField: 15 - k__BackingField: 3.5 - k__BackingField: 15 - k__BackingField: 100 - k__BackingField: 0 - k__BackingField: 0 - k__BackingField: 0 - k__BackingField: 0 - k__BackingField: 0 - - k__BackingField: pirate_stat_spearman_001 - k__BackingField: pirate_view_spearman_001 - k__BackingField: 7 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: 150 - k__BackingField: 0 - k__BackingField: 50 - k__BackingField: 0 - k__BackingField: 7 - k__BackingField: 2 - k__BackingField: 15 - k__BackingField: 3.5 - k__BackingField: 15 - k__BackingField: 75 - k__BackingField: 20 - k__BackingField: 0 - k__BackingField: 0 - k__BackingField: 0 - k__BackingField: 0 - - k__BackingField: pirate_stat_knight_001 - k__BackingField: pirate_view_knight_001 - k__BackingField: 8 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: 150 - k__BackingField: 0 - k__BackingField: 50 - k__BackingField: 20 - k__BackingField: 10 - k__BackingField: 1.5 - k__BackingField: 10 - k__BackingField: 3 - k__BackingField: 10 - k__BackingField: 50 - k__BackingField: 10 - k__BackingField: 1 - k__BackingField: 0 - k__BackingField: 0 - k__BackingField: 0 - - k__BackingField: pirate_stat_swordman_001 - k__BackingField: pirate_view_swordman_001 - k__BackingField: 9 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: 150 - k__BackingField: 0 - k__BackingField: 50 - k__BackingField: 0 - k__BackingField: 8 - k__BackingField: 1.5 - k__BackingField: 15 - k__BackingField: 3 - k__BackingField: 15 - k__BackingField: 50 - k__BackingField: 30 - k__BackingField: 0 - k__BackingField: 0 - k__BackingField: 0 - k__BackingField: 0 - - k__BackingField: pirate_stat_archer_101 - k__BackingField: pirate_view_archer_101 - k__BackingField: 5 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: 200 - k__BackingField: 0 - k__BackingField: 30 - k__BackingField: 0 - k__BackingField: 10 - k__BackingField: 3 - k__BackingField: 40 - k__BackingField: 30 - k__BackingField: 0 - k__BackingField: 25 - k__BackingField: 20 - k__BackingField: 0 - k__BackingField: 0 - k__BackingField: 1 - k__BackingField: 2 - - k__BackingField: pirate_stat_axeman_101 - k__BackingField: pirate_view_axeman_101 - k__BackingField: 6 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: 300 - k__BackingField: 0 - k__BackingField: 70 - k__BackingField: 0 - k__BackingField: 7 - k__BackingField: 2.5 - k__BackingField: 15 - k__BackingField: 3.5 - k__BackingField: 15 - k__BackingField: 100 - k__BackingField: 0 - k__BackingField: 0 - k__BackingField: 0 - k__BackingField: 0 - k__BackingField: 0 - - k__BackingField: pirate_stat_spearman_101 - k__BackingField: pirate_view_spearman_101 - k__BackingField: 7 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: 300 - k__BackingField: 0 - k__BackingField: 50 - k__BackingField: 0 - k__BackingField: 7 - k__BackingField: 2 - k__BackingField: 15 - k__BackingField: 3.5 - k__BackingField: 15 - k__BackingField: 75 - k__BackingField: 20 - k__BackingField: 0 - k__BackingField: 0 - k__BackingField: 0 - k__BackingField: 0 - - k__BackingField: pirate_stat_knight_101 - k__BackingField: pirate_view_knight_101 - k__BackingField: 8 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: 300 - k__BackingField: 0 - k__BackingField: 50 - k__BackingField: 20 - k__BackingField: 10 - k__BackingField: 1.5 - k__BackingField: 10 - k__BackingField: 3 - k__BackingField: 10 - k__BackingField: 50 - k__BackingField: 10 - k__BackingField: 1 - k__BackingField: 0 - k__BackingField: 0 - k__BackingField: 0 - - k__BackingField: pirate_stat_swordman_101 - k__BackingField: pirate_view_swordman_101 - k__BackingField: 9 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: 300 - k__BackingField: 0 - k__BackingField: 50 - k__BackingField: 0 - k__BackingField: 8 - k__BackingField: 1.5 - k__BackingField: 15 - k__BackingField: 3 - k__BackingField: 15 - k__BackingField: 50 - k__BackingField: 30 - k__BackingField: 0 - k__BackingField: 0 - k__BackingField: 0 - k__BackingField: 0 diff --git a/BlueWater/Assets/02.Scripts/Data/So/PirateStatDataSo.asset.meta b/BlueWater/Assets/02.Scripts/Data/So/PirateStatDataSo.asset.meta deleted file mode 100644 index 39ed0d96f..000000000 --- a/BlueWater/Assets/02.Scripts/Data/So/PirateStatDataSo.asset.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 0f0ed8929be00534e97398bb55d8c541 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 11400000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Data/So/PirateUnitStatDataSo.asset b/BlueWater/Assets/02.Scripts/Data/So/PirateUnitStatDataSo.asset deleted file mode 100644 index bd036eb2d..000000000 --- a/BlueWater/Assets/02.Scripts/Data/So/PirateUnitStatDataSo.asset +++ /dev/null @@ -1,78 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &11400000 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 6860dacd36ec53343bc4ee3879adc0e9, type: 3} - m_Name: PirateUnitStatDataSo - m_EditorClassIdentifier: - pirateUnitStatDataList: - - k__BackingField: pirate_archer_unit_001 - k__BackingField: pirate_stat_archer_101 - k__BackingField: pirate_stat_archer_001 - k__BackingField: Legolas - k__BackingField: 8 - k__BackingField: -1 - k__BackingField: 0 - k__BackingField: -1 - k__BackingField: [] - - k__BackingField: pirate_archer_unit_002 - k__BackingField: pirate_stat_archer_101 - k__BackingField: pirate_stat_archer_001 - k__BackingField: Robin Hood - k__BackingField: 5 - k__BackingField: -1 - k__BackingField: 0 - k__BackingField: -1 - k__BackingField: [] - - k__BackingField: pirate_axeman_unit_001 - k__BackingField: pirate_stat_axeman_101 - k__BackingField: pirate_stat_axeman_001 - k__BackingField: Olaf - k__BackingField: 5 - k__BackingField: -1 - k__BackingField: 0 - k__BackingField: -1 - k__BackingField: [] - - k__BackingField: pirate_spearman_unit_001 - k__BackingField: pirate_stat_spearman_101 - k__BackingField: pirate_stat_spearman_001 - k__BackingField: Lancer - k__BackingField: 7 - k__BackingField: -1 - k__BackingField: 0 - k__BackingField: -1 - k__BackingField: [] - - k__BackingField: pirate_spear_knight_unit_001 - k__BackingField: pirate_stat_knight_101 - k__BackingField: pirate_stat_knight_001 - k__BackingField: Achilles - k__BackingField: 3 - k__BackingField: -1 - k__BackingField: 0 - k__BackingField: -1 - k__BackingField: [] - - k__BackingField: pirate_swordman_unit_001 - k__BackingField: pirate_stat_swordman_101 - k__BackingField: pirate_stat_swordman_001 - k__BackingField: Aragorn - k__BackingField: 5 - k__BackingField: -1 - k__BackingField: 0 - k__BackingField: -1 - k__BackingField: [] - - k__BackingField: pirate_swordman_unit_002 - k__BackingField: pirate_stat_swordman_101 - k__BackingField: pirate_stat_swordman_001 - k__BackingField: King Arthur - k__BackingField: 11 - k__BackingField: -1 - k__BackingField: 0 - k__BackingField: -1 - k__BackingField: [] diff --git a/BlueWater/Assets/02.Scripts/Data/So/PirateUnitStatDataSo.asset.meta b/BlueWater/Assets/02.Scripts/Data/So/PirateUnitStatDataSo.asset.meta deleted file mode 100644 index 285e0146d..000000000 --- a/BlueWater/Assets/02.Scripts/Data/So/PirateUnitStatDataSo.asset.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 6cd374040492d94498f1cce6c3a10e14 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 11400000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Data/So/PirateViewDataSo.asset b/BlueWater/Assets/02.Scripts/Data/So/PirateViewDataSo.asset deleted file mode 100644 index 39f943252..000000000 --- a/BlueWater/Assets/02.Scripts/Data/So/PirateViewDataSo.asset +++ /dev/null @@ -1,95 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &11400000 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f28df59e93ab2804789a4e010c4f21e1, type: 3} - m_Name: PirateViewDataSo - m_EditorClassIdentifier: - pirateViewDataList: - - k__BackingField: pirate_view_archer_001 - k__BackingField: 0 - k__BackingField: 1 - k__BackingField: -1 - k__BackingField: 11 - k__BackingField: -1 - k__BackingField: 1 - k__BackingField: -1 - - k__BackingField: pirate_view_axeman_001 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: 50 - k__BackingField: 31 - k__BackingField: 58 - k__BackingField: -1 - - k__BackingField: pirate_view_spearman_001 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: 36 - k__BackingField: 27 - k__BackingField: 60 - k__BackingField: -1 - - k__BackingField: pirate_view_knight_001 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: 2 - k__BackingField: 22 - k__BackingField: 24 - k__BackingField: 58 - k__BackingField: -1 - - k__BackingField: pirate_view_swordman_001 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: 5 - k__BackingField: 12 - k__BackingField: 0 - k__BackingField: -1 - - k__BackingField: pirate_view_archer_101 - k__BackingField: 0 - k__BackingField: 1 - k__BackingField: -1 - k__BackingField: 11 - k__BackingField: -1 - k__BackingField: 1 - k__BackingField: 9 - - k__BackingField: pirate_view_axeman_101 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: 50 - k__BackingField: 31 - k__BackingField: 58 - k__BackingField: 9 - - k__BackingField: pirate_view_spearman_101 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: 36 - k__BackingField: 27 - k__BackingField: 60 - k__BackingField: 9 - - k__BackingField: pirate_view_knight_101 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: 2 - k__BackingField: 22 - k__BackingField: 24 - k__BackingField: 58 - k__BackingField: 9 - - k__BackingField: pirate_view_swordman_101 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: -1 - k__BackingField: 5 - k__BackingField: 12 - k__BackingField: 0 - k__BackingField: 9 diff --git a/BlueWater/Assets/02.Scripts/Data/So/PirateViewDataSo.asset.meta b/BlueWater/Assets/02.Scripts/Data/So/PirateViewDataSo.asset.meta deleted file mode 100644 index 0418fe3a0..000000000 --- a/BlueWater/Assets/02.Scripts/Data/So/PirateViewDataSo.asset.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 33ac25d6eca8f6447a342dfb44a2a282 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 11400000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/DataManager.cs b/BlueWater/Assets/02.Scripts/DataManager.cs index 18565de90..6a06db6c8 100644 --- a/BlueWater/Assets/02.Scripts/DataManager.cs +++ b/BlueWater/Assets/02.Scripts/DataManager.cs @@ -7,30 +7,8 @@ namespace BlueWaterProject { public class DataManager : Singleton { - [field: Title("Scriptable Object")] - [field: SerializeField] public EnemyViewDataSo EnemyViewDataSo { get; private set; } - private Dictionary enemyViewDictionary; - - [field: SerializeField] public PirateViewDataSo PirateViewDataSo { get; private set; } - private Dictionary pirateViewDictionary; - - [field: SerializeField] public EnemyStatDataSo EnemyStatDataSo { get; private set; } - private Dictionary enemyStatDictionary; - - [field: SerializeField] public PirateStatDataSo PirateStatDataSo { get; private set; } - private Dictionary pirateStatDictionary; - - [field: SerializeField] public EnemyUnitStatDataSo EnemyUnitStatDataSo { get; private set; } - private Dictionary enemyUnitDictionary; - - [field: SerializeField] public PirateUnitStatDataSo PirateUnitDataSo { get; private set; } - private Dictionary pirateUnitDictionary; - - [field: SerializeField] public CardDataSo CardDataSo { get; private set; } - private Dictionary cardDictionary; - - [field: Title("DataBase")] - [field: SerializeField] public List CardList { get; private set; } = new(GlobalValue.CARD_DATA_CAPACITY); + [field: Title("Inventory")] + [field: SerializeField] public PlayerInventory PlayerInventory { get; private set; } [Title("DataBase", "GameObject")] public GameObject mouseSpot; @@ -50,21 +28,15 @@ namespace BlueWaterProject public Sprite[] cardType; public Texture2D cursorTexture; public Sprite enemyMarker; + + private void Init() + { + PlayerInventory = new PlayerInventory(); + } protected override void OnAwake() { - InitDictionary(); - } - - public void InitDictionary() - { - enemyViewDictionary = CreateDictionaryFromList(EnemyViewDataSo.enemyViewDataList, GlobalValue.ENEMY_VIEW_DATA_CAPACITY); - pirateViewDictionary = CreateDictionaryFromList(PirateViewDataSo.pirateViewDataList,GlobalValue.PIRATE_VIEW_DATA_CAPACITY); - enemyStatDictionary = CreateDictionaryFromList(EnemyStatDataSo.enemyStatDataList, GlobalValue.ENEMY_STAT_DATA_CAPACITY); - pirateStatDictionary = CreateDictionaryFromList(PirateStatDataSo.pirateStatDataList, GlobalValue.ENEMY_STAT_DATA_CAPACITY); - enemyUnitDictionary = CreateDictionaryFromList(EnemyUnitStatDataSo.enemyUnitStatDataList, GlobalValue.ENEMY_UNIT_STAT_DATA_CAPACITY); - pirateUnitDictionary = CreateDictionaryFromList(PirateUnitDataSo.pirateUnitStatDataList, GlobalValue.PIRATE_UNIT_STAT_DATA_CAPACITY); - cardDictionary = CreateDictionaryFromList(CardDataSo.cardDataList, GlobalValue.CARD_DATA_CAPACITY); + Init(); } /// @@ -81,22 +53,5 @@ namespace BlueWaterProject return newDictionary; } - - public EnemyView GetEnemyViewDictionaryFromKey(string idx) => enemyViewDictionary[idx] != null ? enemyViewDictionary[idx] : null; - public PirateView GetPirateViewDictionaryFromKey(string idx) => pirateViewDictionary[idx] != null ? pirateViewDictionary[idx] : null; - public EnemyStat GetEnemyStatDictionaryFromKey(string idx) => enemyStatDictionary[idx] != null ? enemyStatDictionary[idx] : null; - public PirateStat GetPirateStatDictionaryFromKey(string idx) => pirateStatDictionary[idx] != null ? pirateStatDictionary[idx] : null; - public EnemyUnitStat GetEnemyUnitStatDictionaryFromKey(string idx) => enemyUnitDictionary[idx] != null ? enemyUnitDictionary[idx] : null; - public PirateUnitStat GetPirateUnitStatDictionaryFromKey(string idx) => pirateUnitDictionary[idx] != null ? pirateUnitDictionary[idx] : null; - public Card GetCardDictionaryFromKey(string idx) => cardDictionary[idx] != null ? cardDictionary[idx] : null; - -#if UNITY_EDITOR - public EnemyView GetEnemyViewSoFromKey(string idx) => EnemyViewDataSo.enemyViewDataList.Find(item => item.Idx == idx); - public PirateView GetPirateViewSoFromKey(string idx) => PirateViewDataSo.pirateViewDataList.Find(item => item.Idx == idx); - public EnemyStat GetEnemyStatSoFromKey(string idx) => EnemyStatDataSo.enemyStatDataList.Find(item => item.Idx == idx); - public PirateStat GetPirateStatSoFromKey(string idx) => PirateStatDataSo.pirateStatDataList.Find(item => item.Idx == idx); - public EnemyUnitStat GetEnemyUnitStatSoFromKey(string idx) => EnemyUnitStatDataSo.enemyUnitStatDataList.Find(item => item.Idx == idx); - public PirateUnitStat GetPirateUnitStatSoFromKey(string idx) => PirateUnitDataSo.pirateUnitStatDataList.Find(item => item.Idx == idx); -#endif } } \ No newline at end of file diff --git a/BlueWater/Assets/02.Scripts/Fish.cs b/BlueWater/Assets/02.Scripts/Fish.cs index 5e5733415..73ae49605 100644 --- a/BlueWater/Assets/02.Scripts/Fish.cs +++ b/BlueWater/Assets/02.Scripts/Fish.cs @@ -6,14 +6,6 @@ using UnityEngine; // ReSharper disable once CheckNamespace namespace BlueWaterProject { - public enum EscapeMode - { - NONE = -1, - STRAIGHT, - ZIGZAG, - TOWARDS - } - public class Fish : MonoBehaviour { // 초기화 방식 @@ -301,7 +293,7 @@ namespace BlueWaterProject if (isRespawn) { - FishManager.Inst.RespawnFish(gameObject, respawnTime, spawnPos); + //FishManager.Inst.RespawnFish(gameObject, respawnTime, spawnPos); } gameObject.SetActive(false); } diff --git a/BlueWater/Assets/02.Scripts/FishInfo.cs b/BlueWater/Assets/02.Scripts/FishInfo.cs new file mode 100644 index 000000000..ffd91f910 --- /dev/null +++ b/BlueWater/Assets/02.Scripts/FishInfo.cs @@ -0,0 +1,31 @@ +using System; +using UnityEngine; + +// ReSharper disable once CheckNamespace +namespace BlueWaterProject +{ + [Serializable] + public class FishInfo + { + [field: SerializeField] public string Name { get; private set; } + [field: SerializeField] public int Count { get; private set; } + + public FishInfo(string name, int count) + { + Name = name; + Count = count; + } + + public void AddCount(int? value = null) + { + if (value == null) + { + Count++; + } + else + { + Count += (int)value; + } + } + } +} \ No newline at end of file diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Combat/Action/DieOfCombat.cs.meta b/BlueWater/Assets/02.Scripts/FishInfo.cs.meta similarity index 83% rename from BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Combat/Action/DieOfCombat.cs.meta rename to BlueWater/Assets/02.Scripts/FishInfo.cs.meta index d454eab78..0dd48e681 100644 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Combat/Action/DieOfCombat.cs.meta +++ b/BlueWater/Assets/02.Scripts/FishInfo.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 248ee1686bf00ad43951a1296978b09d +guid: b3396bf949f48594b8c7bbe40d37dffa MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/BlueWater/Assets/02.Scripts/FishManager.cs b/BlueWater/Assets/02.Scripts/FishManager.cs deleted file mode 100644 index d4bc59854..000000000 --- a/BlueWater/Assets/02.Scripts/FishManager.cs +++ /dev/null @@ -1,22 +0,0 @@ -using System.Collections; -using UnityEngine; - -// ReSharper disable once CheckNamespace -namespace BlueWaterProject -{ - public class FishManager : Singleton - { - public void RespawnFish(GameObject fish, float delay, Vector3 respawnPos) - { - StartCoroutine(RespawnFishCoroutine(fish, delay, respawnPos)); - } - - private IEnumerator RespawnFishCoroutine(GameObject fish, float delay, Vector3 respawnPos) - { - yield return new WaitForSeconds(delay); - - fish.transform.position = respawnPos; - fish.SetActive(true); - } - } -} \ No newline at end of file diff --git a/BlueWater/Assets/02.Scripts/HouseInfo.cs b/BlueWater/Assets/02.Scripts/HouseInfo.cs index d74aee6d6..352d78e42 100644 --- a/BlueWater/Assets/02.Scripts/HouseInfo.cs +++ b/BlueWater/Assets/02.Scripts/HouseInfo.cs @@ -1,74 +1,74 @@ -using Sirenix.OdinInspector; -using UnityEngine; - -// ReSharper disable once CheckNamespace -namespace BlueWaterProject -{ - [SelectionBase] - public class HouseInfo : MonoBehaviour, IDamageable - { - #region Property and variable - - [SerializeField] private IslandInfo islandInfo; - - [SerializeField] private float maxHp = 500f; - - [DisableIf("@true")] - [SerializeField] private float currentHp; - - #endregion - - #region Unity built-in function - - private void Awake() - { - SetCurrentHp(maxHp); - } - - private void OnDisable() - { - RemoveIslandInfo(); - } - - #endregion - - #region Interface property and function - - public void TakeDamage(float attackerPower, Vector3? attackPos = null) - { - var changeHp = Mathf.Max(currentHp - attackerPower, 0); - SetCurrentHp(changeHp); - - // 건물 파괴 - if (changeHp == 0f) - { - Die(); - return; - } - } - - public void Die() - { - Destroy(gameObject); - RemoveIslandInfo(); - } - - #endregion - - #region Custom function - - private void RemoveIslandInfo() - { - if (islandInfo == null) return; - - islandInfo.RemoveListElement(islandInfo.HouseList, transform); - islandInfo.RemoveListElement(islandInfo.TargetAllList, transform); - } - - public float GetCurrentHp() => currentHp; - public void SetCurrentHp(float value) => currentHp = value; - public void SetIslandInfo(IslandInfo island) => islandInfo = island; - - #endregion - } -} \ No newline at end of file +// using Sirenix.OdinInspector; +// using UnityEngine; +// +// // ReSharper disable once CheckNamespace +// namespace BlueWaterProject +// { +// [SelectionBase] +// public class HouseInfo : MonoBehaviour, IDamageable +// { +// #region Property and variable +// +// [SerializeField] private IslandInfo islandInfo; +// +// [SerializeField] private float maxHp = 500f; +// +// [DisableIf("@true")] +// [SerializeField] private float currentHp; +// +// #endregion +// +// #region Unity built-in function +// +// private void Awake() +// { +// SetCurrentHp(maxHp); +// } +// +// private void OnDisable() +// { +// RemoveIslandInfo(); +// } +// +// #endregion +// +// #region Interface property and function +// +// public void TakeDamage(float attackerPower, Vector3? attackPos = null) +// { +// var changeHp = Mathf.Max(currentHp - attackerPower, 0); +// SetCurrentHp(changeHp); +// +// // 건물 파괴 +// if (changeHp == 0f) +// { +// Die(); +// return; +// } +// } +// +// public void Die() +// { +// Destroy(gameObject); +// RemoveIslandInfo(); +// } +// +// #endregion +// +// #region Custom function +// +// private void RemoveIslandInfo() +// { +// if (islandInfo == null) return; +// +// islandInfo.RemoveListElement(islandInfo.HouseList, transform); +// islandInfo.RemoveListElement(islandInfo.TargetAllList, transform); +// } +// +// public float GetCurrentHp() => currentHp; +// public void SetCurrentHp(float value) => currentHp = value; +// public void SetIslandInfo(IslandInfo island) => islandInfo = island; +// +// #endregion +// } +// } \ No newline at end of file diff --git a/BlueWater/Assets/02.Scripts/IslandInfo.cs b/BlueWater/Assets/02.Scripts/IslandInfo.cs index 8a6415b8f..cf5c35bc9 100644 --- a/BlueWater/Assets/02.Scripts/IslandInfo.cs +++ b/BlueWater/Assets/02.Scripts/IslandInfo.cs @@ -1,144 +1,144 @@ -using System.Collections.Generic; -using Cinemachine; -using Sirenix.OdinInspector; -using UnityEngine; - -// ReSharper disable once CheckNamespace -namespace BlueWaterProject -{ - public class IslandInfo : MonoBehaviour - { - #region Property and variable - - [field: SerializeField] public string IslandName { get; private set; } - - [field: SerializeField] public List HouseList { get; private set; } - - [field: SerializeField] public List TowerList { get; private set; } - - [field: SerializeField] public List UnitList { get; private set; } - - [field: SerializeField] public List EnemyList { get; private set; } - - [field: SerializeField] public List ExceptHouseList { get; private set; } - - [field: SerializeField] public List TargetAllList { get; private set; } - - [field: SerializeField] public CinemachineFreeLook IslandCam { get; private set; } - - #endregion - - #region Unity built-in Function - - private void Awake() - { - InitIslandInfo(); - } - - #endregion - - #region Custom function - - [GUIColor(0, 1, 0)] - [Button("섬 정보 추출")] - private void InitIslandInfo() - { - HouseList = new List(5); - var houses = transform.Find("Houses"); - if (houses && houses.gameObject.activeSelf) - { - foreach (Transform house in houses) - { - // if (!house.CompareTag("House") || !house.gameObject.activeSelf) continue; - // - // var houseInfo = house.GetComponent(); - // houseInfo.SetIslandInfo(this); - // HouseList.Add(houseInfo.transform); - } - } - - TowerList = new List(20); - var towers = transform.Find("Towers"); - if (towers && towers.gameObject.activeSelf) - { - foreach (Transform tower in towers) - { - if (!tower.CompareTag("Tower") || !tower.gameObject.activeSelf) continue; - - var towerAi = tower.GetComponent(); - towerAi.SetDefendingIslandInfo(this); - TowerList.Add(towerAi.transform); - } - } - - UnitList = new List(20); - EnemyList = new List(UnitList.Capacity * 16); - var units = transform.Find("Units"); - if (units && units.gameObject.activeSelf) - { - foreach (Transform unit in units) - { - if (!unit.CompareTag("Unit") || !unit.gameObject.activeSelf) continue; - - UnitList.Add(unit.GetComponent()); - } - - foreach (var unit in UnitList) - { - foreach (Transform enemy in unit.transform) - { - if (!enemy.gameObject.activeSelf) continue; - - var combatAi = enemy.GetComponent(); - combatAi.SetDefendingIslandInfo(this); - EnemyList.Add(enemy); - } - } - } - - ExceptHouseList = new List(TowerList.Capacity + EnemyList.Capacity); - foreach (var enemy in EnemyList) - { - ExceptHouseList.Add(enemy); - } - - foreach (var tower in TowerList) - { - ExceptHouseList.Add(tower); - } - - TargetAllList = new List(HouseList.Capacity + TowerList.Capacity + EnemyList.Capacity); - foreach (var enemy in EnemyList) - { - TargetAllList.Add(enemy); - } - - foreach (var house in HouseList) - { - TargetAllList.Add(house); - } - - foreach (var tower in TowerList) - { - TargetAllList.Add(tower); - } - - IslandCam = transform.Find("IslandCam").GetComponent(); - } - - public void RemoveListElement(List list, Transform element) - { - if (list.Contains(element)) - { - list.Remove(element); - } - - if (TargetAllList.Contains(element)) - { - TargetAllList.Remove(element); - } - } - - #endregion - } -} \ No newline at end of file +// using System.Collections.Generic; +// using Cinemachine; +// using Sirenix.OdinInspector; +// using UnityEngine; +// +// // ReSharper disable once CheckNamespace +// namespace BlueWaterProject +// { +// public class IslandInfo : MonoBehaviour +// { +// #region Property and variable +// +// [field: SerializeField] public string IslandName { get; private set; } +// +// [field: SerializeField] public List HouseList { get; private set; } +// +// [field: SerializeField] public List TowerList { get; private set; } +// +// [field: SerializeField] public List UnitList { get; private set; } +// +// [field: SerializeField] public List EnemyList { get; private set; } +// +// [field: SerializeField] public List ExceptHouseList { get; private set; } +// +// [field: SerializeField] public List TargetAllList { get; private set; } +// +// [field: SerializeField] public CinemachineFreeLook IslandCam { get; private set; } +// +// #endregion +// +// #region Unity built-in Function +// +// private void Awake() +// { +// InitIslandInfo(); +// } +// +// #endregion +// +// #region Custom function +// +// [GUIColor(0, 1, 0)] +// [Button("섬 정보 추출")] +// private void InitIslandInfo() +// { +// HouseList = new List(5); +// var houses = transform.Find("Houses"); +// if (houses && houses.gameObject.activeSelf) +// { +// foreach (Transform house in houses) +// { +// // if (!house.CompareTag("House") || !house.gameObject.activeSelf) continue; +// // +// // var houseInfo = house.GetComponent(); +// // houseInfo.SetIslandInfo(this); +// // HouseList.Add(houseInfo.transform); +// } +// } +// +// TowerList = new List(20); +// var towers = transform.Find("Towers"); +// if (towers && towers.gameObject.activeSelf) +// { +// foreach (Transform tower in towers) +// { +// if (!tower.CompareTag("Tower") || !tower.gameObject.activeSelf) continue; +// +// var towerAi = tower.GetComponent(); +// towerAi.SetDefendingIslandInfo(this); +// TowerList.Add(towerAi.transform); +// } +// } +// +// UnitList = new List(20); +// EnemyList = new List(UnitList.Capacity * 16); +// var units = transform.Find("Units"); +// if (units && units.gameObject.activeSelf) +// { +// foreach (Transform unit in units) +// { +// if (!unit.CompareTag("Unit") || !unit.gameObject.activeSelf) continue; +// +// UnitList.Add(unit.GetComponent()); +// } +// +// foreach (var unit in UnitList) +// { +// foreach (Transform enemy in unit.transform) +// { +// if (!enemy.gameObject.activeSelf) continue; +// +// var combatAi = enemy.GetComponent(); +// combatAi.SetDefendingIslandInfo(this); +// EnemyList.Add(enemy); +// } +// } +// } +// +// ExceptHouseList = new List(TowerList.Capacity + EnemyList.Capacity); +// foreach (var enemy in EnemyList) +// { +// ExceptHouseList.Add(enemy); +// } +// +// foreach (var tower in TowerList) +// { +// ExceptHouseList.Add(tower); +// } +// +// TargetAllList = new List(HouseList.Capacity + TowerList.Capacity + EnemyList.Capacity); +// foreach (var enemy in EnemyList) +// { +// TargetAllList.Add(enemy); +// } +// +// foreach (var house in HouseList) +// { +// TargetAllList.Add(house); +// } +// +// foreach (var tower in TowerList) +// { +// TargetAllList.Add(tower); +// } +// +// IslandCam = transform.Find("IslandCam").GetComponent(); +// } +// +// public void RemoveListElement(List list, Transform element) +// { +// if (list.Contains(element)) +// { +// list.Remove(element); +// } +// +// if (TargetAllList.Contains(element)) +// { +// TargetAllList.Remove(element); +// } +// } +// +// #endregion +// } +// } \ No newline at end of file diff --git a/BlueWater/Assets/02.Scripts/Player/Cannon.cs b/BlueWater/Assets/02.Scripts/Player/Cannon.cs index 729af1549..60eeeddf0 100644 --- a/BlueWater/Assets/02.Scripts/Player/Cannon.cs +++ b/BlueWater/Assets/02.Scripts/Player/Cannon.cs @@ -1,4 +1,3 @@ -using System; using Sirenix.OdinInspector; using UnityEngine; @@ -13,12 +12,17 @@ namespace BlueWaterProject [Title("캐논 변수")] [SerializeField] private GameObject projectileObj; [SerializeField] private Transform firePos; - [SerializeField] private float speed = 2000f; + [SerializeField] private float speed = 2000f; + [SerializeField] private float height = 50f; + [SerializeField] private Vector2 randomCatch = new(1, 4); [Title("캐논 발사 카메라 효과")] [SerializeField] private float cameraShakePower = 0.5f; [SerializeField] private float cameraShakeDuration = 0.5f; + private float cannonRadius; + private LayerMask boidsLayer; + private void Awake() { if (autoInit) @@ -32,13 +36,46 @@ namespace BlueWaterProject { projectileObj = Utils.LoadFromFolder("Assets/05.Prefabs/Particles/GrenadeFire", "GrenadeFireOBJ", ".prefab"); firePos = transform.Find("FirePos"); + cannonRadius = projectileObj.GetComponent()?.radius ?? + projectileObj.GetComponent().colliderRadius; + boidsLayer = LayerMask.GetMask("Boids"); } public void Fire(float chargingGauge) { VisualFeedbackManager.Inst.CameraShake(CameraManager.Inst.OceanCamera.BaseShipCam, cameraShakePower, cameraShakeDuration); var projectile = Instantiate(projectileObj, firePos.position, Quaternion.identity); + var particleWeapon = projectile.GetComponent(); + particleWeapon.onHitAction.AddListener(HandleCannonHit); projectile.GetComponent().AddForce(transform.forward * (chargingGauge * speed)); } + + private void HandleCannonHit(RaycastHit hit, float power) + { + if (hit.collider.gameObject.layer == LayerMask.NameToLayer("Water")) + { + var start = hit.point; + var direction = Vector3.down; + var radius = cannonRadius; + var maxDistance = height; + + if (Physics.SphereCast(start, radius, direction, out var hitInfo, maxDistance, + boidsLayer, QueryTriggerInteraction.Collide)) + { + Debug.DrawRay(start, direction * height, Color.green, 3f); + + var hitBoids = hitInfo.collider.GetComponentInParent(); + hitBoids.CatchBoid(Random.Range((int)randomCatch.x, (int)randomCatch.y)); + } + else + { + Debug.DrawRay(start, direction * height, Color.red, 3f); + } + } + else + { + hit.transform.GetComponent()?.TakeDamage(power); + } + } } } diff --git a/BlueWater/Assets/02.Scripts/PlayerInventory.cs b/BlueWater/Assets/02.Scripts/PlayerInventory.cs new file mode 100644 index 000000000..a08064440 --- /dev/null +++ b/BlueWater/Assets/02.Scripts/PlayerInventory.cs @@ -0,0 +1,33 @@ +using System; +using System.Collections.Generic; +using UnityEngine; + +// ReSharper disable once CheckNamespace +namespace BlueWaterProject +{ + [Serializable] + public class PlayerInventory + { + [SerializeField] private List fishInfoList = new(); + + public void AddFish(string name, int? count = null) + { + var existingFish = fishInfoList.Find(fish => fish.Name == name); + + if (existingFish != null) + { + existingFish.AddCount(count); + } + else + { + fishInfoList.Add(new FishInfo(name, 1)); + } + } + + public int GetFishCount(string name) + { + var fish = fishInfoList.Find(f => f.Name == name); + return fish?.Count ?? 0; + } + } +} \ No newline at end of file diff --git a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Action/AttackOfEnemy.cs.meta b/BlueWater/Assets/02.Scripts/PlayerInventory.cs.meta similarity index 83% rename from BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Action/AttackOfEnemy.cs.meta rename to BlueWater/Assets/02.Scripts/PlayerInventory.cs.meta index c91c51dd6..f8dfa6da8 100644 --- a/BlueWater/Assets/02.Scripts/Ai/BehaviorTree/Task/Enemy/Action/AttackOfEnemy.cs.meta +++ b/BlueWater/Assets/02.Scripts/PlayerInventory.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: f3c05fd3087c0bb479afcc8212a74cc1 +guid: 86bee5f9ca6648b4f84099ee45b8df5a MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/BlueWater/Assets/02.Scripts/Utility/Utils.cs b/BlueWater/Assets/02.Scripts/Utility/Utils.cs index bdd17459a..265d59185 100644 --- a/BlueWater/Assets/02.Scripts/Utility/Utils.cs +++ b/BlueWater/Assets/02.Scripts/Utility/Utils.cs @@ -90,33 +90,6 @@ namespace BlueWaterProject UnityEngine.Debug.Log($"Call {className}.{methodName}"); } - public static float CalcDamage(float attackerPower, float attackerShieldPenetrationRate, EnemyStat defender) - { - var finalDamage = 0f; - - if (defender.UsingShield) - { - var penetrationChance = attackerShieldPenetrationRate - - (attackerShieldPenetrationRate * defender.PenetrationResistivity * 0.01f); - - // 방패를 관통했다면, - if (Random.Range(0, 100) < penetrationChance) - { - finalDamage = attackerPower - defender.Def; - finalDamage = Mathf.Max(finalDamage, 0); - return finalDamage; - } - - // 방패를 관통하지 못 함 - return 0; - } - - finalDamage = attackerPower - defender.Def; - finalDamage = Mathf.Max(finalDamage, 0); - - return finalDamage; - } - public static IEnumerator CoolDown(float waitTime, Action onCooldownComplete = null) { var time = 0f; diff --git a/BlueWater/Assets/02.Scripts/Weapon/ParticleWeapon.cs b/BlueWater/Assets/02.Scripts/Weapon/ParticleWeapon.cs index c35e88384..ff166a79a 100644 --- a/BlueWater/Assets/02.Scripts/Weapon/ParticleWeapon.cs +++ b/BlueWater/Assets/02.Scripts/Weapon/ParticleWeapon.cs @@ -1,6 +1,8 @@ using System; using System.Collections; +using Sirenix.OdinInspector; using UnityEngine; +using UnityEngine.Events; // ReSharper disable once CheckNamespace namespace BlueWaterProject @@ -15,9 +17,14 @@ namespace BlueWaterProject [Range(0f, 1f)] // This is an offset that moves the impact effect slightly away from the point of impact to reduce clipping of the impact effect public float collideOffset = 0.15f; + [Title("Extensions Data")] [SerializeField] private LayerMask targetLayer; + [SerializeField] private bool useAutoDestroy = true; + [ShowIf("@useAutoDestroy")] [SerializeField] private float autoDestroyTime = 5f; + public UnityEvent onHitAction; + private float power; private float detectionDistance; @@ -42,20 +49,18 @@ namespace BlueWaterProject waitForSeconds = new WaitForSeconds(autoDestroyTime); } - private void OnDestroy() - { - StopAllCoroutines(); - } - private void Start() { - StartCoroutine(nameof(AutoDestroy)); + if (useAutoDestroy) + { + StartCoroutine(nameof(AutoDestroy)); + } - projectileParticle = Instantiate(projectileParticle, transform.position, transform.rotation, transform) as GameObject; + projectileParticle = Instantiate(projectileParticle, transform.position, transform.rotation) as GameObject; projectileParticle.transform.parent = transform; if (muzzleParticle) { - muzzleParticle = Instantiate(muzzleParticle, transform.position, transform.rotation, transform) as GameObject; + muzzleParticle = Instantiate(muzzleParticle, transform.position, transform.rotation) as GameObject; Destroy(muzzleParticle, 1.5f); // 2nd parameter is lifetime of effect in seconds } } @@ -64,7 +69,7 @@ namespace BlueWaterProject { if (rb.velocity.magnitude != 0) { - //transform.rotation = Quaternion.LookRotation(rb.velocity); // Sets rotation to look at direction of movement + transform.rotation = Quaternion.LookRotation(rb.velocity); // Sets rotation to look at direction of movement } float radius; // Sets the radius of the collision detection @@ -83,7 +88,7 @@ namespace BlueWaterProject if (Physics.SphereCast(transform.position, radius, direction, out var hit, detectionDistance, targetLayer)) // Checks if collision will happen { transform.position = hit.point + (hit.normal * collideOffset); // Move projectile to point of collision - var impactP = Instantiate(impactParticle, transform.position, Quaternion.FromToRotation(Vector3.up, hit.normal), transform) as GameObject; // Spawns impact effect + var impactP = Instantiate(impactParticle, transform.position, Quaternion.FromToRotation(Vector3.up, hit.normal)) as GameObject; // Spawns impact effect var trails = GetComponentsInChildren(); // Gets a list of particle systems, as we need to detach the trails //Component at [0] is that of the parent i.e. this object (if there is any) @@ -98,11 +103,18 @@ namespace BlueWaterProject } } + if (onHitAction == null) + { + hit.transform.GetComponent()?.TakeDamage(power); + } + else + { + onHitAction.Invoke(hit, power); + } + Destroy(projectileParticle, 3f); // Removes particle effect after delay Destroy(impactP, 3.5f); // Removes impact effect after delay Destroy(gameObject); // Removes the projectile - - hit.transform.GetComponent()?.TakeDamage(power); } } diff --git a/BlueWater/Assets/05.Prefabs/Boids/Boid.prefab b/BlueWater/Assets/05.Prefabs/Boids/Boid.prefab index c423ec96e..08d722462 100644 --- a/BlueWater/Assets/05.Prefabs/Boids/Boid.prefab +++ b/BlueWater/Assets/05.Prefabs/Boids/Boid.prefab @@ -11,7 +11,7 @@ GameObject: - component: {fileID: 4874816205509271808} - component: {fileID: 5402562142639805275} - component: {fileID: 2102284208022651341} - m_Layer: 15 + m_Layer: 16 m_Name: Boid m_TagString: Untagged m_Icon: {fileID: 0} @@ -46,13 +46,18 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: b5a4bdb4c510d354687a785c3f642878, type: 3} m_Name: m_EditorClassIdentifier: + k__BackingField: + k__BackingField: "\uACE0\uB4F1\uC5B4" + k__BackingField: 0 + k__BackingField: {x: 1, y: 4} obstacleDistance: 10 viewAngle: 120 maxNeighbourCount: 10 neighbourDistance: 6 + avoidAdditionalSpeed: 10 boidUnitLayer: serializedVersion: 2 - m_Bits: 32768 + m_Bits: 65536 obstacleLayer: serializedVersion: 2 m_Bits: 2097672 diff --git a/BlueWater/Assets/05.Prefabs/Boids/Boids.prefab b/BlueWater/Assets/05.Prefabs/Boids/Boids.prefab index b7a3c42ba..8f10eddaa 100644 --- a/BlueWater/Assets/05.Prefabs/Boids/Boids.prefab +++ b/BlueWater/Assets/05.Prefabs/Boids/Boids.prefab @@ -11,7 +11,8 @@ GameObject: - component: {fileID: 2854089398056668840} - component: {fileID: 3243186087995758770} - component: {fileID: 2486807546603369919} - m_Layer: 0 + - component: {fileID: 5287364424603291167} + m_Layer: 15 m_Name: Bounds m_TagString: Untagged m_Icon: {fileID: 0} @@ -30,7 +31,8 @@ Transform: m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 30, y: 10, z: 30} m_ConstrainProportionsScale: 0 - m_Children: [] + m_Children: + - {fileID: 2146763844810315378} m_Father: {fileID: 1800824703194841433} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &3243186087995758770 @@ -83,6 +85,27 @@ MeshRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_AdditionalVertexStreams: {fileID: 0} +--- !u!65 &5287364424603291167 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2441661978531314766} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 1 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} --- !u!1 &4541625270423798677 GameObject: m_ObjectHideFlags: 0 @@ -131,12 +154,121 @@ MonoBehaviour: boidPrefab: {fileID: 5402562142639805275, guid: 1294b74a61e4faa49a0fb449956b4fda, type: 3} boidCount: 5 - spawnRange: 10 k__BackingField: {x: 5, y: 10} + spawnRange: 10 + isAutoRespawn: 1 + randomRespawnTime: {x: 10, y: 20} k__BackingField: 1.5 k__BackingField: 3 k__BackingField: 1 k__BackingField: 10 k__BackingField: 10 k__BackingField: 1 + isDrawGizmos: 1 + viewRadius: 10 + moveSpd: 5 + isRandomAngle: 1 + randomAngle: 180 + rescanTime: 0.5 + escapeTime: 10 + isDirectionChange: 0 + randomDirectionChangeInterval: {x: 0.5, y: 3} + escapeMode: 0 + randomZigzagAmplitude: {x: 0.1, y: 1} + randomZigzagFrequency: {x: 0.1, y: 1} showBounds: 1 + waterEffect: {fileID: 2241177576128467428} + showWaterEffect: 1 + waterEffectOffset: {x: 0, y: 0.5, z: 0} + boidList: [] + hitColliders: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + targetLayer: + serializedVersion: 2 + m_Bits: 512 + waterLayer: + serializedVersion: 2 + m_Bits: 16 +--- !u!1001 &2151588411453636044 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 2854089398056668840} + m_Modifications: + - target: {fileID: 1412271066197182, guid: 35fe9aead25a440468b5c2bf0da0c019, type: 3} + propertyPath: m_Name + value: WaterfallSoft + objectReference: {fileID: 0} + - target: {fileID: 4833545274551230, guid: 35fe9aead25a440468b5c2bf0da0c019, type: 3} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4833545274551230, guid: 35fe9aead25a440468b5c2bf0da0c019, type: 3} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4833545274551230, guid: 35fe9aead25a440468b5c2bf0da0c019, type: 3} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4833545274551230, guid: 35fe9aead25a440468b5c2bf0da0c019, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4833545274551230, guid: 35fe9aead25a440468b5c2bf0da0c019, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4833545274551230, guid: 35fe9aead25a440468b5c2bf0da0c019, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4833545274551230, guid: 35fe9aead25a440468b5c2bf0da0c019, type: 3} + propertyPath: m_LocalRotation.w + value: 0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 4833545274551230, guid: 35fe9aead25a440468b5c2bf0da0c019, type: 3} + propertyPath: m_LocalRotation.x + value: -0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 4833545274551230, guid: 35fe9aead25a440468b5c2bf0da0c019, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4833545274551230, guid: 35fe9aead25a440468b5c2bf0da0c019, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4833545274551230, guid: 35fe9aead25a440468b5c2bf0da0c019, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: -90 + objectReference: {fileID: 0} + - target: {fileID: 4833545274551230, guid: 35fe9aead25a440468b5c2bf0da0c019, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4833545274551230, guid: 35fe9aead25a440468b5c2bf0da0c019, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 35fe9aead25a440468b5c2bf0da0c019, type: 3} +--- !u!4 &2146763844810315378 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 4833545274551230, guid: 35fe9aead25a440468b5c2bf0da0c019, + type: 3} + m_PrefabInstance: {fileID: 2151588411453636044} + m_PrefabAsset: {fileID: 0} +--- !u!198 &2241177576128467428 stripped +ParticleSystem: + m_CorrespondingSourceObject: {fileID: 198643693974924328, guid: 35fe9aead25a440468b5c2bf0da0c019, + type: 3} + m_PrefabInstance: {fileID: 2151588411453636044} + m_PrefabAsset: {fileID: 0} diff --git a/BlueWater/Assets/05.Prefabs/Particles/GrenadeFire/GrenadeFireOBJ.prefab b/BlueWater/Assets/05.Prefabs/Particles/GrenadeFire/GrenadeFireOBJ.prefab index 974298a28..ceef59023 100644 --- a/BlueWater/Assets/05.Prefabs/Particles/GrenadeFire/GrenadeFireOBJ.prefab +++ b/BlueWater/Assets/05.Prefabs/Particles/GrenadeFire/GrenadeFireOBJ.prefab @@ -11,7 +11,7 @@ GameObject: - component: {fileID: 450904} - component: {fileID: 13576440} - component: {fileID: 5479992} - - component: {fileID: 11464288} + - component: {fileID: 7590616447448401593} m_Layer: 25 m_Name: GrenadeFireOBJ m_TagString: Missile @@ -82,7 +82,7 @@ Rigidbody: m_Interpolate: 1 m_Constraints: 0 m_CollisionDetection: 0 ---- !u!114 &11464288 +--- !u!114 &7590616447448401593 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -91,7 +91,7 @@ MonoBehaviour: m_GameObject: {fileID: 128572} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: acd27932048c3254597a02078fa2cb26, type: 3} + m_Script: {fileID: 11500000, guid: 289299db27a030e4eaf9e2e8486f4afc, type: 3} m_Name: m_EditorClassIdentifier: impactParticle: {fileID: 180702, guid: c77dffb15f639694ea8f1002f0c966cf, type: 3} @@ -101,3 +101,23 @@ MonoBehaviour: type: 3} colliderRadius: 0.1 collideOffset: 0.1 + targetLayer: + serializedVersion: 2 + m_Bits: 2097176 + useAutoDestroy: 1 + autoDestroyTime: 10 + onHitAction: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 0} + m_TargetAssemblyTypeName: + m_MethodName: + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 diff --git a/BlueWater/Assets/05.Prefabs/Particles/Waterfall Impact Ripples.prefab b/BlueWater/Assets/05.Prefabs/Particles/Waterfall Impact Ripples.prefab new file mode 100644 index 000000000..9a57a8d70 --- /dev/null +++ b/BlueWater/Assets/05.Prefabs/Particles/Waterfall Impact Ripples.prefab @@ -0,0 +1,5028 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &8152618253768758002 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8152618253768758015} + - component: {fileID: 1599035731892804723} + - component: {fileID: 8152618253768758013} + - component: {fileID: 8152618253768758012} + m_Layer: 0 + m_Name: Waterfall Impact Ripples + m_TagString: Untagged + m_Icon: {fileID: 2800000, guid: d9853b2780ac1bc49a300a188b57db58, type: 3} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8152618253768758015 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8152618253768758002} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2872933871037416439} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1599035731892804723 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8152618253768758002} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 645a11af7b8747e0a436cd353263b8f1, type: 3} + m_Name: + m_EditorClassIdentifier: + renderer: {fileID: 8152618253768758013} + sortingLayer: 0 + displacementScale: 1 + foamAmount: 0.5 + normalStrength: 1 +--- !u!199 &8152618253768758013 +ParticleSystemRenderer: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8152618253768758002} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: e4bc1642bfbe8c242a808eb3bee56f37, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_RenderMode: 4 + m_MeshDistribution: 0 + m_SortMode: 0 + m_MinParticleSize: 0 + m_MaxParticleSize: 1 + m_CameraVelocityScale: 0 + m_VelocityScale: 0 + m_LengthScale: 2 + m_SortingFudge: 0 + m_NormalDirection: 1 + m_ShadowBias: 0 + m_RenderAlignment: 1 + m_Pivot: {x: 0, y: 0, z: 0} + m_Flip: {x: 0, y: 0, z: 0} + m_UseCustomVertexStreams: 0 + m_EnableGPUInstancing: 1 + m_ApplyActiveColorSpace: 1 + m_AllowRoll: 1 + m_FreeformStretching: 0 + m_RotateWithStretchDirection: 1 + m_VertexStreams: 00010304 + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} + m_Mesh1: {fileID: 0} + m_Mesh2: {fileID: 0} + m_Mesh3: {fileID: 0} + m_MeshWeighting: 1 + m_MeshWeighting1: 1 + m_MeshWeighting2: 1 + m_MeshWeighting3: 1 + m_MaskInteraction: 0 +--- !u!198 &8152618253768758012 +ParticleSystem: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8152618253768758002} + serializedVersion: 8 + lengthInSec: 2 + simulationSpeed: 1 + stopAction: 0 + cullingMode: 0 + ringBufferMode: 0 + ringBufferLoopRange: {x: 0, y: 1} + emitterVelocityMode: 1 + looping: 1 + prewarm: 1 + playOnAwake: 1 + useUnscaledTime: 0 + autoRandomSeed: 1 + startDelay: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + moveWithTransform: 1 + moveWithCustomTransform: {fileID: 0} + scalingMode: 0 + randomSeed: 0 + InitialModule: + serializedVersion: 3 + enabled: 1 + startLifetime: + serializedVersion: 2 + minMaxState: 0 + scalar: 3 + minScalar: 5 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + startSpeed: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 5 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + startColor: + serializedVersion: 2 + minMaxState: 0 + minColor: {r: 1, g: 1, b: 1, a: 1} + maxColor: {r: 1, g: 1, b: 1, a: 1} + maxGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + minGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + startSize: + serializedVersion: 2 + minMaxState: 0 + scalar: 80 + minScalar: 15 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + startSizeY: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + startSizeZ: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + startRotationX: + serializedVersion: 2 + minMaxState: 0 + scalar: 1.5707963 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + startRotationY: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + startRotation: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + randomizeRotationDirection: 0 + gravitySource: 0 + maxNumParticles: 1000 + customEmitterVelocity: {x: 0, y: 0, z: 0} + size3D: 0 + rotation3D: 1 + gravityModifier: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + ShapeModule: + serializedVersion: 6 + enabled: 1 + type: 10 + angle: 25 + length: 5 + boxThickness: {x: 0, y: 0, z: 0} + radiusThickness: 0.77 + donutRadius: 0.2 + m_Position: {x: 0, y: 0, z: 0} + m_Rotation: {x: -90, y: 0, z: 0} + m_Scale: {x: 5, y: 5, z: 2} + placementMode: 0 + m_MeshMaterialIndex: 0 + m_MeshNormalOffset: 0 + m_MeshSpawn: + mode: 0 + spread: 0 + speed: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_Mesh: {fileID: 0} + m_MeshRenderer: {fileID: 0} + m_SkinnedMeshRenderer: {fileID: 0} + m_Sprite: {fileID: 0} + m_SpriteRenderer: {fileID: 0} + m_UseMeshMaterialIndex: 0 + m_UseMeshColors: 1 + alignToDirection: 0 + m_Texture: {fileID: 0} + m_TextureClipChannel: 3 + m_TextureClipThreshold: 0 + m_TextureUVChannel: 0 + m_TextureColorAffectsParticles: 1 + m_TextureAlphaAffectsParticles: 1 + m_TextureBilinearFiltering: 0 + randomDirectionAmount: 0 + sphericalDirectionAmount: 0 + randomPositionAmount: 0 + radius: + value: 1 + mode: 0 + spread: 0 + speed: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + arc: + value: 360 + mode: 0 + spread: 0 + speed: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + EmissionModule: + enabled: 1 + serializedVersion: 4 + rateOverTime: + serializedVersion: 2 + minMaxState: 0 + scalar: 6 + minScalar: 10 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + rateOverDistance: + serializedVersion: 2 + minMaxState: 3 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_BurstCount: 0 + m_Bursts: [] + SizeModule: + enabled: 1 + curve: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0.198466 + outSlope: 0.198466 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.13526568 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 2.3055806 + outSlope: 2.3055806 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.1135267 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + y: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 1 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 1 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + z: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 1 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 1 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + separateAxes: 0 + RotationModule: + enabled: 0 + x: + serializedVersion: 2 + minMaxState: 3 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + y: + serializedVersion: 2 + minMaxState: 3 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + curve: + serializedVersion: 2 + minMaxState: 3 + scalar: -0.7853981 + minScalar: 0.7853982 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + separateAxes: 0 + ColorModule: + enabled: 1 + gradient: + serializedVersion: 2 + minMaxState: 1 + minColor: {r: 1, g: 1, b: 1, a: 1} + maxColor: {r: 1, g: 1, b: 1, a: 1} + maxGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 0} + key2: {r: 1, g: 0, b: 1, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 65535 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65361 + atime2: 65361 + atime3: 65361 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + minGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + UVModule: + serializedVersion: 2 + enabled: 0 + mode: 0 + timeMode: 0 + fps: 30 + frameOverTime: + serializedVersion: 2 + minMaxState: 1 + scalar: 0.9999 + minScalar: 0.9999 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 1 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 1 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + startFrame: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + speedRange: {x: 0, y: 1} + tilesX: 1 + tilesY: 1 + animationType: 0 + rowIndex: 0 + cycles: 1 + uvChannelMask: -1 + rowMode: 1 + sprites: + - sprite: {fileID: 0} + flipU: 0 + flipV: 0 + VelocityModule: + enabled: 0 + x: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + y: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + z: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + orbitalX: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + orbitalY: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + orbitalZ: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + orbitalOffsetX: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + orbitalOffsetY: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + orbitalOffsetZ: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + radial: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + speedModifier: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + inWorldSpace: 0 + InheritVelocityModule: + enabled: 0 + m_Mode: 0 + m_Curve: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + LifetimeByEmitterSpeedModule: + enabled: 0 + m_Curve: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: -0.8 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0.2 + inSlope: -0.8 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_Range: {x: 0, y: 1} + ForceModule: + enabled: 0 + x: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + y: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + z: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + inWorldSpace: 0 + randomizePerFrame: 0 + ExternalForcesModule: + serializedVersion: 2 + enabled: 0 + multiplierCurve: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + influenceFilter: 0 + influenceMask: + serializedVersion: 2 + m_Bits: 4294967295 + influenceList: [] + ClampVelocityModule: + enabled: 0 + x: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + y: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + z: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + magnitude: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + separateAxis: 0 + inWorldSpace: 0 + multiplyDragByParticleSize: 1 + multiplyDragByParticleVelocity: 1 + dampen: 0 + drag: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + NoiseModule: + enabled: 0 + strength: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + strengthY: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + strengthZ: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + separateAxes: 0 + frequency: 0.5 + damping: 1 + octaves: 1 + octaveMultiplier: 0.5 + octaveScale: 2 + quality: 2 + scrollSpeed: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remap: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: -1 + inSlope: 0 + outSlope: 2 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 2 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remapY: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: -1 + inSlope: 0 + outSlope: 2 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 2 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remapZ: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: -1 + inSlope: 0 + outSlope: 2 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 2 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remapEnabled: 0 + positionAmount: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + rotationAmount: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + sizeAmount: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + SizeBySpeedModule: + enabled: 0 + curve: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 1 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 1 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + y: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 1 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 1 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + z: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 1 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 1 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + range: {x: 0, y: 1} + separateAxes: 0 + RotationBySpeedModule: + enabled: 0 + x: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + y: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + curve: + serializedVersion: 2 + minMaxState: 0 + scalar: 0.7853982 + minScalar: 0.7853982 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + separateAxes: 0 + range: {x: 0, y: 1} + ColorBySpeedModule: + enabled: 0 + gradient: + serializedVersion: 2 + minMaxState: 1 + minColor: {r: 1, g: 1, b: 1, a: 1} + maxColor: {r: 1, g: 1, b: 1, a: 1} + maxGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + minGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + range: {x: 0, y: 1} + CollisionModule: + enabled: 0 + serializedVersion: 4 + type: 0 + collisionMode: 0 + colliderForce: 0 + multiplyColliderForceByParticleSize: 0 + multiplyColliderForceByParticleSpeed: 0 + multiplyColliderForceByCollisionAngle: 1 + m_Planes: [] + m_Dampen: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_Bounce: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_EnergyLossOnCollision: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minKillSpeed: 0 + maxKillSpeed: 10000 + radiusScale: 1 + collidesWith: + serializedVersion: 2 + m_Bits: 4294967295 + maxCollisionShapes: 256 + quality: 0 + voxelSize: 0.5 + collisionMessages: 0 + collidesWithDynamic: 1 + interiorCollisions: 0 + TriggerModule: + enabled: 0 + serializedVersion: 2 + inside: 1 + outside: 0 + enter: 0 + exit: 0 + colliderQueryMode: 0 + radiusScale: 1 + primitives: [] + SubModule: + serializedVersion: 2 + enabled: 0 + subEmitters: + - serializedVersion: 3 + emitter: {fileID: 0} + type: 0 + properties: 0 + emitProbability: 1 + LightsModule: + enabled: 0 + ratio: 0 + light: {fileID: 0} + randomDistribution: 1 + color: 1 + range: 1 + intensity: 1 + rangeCurve: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + intensityCurve: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + maxLights: 20 + TrailModule: + enabled: 0 + mode: 0 + ratio: 1 + lifetime: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minVertexDistance: 0.2 + textureMode: 0 + textureScale: {x: 1, y: 1} + ribbonCount: 1 + shadowBias: 0.5 + worldSpace: 0 + dieWithParticles: 1 + sizeAffectsWidth: 1 + sizeAffectsLifetime: 0 + inheritParticleColor: 1 + generateLightingData: 0 + splitSubEmitterRibbons: 0 + attachRibbonsToTransform: 0 + colorOverLifetime: + serializedVersion: 2 + minMaxState: 0 + minColor: {r: 1, g: 1, b: 1, a: 1} + maxColor: {r: 1, g: 1, b: 1, a: 1} + maxGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + minGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + widthOverTrail: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + colorOverTrail: + serializedVersion: 2 + minMaxState: 0 + minColor: {r: 1, g: 1, b: 1, a: 1} + maxColor: {r: 1, g: 1, b: 1, a: 1} + maxGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + minGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + CustomDataModule: + enabled: 0 + mode0: 0 + vectorComponentCount0: 4 + color0: + serializedVersion: 2 + minMaxState: 0 + minColor: {r: 1, g: 1, b: 1, a: 1} + maxColor: {r: 1, g: 1, b: 1, a: 1} + maxGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + minGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + colorLabel0: Color + vector0_0: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + vectorLabel0_0: X + vector0_1: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + vectorLabel0_1: Y + vector0_2: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + vectorLabel0_2: Z + vector0_3: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + vectorLabel0_3: W + mode1: 0 + vectorComponentCount1: 4 + color1: + serializedVersion: 2 + minMaxState: 0 + minColor: {r: 1, g: 1, b: 1, a: 1} + maxColor: {r: 1, g: 1, b: 1, a: 1} + maxGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + minGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + colorLabel1: Color + vector1_0: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + vectorLabel1_0: X + vector1_1: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + vectorLabel1_1: Y + vector1_2: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + vectorLabel1_2: Z + vector1_3: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + vectorLabel1_3: W +--- !u!1001 &486016458145485687 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 8152618253768758015} + m_Modifications: + - target: {fileID: 2404952191038050432, guid: ba7423467677dd4419f734e5813b0e04, + type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2404952191038050432, guid: ba7423467677dd4419f734e5813b0e04, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2404952191038050432, guid: ba7423467677dd4419f734e5813b0e04, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2404952191038050432, guid: ba7423467677dd4419f734e5813b0e04, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2404952191038050432, guid: ba7423467677dd4419f734e5813b0e04, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2404952191038050432, guid: ba7423467677dd4419f734e5813b0e04, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2404952191038050432, guid: ba7423467677dd4419f734e5813b0e04, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2404952191038050432, guid: ba7423467677dd4419f734e5813b0e04, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2404952191038050432, guid: ba7423467677dd4419f734e5813b0e04, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2404952191038050432, guid: ba7423467677dd4419f734e5813b0e04, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2404952191038050432, guid: ba7423467677dd4419f734e5813b0e04, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5536536999018843107, guid: ba7423467677dd4419f734e5813b0e04, + type: 3} + propertyPath: looping + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5536536999018843107, guid: ba7423467677dd4419f734e5813b0e04, + type: 3} + propertyPath: prewarm + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5536536999018843107, guid: ba7423467677dd4419f734e5813b0e04, + type: 3} + propertyPath: ShapeModule.type + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 5536536999018843107, guid: ba7423467677dd4419f734e5813b0e04, + type: 3} + propertyPath: ShapeModule.m_Scale.x + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 5536536999018843107, guid: ba7423467677dd4419f734e5813b0e04, + type: 3} + propertyPath: ShapeModule.m_Scale.y + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 5536536999018843107, guid: ba7423467677dd4419f734e5813b0e04, + type: 3} + propertyPath: ShapeModule.m_Scale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5536536999018843107, guid: ba7423467677dd4419f734e5813b0e04, + type: 3} + propertyPath: ShapeModule.m_Rotation.x + value: -90 + objectReference: {fileID: 0} + - target: {fileID: 5536536999018843107, guid: ba7423467677dd4419f734e5813b0e04, + type: 3} + propertyPath: ShapeModule.radius.value + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 5536536999018843107, guid: ba7423467677dd4419f734e5813b0e04, + type: 3} + propertyPath: EmissionModule.m_BurstCount + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5536536999018843107, guid: ba7423467677dd4419f734e5813b0e04, + type: 3} + propertyPath: ShapeModule.radiusThickness + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5536536999018843107, guid: ba7423467677dd4419f734e5813b0e04, + type: 3} + propertyPath: ShapeModule.alignToDirection + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5536536999018843107, guid: ba7423467677dd4419f734e5813b0e04, + type: 3} + propertyPath: InitialModule.startSize.scalar + value: 6 + objectReference: {fileID: 0} + - target: {fileID: 5536536999018843107, guid: ba7423467677dd4419f734e5813b0e04, + type: 3} + propertyPath: InitialModule.startSpeed.scalar + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 5536536999018843107, guid: ba7423467677dd4419f734e5813b0e04, + type: 3} + propertyPath: InitialModule.startSize.minScalar + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 5536536999018843107, guid: ba7423467677dd4419f734e5813b0e04, + type: 3} + propertyPath: EmissionModule.m_Bursts.Array.size + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5536536999018843107, guid: ba7423467677dd4419f734e5813b0e04, + type: 3} + propertyPath: EmissionModule.rateOverTime.scalar + value: 50 + objectReference: {fileID: 0} + - target: {fileID: 5536536999018843107, guid: ba7423467677dd4419f734e5813b0e04, + type: 3} + propertyPath: InitialModule.startSize.minMaxState + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 5536536999018843107, guid: ba7423467677dd4419f734e5813b0e04, + type: 3} + propertyPath: InitialModule.startSizeY.minMaxState + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 5536536999018843107, guid: ba7423467677dd4419f734e5813b0e04, + type: 3} + propertyPath: InitialModule.startSizeZ.minMaxState + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 5536536999018843107, guid: ba7423467677dd4419f734e5813b0e04, + type: 3} + propertyPath: ShapeModule.sphericalDirectionAmount + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6368794708589763152, guid: ba7423467677dd4419f734e5813b0e04, + type: 3} + propertyPath: m_Name + value: Waterfall Impact Splashes + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: ba7423467677dd4419f734e5813b0e04, type: 3} +--- !u!4 &2872933871037416439 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 2404952191038050432, guid: ba7423467677dd4419f734e5813b0e04, + type: 3} + m_PrefabInstance: {fileID: 486016458145485687} + m_PrefabAsset: {fileID: 0} diff --git a/BlueWater/Assets/Distant Lands/Cozy Weather/Custom Render Pipelines/Import for Buto Integration.unitypackage.meta b/BlueWater/Assets/05.Prefabs/Particles/Waterfall Impact Ripples.prefab.meta similarity index 63% rename from BlueWater/Assets/Distant Lands/Cozy Weather/Custom Render Pipelines/Import for Buto Integration.unitypackage.meta rename to BlueWater/Assets/05.Prefabs/Particles/Waterfall Impact Ripples.prefab.meta index de4e3b6b0..6fa471d9a 100644 --- a/BlueWater/Assets/Distant Lands/Cozy Weather/Custom Render Pipelines/Import for Buto Integration.unitypackage.meta +++ b/BlueWater/Assets/05.Prefabs/Particles/Waterfall Impact Ripples.prefab.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: f5789d13135b86645a366dac6583d1cd -DefaultImporter: +guid: 28c598a973e8429478ee208996f083ee +PrefabImporter: externalObjects: {} userData: assetBundleName: diff --git a/BlueWater/Assets/05.Prefabs/Particles/WaterfallSoft.prefab b/BlueWater/Assets/05.Prefabs/Particles/WaterfallSoft.prefab new file mode 100644 index 000000000..849631485 --- /dev/null +++ b/BlueWater/Assets/05.Prefabs/Particles/WaterfallSoft.prefab @@ -0,0 +1,4779 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1412271066197182 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4833545274551230} + - component: {fileID: 198643693974924328} + - component: {fileID: 199474699984605610} + m_Layer: 0 + m_Name: WaterfallSoft + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4833545274551230 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1412271066197182} + serializedVersion: 2 + m_LocalRotation: {x: -0.7071068, y: 0, z: 0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: -90, y: 0, z: 0} +--- !u!198 &198643693974924328 +ParticleSystem: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1412271066197182} + serializedVersion: 8 + lengthInSec: 2 + simulationSpeed: 1 + stopAction: 0 + cullingMode: 1 + ringBufferMode: 0 + ringBufferLoopRange: {x: 0, y: 1} + emitterVelocityMode: 0 + looping: 1 + prewarm: 0 + playOnAwake: 1 + useUnscaledTime: 0 + autoRandomSeed: 1 + startDelay: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + moveWithTransform: 0 + moveWithCustomTransform: {fileID: 0} + scalingMode: 0 + randomSeed: 0 + InitialModule: + serializedVersion: 3 + enabled: 1 + startLifetime: + serializedVersion: 2 + minMaxState: 3 + scalar: 0.65 + minScalar: 0.55 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.8461539 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + startSpeed: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 5 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + startColor: + serializedVersion: 2 + minMaxState: 0 + minColor: {r: 1, g: 1, b: 1, a: 1} + maxColor: {r: 1, g: 1, b: 1, a: 1} + maxGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + minGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + startSize: + serializedVersion: 2 + minMaxState: 3 + scalar: 1.1 + minScalar: 0.9 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.75 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + startSizeY: + serializedVersion: 2 + minMaxState: 3 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + startSizeZ: + serializedVersion: 2 + minMaxState: 3 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + startRotationX: + serializedVersion: 2 + minMaxState: 3 + scalar: 1 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + startRotationY: + serializedVersion: 2 + minMaxState: 3 + scalar: 1 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + startRotation: + serializedVersion: 2 + minMaxState: 3 + scalar: 6.283185 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + randomizeRotationDirection: 0 + gravitySource: 0 + maxNumParticles: 1000 + customEmitterVelocity: {x: 0, y: 0, z: 0} + size3D: 0 + rotation3D: 0 + gravityModifier: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + ShapeModule: + serializedVersion: 6 + enabled: 0 + type: 4 + angle: 25 + length: 5 + boxThickness: {x: 0, y: 0, z: 0} + radiusThickness: 1 + donutRadius: 0.2 + m_Position: {x: 0, y: 0, z: 0} + m_Rotation: {x: 0, y: 0, z: 0} + m_Scale: {x: 1, y: 1, z: 1} + placementMode: 0 + m_MeshMaterialIndex: 0 + m_MeshNormalOffset: 0 + m_MeshSpawn: + mode: 0 + spread: 0 + speed: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_Mesh: {fileID: 0} + m_MeshRenderer: {fileID: 0} + m_SkinnedMeshRenderer: {fileID: 0} + m_Sprite: {fileID: 0} + m_SpriteRenderer: {fileID: 0} + m_UseMeshMaterialIndex: 0 + m_UseMeshColors: 1 + alignToDirection: 0 + m_Texture: {fileID: 0} + m_TextureClipChannel: 3 + m_TextureClipThreshold: 0 + m_TextureUVChannel: 0 + m_TextureColorAffectsParticles: 1 + m_TextureAlphaAffectsParticles: 1 + m_TextureBilinearFiltering: 0 + randomDirectionAmount: 0 + sphericalDirectionAmount: 0 + randomPositionAmount: 0 + radius: + value: 1 + mode: 0 + spread: 0 + speed: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + arc: + value: 360 + mode: 0 + spread: 0 + speed: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + EmissionModule: + enabled: 1 + serializedVersion: 4 + rateOverTime: + serializedVersion: 2 + minMaxState: 0 + scalar: 4 + minScalar: 10 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + rateOverDistance: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_BurstCount: 0 + m_Bursts: [] + SizeModule: + enabled: 1 + curve: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.2857143 + inSlope: 1.0070515 + outSlope: 1.0070515 + tangentMode: 34 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.46577725 + value: 0.75477594 + inSlope: 0.7330406 + outSlope: 0.7330406 + tangentMode: 34 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0.45902964 + outSlope: 0.45902964 + tangentMode: 34 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + y: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 1 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 1 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + z: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 1 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 1 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + separateAxes: 0 + RotationModule: + enabled: 0 + x: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + y: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + curve: + serializedVersion: 2 + minMaxState: 3 + scalar: 4.712389 + minScalar: -4.712389 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: -1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + separateAxes: 0 + ColorModule: + enabled: 1 + gradient: + serializedVersion: 2 + minMaxState: 1 + minColor: {r: 1, g: 1, b: 1, a: 1} + maxColor: {r: 1, g: 1, b: 1, a: 1} + maxGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 0} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 578 + ctime1: 65150 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 30570 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + minGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + UVModule: + serializedVersion: 2 + enabled: 1 + mode: 0 + timeMode: 0 + fps: 30 + frameOverTime: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0.9999 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 1 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 1 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 1 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 1 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + startFrame: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + speedRange: {x: 0, y: 1} + tilesX: 3 + tilesY: 3 + animationType: 0 + rowIndex: 0 + cycles: 1 + uvChannelMask: -1 + rowMode: 1 + sprites: + - sprite: {fileID: 0} + flipU: 0 + flipV: 0 + VelocityModule: + enabled: 0 + x: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + y: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + z: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + orbitalX: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + orbitalY: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + orbitalZ: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + orbitalOffsetX: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + orbitalOffsetY: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + orbitalOffsetZ: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + radial: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + speedModifier: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + inWorldSpace: 0 + InheritVelocityModule: + enabled: 0 + m_Mode: 0 + m_Curve: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + LifetimeByEmitterSpeedModule: + enabled: 0 + m_Curve: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: -0.8 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0.2 + inSlope: -0.8 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_Range: {x: 0, y: 1} + ForceModule: + enabled: 0 + x: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + y: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + z: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + inWorldSpace: 0 + randomizePerFrame: 0 + ExternalForcesModule: + serializedVersion: 2 + enabled: 0 + multiplierCurve: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + influenceFilter: 0 + influenceMask: + serializedVersion: 2 + m_Bits: 4294967295 + influenceList: [] + ClampVelocityModule: + enabled: 0 + x: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + y: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + z: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + magnitude: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + separateAxis: 0 + inWorldSpace: 0 + multiplyDragByParticleSize: 1 + multiplyDragByParticleVelocity: 1 + dampen: 1 + drag: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + NoiseModule: + enabled: 0 + strength: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + strengthY: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + strengthZ: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + separateAxes: 0 + frequency: 0.5 + damping: 1 + octaves: 1 + octaveMultiplier: 0.5 + octaveScale: 2 + quality: 2 + scrollSpeed: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remap: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 1 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 1 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remapY: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 1 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 1 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remapZ: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 1 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 1 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remapEnabled: 0 + positionAmount: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + rotationAmount: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + sizeAmount: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + SizeBySpeedModule: + enabled: 0 + curve: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + y: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 1 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 1 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + z: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 1 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 1 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + range: {x: 0, y: 1} + separateAxes: 0 + RotationBySpeedModule: + enabled: 0 + x: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + y: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + curve: + serializedVersion: 2 + minMaxState: 0 + scalar: 0.7853982 + minScalar: 0.7853982 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + separateAxes: 0 + range: {x: 0, y: 1} + ColorBySpeedModule: + enabled: 0 + gradient: + serializedVersion: 2 + minMaxState: 1 + minColor: {r: 1, g: 1, b: 1, a: 1} + maxColor: {r: 1, g: 1, b: 1, a: 1} + maxGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + minGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + range: {x: 0, y: 1} + CollisionModule: + enabled: 0 + serializedVersion: 4 + type: 0 + collisionMode: 0 + colliderForce: 0 + multiplyColliderForceByParticleSize: 0 + multiplyColliderForceByParticleSpeed: 0 + multiplyColliderForceByCollisionAngle: 1 + m_Planes: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + m_Dampen: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_Bounce: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_EnergyLossOnCollision: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minKillSpeed: 0 + maxKillSpeed: 10000 + radiusScale: 1 + collidesWith: + serializedVersion: 2 + m_Bits: 4294967295 + maxCollisionShapes: 256 + quality: 0 + voxelSize: 0.5 + collisionMessages: 0 + collidesWithDynamic: 1 + interiorCollisions: 1 + TriggerModule: + enabled: 0 + serializedVersion: 2 + inside: 1 + outside: 0 + enter: 0 + exit: 0 + colliderQueryMode: 0 + radiusScale: 1 + primitives: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + SubModule: + serializedVersion: 2 + enabled: 0 + subEmitters: + - serializedVersion: 3 + emitter: {fileID: 0} + type: 0 + properties: 0 + emitProbability: 1 + LightsModule: + enabled: 0 + ratio: 0 + light: {fileID: 0} + randomDistribution: 1 + color: 1 + range: 1 + intensity: 1 + rangeCurve: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + intensityCurve: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + maxLights: 20 + TrailModule: + enabled: 0 + mode: 0 + ratio: 1 + lifetime: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minVertexDistance: 0.2 + textureMode: 0 + textureScale: {x: 1, y: 1} + ribbonCount: 1 + shadowBias: 0.5 + worldSpace: 0 + dieWithParticles: 1 + sizeAffectsWidth: 1 + sizeAffectsLifetime: 0 + inheritParticleColor: 1 + generateLightingData: 0 + splitSubEmitterRibbons: 0 + attachRibbonsToTransform: 0 + colorOverLifetime: + serializedVersion: 2 + minMaxState: 0 + minColor: {r: 1, g: 1, b: 1, a: 1} + maxColor: {r: 1, g: 1, b: 1, a: 1} + maxGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + minGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + widthOverTrail: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + colorOverTrail: + serializedVersion: 2 + minMaxState: 0 + minColor: {r: 1, g: 1, b: 1, a: 1} + maxColor: {r: 1, g: 1, b: 1, a: 1} + maxGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + minGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + CustomDataModule: + enabled: 0 + mode0: 0 + vectorComponentCount0: 4 + color0: + serializedVersion: 2 + minMaxState: 0 + minColor: {r: 1, g: 1, b: 1, a: 1} + maxColor: {r: 1, g: 1, b: 1, a: 1} + maxGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + minGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + colorLabel0: Color + vector0_0: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + vectorLabel0_0: X + vector0_1: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + vectorLabel0_1: Y + vector0_2: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + vectorLabel0_2: Z + vector0_3: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + vectorLabel0_3: W + mode1: 0 + vectorComponentCount1: 4 + color1: + serializedVersion: 2 + minMaxState: 0 + minColor: {r: 1, g: 1, b: 1, a: 1} + maxColor: {r: 1, g: 1, b: 1, a: 1} + maxGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + minGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + colorLabel1: Color + vector1_0: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + vectorLabel1_0: X + vector1_1: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + vectorLabel1_1: Y + vector1_2: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + vectorLabel1_2: Z + vector1_3: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + vectorLabel1_3: W +--- !u!199 &199474699984605610 +ParticleSystemRenderer: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1412271066197182} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: a3b80f031ac8ed843a342206e075abca, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 1 + m_RenderMode: 2 + m_MeshDistribution: 0 + m_SortMode: 0 + m_MinParticleSize: 0 + m_MaxParticleSize: 0.5 + m_CameraVelocityScale: 0 + m_VelocityScale: 0 + m_LengthScale: 2 + m_SortingFudge: 0 + m_NormalDirection: 1 + m_ShadowBias: 0 + m_RenderAlignment: 0 + m_Pivot: {x: 0, y: 0, z: 0} + m_Flip: {x: 0, y: 0, z: 0} + m_UseCustomVertexStreams: 0 + m_EnableGPUInstancing: 0 + m_ApplyActiveColorSpace: 1 + m_AllowRoll: 1 + m_FreeformStretching: 0 + m_RotateWithStretchDirection: 1 + m_VertexStreams: 0001030405 + m_Mesh: {fileID: 0} + m_Mesh1: {fileID: 0} + m_Mesh2: {fileID: 0} + m_Mesh3: {fileID: 0} + m_MeshWeighting: 1 + m_MeshWeighting1: 1 + m_MeshWeighting2: 1 + m_MeshWeighting3: 1 + m_MaskInteraction: 0 diff --git a/BlueWater/Assets/Distant Lands/Cozy Weather/Custom Render Pipelines/Import for URP.unitypackage.meta b/BlueWater/Assets/05.Prefabs/Particles/WaterfallSoft.prefab.meta similarity index 63% rename from BlueWater/Assets/Distant Lands/Cozy Weather/Custom Render Pipelines/Import for URP.unitypackage.meta rename to BlueWater/Assets/05.Prefabs/Particles/WaterfallSoft.prefab.meta index 384510c7b..1fa7b6ebb 100644 --- a/BlueWater/Assets/Distant Lands/Cozy Weather/Custom Render Pipelines/Import for URP.unitypackage.meta +++ b/BlueWater/Assets/05.Prefabs/Particles/WaterfallSoft.prefab.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: 3643c0d76ec153646b1203880bfb64ed -DefaultImporter: +guid: 35fe9aead25a440468b5c2bf0da0c019 +PrefabImporter: externalObjects: {} userData: assetBundleName: diff --git a/BlueWater/Assets/07.Animation/BoidsAnim.anim b/BlueWater/Assets/07.Animation/BoidsAnim.anim new file mode 100644 index 000000000..0615a24be --- /dev/null +++ b/BlueWater/Assets/07.Animation/BoidsAnim.anim @@ -0,0 +1,357 @@ +%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: BoidsAnim + serializedVersion: 7 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: [] + m_PositionCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: 0, y: 0, z: 0} + 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} + - serializedVersion: 3 + time: 5.0333333 + value: {x: 23.6, y: 0, z: 24.6} + inSlope: {x: 0, y: 0, z: 5.4328356} + outSlope: {x: 0, y: 0, z: 5.4328356} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 10.05 + value: {x: 23.6, y: 0, z: 54.6} + inSlope: {x: 0, y: 0, z: 4.109453} + outSlope: {x: 0, y: 0, z: 4.109453} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 15.083333 + value: {x: 65.2, y: 0, z: 65.9} + inSlope: {x: 6.8628106, y: 0, z: 0} + outSlope: {x: 6.8628106, 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} + - serializedVersion: 3 + time: 20.133333 + value: {x: 92.8, y: 0, z: 37.7} + inSlope: {x: 2.8211915, y: 0, z: -7.331126} + outSlope: {x: 2.8211915, y: 0, z: -7.331126} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 25.15 + value: {x: 99.9, y: 0, z: -7.9} + 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} + - serializedVersion: 3 + time: 30.183332 + value: {x: 0, y: 0, z: 0} + 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_ScaleCurves: [] + m_FloatCurves: [] + m_PPtrCurves: [] + 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: 1 + script: {fileID: 0} + typeID: 4 + customType: 0 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + pptrCurveMapping: [] + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 30.183332 + 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 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 5.0333333 + value: 23.6 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 10.05 + value: 23.6 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 15.083333 + value: 65.2 + inSlope: 6.8628106 + outSlope: 6.8628106 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 20.133333 + value: 92.8 + inSlope: 2.8211915 + outSlope: 2.8211915 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 25.15 + value: 99.9 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 30.183332 + value: 0 + 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_LocalPosition.x + path: + classID: 4 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 5.0333333 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 10.05 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 15.083333 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 20.133333 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 25.15 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 30.183332 + value: 0 + 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_LocalPosition.y + path: + classID: 4 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 5.0333333 + value: 24.6 + inSlope: 5.4328356 + outSlope: 5.4328356 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 10.05 + value: 54.6 + inSlope: 4.109453 + outSlope: 4.109453 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 15.083333 + value: 65.9 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 20.133333 + value: 37.7 + inSlope: -7.331126 + outSlope: -7.331126 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 25.15 + value: -7.9 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 30.183332 + value: 0 + 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_LocalPosition.z + path: + classID: 4 + script: {fileID: 0} + flags: 0 + m_EulerEditorCurves: [] + m_HasGenericRootTransform: 1 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/BlueWater/Assets/02.Scripts/Data/So/CardDataSo.asset.meta b/BlueWater/Assets/07.Animation/BoidsAnim.anim.meta similarity index 64% rename from BlueWater/Assets/02.Scripts/Data/So/CardDataSo.asset.meta rename to BlueWater/Assets/07.Animation/BoidsAnim.anim.meta index 877ddfafd..86334eb52 100644 --- a/BlueWater/Assets/02.Scripts/Data/So/CardDataSo.asset.meta +++ b/BlueWater/Assets/07.Animation/BoidsAnim.anim.meta @@ -1,8 +1,8 @@ fileFormatVersion: 2 -guid: 0db3b35c9121e9e4bbe8559a0922145f +guid: b94878bdc51479a49adf3e72649cce70 NativeFormatImporter: externalObjects: {} - mainObjectFileID: 11400000 + mainObjectFileID: 7400000 userData: assetBundleName: assetBundleVariant: diff --git a/BlueWater/Assets/07.Animation/BoidsAnimController.controller b/BlueWater/Assets/07.Animation/BoidsAnimController.controller new file mode 100644 index 000000000..7dceb1087 --- /dev/null +++ b/BlueWater/Assets/07.Animation/BoidsAnimController.controller @@ -0,0 +1,72 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1102 &-7194726766471224446 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: BoidsAnim + m_Speed: 0.8 + 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: b94878bdc51479a49adf3e72649cce70, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!91 &9100000 +AnimatorController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: BoidsAnimController + serializedVersion: 5 + m_AnimatorParameters: [] + m_AnimatorLayers: + - serializedVersion: 5 + m_Name: Base Layer + m_StateMachine: {fileID: 637323706531693542} + m_Mask: {fileID: 0} + m_Motions: [] + m_Behaviours: [] + m_BlendingMode: 0 + m_SyncedLayerIndex: -1 + m_DefaultWeight: 0 + m_IKPass: 0 + m_SyncedLayerAffectsTiming: 0 + m_Controller: {fileID: 9100000} +--- !u!1107 &637323706531693542 +AnimatorStateMachine: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Base Layer + m_ChildStates: + - serializedVersion: 1 + m_State: {fileID: -7194726766471224446} + m_Position: {x: 340, y: 120, z: 0} + m_ChildStateMachines: [] + m_AnyStateTransitions: [] + m_EntryTransitions: [] + m_StateMachineTransitions: {} + m_StateMachineBehaviours: [] + m_AnyStatePosition: {x: 50, y: 20, z: 0} + m_EntryPosition: {x: 50, y: 120, z: 0} + m_ExitPosition: {x: 800, y: 120, z: 0} + m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} + m_DefaultState: {fileID: -7194726766471224446} diff --git a/BlueWater/Assets/02.Scripts/Data/So/CrewmateData.asset.meta b/BlueWater/Assets/07.Animation/BoidsAnimController.controller.meta similarity index 64% rename from BlueWater/Assets/02.Scripts/Data/So/CrewmateData.asset.meta rename to BlueWater/Assets/07.Animation/BoidsAnimController.controller.meta index 13c0508d4..f5ec688b0 100644 --- a/BlueWater/Assets/02.Scripts/Data/So/CrewmateData.asset.meta +++ b/BlueWater/Assets/07.Animation/BoidsAnimController.controller.meta @@ -1,8 +1,8 @@ fileFormatVersion: 2 -guid: 1804f9de21fdf15448bb3a67d7b1c7c8 +guid: d59e6dd2b1d1f7a499297dfecfc7b777 NativeFormatImporter: externalObjects: {} - mainObjectFileID: 11400000 + mainObjectFileID: 9100000 userData: assetBundleName: assetBundleVariant: diff --git a/BlueWater/Assets/Behavior Designer/Runtime/Tasks/Unity/Vector2/SetValue.cs b/BlueWater/Assets/Behavior Designer/Runtime/Tasks/Unity/Vector2/SetValue.cs deleted file mode 100644 index 10a4e65fe..000000000 --- a/BlueWater/Assets/Behavior Designer/Runtime/Tasks/Unity/Vector2/SetValue.cs +++ /dev/null @@ -1,25 +0,0 @@ -using BehaviorDesigner.Runtime; -using BehaviorDesigner.Runtime.Tasks; - -// ReSharper disable once CheckNamespace -namespace BlueWaterProject -{ - [TaskCategory("Custom/SetVariable")] - public class SetIslandInfo : Action - { - public SharedIslandInfo islandInfoValue; - public SharedIslandInfo islandInfoVariable; - - public override TaskStatus OnUpdate() - { - islandInfoVariable.Value = islandInfoValue.Value; - return TaskStatus.Success; - } - - public override void OnReset() - { - islandInfoValue = null; - islandInfoVariable = null; - } - } -} \ No newline at end of file diff --git a/BlueWater/Assets/Behavior Designer/Runtime/Tasks/Unity/Vector2/SetValue.cs.meta b/BlueWater/Assets/Behavior Designer/Runtime/Tasks/Unity/Vector2/SetValue.cs.meta deleted file mode 100644 index 54ee544cb..000000000 --- a/BlueWater/Assets/Behavior Designer/Runtime/Tasks/Unity/Vector2/SetValue.cs.meta +++ /dev/null @@ -1,15 +0,0 @@ -fileFormatVersion: 2 -guid: 61e3d384c43977148b829dab4090ab3b -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: -AssetOrigin: - serializedVersion: 1 - productId: 15277 - packageName: Behavior Designer - Behavior Trees for Everyone - packageVersion: 1.7.7p1 - assetPath: Assets/Behavior Designer/Runtime/Tasks/Unity/Vector2/SetValue.cs - uploadId: 598781 diff --git a/BlueWater/Assets/Epic Toon FX/Materials/Misc/Liquid/water_soft_3x3_AB.mat b/BlueWater/Assets/Epic Toon FX/Materials/Misc/Liquid/water_soft_3x3_AB.mat index b82faf8ff..f6d709952 100644 --- a/BlueWater/Assets/Epic Toon FX/Materials/Misc/Liquid/water_soft_3x3_AB.mat +++ b/BlueWater/Assets/Epic Toon FX/Materials/Misc/Liquid/water_soft_3x3_AB.mat @@ -25,8 +25,8 @@ Material: RenderType: Transparent disabledShaderPasses: - ALWAYS - - SHADOWCASTER - DepthOnly + - SHADOWCASTER m_LockedProperties: m_SavedProperties: serializedVersion: 3 diff --git a/BlueWater/Assets/Epic Toon FX/Prefabs/Environment/Water/Flowing/Soft/WaterRippleSoft.prefab b/BlueWater/Assets/Epic Toon FX/Prefabs/Environment/Water/Flowing/Soft/WaterRippleSoft.prefab index 35a8f9e08..4b06e7846 100644 --- a/BlueWater/Assets/Epic Toon FX/Prefabs/Environment/Water/Flowing/Soft/WaterRippleSoft.prefab +++ b/BlueWater/Assets/Epic Toon FX/Prefabs/Environment/Water/Flowing/Soft/WaterRippleSoft.prefab @@ -25,12 +25,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1589433598187500} + serializedVersion: 2 m_LocalRotation: {x: -0.7071068, y: 0, z: 0, w: 0.7071068} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: -90, y: 0, z: 0} --- !u!198 &198890316358287468 ParticleSystem: @@ -39,19 +40,19 @@ ParticleSystem: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1589433598187500} - serializedVersion: 6 + serializedVersion: 8 lengthInSec: 2 simulationSpeed: 1 stopAction: 0 cullingMode: 1 ringBufferMode: 0 ringBufferLoopRange: {x: 0, y: 1} + emitterVelocityMode: 0 looping: 0 prewarm: 0 playOnAwake: 1 useUnscaledTime: 0 autoRandomSeed: 1 - useRigidbodyForVelocity: 1 startDelay: serializedVersion: 2 minMaxState: 0 @@ -232,6 +233,7 @@ ParticleSystem: atime6: 0 atime7: 0 m_Mode: 0 + m_ColorSpace: -1 m_NumColorKeys: 2 m_NumAlphaKeys: 2 minGradient: @@ -261,6 +263,7 @@ ParticleSystem: atime6: 0 atime7: 0 m_Mode: 0 + m_ColorSpace: -1 m_NumColorKeys: 2 m_NumAlphaKeys: 2 startSize: @@ -546,7 +549,9 @@ ParticleSystem: m_PostInfinity: 2 m_RotationOrder: 4 randomizeRotationDirection: 0 + gravitySource: 0 maxNumParticles: 1000 + customEmitterVelocity: {x: 0, y: 0, z: 0} size3D: 0 rotation3D: 0 gravityModifier: @@ -1314,6 +1319,7 @@ ParticleSystem: atime6: 0 atime7: 0 m_Mode: 0 + m_ColorSpace: -1 m_NumColorKeys: 2 m_NumAlphaKeys: 2 minGradient: @@ -1343,6 +1349,7 @@ ParticleSystem: atime6: 0 atime7: 0 m_Mode: 0 + m_ColorSpace: -1 m_NumColorKeys: 2 m_NumAlphaKeys: 2 UVModule: @@ -2111,6 +2118,62 @@ ParticleSystem: m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 + LifetimeByEmitterSpeedModule: + enabled: 0 + m_Curve: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: -0.8 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0.2 + inSlope: -0.8 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_Range: {x: 0, y: 1} ForceModule: enabled: 0 x: @@ -3507,6 +3570,7 @@ ParticleSystem: atime6: 0 atime7: 0 m_Mode: 0 + m_ColorSpace: -1 m_NumColorKeys: 2 m_NumAlphaKeys: 2 minGradient: @@ -3536,24 +3600,26 @@ ParticleSystem: atime6: 0 atime7: 0 m_Mode: 0 + m_ColorSpace: -1 m_NumColorKeys: 2 m_NumAlphaKeys: 2 range: {x: 0, y: 1} CollisionModule: enabled: 0 - serializedVersion: 3 + serializedVersion: 4 type: 0 collisionMode: 0 colliderForce: 0 multiplyColliderForceByParticleSize: 0 multiplyColliderForceByParticleSpeed: 0 multiplyColliderForceByCollisionAngle: 1 - plane0: {fileID: 0} - plane1: {fileID: 0} - plane2: {fileID: 0} - plane3: {fileID: 0} - plane4: {fileID: 0} - plane5: {fileID: 0} + m_Planes: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} m_Dampen: serializedVersion: 2 minMaxState: 0 @@ -3727,17 +3793,20 @@ ParticleSystem: interiorCollisions: 1 TriggerModule: enabled: 0 - collisionShape0: {fileID: 0} - collisionShape1: {fileID: 0} - collisionShape2: {fileID: 0} - collisionShape3: {fileID: 0} - collisionShape4: {fileID: 0} - collisionShape5: {fileID: 0} + serializedVersion: 2 inside: 1 outside: 0 enter: 0 exit: 0 + colliderQueryMode: 0 radiusScale: 1 + primitives: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} SubModule: serializedVersion: 2 enabled: 0 @@ -3921,6 +3990,7 @@ ParticleSystem: m_RotationOrder: 4 minVertexDistance: 0.2 textureMode: 0 + textureScale: {x: 1, y: 1} ribbonCount: 1 shadowBias: 0.5 worldSpace: 0 @@ -3963,6 +4033,7 @@ ParticleSystem: atime6: 0 atime7: 0 m_Mode: 0 + m_ColorSpace: -1 m_NumColorKeys: 2 m_NumAlphaKeys: 2 minGradient: @@ -3992,6 +4063,7 @@ ParticleSystem: atime6: 0 atime7: 0 m_Mode: 0 + m_ColorSpace: -1 m_NumColorKeys: 2 m_NumAlphaKeys: 2 widthOverTrail: @@ -4079,6 +4151,7 @@ ParticleSystem: atime6: 0 atime7: 0 m_Mode: 0 + m_ColorSpace: -1 m_NumColorKeys: 2 m_NumAlphaKeys: 2 minGradient: @@ -4108,6 +4181,7 @@ ParticleSystem: atime6: 0 atime7: 0 m_Mode: 0 + m_ColorSpace: -1 m_NumColorKeys: 2 m_NumAlphaKeys: 2 CustomDataModule: @@ -4146,6 +4220,7 @@ ParticleSystem: atime6: 0 atime7: 0 m_Mode: 0 + m_ColorSpace: -1 m_NumColorKeys: 2 m_NumAlphaKeys: 2 minGradient: @@ -4175,6 +4250,7 @@ ParticleSystem: atime6: 0 atime7: 0 m_Mode: 0 + m_ColorSpace: -1 m_NumColorKeys: 2 m_NumAlphaKeys: 2 colorLabel0: Color @@ -4428,6 +4504,7 @@ ParticleSystem: atime6: 0 atime7: 0 m_Mode: 0 + m_ColorSpace: -1 m_NumColorKeys: 2 m_NumAlphaKeys: 2 minGradient: @@ -4457,6 +4534,7 @@ ParticleSystem: atime6: 0 atime7: 0 m_Mode: 0 + m_ColorSpace: -1 m_NumColorKeys: 2 m_NumAlphaKeys: 2 colorLabel1: Color @@ -4688,10 +4766,12 @@ ParticleSystemRenderer: m_CastShadows: 0 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 m_RayTracingMode: 0 + m_RayTraceProcedural: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -4717,6 +4797,7 @@ ParticleSystemRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_RenderMode: 2 + m_MeshDistribution: 0 m_SortMode: 0 m_MinParticleSize: 0 m_MaxParticleSize: 0.5 @@ -4733,9 +4814,15 @@ ParticleSystemRenderer: m_EnableGPUInstancing: 0 m_ApplyActiveColorSpace: 1 m_AllowRoll: 1 + m_FreeformStretching: 0 + m_RotateWithStretchDirection: 1 m_VertexStreams: 0001030405 m_Mesh: {fileID: 0} m_Mesh1: {fileID: 0} m_Mesh2: {fileID: 0} m_Mesh3: {fileID: 0} + m_MeshWeighting: 1 + m_MeshWeighting1: 1 + m_MeshWeighting2: 1 + m_MeshWeighting3: 1 m_MaskInteraction: 0 diff --git a/BlueWater/Assets/Feel/FeelDemos/FeelTemplatesDemo.unitypackage.meta b/BlueWater/Assets/Feel/FeelDemos/FeelTemplatesDemo.unitypackage.meta deleted file mode 100644 index 508065e3b..000000000 --- a/BlueWater/Assets/Feel/FeelDemos/FeelTemplatesDemo.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 697b6e7dea1fde146b7e3e5cf3ed9e9f -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Feel/NiceVibrations/OlderVersions/v1.7/NiceVibrations-v-1-7.unitypackage.meta b/BlueWater/Assets/Feel/NiceVibrations/OlderVersions/v1.7/NiceVibrations-v-1-7.unitypackage.meta deleted file mode 100644 index b4ec97874..000000000 --- a/BlueWater/Assets/Feel/NiceVibrations/OlderVersions/v1.7/NiceVibrations-v-1-7.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 078b8f13a17171b49892ad10426d5af0 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Feel/NiceVibrations/OlderVersions/v2.0.1/NiceVibrations-v-2-0-1.unitypackage.meta b/BlueWater/Assets/Feel/NiceVibrations/OlderVersions/v2.0.1/NiceVibrations-v-2-0-1.unitypackage.meta deleted file mode 100644 index 2ac65e5d2..000000000 --- a/BlueWater/Assets/Feel/NiceVibrations/OlderVersions/v2.0.1/NiceVibrations-v-2-0-1.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: f9406a33814af9c47b352e77f079d798 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Feel/NiceVibrations/OlderVersions/v3.9/NiceVibrations-v-3-9-0.unitypackage.meta b/BlueWater/Assets/Feel/NiceVibrations/OlderVersions/v3.9/NiceVibrations-v-3-9-0.unitypackage.meta deleted file mode 100644 index 69d7b56dd..000000000 --- a/BlueWater/Assets/Feel/NiceVibrations/OlderVersions/v3.9/NiceVibrations-v-3-9-0.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 9aacf6f3043624194bb6f6fe9a580786 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/NWH/Dynamic Water Physics 2/OptionalPackages/Multiplayer/Mirror.unitypackage.meta b/BlueWater/Assets/NWH/Dynamic Water Physics 2/OptionalPackages/Multiplayer/Mirror.unitypackage.meta deleted file mode 100644 index 7763d62a1..000000000 --- a/BlueWater/Assets/NWH/Dynamic Water Physics 2/OptionalPackages/Multiplayer/Mirror.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: b1d738c46034bc244bd356692577373c -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/NWH/Dynamic Water Physics 2/OptionalPackages/Multiplayer/PUN2.unitypackage.meta b/BlueWater/Assets/NWH/Dynamic Water Physics 2/OptionalPackages/Multiplayer/PUN2.unitypackage.meta deleted file mode 100644 index 80732d4fa..000000000 --- a/BlueWater/Assets/NWH/Dynamic Water Physics 2/OptionalPackages/Multiplayer/PUN2.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 2d6d5d59d45ce8a4784ba6c47984a23e -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Febucci/Text Animator/Extra/Typewriter Sound - Package.unitypackage.meta b/BlueWater/Assets/Plugins/Febucci/Text Animator/Extra/Typewriter Sound - Package.unitypackage.meta deleted file mode 100644 index 4801b3793..000000000 --- a/BlueWater/Assets/Plugins/Febucci/Text Animator/Extra/Typewriter Sound - Package.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 560a88da2bbc70140bed167f0ba7fe37 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Febucci/Text Animator/Integrations/PlayMaker - Integration.unitypackage.meta b/BlueWater/Assets/Plugins/Febucci/Text Animator/Integrations/PlayMaker - Integration.unitypackage.meta deleted file mode 100644 index 77d64a86c..000000000 --- a/BlueWater/Assets/Plugins/Febucci/Text Animator/Integrations/PlayMaker - Integration.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: fb01be13d6e88ca488dda82150319bfc -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Febucci/Text Animator/Integrations/Visual Scripting - Integration.unitypackage.meta b/BlueWater/Assets/Plugins/Febucci/Text Animator/Integrations/Visual Scripting - Integration.unitypackage.meta deleted file mode 100644 index 05e590027..000000000 --- a/BlueWater/Assets/Plugins/Febucci/Text Animator/Integrations/Visual Scripting - Integration.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 117dcc671050f5247bd8743b91ecaab7 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Common/Scripts/CommonAssemblyDefinitions.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Common/Scripts/CommonAssemblyDefinitions.unitypackage.meta deleted file mode 100644 index e0511c7a7..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Common/Scripts/CommonAssemblyDefinitions.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 4d9b575363cdb56408d92f7d7f0e5216 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Common/Third Party Support/Compass Navigator Pro Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Common/Third Party Support/Compass Navigator Pro Support.unitypackage.meta deleted file mode 100644 index f5aa0671a..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Common/Third Party Support/Compass Navigator Pro Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 171c5051d845c4545a6679cdcb9e8290 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Common/Third Party Support/Corgi Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Common/Third Party Support/Corgi Support.unitypackage.meta deleted file mode 100644 index c69333695..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Common/Third Party Support/Corgi Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: e381f1e638a8aec4dbd9a7be673b56e2 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Common/Third Party Support/Devion Inventory Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Common/Third Party Support/Devion Inventory Support.unitypackage.meta deleted file mode 100644 index 732786965..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Common/Third Party Support/Devion Inventory Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 01db744855bbae74481522d48fd63008 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Common/Third Party Support/Dialogue System Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Common/Third Party Support/Dialogue System Support.unitypackage.meta deleted file mode 100644 index df78745df..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Common/Third Party Support/Dialogue System Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: e5f625ae60b99fe4ab78d44cfb58ce5a -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Common/Third Party Support/Easy Save Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Common/Third Party Support/Easy Save Support.unitypackage.meta deleted file mode 100644 index 2cb925d8d..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Common/Third Party Support/Easy Save Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: b606e558541a7b14593ea370c1a31da1 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Common/Third Party Support/Emerald AI Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Common/Third Party Support/Emerald AI Support.unitypackage.meta deleted file mode 100644 index a7f1c72c4..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Common/Third Party Support/Emerald AI Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: c13a7e89fcc1f5544b4debda9d682854 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Common/Third Party Support/HUD Navigation System Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Common/Third Party Support/HUD Navigation System Support.unitypackage.meta deleted file mode 100644 index 2eee81088..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Common/Third Party Support/HUD Navigation System Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 9d6eeb26838ae2140a98c7b012c07610 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Common/Third Party Support/Invector Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Common/Third Party Support/Invector Support.unitypackage.meta deleted file mode 100644 index e6aed81e8..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Common/Third Party Support/Invector Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 46615cbdbe482664aaf8d3fe2af274c8 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Common/Third Party Support/Inventory Engine Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Common/Third Party Support/Inventory Engine Support.unitypackage.meta deleted file mode 100644 index 114b57f38..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Common/Third Party Support/Inventory Engine Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 92b78aa6c7b02924c907a69383e7722f -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Common/Third Party Support/Inventory Pro Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Common/Third Party Support/Inventory Pro Support.unitypackage.meta deleted file mode 100644 index e3e83c440..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Common/Third Party Support/Inventory Pro Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 169dbd692ce7b8a4083e3e77421ce8d0 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Common/Third Party Support/PlayMaker Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Common/Third Party Support/PlayMaker Support.unitypackage.meta deleted file mode 100644 index a4685751c..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Common/Third Party Support/PlayMaker Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 9a785472f49cbc0419f4e80050360f8a -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Common/Third Party Support/RPG Builder Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Common/Third Party Support/RPG Builder Support.unitypackage.meta deleted file mode 100644 index fbd8fb4f7..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Common/Third Party Support/RPG Builder Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: acc7135a62c70bb40bfd196dcc0dbf58 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Common/Third Party Support/Rewired Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Common/Third Party Support/Rewired Support.unitypackage.meta deleted file mode 100644 index f70412ace..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Common/Third Party Support/Rewired Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 43b92591c923d1543bc95a9b89918a6c -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Common/Third Party Support/Tactical Shooter AI Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Common/Third Party Support/Tactical Shooter AI Support.unitypackage.meta deleted file mode 100644 index 483b1b4ee..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Common/Third Party Support/Tactical Shooter AI Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 4c1d290c89eb9a146a0c3fc3c5d97639 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Common/Third Party Support/TopDown Engine Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Common/Third Party Support/TopDown Engine Support.unitypackage.meta deleted file mode 100644 index ab6547345..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Common/Third Party Support/TopDown Engine Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 79d6a8f7106f5a949afdf0f9fce6e5c9 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Scripts/DialogueSystemAssemblyDefinitions.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Scripts/DialogueSystemAssemblyDefinitions.unitypackage.meta deleted file mode 100644 index 779ce70d7..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Scripts/DialogueSystemAssemblyDefinitions.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 5db5e6540b70aa44a8b8f0be7cbc03a4 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Action-RPG Starter Kit Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Action-RPG Starter Kit Support.unitypackage.meta deleted file mode 100644 index d7e98901c..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Action-RPG Starter Kit Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: b81586c5bf3938042babe319ccb6b693 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Adventure Creator Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Adventure Creator Support.unitypackage.meta deleted file mode 100644 index e77cf7050..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Adventure Creator Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 29400b82342c15b44bebd36e5f253c7a -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Articy Localization Importer.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Articy Localization Importer.unitypackage.meta deleted file mode 100644 index fa28f522d..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Articy Localization Importer.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: e3dca3dc2724503479b532ec6f801f2f -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Behavior Designer Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Behavior Designer Support.unitypackage.meta deleted file mode 100644 index 7edcebbc6..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Behavior Designer Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 5a3da110bff34d54eb93d1c3c7755741 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Bolt Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Bolt Support.unitypackage.meta deleted file mode 100644 index 8a0a24231..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Bolt Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 590bfaf71ac68024e96342bd38a2e799 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Cinema Director Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Cinema Director Support.unitypackage.meta deleted file mode 100644 index c0d6f8b51..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Cinema Director Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 89c6283ed4a7a914db4ed32d9fe4be1b -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Cinemachine Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Cinemachine Support.unitypackage.meta deleted file mode 100644 index 3058450f9..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Cinemachine Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 2133c1709cbeab043b2c0d4a09f8c560 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Core GameKit Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Core GameKit Support.unitypackage.meta deleted file mode 100644 index 43bbdb349..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Core GameKit Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 61a9883a71fe42f4cb3a2538927c5b54 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Corgi Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Corgi Support.unitypackage.meta deleted file mode 100644 index 142c11269..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Corgi Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 107656dc7c8decd4b98ddacdb4c63d9c -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Customizable SciFi Holo Interface Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Customizable SciFi Holo Interface Support.unitypackage.meta deleted file mode 100644 index 90e706ffe..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Customizable SciFi Holo Interface Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 69578b34b0b99fd408db1f26e709204b -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Deftly Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Deftly Support.unitypackage.meta deleted file mode 100644 index f84ff6cae..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Deftly Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 890975c726da4f447a9fdbb24e0ac5a6 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Devion Inventory Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Devion Inventory Support.unitypackage.meta deleted file mode 100644 index 61ed6b0ff..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Devion Inventory Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 1977e46ddf171054ba06e70c3a17b562 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/DoozyUI Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/DoozyUI Support.unitypackage.meta deleted file mode 100644 index a1d105521..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/DoozyUI Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: d04dae1efd4c20f42801fa99bfb48c71 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Easy Save Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Easy Save Support.unitypackage.meta deleted file mode 100644 index c7f0244c3..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Easy Save Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: f48e38a1694a4a94ba7bfa99b5bb8da7 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Emerald AI Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Emerald AI Support.unitypackage.meta deleted file mode 100644 index 6fcb0ff62..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Emerald AI Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: a760ee77bdfe6fc4fbfeb4e74d81e9ee -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/FMOD Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/FMOD Support.unitypackage.meta deleted file mode 100644 index 6e8698d0c..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/FMOD Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 7ac1fca502db8634ca8a220957ce0efe -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/FaceFX Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/FaceFX Support.unitypackage.meta deleted file mode 100644 index e3d258ed1..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/FaceFX Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 03276c81a3b7e1f4f8b9a2c42d29ccb5 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Feel Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Feel Support.unitypackage.meta deleted file mode 100644 index 23f5f93d3..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Feel Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 4c2fe1e05f53ce540a7e6629e37e62ba -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/GameFlow Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/GameFlow Support.unitypackage.meta deleted file mode 100644 index 0106a1a8b..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/GameFlow Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 41dc081f41d06ad4cb3a976e3bc784ff -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/I2 Localization Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/I2 Localization Support.unitypackage.meta deleted file mode 100644 index 003412ed2..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/I2 Localization Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 7224afe475473f5479a4be84354c0ffe -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/ICode Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/ICode Support.unitypackage.meta deleted file mode 100644 index 5b2af6965..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/ICode Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 6566ea9453ea9a54c8adda4ce157bfe5 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Ink Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Ink Support.unitypackage.meta deleted file mode 100644 index 3abdc52eb..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Ink Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 8a6eaa4e4e356664da332e906c4116ca -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Invector Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Invector Support.unitypackage.meta deleted file mode 100644 index 8ef2b7160..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Invector Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: d78d339535406c443be8ab962fe3faed -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Inventory Engine Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Inventory Engine Support.unitypackage.meta deleted file mode 100644 index fb47a3b13..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Inventory Engine Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 6556a12f622b9f84a87c93e43a05c57a -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Inventory Pro Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Inventory Pro Support.unitypackage.meta deleted file mode 100644 index 7d71c3032..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Inventory Pro Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 7adde0d8ab9d11c4f8958df473963096 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/JLC Importer.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/JLC Importer.unitypackage.meta deleted file mode 100644 index 1ffa302e6..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/JLC Importer.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 2e0d514b37da90b43aca77d71d4ea274 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/KGFMapSystem Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/KGFMapSystem Support.unitypackage.meta deleted file mode 100644 index 3338c5cab..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/KGFMapSystem Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: f73b81d6a28009a4d8a6cfa24e4f6670 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/LipSync Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/LipSync Support.unitypackage.meta deleted file mode 100644 index 404d7df03..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/LipSync Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 14eb0de10b56d7d48aa47c34c085763a -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/LivelyChatBubbles Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/LivelyChatBubbles Support.unitypackage.meta deleted file mode 100644 index 5fc7b1dd0..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/LivelyChatBubbles Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: bab8f8e2fd66cc94eb0381c12da4f8a1 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Localization Package Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Localization Package Support.unitypackage.meta deleted file mode 100644 index 7c9911a59..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Localization Package Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 853d51cc63a44614b8aa108c20970d53 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Look Animator Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Look Animator Support.unitypackage.meta deleted file mode 100644 index e738a83c6..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Look Animator Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 0acaab50ea80e2740907f9fb8e96d5cb -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Makinom Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Makinom Support.unitypackage.meta deleted file mode 100644 index 7b8a0965e..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Makinom Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 00d3be9741969ee4abb41a0d36893d12 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Master Audio Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Master Audio Support.unitypackage.meta deleted file mode 100644 index b5500005c..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Master Audio Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: a84c2fae02ab66e4bb10f4b632b4e59f -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Motion Controller Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Motion Controller Support.unitypackage.meta deleted file mode 100644 index cb39d0c46..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Motion Controller Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: ff46b33770bc0e04da5553db516b2791 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/NGUI HUD Text Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/NGUI HUD Text Support.unitypackage.meta deleted file mode 100644 index 1178f5136..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/NGUI HUD Text Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: d4762985b08cf424d8a389bd106e9c41 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/NGUI Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/NGUI Support.unitypackage.meta deleted file mode 100644 index db86fe4fa..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/NGUI Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 82f4200e470c7a2459f54ef829fd130b -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/NWT Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/NWT Support.unitypackage.meta deleted file mode 100644 index 875d48c5f..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/NWT Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 8f7926653749bc042b66acaf162cb653 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/ORK Framework Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/ORK Framework Support.unitypackage.meta deleted file mode 100644 index 322dacae5..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/ORK Framework Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: d8244e47333fea34cabbe75f30b489cd -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/PlayMaker Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/PlayMaker Support.unitypackage.meta deleted file mode 100644 index bd5783f2c..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/PlayMaker Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: a60eb26401f5d2e40a3f8ad3a0cdd2ae -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/PostProcessing Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/PostProcessing Support.unitypackage.meta deleted file mode 100644 index d72afa945..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/PostProcessing Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: d20f46daec1cff04b8767c37cbc64dfd -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/RPG Builder Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/RPG Builder Support.unitypackage.meta deleted file mode 100644 index 74a4995e0..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/RPG Builder Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 1e0bc8e64ca5a204ab01fcb065ad3ea4 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/RPG Kit Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/RPG Kit Support.unitypackage.meta deleted file mode 100644 index 53088a15e..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/RPG Kit Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 0439b345dc19afc4e9e38a45964c21d2 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/RTVoice Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/RTVoice Support.unitypackage.meta deleted file mode 100644 index 4cbcf2da1..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/RTVoice Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 2f034bb78093baf41a5b14693eefb6ba -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Realistic FPS Prefab Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Realistic FPS Prefab Support.unitypackage.meta deleted file mode 100644 index 7333ab59c..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Realistic FPS Prefab Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 37a76039173f99b4fac971349e64b845 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Rewired Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Rewired Support.unitypackage.meta deleted file mode 100644 index 0b16186df..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Rewired Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 12f5d0647e98dad4cba5773dbfe617ee -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Rog Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Rog Support.unitypackage.meta deleted file mode 100644 index 8c7dd3ad8..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Rog Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: cfa06a72ad668b64e84eb67a6653c27a -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/SALSA Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/SALSA Support.unitypackage.meta deleted file mode 100644 index c61dba0db..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/SALSA Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 5f372c15f48325e4da788631806fbd37 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/SLATE Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/SLATE Support.unitypackage.meta deleted file mode 100644 index 95b095986..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/SLATE Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: d48ea718ba1476a4baa5cd9e66f6ed78 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Speech Recognition System Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Speech Recognition System Support.unitypackage.meta deleted file mode 100644 index 0e841d4ce..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Speech Recognition System Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 21b40e7d71233864788700238fab175d -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Spine Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Spine Support.unitypackage.meta deleted file mode 100644 index 91b6a3344..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Spine Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 44688b79fc3aa6a44b5c47a92a453722 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/SuperTextMesh Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/SuperTextMesh Support.unitypackage.meta deleted file mode 100644 index e419dfc71..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/SuperTextMesh Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: c6b5601000159b44594b95b58dc95e5e -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/TK2D Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/TK2D Support.unitypackage.meta deleted file mode 100644 index d9d990aa2..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/TK2D Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 1f67bb1f7a0ccac4bacceb5680482ca2 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/TalkIt Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/TalkIt Support.unitypackage.meta deleted file mode 100644 index e9931906d..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/TalkIt Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: d418d21b145ca9e4289690cca70d800d -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Text Animator Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Text Animator Support.unitypackage.meta deleted file mode 100644 index 0f17c6184..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Text Animator Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: ba01c8813d9d8e645a60034600445394 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/TopDown Engine Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/TopDown Engine Support.unitypackage.meta deleted file mode 100644 index b9a67ae55..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/TopDown Engine Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 373fa280b9df46f45901d7ac3fea3beb -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Topdown Kit Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Topdown Kit Support.unitypackage.meta deleted file mode 100644 index d773fb0a6..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Topdown Kit Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: d0b0bdbd9366c9e4fba085f618ca54ba -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/UniStorm Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/UniStorm Support.unitypackage.meta deleted file mode 100644 index ecff8931e..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/UniStorm Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: c59e446cf466a424daed6859d731bc80 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Visual Scripting Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Visual Scripting Support.unitypackage.meta deleted file mode 100644 index 0c2561c1b..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Visual Scripting Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 494657561b44a1c489255e7049d56ad7 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Wwise Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Wwise Support.unitypackage.meta deleted file mode 100644 index 434ea16b9..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Wwise Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 0bfa1827c30ff98418b3b36047505a15 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Yarn2ImportAssemblyDefinitions.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Yarn2ImportAssemblyDefinitions.unitypackage.meta deleted file mode 100644 index cb4892c99..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Yarn2ImportAssemblyDefinitions.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: d3504844ffe57564caa188ff0f30bae8 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/plyGame Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/plyGame Support.unitypackage.meta deleted file mode 100644 index b29068aeb..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/plyGame Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 40756660825b35747929372b595fa82f -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/uMMORPG Remastered Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/uMMORPG Remastered Support.unitypackage.meta deleted file mode 100644 index 1a071722c..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/uMMORPG Remastered Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: c3c34eebf26184b4fb5b0a9dfd25567f -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/uMMORPG Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/uMMORPG Support.unitypackage.meta deleted file mode 100644 index db5cf560a..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/uMMORPG Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 185ff7b46f2f79a4287cdf5efb411fbb -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/uRPG Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/uRPG Support.unitypackage.meta deleted file mode 100644 index 8db8698b9..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/uRPG Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 89146e181822a34479674ffc071163df -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/uSequencer Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/uSequencer Support.unitypackage.meta deleted file mode 100644 index 99afc5437..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/uSequencer Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 630bf89a42bf760458299c96a71e7f04 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/uSurvival Support.unitypackage.meta b/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/uSurvival Support.unitypackage.meta deleted file mode 100644 index 1f755345b..000000000 --- a/BlueWater/Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/uSurvival Support.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 8302722bd792b384e898fed750f555a9 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/BlueWater/Assets/StylizedWater2/Prefabs/DynamicEffects/Waterfall Impact Ripples.prefab b/BlueWater/Assets/StylizedWater2/Prefabs/DynamicEffects/Waterfall Impact Ripples.prefab index 6aa804325..9a57a8d70 100644 --- a/BlueWater/Assets/StylizedWater2/Prefabs/DynamicEffects/Waterfall Impact Ripples.prefab +++ b/BlueWater/Assets/StylizedWater2/Prefabs/DynamicEffects/Waterfall Impact Ripples.prefab @@ -26,6 +26,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 8152618253768758002} + serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} @@ -33,7 +34,6 @@ Transform: m_Children: - {fileID: 2872933871037416439} m_Father: {fileID: 0} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &1599035731892804723 MonoBehaviour: @@ -342,6 +342,7 @@ ParticleSystem: atime6: 0 atime7: 0 m_Mode: 0 + m_ColorSpace: -1 m_NumColorKeys: 2 m_NumAlphaKeys: 2 minGradient: @@ -371,6 +372,7 @@ ParticleSystem: atime6: 0 atime7: 0 m_Mode: 0 + m_ColorSpace: -1 m_NumColorKeys: 2 m_NumAlphaKeys: 2 startSize: @@ -692,6 +694,7 @@ ParticleSystem: m_PostInfinity: 2 m_RotationOrder: 4 randomizeRotationDirection: 0 + gravitySource: 0 maxNumParticles: 1000 customEmitterVelocity: {x: 0, y: 0, z: 0} size3D: 0 @@ -1421,6 +1424,7 @@ ParticleSystem: atime6: 0 atime7: 0 m_Mode: 0 + m_ColorSpace: -1 m_NumColorKeys: 2 m_NumAlphaKeys: 2 minGradient: @@ -1450,6 +1454,7 @@ ParticleSystem: atime6: 0 atime7: 0 m_Mode: 0 + m_ColorSpace: -1 m_NumColorKeys: 2 m_NumAlphaKeys: 2 UVModule: @@ -3670,6 +3675,7 @@ ParticleSystem: atime6: 0 atime7: 0 m_Mode: 0 + m_ColorSpace: -1 m_NumColorKeys: 2 m_NumAlphaKeys: 2 minGradient: @@ -3699,6 +3705,7 @@ ParticleSystem: atime6: 0 atime7: 0 m_Mode: 0 + m_ColorSpace: -1 m_NumColorKeys: 2 m_NumAlphaKeys: 2 range: {x: 0, y: 1} @@ -4076,6 +4083,7 @@ ParticleSystem: m_RotationOrder: 4 minVertexDistance: 0.2 textureMode: 0 + textureScale: {x: 1, y: 1} ribbonCount: 1 shadowBias: 0.5 worldSpace: 0 @@ -4118,6 +4126,7 @@ ParticleSystem: atime6: 0 atime7: 0 m_Mode: 0 + m_ColorSpace: -1 m_NumColorKeys: 2 m_NumAlphaKeys: 2 minGradient: @@ -4147,6 +4156,7 @@ ParticleSystem: atime6: 0 atime7: 0 m_Mode: 0 + m_ColorSpace: -1 m_NumColorKeys: 2 m_NumAlphaKeys: 2 widthOverTrail: @@ -4234,6 +4244,7 @@ ParticleSystem: atime6: 0 atime7: 0 m_Mode: 0 + m_ColorSpace: -1 m_NumColorKeys: 2 m_NumAlphaKeys: 2 minGradient: @@ -4263,6 +4274,7 @@ ParticleSystem: atime6: 0 atime7: 0 m_Mode: 0 + m_ColorSpace: -1 m_NumColorKeys: 2 m_NumAlphaKeys: 2 CustomDataModule: @@ -4301,6 +4313,7 @@ ParticleSystem: atime6: 0 atime7: 0 m_Mode: 0 + m_ColorSpace: -1 m_NumColorKeys: 2 m_NumAlphaKeys: 2 minGradient: @@ -4330,6 +4343,7 @@ ParticleSystem: atime6: 0 atime7: 0 m_Mode: 0 + m_ColorSpace: -1 m_NumColorKeys: 2 m_NumAlphaKeys: 2 colorLabel0: Color @@ -4583,6 +4597,7 @@ ParticleSystem: atime6: 0 atime7: 0 m_Mode: 0 + m_ColorSpace: -1 m_NumColorKeys: 2 m_NumAlphaKeys: 2 minGradient: @@ -4612,6 +4627,7 @@ ParticleSystem: atime6: 0 atime7: 0 m_Mode: 0 + m_ColorSpace: -1 m_NumColorKeys: 2 m_NumAlphaKeys: 2 colorLabel1: Color @@ -4836,6 +4852,7 @@ PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: + serializedVersion: 3 m_TransformParent: {fileID: 8152618253768758015} m_Modifications: - target: {fileID: 2404952191038050432, guid: ba7423467677dd4419f734e5813b0e04, @@ -4999,6 +5016,9 @@ PrefabInstance: value: Waterfall Impact Splashes objectReference: {fileID: 0} m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: ba7423467677dd4419f734e5813b0e04, type: 3} --- !u!4 &2872933871037416439 stripped Transform: diff --git a/BlueWater/ProjectSettings/DynamicsManager.asset b/BlueWater/ProjectSettings/DynamicsManager.asset index 08be41960..88751f06f 100644 --- a/BlueWater/ProjectSettings/DynamicsManager.asset +++ b/BlueWater/ProjectSettings/DynamicsManager.asset @@ -17,7 +17,7 @@ PhysicsManager: m_EnableAdaptiveForce: 0 m_ClothInterCollisionDistance: 0.1 m_ClothInterCollisionStiffness: 0.2 - m_LayerCollisionMatrix: 04000000100000000100000050a622003a262282100000000800000000000000000000001826220218262000000000000000000018262000000000000800000200000000180200000000000000000000000000001826000200000000000000000000000010822000000000000000000000000000000000000000000010000000 + m_LayerCollisionMatrix: 04000000100000000100000050a622023a262282100000000800000000000000000000001826220218262000000000000000000018262000000000000800000200000000180200000000000000000000000000001826000200000000000000000000000018822000000000000000000000000000000000000000000010000000 m_SimulationMode: 0 m_AutoSyncTransforms: 0 m_ReuseCollisionCallbacks: 0 diff --git a/BlueWater/ProjectSettings/TagManager.asset b/BlueWater/ProjectSettings/TagManager.asset index 4a679b25c..fbd8db54a 100644 --- a/BlueWater/ProjectSettings/TagManager.asset +++ b/BlueWater/ProjectSettings/TagManager.asset @@ -21,6 +21,7 @@ TagManager: - Water - DestructiveObject - ShipPlayer + - Boids layers: - Default - TransparentFX @@ -37,8 +38,8 @@ TagManager: - - Enemy - + - Boids - Boid - - - Npc - -