From 76ff048395c6f383f8a24fe9dc7813b0d1f282ac Mon Sep 17 00:00:00 2001 From: Stedd Date: Sat, 17 Sep 2022 15:35:03 +0200 Subject: [PATCH] Added some scripts from a different project Enemies and Towers --- Assets/Entities.meta | 8 + Assets/Entities/Enemy.meta | 8 + Assets/Entities/Enemy/Enemy.cs | 18 + Assets/Entities/Enemy/Enemy.cs.meta | 11 + Assets/Entities/Enemy/Enemy.prefab | 251 + Assets/Entities/Enemy/Enemy.prefab.meta | 7 + Assets/Entities/Enemy/EnemyFast.prefab | 87 + Assets/Entities/Enemy/EnemyFast.prefab.meta | 7 + Assets/Entities/Enemy/EnemyHandler.cs | 133 + Assets/Entities/Enemy/EnemyHandler.cs.meta | 11 + Assets/Entities/Enemy/EnemyHandler.prefab | 56 + .../Entities/Enemy/EnemyHandler.prefab.meta | 7 + Assets/Entities/Enemy/EnemyHealth.cs | 62 + Assets/Entities/Enemy/EnemyHealth.cs.meta | 11 + Assets/Entities/Enemy/EnemyMovement.cs | 112 + Assets/Entities/Enemy/EnemyMovement.cs.meta | 11 + Assets/Entities/Enemy/EnemyStrong.prefab | 239 + Assets/Entities/Enemy/EnemyStrong.prefab.meta | 7 + Assets/Entities/Enemy/ObjectPool.cs | 33 + Assets/Entities/Enemy/ObjectPool.cs.meta | 11 + Assets/Entities/Enemy/ObjectPool.prefab | 45 + Assets/Entities/Enemy/ObjectPool.prefab.meta | 7 + Assets/Entities/Enemy/Ram.obj | 2000 +++++++ Assets/Entities/Enemy/Ram.obj.meta | 101 + Assets/Entities/Handlers.meta | 8 + Assets/Entities/Handlers/BuildingHandler.cs | 72 + .../Entities/Handlers/BuildingHandler.cs.meta | 11 + .../Entities/Handlers/BuildingHandler.prefab | 49 + .../Handlers/BuildingHandler.prefab.meta | 7 + Assets/Entities/Handlers/ScoreHandler.cs | 63 + Assets/Entities/Handlers/ScoreHandler.cs.meta | 11 + Assets/Entities/Handlers/ScoreHandler.prefab | 50 + .../Handlers/ScoreHandler.prefab.meta | 7 + Assets/Entities/Tower.meta | 8 + Assets/Entities/Tower/Ballista.prefab | 5027 +++++++++++++++++ Assets/Entities/Tower/Ballista.prefab.meta | 7 + Assets/Entities/Tower/Ballista_Sniper.prefab | 87 + .../Tower/Ballista_Sniper.prefab.meta | 7 + Assets/Entities/Tower/Bolt.prefab | 114 + Assets/Entities/Tower/Bolt.prefab.meta | 7 + Assets/Entities/Tower/Tower.cs | 144 + Assets/Entities/Tower/Tower.cs.meta | 11 + 42 files changed, 8933 insertions(+) create mode 100644 Assets/Entities.meta create mode 100644 Assets/Entities/Enemy.meta create mode 100644 Assets/Entities/Enemy/Enemy.cs create mode 100644 Assets/Entities/Enemy/Enemy.cs.meta create mode 100644 Assets/Entities/Enemy/Enemy.prefab create mode 100644 Assets/Entities/Enemy/Enemy.prefab.meta create mode 100644 Assets/Entities/Enemy/EnemyFast.prefab create mode 100644 Assets/Entities/Enemy/EnemyFast.prefab.meta create mode 100644 Assets/Entities/Enemy/EnemyHandler.cs create mode 100644 Assets/Entities/Enemy/EnemyHandler.cs.meta create mode 100644 Assets/Entities/Enemy/EnemyHandler.prefab create mode 100644 Assets/Entities/Enemy/EnemyHandler.prefab.meta create mode 100644 Assets/Entities/Enemy/EnemyHealth.cs create mode 100644 Assets/Entities/Enemy/EnemyHealth.cs.meta create mode 100644 Assets/Entities/Enemy/EnemyMovement.cs create mode 100644 Assets/Entities/Enemy/EnemyMovement.cs.meta create mode 100644 Assets/Entities/Enemy/EnemyStrong.prefab create mode 100644 Assets/Entities/Enemy/EnemyStrong.prefab.meta create mode 100644 Assets/Entities/Enemy/ObjectPool.cs create mode 100644 Assets/Entities/Enemy/ObjectPool.cs.meta create mode 100644 Assets/Entities/Enemy/ObjectPool.prefab create mode 100644 Assets/Entities/Enemy/ObjectPool.prefab.meta create mode 100644 Assets/Entities/Enemy/Ram.obj create mode 100644 Assets/Entities/Enemy/Ram.obj.meta create mode 100644 Assets/Entities/Handlers.meta create mode 100644 Assets/Entities/Handlers/BuildingHandler.cs create mode 100644 Assets/Entities/Handlers/BuildingHandler.cs.meta create mode 100644 Assets/Entities/Handlers/BuildingHandler.prefab create mode 100644 Assets/Entities/Handlers/BuildingHandler.prefab.meta create mode 100644 Assets/Entities/Handlers/ScoreHandler.cs create mode 100644 Assets/Entities/Handlers/ScoreHandler.cs.meta create mode 100644 Assets/Entities/Handlers/ScoreHandler.prefab create mode 100644 Assets/Entities/Handlers/ScoreHandler.prefab.meta create mode 100644 Assets/Entities/Tower.meta create mode 100644 Assets/Entities/Tower/Ballista.prefab create mode 100644 Assets/Entities/Tower/Ballista.prefab.meta create mode 100644 Assets/Entities/Tower/Ballista_Sniper.prefab create mode 100644 Assets/Entities/Tower/Ballista_Sniper.prefab.meta create mode 100644 Assets/Entities/Tower/Bolt.prefab create mode 100644 Assets/Entities/Tower/Bolt.prefab.meta create mode 100644 Assets/Entities/Tower/Tower.cs create mode 100644 Assets/Entities/Tower/Tower.cs.meta diff --git a/Assets/Entities.meta b/Assets/Entities.meta new file mode 100644 index 0000000..879063e --- /dev/null +++ b/Assets/Entities.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7d75a7419127a5f43b0fad3e047043a1 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Entities/Enemy.meta b/Assets/Entities/Enemy.meta new file mode 100644 index 0000000..91fb6a0 --- /dev/null +++ b/Assets/Entities/Enemy.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a9c251869bcfc634d9651084054ffd82 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Entities/Enemy/Enemy.cs b/Assets/Entities/Enemy/Enemy.cs new file mode 100644 index 0000000..0512a9a --- /dev/null +++ b/Assets/Entities/Enemy/Enemy.cs @@ -0,0 +1,18 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class Enemy : MonoBehaviour +{ + // Start is called before the first frame update + void Start() + { + + } + + // Update is called once per frame + void Update() + { + + } +} diff --git a/Assets/Entities/Enemy/Enemy.cs.meta b/Assets/Entities/Enemy/Enemy.cs.meta new file mode 100644 index 0000000..4304ed9 --- /dev/null +++ b/Assets/Entities/Enemy/Enemy.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a8e2a3a5a069cea4cbe59c093201d8dc +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Entities/Enemy/Enemy.prefab b/Assets/Entities/Enemy/Enemy.prefab new file mode 100644 index 0000000..86d0da1 --- /dev/null +++ b/Assets/Entities/Enemy/Enemy.prefab @@ -0,0 +1,251 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &3984945248064815929 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5330979831303032834} + - component: {fileID: 7002075653054196040} + - component: {fileID: 5767392122669354460} + m_Layer: 0 + m_Name: default + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5330979831303032834 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3984945248064815929} + 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_Children: [] + m_Father: {fileID: 4722945444804288858} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &7002075653054196040 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3984945248064815929} + m_Mesh: {fileID: -2432090755550338912, guid: 0eaf0955d0035664c87a3d4177a41887, type: 3} +--- !u!23 &5767392122669354460 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3984945248064815929} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 6842584044724275946, guid: 0eaf0955d0035664c87a3d4177a41887, type: 3} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &5386469493770533856 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4722945444804288858} + m_Layer: 0 + m_Name: Ram + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4722945444804288858 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5386469493770533856} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 6.25, y: 6.25, z: 6.25} + m_Children: + - {fileID: 5330979831303032834} + m_Father: {fileID: 2692714622321691895} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &5599539567497807159 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2692714622321691895} + - component: {fileID: 8306990489970303076} + - component: {fileID: -1839871183979442494} + - component: {fileID: 6819292882879353878} + - component: {fileID: 6251302194646931819} + - component: {fileID: 3339486200269071965} + m_Layer: 0 + m_Name: Enemy + m_TagString: Enemy + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &2692714622321691895 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5599539567497807159} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4722945444804288858} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &8306990489970303076 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5599539567497807159} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 5, y: 4.3, z: 5} + m_Center: {x: 0, y: 2.2, z: 0} +--- !u!54 &-1839871183979442494 +Rigidbody: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5599539567497807159} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 0 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 126 + m_CollisionDetection: 0 +--- !u!114 &6819292882879353878 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5599539567497807159} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8e691044df4c75f4cb07af0551efa2c6, type: 3} + m_Name: + m_EditorClassIdentifier: + speed: 0.4 + damage: 2 + enemyHandler: {fileID: 0} + scoreHandler: {fileID: 0} + path: + - {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} +--- !u!114 &6251302194646931819 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5599539567497807159} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0f42db9d6c21540a5ef3107e36946a, type: 3} + m_Name: + m_EditorClassIdentifier: + enemyHandler: {fileID: 0} + scoreHandler: {fileID: 0} + maxHealth: 10 + wealthValue: 5 + currentHealth: 0 +--- !u!114 &3339486200269071965 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5599539567497807159} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a8e2a3a5a069cea4cbe59c093201d8dc, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/Entities/Enemy/Enemy.prefab.meta b/Assets/Entities/Enemy/Enemy.prefab.meta new file mode 100644 index 0000000..8b3205e --- /dev/null +++ b/Assets/Entities/Enemy/Enemy.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 4af571b983b23f94f8d5ca4dbda27de5 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Entities/Enemy/EnemyFast.prefab b/Assets/Entities/Enemy/EnemyFast.prefab new file mode 100644 index 0000000..7d8acec --- /dev/null +++ b/Assets/Entities/Enemy/EnemyFast.prefab @@ -0,0 +1,87 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1001 &3276725320138281655 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 2692714622321691895, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2692714622321691895, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2692714622321691895, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2692714622321691895, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2692714622321691895, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2692714622321691895, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2692714622321691895, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2692714622321691895, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2692714622321691895, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2692714622321691895, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2692714622321691895, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4722945444804288858, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: m_LocalScale.x + value: 6 + objectReference: {fileID: 0} + - target: {fileID: 4722945444804288858, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: m_LocalScale.y + value: 6 + objectReference: {fileID: 0} + - target: {fileID: 4722945444804288858, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: m_LocalScale.z + value: 6 + objectReference: {fileID: 0} + - target: {fileID: 5599539567497807159, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: m_Name + value: EnemyFast + objectReference: {fileID: 0} + - target: {fileID: 6251302194646931819, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: maxHealth + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 6251302194646931819, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: wealthValue + value: 10 + objectReference: {fileID: 0} + - target: {fileID: 6819292882879353878, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: speed + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6819292882879353878, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: damage + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} diff --git a/Assets/Entities/Enemy/EnemyFast.prefab.meta b/Assets/Entities/Enemy/EnemyFast.prefab.meta new file mode 100644 index 0000000..ff0b988 --- /dev/null +++ b/Assets/Entities/Enemy/EnemyFast.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 0918a47a96be6ad4e853d83c60acda6d +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Entities/Enemy/EnemyHandler.cs b/Assets/Entities/Enemy/EnemyHandler.cs new file mode 100644 index 0000000..8279f7b --- /dev/null +++ b/Assets/Entities/Enemy/EnemyHandler.cs @@ -0,0 +1,133 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class EnemyHandler : MonoBehaviour +{ + [Header("Assigned on start")] + [SerializeField] PathFinder pathFinder; + [SerializeField] GridManager gridManager; + + + [Header("Parameters")] + [SerializeField] [Range(0.1f, 60f)] float spawnRate = 60f; + [SerializeField] int objectPoolSize = 15; + + [Header("Prefabs")] + [SerializeField] GameObject objectPool; + [SerializeField] List enemyPrefabs = new List(); + + [Header("Lists")] + [SerializeField] List path = new List(); + [SerializeField] List enemyPools = new List(); + [SerializeField] List allEnemies = new List(); + + + public List Path { get { return path; } } + + private void Awake() + { + gridManager = FindObjectOfType(); + } + + private void Start() + { + //gridManager.CalculateNewPath(); + + PopulateObjectPools(); + + StartCoroutine(Spawner()); + } + + private void Update() + { + if (Input.GetKeyDown(KeyCode.N)) + { + SpawnNewEnemy(); + } + } + + public void SetPath(List _nodes) + { + path.Clear(); + + foreach (Node _node in _nodes) + { + path.Add(_node); + } + + UpdateEnemyPath(); + } + + void UpdateEnemyPath() + { + foreach (GameObject _pool in enemyPools) + { + foreach (EnemyMovement _enemy in _pool.GetComponentsInChildren()) + { + _enemy.SetPath(path); + } + } + } + + void PopulateObjectPools() + { + foreach (GameObject enemy in enemyPrefabs) + { + GameObject newPool = Instantiate(objectPool, transform); + newPool.transform.name = $"ObjectPool:{enemy.name}"; + ObjectPool poolScript = newPool.GetComponent(); + enemyPools.Add(newPool); + + for (int i = 0; i < objectPoolSize; i++) + { + enemy.SetActive(false); + poolScript.AddObject(enemy); + } + } + } + + public void AddEnemyToAllEnemies(GameObject _enemy) + { + allEnemies.Add(_enemy); + } + + public void RemoveEnemy(GameObject _enemy) + { + allEnemies.Remove(_enemy); + } + + public List ReturnAllEnemies() + { + return allEnemies; + } + + void SpawnNewEnemy() + { + int spawnEnemyIndex = Mathf.RoundToInt(Random.Range(-0.49f, 2.49f)); + enemyPools[spawnEnemyIndex].GetComponent().EnableFirstAvailableObject(); + } + + IEnumerator Spawner() + { + while (true) + { + SpawnNewEnemy(); + yield return new WaitForSeconds(spawnRate); + } + } + + public Vector2Int GetCoordinatesFromPosition(Vector3 position) + { + Vector2Int coordinates = new Vector2Int(); + coordinates.x = Mathf.RoundToInt(position.x / UnityEditor.EditorSnapSettings.move.x); + coordinates.y = Mathf.RoundToInt(position.z / UnityEditor.EditorSnapSettings.move.z); + + return coordinates; + } + + public void NotifyEnemiesOfNewPath() + { + BroadcastMessage("RecalculatePath", SendMessageOptions.DontRequireReceiver); + } +} diff --git a/Assets/Entities/Enemy/EnemyHandler.cs.meta b/Assets/Entities/Enemy/EnemyHandler.cs.meta new file mode 100644 index 0000000..7cd3e52 --- /dev/null +++ b/Assets/Entities/Enemy/EnemyHandler.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 62a3dc5f11a44cb4d9faccb4fda8599f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Entities/Enemy/EnemyHandler.prefab b/Assets/Entities/Enemy/EnemyHandler.prefab new file mode 100644 index 0000000..3636038 --- /dev/null +++ b/Assets/Entities/Enemy/EnemyHandler.prefab @@ -0,0 +1,56 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &3532497916441651499 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6522036412611271300} + - component: {fileID: 5740012543617437938} + m_Layer: 0 + m_Name: EnemyHandler + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6522036412611271300 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3532497916441651499} + 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_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &5740012543617437938 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3532497916441651499} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 62a3dc5f11a44cb4d9faccb4fda8599f, type: 3} + m_Name: + m_EditorClassIdentifier: + gridManager: {fileID: 0} + spawnRate: 1 + objectPoolSize: 20 + objectPool: {fileID: 5933799035485059591, guid: f788405216a67b14ead70299a821f731, type: 3} + enemyPrefabs: + - {fileID: 5599539567497807159, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + - {fileID: 1460346957670431539, guid: d00403ece6c81e3409adb225c74eb396, type: 3} + - {fileID: 6975173952531158912, guid: 0918a47a96be6ad4e853d83c60acda6d, type: 3} + path: [] + enemyPools: [] + allEnemies: [] diff --git a/Assets/Entities/Enemy/EnemyHandler.prefab.meta b/Assets/Entities/Enemy/EnemyHandler.prefab.meta new file mode 100644 index 0000000..9a3b85c --- /dev/null +++ b/Assets/Entities/Enemy/EnemyHandler.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 7ef7610a148db694982d168933de0f4b +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Entities/Enemy/EnemyHealth.cs b/Assets/Entities/Enemy/EnemyHealth.cs new file mode 100644 index 0000000..d09dc5f --- /dev/null +++ b/Assets/Entities/Enemy/EnemyHealth.cs @@ -0,0 +1,62 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class EnemyHealth : MonoBehaviour +{ + [Header("Assigned on start")] + [SerializeField] EnemyHandler enemyHandler; + [SerializeField] ScoreHandler scoreHandler; + + [Header("Parameters")] + [SerializeField] int maxHealth = 5; + [SerializeField] int difficultyRamp = 1; + + [SerializeField] int wealthValue = 5; + + [Header("Stats")] + [SerializeField] int currentHealth; + + #region Public + public int Health { get=> currentHealth;} + #endregion + + void OnEnable() + { + enemyHandler = FindObjectOfType(); + scoreHandler = FindObjectOfType(); + currentHealth = maxHealth; + } + + private void OnParticleCollision(GameObject damager) + { + ProcessHitFrom(damager); + } + + private void ProcessHitFrom(GameObject damager) + { + // SpawnFX(damageVFX); + + // Debug.Log(damager.GetComponentInParent().GetDamage()); + currentHealth -= damager.GetComponentInParent().Damage; + + //UpdateHealthText(health); + + if(currentHealth <= 0) + { + ProcessDeathFrom(damager); + } + } + + private void ProcessDeathFrom(GameObject damager) + { + damager.GetComponentInParent().UpdateScore(1f); + + // SpawnFX(deathFX); + scoreHandler.ModifyWealth(wealthValue); + enemyHandler.RemoveEnemy(gameObject); + // Destroy(gameObject); + gameObject.SetActive(false); + maxHealth += difficultyRamp; + } +} diff --git a/Assets/Entities/Enemy/EnemyHealth.cs.meta b/Assets/Entities/Enemy/EnemyHealth.cs.meta new file mode 100644 index 0000000..a893b1c --- /dev/null +++ b/Assets/Entities/Enemy/EnemyHealth.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ac0f42db9d6c21540a5ef3107e36946a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Entities/Enemy/EnemyMovement.cs b/Assets/Entities/Enemy/EnemyMovement.cs new file mode 100644 index 0000000..50f25cc --- /dev/null +++ b/Assets/Entities/Enemy/EnemyMovement.cs @@ -0,0 +1,112 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class EnemyMovement : MonoBehaviour +{ + [Header("Parameters")] + [SerializeField] [Range(0f, 5f)] float speed = 1f; + [SerializeField] int damage = 1; + + + [SerializeField] EnemyHandler enemyHandler; + [SerializeField] ScoreHandler scoreHandler; + [SerializeField] PathFinder pathFinder; + [SerializeField] List path; + + Vector3 startPosition; + Vector3 endPosition; + float travelPercent = 0f; + + private IEnumerator followPath; + + void Awake() + { + enemyHandler = FindObjectOfType(); + scoreHandler = FindObjectOfType(); + pathFinder = FindObjectOfType(); + } + + void OnEnable() + { + transform.localPosition = GetVector3(pathFinder.GetStartPosition()); + SetPath(pathFinder.CalculateNewPath(enemyHandler.GetCoordinatesFromPosition(gameObject.transform.position))); + transform.LookAt(GetVector3(path[1].coordinates)); + enemyHandler.AddEnemyToAllEnemies(gameObject); + + CoroutineStarter(); + } + + + void RecalculatePath() + { + if (followPath != null) + { + //Debug.Log("Stopping Coroutine"); + StopCoroutine(followPath); + + } + //Debug.Log($"{this.name} Recalculating path"); + SetPath(pathFinder.CalculateNewPath(enemyHandler.GetCoordinatesFromPosition(gameObject.transform.position))); + CoroutineStarter(); + } + + private void CoroutineStarter() + { + followPath = FollowPath(); + StartCoroutine(followPath); + } + public void SetPath(List _path) + { + path.Clear(); + + foreach (Node _node in _path) + { + path.Add(_node); + } + //regenerate start to finish path to not interfere with building + pathFinder.CalculateNewPath(); + } + + IEnumerator FollowPath() + { + + for (int i = 1; i < path.Count; i++) + { + startPosition = transform.position; + endPosition = GetVector3(path[i].coordinates); + travelPercent = 0; + transform.LookAt(endPosition); + //float distance = Vector3.Distance(startPosition, endPosition); + //if (Vector3.Distance(startPosition, endPosition) < 10) + //{ + // travelPercent = 1 - (distance / 10); + //} + + // Debug.Log($"start: {startPosition}. end: {endPosition}"); + while (travelPercent < 1f) + { + travelPercent += Time.deltaTime * speed; + transform.position = Vector3.Lerp(startPosition, endPosition, travelPercent); + yield return new WaitForEndOfFrame(); + } + } + + HandleReachedEndOfPath(); + } + + void HandleReachedEndOfPath() + { + scoreHandler.ModifyHealth(-damage); + scoreHandler.ModifyWealth(-100); + enemyHandler.RemoveEnemy(gameObject); + //Destroy(gameObject); + gameObject.SetActive(false); + } + + private Vector3 GetVector3(Vector2Int _coord) + { + return new Vector3((float)_coord.x, 0f, (float)_coord.y) * 10f; + } + +} diff --git a/Assets/Entities/Enemy/EnemyMovement.cs.meta b/Assets/Entities/Enemy/EnemyMovement.cs.meta new file mode 100644 index 0000000..d52ce13 --- /dev/null +++ b/Assets/Entities/Enemy/EnemyMovement.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8e691044df4c75f4cb07af0551efa2c6 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Entities/Enemy/EnemyStrong.prefab b/Assets/Entities/Enemy/EnemyStrong.prefab new file mode 100644 index 0000000..479201e --- /dev/null +++ b/Assets/Entities/Enemy/EnemyStrong.prefab @@ -0,0 +1,239 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &803458978269333711 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 248754501706230461} + - component: {fileID: 3028083790515686286} + m_Layer: 0 + m_Name: Halo + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &248754501706230461 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 803458978269333711} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 2.15, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 8984628398547219187} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!122 &3028083790515686286 +Halo: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 803458978269333711} + m_Enabled: 1 + m_Color: + serializedVersion: 2 + rgba: 3573448 + m_Size: 3.63 +--- !u!1001 &6481170536800402948 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 2692714622321691895, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2692714622321691895, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2692714622321691895, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2692714622321691895, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2692714622321691895, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2692714622321691895, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2692714622321691895, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2692714622321691895, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2692714622321691895, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2692714622321691895, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2692714622321691895, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4722945444804288858, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: m_LocalScale.x + value: 6.7 + objectReference: {fileID: 0} + - target: {fileID: 4722945444804288858, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: m_LocalScale.y + value: 6.7 + objectReference: {fileID: 0} + - target: {fileID: 4722945444804288858, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: m_LocalScale.z + value: 6.7 + objectReference: {fileID: 0} + - target: {fileID: 5599539567497807159, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: m_Name + value: EnemyStrong + objectReference: {fileID: 0} + - target: {fileID: 6251302194646931819, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: maxHealth + value: 15 + objectReference: {fileID: 0} + - target: {fileID: 6251302194646931819, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: wealthValue + value: 15 + objectReference: {fileID: 0} + - target: {fileID: 6819292882879353878, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: speed + value: 0.2 + objectReference: {fileID: 0} + - target: {fileID: 6819292882879353878, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: damage + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 6819292882879353878, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: path.Array.data[0] + value: + objectReference: {fileID: 0} + - target: {fileID: 6819292882879353878, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: path.Array.data[1] + value: + objectReference: {fileID: 0} + - target: {fileID: 6819292882879353878, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: path.Array.data[2] + value: + objectReference: {fileID: 0} + - target: {fileID: 6819292882879353878, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: path.Array.data[3] + value: + objectReference: {fileID: 0} + - target: {fileID: 6819292882879353878, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: path.Array.data[4] + value: + objectReference: {fileID: 0} + - target: {fileID: 6819292882879353878, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: path.Array.data[5] + value: + objectReference: {fileID: 0} + - target: {fileID: 6819292882879353878, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: path.Array.data[6] + value: + objectReference: {fileID: 0} + - target: {fileID: 6819292882879353878, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: path.Array.data[7] + value: + objectReference: {fileID: 0} + - target: {fileID: 6819292882879353878, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: path.Array.data[8] + value: + objectReference: {fileID: 0} + - target: {fileID: 6819292882879353878, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: path.Array.data[9] + value: + objectReference: {fileID: 0} + - target: {fileID: 6819292882879353878, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: path.Array.data[10] + value: + objectReference: {fileID: 0} + - target: {fileID: 6819292882879353878, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: path.Array.data[11] + value: + objectReference: {fileID: 0} + - target: {fileID: 6819292882879353878, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: path.Array.data[12] + value: + objectReference: {fileID: 0} + - target: {fileID: 6819292882879353878, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: path.Array.data[13] + value: + objectReference: {fileID: 0} + - target: {fileID: 6819292882879353878, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: path.Array.data[14] + value: + objectReference: {fileID: 0} + - target: {fileID: 6819292882879353878, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: path.Array.data[15] + value: + objectReference: {fileID: 0} + - target: {fileID: 6819292882879353878, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: path.Array.data[16] + value: + objectReference: {fileID: 0} + - target: {fileID: 6819292882879353878, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: path.Array.data[17] + value: + objectReference: {fileID: 0} + - target: {fileID: 6819292882879353878, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: path.Array.data[18] + value: + objectReference: {fileID: 0} + - target: {fileID: 6819292882879353878, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: path.Array.data[19] + value: + objectReference: {fileID: 0} + - target: {fileID: 6819292882879353878, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: path.Array.data[20] + value: + objectReference: {fileID: 0} + - target: {fileID: 6819292882879353878, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: path.Array.data[21] + value: + objectReference: {fileID: 0} + - target: {fileID: 6819292882879353878, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: path.Array.data[22] + value: + objectReference: {fileID: 0} + - target: {fileID: 6819292882879353878, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: path.Array.data[23] + value: + objectReference: {fileID: 0} + - target: {fileID: 6819292882879353878, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: path.Array.data[24] + value: + objectReference: {fileID: 0} + - target: {fileID: 6819292882879353878, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: path.Array.data[25] + value: + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} +--- !u!4 &8984628398547219187 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 2692714622321691895, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + m_PrefabInstance: {fileID: 6481170536800402948} + m_PrefabAsset: {fileID: 0} diff --git a/Assets/Entities/Enemy/EnemyStrong.prefab.meta b/Assets/Entities/Enemy/EnemyStrong.prefab.meta new file mode 100644 index 0000000..f809e5a --- /dev/null +++ b/Assets/Entities/Enemy/EnemyStrong.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: d00403ece6c81e3409adb225c74eb396 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Entities/Enemy/ObjectPool.cs b/Assets/Entities/Enemy/ObjectPool.cs new file mode 100644 index 0000000..fc226df --- /dev/null +++ b/Assets/Entities/Enemy/ObjectPool.cs @@ -0,0 +1,33 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class ObjectPool : MonoBehaviour +{ + [SerializeField] List objects; + + public void AddObject(GameObject _object){ + //objects.Add(_object); + _object.SetActive(false); + GameObject newObject = Instantiate(_object, transform); + objects.Add(newObject); + } + + public void RemoveObject(GameObject _object){ + //objects.Remove(_object); + } + + public void EnableFirstAvailableObject(){ + // gameObject.GetComponentsInChildren(); + foreach (GameObject _object in objects) + { + if(!_object.activeSelf) + { + _object.SetActive(true); + break; + } + + // Debug.Log($"Tried activating enemy but no free object in pool:{gameObject.name}"); + } + } +} diff --git a/Assets/Entities/Enemy/ObjectPool.cs.meta b/Assets/Entities/Enemy/ObjectPool.cs.meta new file mode 100644 index 0000000..88509ca --- /dev/null +++ b/Assets/Entities/Enemy/ObjectPool.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b81db1c4747c5b5428da1245d5154a2b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Entities/Enemy/ObjectPool.prefab b/Assets/Entities/Enemy/ObjectPool.prefab new file mode 100644 index 0000000..e0fe34e --- /dev/null +++ b/Assets/Entities/Enemy/ObjectPool.prefab @@ -0,0 +1,45 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &5933799035485059591 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8076414275049475842} + - component: {fileID: -6231193182959693008} + m_Layer: 0 + m_Name: ObjectPool + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8076414275049475842 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5933799035485059591} + 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_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &-6231193182959693008 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5933799035485059591} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b81db1c4747c5b5428da1245d5154a2b, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/Entities/Enemy/ObjectPool.prefab.meta b/Assets/Entities/Enemy/ObjectPool.prefab.meta new file mode 100644 index 0000000..0b0d0fd --- /dev/null +++ b/Assets/Entities/Enemy/ObjectPool.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: f788405216a67b14ead70299a821f731 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Entities/Enemy/Ram.obj b/Assets/Entities/Enemy/Ram.obj new file mode 100644 index 0000000..564eaad --- /dev/null +++ b/Assets/Entities/Enemy/Ram.obj @@ -0,0 +1,2000 @@ +# Blender v2.82 (sub 7) OBJ File: '' +# www.blender.org +mtllib Ram.mtl +o ObjObject.002 +v 0.400000 0.200000 0.400000 +v 0.300000 0.100000 0.400000 +v 0.400000 0.100000 0.400000 +v 0.300000 0.200000 0.400000 +v -0.300000 0.200000 0.400000 +v -0.400000 0.100000 0.400000 +v -0.300000 0.100000 0.400000 +v -0.400000 0.200000 0.400000 +v 0.100000 0.500000 0.400000 +v -0.100000 0.300000 0.400000 +v 0.100000 0.300000 0.400000 +v -0.100000 0.500000 0.400000 +v 0.400000 0.100000 0.300000 +v 0.300000 -0.000000 0.300000 +v 0.400000 -0.000000 0.300000 +v 0.300000 0.100000 0.300000 +v -0.300000 0.100000 0.300000 +v -0.400000 0.000000 0.300000 +v -0.300000 0.000000 0.300000 +v -0.400000 0.100000 0.300000 +v 0.300000 0.200000 0.300000 +v 0.200000 0.200000 0.300000 +v 0.100000 0.200000 0.300000 +v -0.100000 0.200000 0.300000 +v -0.200000 0.200000 0.300000 +v -0.300000 0.200000 0.300000 +v 0.400000 0.300000 0.300000 +v 0.400000 0.200000 0.300000 +v 0.300000 0.300000 0.300000 +v 0.100000 0.300000 0.300000 +v -0.100000 0.300000 0.300000 +v -0.300000 0.300000 0.300000 +v -0.400000 0.200000 0.300000 +v -0.400000 0.300000 0.300000 +v 0.200000 0.400000 0.300000 +v 0.100000 0.400000 0.300000 +v -0.100000 0.400000 0.300000 +v -0.200000 0.400000 0.300000 +v 0.300000 0.600000 0.300000 +v 0.200000 0.500000 0.300000 +v 0.300000 0.500000 0.300000 +v 0.200000 0.600000 0.300000 +v -0.200000 0.600000 0.300000 +v -0.300000 0.500000 0.300000 +v -0.200000 0.500000 0.300000 +v -0.300000 0.600000 0.300000 +v 0.200000 0.700000 0.300000 +v -0.200000 0.700000 0.300000 +v 0.200000 0.500000 0.200000 +v 0.100000 0.400000 0.200000 +v 0.200000 0.400000 0.200000 +v 0.100000 0.500000 0.200000 +v -0.100000 0.500000 0.200000 +v -0.200000 0.400000 0.200000 +v -0.100000 0.400000 0.200000 +v -0.200000 0.500000 0.200000 +v 0.200000 0.600000 0.100000 +v 0.100000 0.500000 0.100000 +v 0.200000 0.500000 0.100000 +v 0.100000 0.600000 0.100000 +v -0.100000 0.600000 0.100000 +v -0.200000 0.500000 0.100000 +v -0.100000 0.500000 0.100000 +v -0.200000 0.600000 0.100000 +v 0.400000 0.200000 -0.000000 +v 0.300000 0.100000 -0.000000 +v 0.400000 0.100000 -0.000000 +v 0.300000 0.200000 -0.000000 +v -0.300000 0.200000 0.000000 +v -0.400000 0.100000 0.000000 +v -0.300000 0.100000 0.000000 +v -0.400000 0.200000 0.000000 +v 0.400000 0.100000 -0.100000 +v 0.300000 -0.000000 -0.100000 +v 0.400000 -0.000000 -0.100000 +v 0.300000 0.100000 -0.100000 +v -0.300000 0.100000 -0.100000 +v -0.400000 0.000000 -0.100000 +v -0.300000 0.000000 -0.100000 +v -0.400000 0.100000 -0.100000 +v 0.300000 0.200000 -0.100000 +v 0.200000 0.100000 -0.100000 +v 0.200000 0.200000 -0.100000 +v 0.100000 0.200000 -0.100000 +v -0.100000 0.100000 -0.100000 +v 0.100000 0.100000 -0.100000 +v -0.100000 0.200000 -0.100000 +v -0.200000 0.200000 -0.100000 +v -0.200000 0.100000 -0.100000 +v -0.300000 0.200000 -0.100000 +v 0.400000 0.300000 -0.100000 +v 0.400000 0.200000 -0.100000 +v 0.300000 0.300000 -0.100000 +v -0.300000 0.300000 -0.100000 +v -0.400000 0.200000 -0.100000 +v -0.400000 0.300000 -0.100000 +v 0.200000 0.500000 -0.100000 +v 0.100000 0.400000 -0.100000 +v 0.200000 0.400000 -0.100000 +v 0.100000 0.500000 -0.100000 +v -0.100000 0.500000 -0.100000 +v -0.200000 0.400000 -0.100000 +v -0.100000 0.400000 -0.100000 +v -0.200000 0.500000 -0.100000 +v 0.100000 0.300000 -0.200000 +v 0.100000 0.200000 -0.200000 +v 0.200000 0.200000 -0.200000 +v -0.100000 0.300000 -0.200000 +v -0.200000 0.200000 -0.200000 +v -0.100000 0.200000 -0.200000 +v 0.200000 0.400000 -0.200000 +v 0.100000 0.400000 -0.200000 +v -0.100000 0.400000 -0.200000 +v -0.200000 0.400000 -0.200000 +v 0.100000 0.200000 -0.300000 +v -0.100000 0.100000 -0.300000 +v 0.100000 0.100000 -0.300000 +v -0.100000 0.200000 -0.300000 +v 0.400000 -0.000000 0.200000 +v 0.300000 -0.000000 0.200000 +v 0.400000 0.100000 0.200000 +v 0.300000 0.100000 0.200000 +v -0.300000 0.000000 0.200000 +v -0.400000 0.000000 0.200000 +v -0.300000 0.100000 0.200000 +v -0.400000 0.100000 0.200000 +v 0.200000 0.100000 0.200000 +v 0.300000 0.200000 0.200000 +v 0.200000 0.200000 0.200000 +v 0.100000 0.100000 0.200000 +v -0.100000 0.100000 0.200000 +v 0.100000 0.200000 0.200000 +v -0.100000 0.200000 0.200000 +v -0.200000 0.100000 0.200000 +v -0.200000 0.200000 0.200000 +v -0.300000 0.200000 0.200000 +v 0.400000 0.200000 0.200000 +v 0.400000 0.300000 0.200000 +v 0.300000 0.300000 0.200000 +v 0.100000 0.300000 0.200000 +v -0.100000 0.300000 0.200000 +v -0.400000 0.200000 0.200000 +v -0.300000 0.300000 0.200000 +v -0.400000 0.300000 0.200000 +v 0.200000 0.400000 0.200000 +v 0.100000 0.400000 0.200000 +v -0.100000 0.400000 0.200000 +v -0.200000 0.400000 0.200000 +v 0.400000 0.100000 0.100000 +v 0.300000 0.100000 0.100000 +v 0.400000 0.200000 0.100000 +v 0.300000 0.200000 0.100000 +v -0.300000 0.100000 0.100000 +v -0.400000 0.100000 0.100000 +v -0.300000 0.200000 0.100000 +v -0.400000 0.200000 0.100000 +v 0.200000 0.400000 0.100000 +v 0.100000 0.400000 0.100000 +v 0.200000 0.500000 0.100000 +v 0.100000 0.500000 0.100000 +v -0.100000 0.400000 0.100000 +v -0.200000 0.400000 0.100000 +v -0.100000 0.500000 0.100000 +v -0.200000 0.500000 0.100000 +v 0.200000 0.500000 -0.100000 +v 0.100000 0.500000 -0.100000 +v 0.200000 0.600000 -0.100000 +v 0.100000 0.600000 -0.100000 +v -0.100000 0.500000 -0.100000 +v -0.200000 0.500000 -0.100000 +v -0.100000 0.600000 -0.100000 +v -0.200000 0.600000 -0.100000 +v 0.400000 -0.000000 -0.200000 +v 0.300000 -0.000000 -0.200000 +v 0.400000 0.100000 -0.200000 +v 0.300000 0.100000 -0.200000 +v -0.300000 0.000000 -0.200000 +v -0.400000 0.000000 -0.200000 +v -0.300000 0.100000 -0.200000 +v -0.400000 0.100000 -0.200000 +v 0.200000 0.100000 -0.200000 +v 0.300000 0.200000 -0.200000 +v 0.200000 0.200000 -0.200000 +v 0.100000 0.100000 -0.200000 +v -0.100000 0.100000 -0.200000 +v 0.100000 0.200000 -0.200000 +v -0.100000 0.200000 -0.200000 +v -0.200000 0.100000 -0.200000 +v -0.200000 0.200000 -0.200000 +v -0.300000 0.200000 -0.200000 +v 0.400000 0.200000 -0.200000 +v 0.400000 0.300000 -0.200000 +v 0.300000 0.300000 -0.200000 +v -0.400000 0.200000 -0.200000 +v -0.300000 0.300000 -0.200000 +v -0.400000 0.300000 -0.200000 +v 0.200000 0.400000 -0.200000 +v 0.100000 0.400000 -0.200000 +v 0.200000 0.500000 -0.200000 +v 0.100000 0.500000 -0.200000 +v -0.100000 0.400000 -0.200000 +v -0.200000 0.400000 -0.200000 +v -0.100000 0.500000 -0.200000 +v -0.200000 0.500000 -0.200000 +v 0.400000 0.100000 -0.300000 +v 0.300000 0.100000 -0.300000 +v 0.400000 0.200000 -0.300000 +v 0.300000 0.200000 -0.300000 +v -0.300000 0.100000 -0.300000 +v -0.400000 0.100000 -0.300000 +v -0.300000 0.200000 -0.300000 +v -0.400000 0.200000 -0.300000 +v 0.200000 0.200000 -0.300000 +v 0.100000 0.200000 -0.300000 +v 0.100000 0.300000 -0.300000 +v -0.100000 0.200000 -0.300000 +v -0.200000 0.200000 -0.300000 +v -0.100000 0.300000 -0.300000 +v 0.200000 0.400000 -0.300000 +v 0.100000 0.400000 -0.300000 +v -0.100000 0.400000 -0.300000 +v -0.200000 0.400000 -0.300000 +v 0.300000 0.500000 -0.300000 +v 0.200000 0.500000 -0.300000 +v 0.300000 0.600000 -0.300000 +v 0.200000 0.600000 -0.300000 +v -0.200000 0.500000 -0.300000 +v -0.300000 0.500000 -0.300000 +v -0.200000 0.600000 -0.300000 +v -0.300000 0.600000 -0.300000 +v 0.200000 0.700000 -0.300000 +v -0.200000 0.700000 -0.300000 +v 0.200000 0.100000 -0.400000 +v -0.200000 0.100000 -0.400000 +v 0.200000 0.200000 -0.400000 +v -0.200000 0.200000 -0.400000 +v 0.100000 0.300000 -0.400000 +v -0.100000 0.300000 -0.400000 +v 0.100000 0.500000 -0.400000 +v -0.100000 0.500000 -0.400000 +v 0.400000 0.100000 0.300000 +v 0.400000 0.200000 0.400000 +v 0.400000 0.100000 0.400000 +v 0.400000 0.200000 0.300000 +v 0.400000 -0.000000 0.200000 +v 0.400000 -0.000000 0.300000 +v 0.400000 0.100000 0.200000 +v 0.400000 0.200000 0.200000 +v 0.400000 0.300000 0.300000 +v 0.400000 0.300000 0.200000 +v 0.400000 0.100000 0.100000 +v 0.400000 0.200000 0.100000 +v 0.400000 0.100000 -0.100000 +v 0.400000 0.200000 -0.000000 +v 0.400000 0.100000 -0.000000 +v 0.400000 0.200000 -0.100000 +v 0.400000 -0.000000 -0.200000 +v 0.400000 -0.000000 -0.100000 +v 0.400000 0.100000 -0.200000 +v 0.400000 0.200000 -0.200000 +v 0.400000 0.300000 -0.100000 +v 0.400000 0.300000 -0.200000 +v 0.400000 0.100000 -0.300000 +v 0.400000 0.200000 -0.300000 +v 0.300000 0.500000 -0.300000 +v 0.300000 0.600000 0.300000 +v 0.300000 0.500000 0.300000 +v 0.300000 0.600000 -0.300000 +v 0.200000 0.200000 0.200000 +v 0.200000 0.400000 0.300000 +v 0.200000 0.200000 0.300000 +v 0.200000 0.400000 0.200000 +v 0.200000 0.400000 0.100000 +v 0.200000 0.500000 0.200000 +v 0.200000 0.500000 0.100000 +v 0.200000 0.100000 -0.100000 +v 0.200000 0.100000 0.200000 +v 0.200000 0.200000 -0.100000 +v 0.200000 0.400000 -0.200000 +v 0.200000 0.500000 -0.100000 +v 0.200000 0.400000 -0.100000 +v 0.200000 0.500000 -0.200000 +v 0.200000 0.200000 -0.300000 +v 0.200000 0.200000 -0.200000 +v 0.200000 0.100000 -0.200000 +v 0.200000 0.400000 -0.300000 +v 0.200000 0.600000 -0.300000 +v 0.200000 0.700000 0.300000 +v 0.200000 0.600000 0.300000 +v 0.200000 0.700000 -0.300000 +v 0.200000 0.100000 -0.400000 +v 0.200000 0.200000 -0.400000 +v 0.100000 0.300000 0.300000 +v 0.100000 0.500000 0.400000 +v 0.100000 0.300000 0.400000 +v 0.100000 0.400000 0.300000 +v 0.100000 0.400000 0.200000 +v 0.100000 0.500000 0.200000 +v 0.100000 0.400000 0.100000 +v 0.100000 0.300000 0.200000 +v 0.100000 0.400000 -0.100000 +v 0.100000 0.500000 0.100000 +v 0.100000 0.500000 -0.100000 +v 0.100000 0.300000 -0.200000 +v 0.100000 0.400000 -0.200000 +v 0.100000 0.400000 -0.300000 +v 0.100000 0.500000 -0.200000 +v 0.100000 0.300000 -0.400000 +v 0.100000 0.300000 -0.300000 +v 0.100000 0.500000 -0.400000 +v -0.100000 0.200000 0.200000 +v -0.100000 0.300000 0.300000 +v -0.100000 0.200000 0.300000 +v -0.100000 0.300000 0.200000 +v -0.100000 0.100000 -0.100000 +v -0.100000 0.100000 0.200000 +v -0.100000 0.200000 -0.100000 +v -0.100000 0.500000 -0.100000 +v -0.100000 0.600000 0.100000 +v -0.100000 0.500000 0.100000 +v -0.100000 0.600000 -0.100000 +v -0.100000 0.100000 -0.300000 +v -0.100000 0.200000 -0.200000 +v -0.100000 0.100000 -0.200000 +v -0.100000 0.300000 -0.200000 +v -0.100000 0.200000 -0.300000 +v -0.100000 0.300000 -0.300000 +v -0.200000 0.500000 0.200000 +v -0.200000 0.600000 0.300000 +v -0.200000 0.500000 0.300000 +v -0.200000 0.500000 0.100000 +v -0.200000 0.600000 0.100000 +v -0.200000 0.500000 -0.200000 +v -0.200000 0.600000 -0.100000 +v -0.200000 0.500000 -0.100000 +v -0.200000 0.500000 -0.300000 +v -0.200000 0.600000 -0.300000 +v -0.300000 0.100000 0.300000 +v -0.300000 0.200000 0.400000 +v -0.300000 0.100000 0.400000 +v -0.300000 0.200000 0.300000 +v -0.300000 0.000000 0.200000 +v -0.300000 0.000000 0.300000 +v -0.300000 0.100000 0.200000 +v -0.300000 0.200000 0.200000 +v -0.300000 0.300000 0.300000 +v -0.300000 0.300000 0.200000 +v -0.300000 0.100000 0.100000 +v -0.300000 0.200000 0.100000 +v -0.300000 0.100000 -0.100000 +v -0.300000 0.200000 0.000000 +v -0.300000 0.100000 0.000000 +v -0.300000 0.200000 -0.100000 +v -0.300000 0.000000 -0.200000 +v -0.300000 0.000000 -0.100000 +v -0.300000 0.100000 -0.200000 +v -0.300000 0.200000 -0.200000 +v -0.300000 0.300000 -0.100000 +v -0.300000 0.300000 -0.200000 +v -0.300000 0.100000 -0.300000 +v -0.300000 0.200000 -0.300000 +v 0.300000 0.100000 0.400000 +v 0.300000 0.200000 0.400000 +v 0.300000 0.100000 0.300000 +v 0.300000 0.200000 0.300000 +v 0.300000 -0.000000 0.300000 +v 0.300000 -0.000000 0.200000 +v 0.300000 0.100000 0.200000 +v 0.300000 0.300000 0.300000 +v 0.300000 0.200000 0.200000 +v 0.300000 0.300000 0.200000 +v 0.300000 0.100000 0.100000 +v 0.300000 0.200000 0.100000 +v 0.300000 0.100000 -0.000000 +v 0.300000 0.200000 -0.000000 +v 0.300000 0.100000 -0.100000 +v 0.300000 0.200000 -0.100000 +v 0.300000 -0.000000 -0.100000 +v 0.300000 -0.000000 -0.200000 +v 0.300000 0.100000 -0.200000 +v 0.300000 0.300000 -0.100000 +v 0.300000 0.200000 -0.200000 +v 0.300000 0.300000 -0.200000 +v 0.300000 0.100000 -0.300000 +v 0.300000 0.200000 -0.300000 +v 0.200000 0.500000 0.300000 +v 0.200000 0.600000 0.300000 +v 0.200000 0.500000 0.200000 +v 0.200000 0.500000 0.100000 +v 0.200000 0.600000 0.100000 +v 0.200000 0.500000 -0.100000 +v 0.200000 0.600000 -0.100000 +v 0.200000 0.500000 -0.200000 +v 0.200000 0.500000 -0.300000 +v 0.200000 0.600000 -0.300000 +v 0.100000 0.200000 0.300000 +v 0.100000 0.300000 0.300000 +v 0.100000 0.200000 0.200000 +v 0.100000 0.300000 0.200000 +v 0.100000 0.100000 0.200000 +v 0.100000 0.100000 -0.100000 +v 0.100000 0.200000 -0.100000 +v 0.100000 0.500000 0.100000 +v 0.100000 0.600000 0.100000 +v 0.100000 0.500000 -0.100000 +v 0.100000 0.600000 -0.100000 +v 0.100000 0.100000 -0.200000 +v 0.100000 0.200000 -0.200000 +v 0.100000 0.100000 -0.300000 +v 0.100000 0.300000 -0.200000 +v 0.100000 0.200000 -0.300000 +v 0.100000 0.300000 -0.300000 +v -0.100000 0.300000 0.400000 +v -0.100000 0.500000 0.400000 +v -0.100000 0.300000 0.300000 +v -0.100000 0.400000 0.300000 +v -0.100000 0.400000 0.200000 +v -0.100000 0.500000 0.200000 +v -0.100000 0.300000 0.200000 +v -0.100000 0.400000 0.100000 +v -0.100000 0.400000 -0.100000 +v -0.100000 0.500000 0.100000 +v -0.100000 0.500000 -0.100000 +v -0.100000 0.300000 -0.200000 +v -0.100000 0.400000 -0.200000 +v -0.100000 0.500000 -0.200000 +v -0.100000 0.400000 -0.300000 +v -0.100000 0.300000 -0.300000 +v -0.100000 0.300000 -0.400000 +v -0.100000 0.500000 -0.400000 +v -0.200000 0.200000 0.300000 +v -0.200000 0.400000 0.300000 +v -0.200000 0.200000 0.200000 +v -0.200000 0.400000 0.200000 +v -0.200000 0.500000 0.200000 +v -0.200000 0.400000 0.100000 +v -0.200000 0.500000 0.100000 +v -0.200000 0.100000 0.200000 +v -0.200000 0.100000 -0.100000 +v -0.200000 0.200000 -0.100000 +v -0.200000 0.400000 -0.100000 +v -0.200000 0.500000 -0.100000 +v -0.200000 0.400000 -0.200000 +v -0.200000 0.500000 -0.200000 +v -0.200000 0.100000 -0.200000 +v -0.200000 0.200000 -0.200000 +v -0.200000 0.200000 -0.300000 +v -0.200000 0.400000 -0.300000 +v -0.200000 0.600000 0.300000 +v -0.200000 0.700000 0.300000 +v -0.200000 0.600000 -0.300000 +v -0.200000 0.700000 -0.300000 +v -0.200000 0.100000 -0.400000 +v -0.200000 0.200000 -0.400000 +v -0.300000 0.500000 0.300000 +v -0.300000 0.600000 0.300000 +v -0.300000 0.500000 -0.300000 +v -0.300000 0.600000 -0.300000 +v -0.400000 0.100000 0.400000 +v -0.400000 0.200000 0.400000 +v -0.400000 0.100000 0.300000 +v -0.400000 0.200000 0.300000 +v -0.400000 0.000000 0.300000 +v -0.400000 0.000000 0.200000 +v -0.400000 0.100000 0.200000 +v -0.400000 0.300000 0.300000 +v -0.400000 0.200000 0.200000 +v -0.400000 0.300000 0.200000 +v -0.400000 0.100000 0.100000 +v -0.400000 0.200000 0.100000 +v -0.400000 0.100000 0.000000 +v -0.400000 0.200000 0.000000 +v -0.400000 0.100000 -0.100000 +v -0.400000 0.200000 -0.100000 +v -0.400000 0.000000 -0.100000 +v -0.400000 0.000000 -0.200000 +v -0.400000 0.100000 -0.200000 +v -0.400000 0.300000 -0.100000 +v -0.400000 0.200000 -0.200000 +v -0.400000 0.300000 -0.200000 +v -0.400000 0.100000 -0.300000 +v -0.400000 0.200000 -0.300000 +v 0.300000 -0.000000 0.300000 +v 0.400000 -0.000000 0.200000 +v 0.400000 -0.000000 0.300000 +v 0.300000 -0.000000 0.200000 +v 0.300000 -0.000000 -0.100000 +v 0.400000 -0.000000 -0.200000 +v 0.400000 -0.000000 -0.100000 +v 0.300000 -0.000000 -0.200000 +v -0.400000 0.000000 0.300000 +v -0.300000 0.000000 0.200000 +v -0.300000 0.000000 0.300000 +v -0.400000 0.000000 0.200000 +v -0.400000 0.000000 -0.100000 +v -0.300000 0.000000 -0.200000 +v -0.300000 0.000000 -0.100000 +v -0.400000 0.000000 -0.200000 +v 0.300000 0.100000 0.400000 +v 0.400000 0.100000 0.300000 +v 0.400000 0.100000 0.400000 +v 0.300000 0.100000 0.300000 +v 0.300000 0.100000 0.200000 +v 0.400000 0.100000 0.100000 +v 0.400000 0.100000 0.200000 +v 0.300000 0.100000 0.100000 +v 0.300000 0.100000 -0.000000 +v 0.400000 0.100000 -0.100000 +v 0.400000 0.100000 -0.000000 +v 0.300000 0.100000 -0.100000 +v 0.300000 0.100000 -0.200000 +v 0.400000 0.100000 -0.300000 +v 0.400000 0.100000 -0.200000 +v 0.300000 0.100000 -0.300000 +v 0.200000 0.100000 0.200000 +v 0.200000 0.100000 -0.100000 +v 0.200000 0.100000 -0.200000 +v 0.100000 0.100000 0.200000 +v 0.200000 0.100000 -0.400000 +v 0.100000 0.100000 -0.100000 +v 0.100000 0.100000 -0.200000 +v 0.100000 0.100000 -0.300000 +v -0.100000 0.100000 0.200000 +v -0.100000 0.100000 -0.100000 +v -0.100000 0.100000 -0.200000 +v -0.100000 0.100000 -0.300000 +v -0.200000 0.100000 0.200000 +v -0.200000 0.100000 -0.100000 +v -0.200000 0.100000 -0.200000 +v -0.200000 0.100000 -0.400000 +v -0.300000 0.100000 0.300000 +v -0.300000 0.100000 0.200000 +v -0.300000 0.100000 -0.100000 +v -0.300000 0.100000 -0.200000 +v -0.400000 0.100000 0.400000 +v -0.300000 0.100000 0.400000 +v -0.400000 0.100000 0.300000 +v -0.400000 0.100000 0.200000 +v -0.300000 0.100000 0.100000 +v -0.400000 0.100000 0.100000 +v -0.400000 0.100000 0.000000 +v -0.300000 0.100000 0.000000 +v -0.400000 0.100000 -0.100000 +v -0.400000 0.100000 -0.200000 +v -0.300000 0.100000 -0.300000 +v -0.400000 0.100000 -0.300000 +v -0.100000 0.300000 0.400000 +v 0.100000 0.300000 0.300000 +v 0.100000 0.300000 0.400000 +v 0.100000 0.300000 -0.400000 +v 0.100000 0.300000 -0.300000 +v 0.100000 0.300000 -0.200000 +v 0.100000 0.300000 0.200000 +v -0.100000 0.300000 0.300000 +v -0.100000 0.300000 0.200000 +v -0.100000 0.300000 -0.200000 +v -0.100000 0.300000 -0.300000 +v -0.100000 0.300000 -0.400000 +v 0.100000 0.400000 0.200000 +v 0.200000 0.400000 0.100000 +v 0.200000 0.400000 0.200000 +v 0.100000 0.400000 0.100000 +v 0.100000 0.400000 -0.100000 +v 0.200000 0.400000 -0.200000 +v 0.200000 0.400000 -0.100000 +v 0.100000 0.400000 -0.200000 +v -0.200000 0.400000 0.200000 +v -0.100000 0.400000 0.100000 +v -0.100000 0.400000 0.200000 +v -0.200000 0.400000 0.100000 +v -0.200000 0.400000 -0.100000 +v -0.100000 0.400000 -0.200000 +v -0.100000 0.400000 -0.100000 +v -0.200000 0.400000 -0.200000 +v 0.200000 0.500000 0.300000 +v 0.300000 0.500000 -0.300000 +v 0.300000 0.500000 0.300000 +v 0.200000 0.500000 0.200000 +v 0.200000 0.500000 0.100000 +v 0.200000 0.500000 -0.100000 +v 0.200000 0.500000 -0.200000 +v 0.200000 0.500000 -0.300000 +v 0.100000 0.500000 0.100000 +v 0.100000 0.500000 -0.100000 +v -0.200000 0.500000 0.100000 +v -0.100000 0.500000 -0.100000 +v -0.100000 0.500000 0.100000 +v -0.200000 0.500000 -0.100000 +v -0.300000 0.500000 0.300000 +v -0.200000 0.500000 -0.300000 +v -0.200000 0.500000 -0.200000 +v -0.200000 0.500000 0.200000 +v -0.200000 0.500000 0.300000 +v -0.300000 0.500000 -0.300000 +v 0.100000 0.600000 0.100000 +v 0.200000 0.600000 0.100000 +v 0.200000 0.600000 0.300000 +v 0.100000 0.600000 -0.100000 +v 0.200000 0.600000 -0.300000 +v 0.200000 0.600000 -0.100000 +v -0.100000 0.600000 0.100000 +v -0.100000 0.600000 -0.100000 +v -0.200000 0.600000 0.300000 +v -0.200000 0.600000 0.100000 +v -0.200000 0.600000 -0.100000 +v -0.200000 0.600000 -0.300000 +v 0.400000 0.200000 0.400000 +v 0.400000 0.200000 0.300000 +v 0.300000 0.200000 0.400000 +v 0.300000 0.200000 0.300000 +v 0.400000 0.200000 0.200000 +v 0.400000 0.200000 0.100000 +v 0.300000 0.200000 0.200000 +v 0.300000 0.200000 0.100000 +v 0.400000 0.200000 -0.000000 +v 0.400000 0.200000 -0.100000 +v 0.300000 0.200000 -0.000000 +v 0.300000 0.200000 -0.100000 +v 0.400000 0.200000 -0.200000 +v 0.400000 0.200000 -0.300000 +v 0.300000 0.200000 -0.200000 +v 0.300000 0.200000 -0.300000 +v 0.200000 0.200000 0.300000 +v 0.200000 0.200000 0.200000 +v 0.200000 0.200000 -0.100000 +v 0.200000 0.200000 -0.200000 +v 0.100000 0.200000 0.200000 +v 0.100000 0.200000 -0.100000 +v 0.100000 0.200000 -0.200000 +v 0.200000 0.200000 -0.300000 +v 0.200000 0.200000 -0.400000 +v 0.100000 0.200000 -0.300000 +v 0.100000 0.200000 0.300000 +v -0.100000 0.200000 0.300000 +v -0.100000 0.200000 0.200000 +v -0.100000 0.200000 -0.100000 +v -0.100000 0.200000 -0.200000 +v -0.100000 0.200000 -0.300000 +v -0.200000 0.200000 0.200000 +v -0.200000 0.200000 -0.100000 +v -0.200000 0.200000 -0.200000 +v -0.200000 0.200000 -0.300000 +v -0.200000 0.200000 -0.400000 +v -0.200000 0.200000 0.300000 +v -0.300000 0.200000 0.300000 +v -0.300000 0.200000 0.200000 +v -0.300000 0.200000 -0.100000 +v -0.300000 0.200000 -0.200000 +v -0.300000 0.200000 0.400000 +v -0.400000 0.200000 0.400000 +v -0.400000 0.200000 0.300000 +v -0.300000 0.200000 0.100000 +v -0.400000 0.200000 0.200000 +v -0.400000 0.200000 0.100000 +v -0.300000 0.200000 0.000000 +v -0.400000 0.200000 0.000000 +v -0.400000 0.200000 -0.100000 +v -0.300000 0.200000 -0.300000 +v -0.400000 0.200000 -0.200000 +v -0.400000 0.200000 -0.300000 +v 0.400000 0.300000 0.300000 +v 0.400000 0.300000 0.200000 +v 0.300000 0.300000 0.300000 +v 0.300000 0.300000 0.200000 +v 0.400000 0.300000 -0.100000 +v 0.400000 0.300000 -0.200000 +v 0.300000 0.300000 -0.100000 +v 0.300000 0.300000 -0.200000 +v -0.300000 0.300000 0.300000 +v -0.300000 0.300000 0.200000 +v -0.400000 0.300000 0.300000 +v -0.400000 0.300000 0.200000 +v -0.300000 0.300000 -0.100000 +v -0.300000 0.300000 -0.200000 +v -0.400000 0.300000 -0.100000 +v -0.400000 0.300000 -0.200000 +v 0.200000 0.400000 0.300000 +v 0.200000 0.400000 0.200000 +v 0.100000 0.400000 0.300000 +v 0.100000 0.400000 0.200000 +v 0.200000 0.400000 -0.200000 +v 0.200000 0.400000 -0.300000 +v 0.100000 0.400000 -0.200000 +v 0.100000 0.400000 -0.300000 +v -0.100000 0.400000 0.300000 +v -0.100000 0.400000 0.200000 +v -0.200000 0.400000 0.300000 +v -0.200000 0.400000 0.200000 +v -0.100000 0.400000 -0.200000 +v -0.100000 0.400000 -0.300000 +v -0.200000 0.400000 -0.200000 +v -0.200000 0.400000 -0.300000 +v 0.200000 0.500000 0.200000 +v 0.200000 0.500000 0.100000 +v 0.100000 0.500000 0.200000 +v 0.100000 0.500000 0.100000 +v 0.200000 0.500000 -0.100000 +v 0.200000 0.500000 -0.200000 +v 0.100000 0.500000 -0.100000 +v 0.100000 0.500000 -0.200000 +v -0.100000 0.500000 0.400000 +v 0.100000 0.500000 -0.400000 +v 0.100000 0.500000 0.400000 +v -0.100000 0.500000 0.200000 +v -0.100000 0.500000 0.100000 +v -0.100000 0.500000 -0.100000 +v -0.100000 0.500000 -0.200000 +v -0.100000 0.500000 -0.400000 +v -0.200000 0.500000 0.200000 +v -0.200000 0.500000 0.100000 +v -0.200000 0.500000 -0.100000 +v -0.200000 0.500000 -0.200000 +v 0.300000 0.600000 0.300000 +v 0.300000 0.600000 -0.300000 +v 0.200000 0.600000 0.300000 +v 0.200000 0.600000 -0.300000 +v -0.200000 0.600000 0.300000 +v -0.200000 0.600000 -0.300000 +v -0.300000 0.600000 0.300000 +v -0.300000 0.600000 -0.300000 +v 0.200000 0.700000 0.300000 +v 0.200000 0.700000 -0.300000 +v -0.200000 0.700000 0.300000 +v -0.200000 0.700000 -0.300000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.373047 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.373047 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.373047 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.373047 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.537109 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.373047 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vt 0.376953 0.500000 +vn -0.0000 -0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn 1.0000 -0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn -0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +usemtl palette.002 +s 1 +f 1/1/1 2/2/1 3/3/1 +f 4/4/1 2/2/1 1/1/1 +f 5/5/1 6/6/1 7/7/1 +f 8/8/1 6/6/1 5/5/1 +f 9/9/1 10/10/1 11/11/1 +f 12/12/1 10/10/1 9/9/1 +f 13/13/1 14/14/1 15/15/1 +f 16/16/1 14/14/1 13/13/1 +f 17/17/1 18/18/1 19/19/1 +f 20/20/1 18/18/1 17/17/1 +f 21/21/1 17/22/1 16/23/1 +f 22/24/1 17/22/1 21/21/1 +f 23/25/1 17/22/1 22/24/1 +f 24/26/1 17/22/1 23/25/1 +f 25/27/1 17/22/1 24/26/1 +f 26/28/1 17/22/1 25/27/1 +f 27/29/1 21/30/1 28/31/1 +f 29/32/1 21/30/1 27/29/1 +f 30/33/1 23/25/1 22/24/1 +f 31/34/1 25/27/1 24/26/1 +f 32/35/1 33/36/1 26/37/1 +f 34/38/1 33/36/1 32/35/1 +f 35/39/1 30/33/1 22/24/1 +f 36/40/1 30/33/1 35/39/1 +f 37/41/1 25/27/1 31/34/1 +f 38/42/1 25/27/1 37/41/1 +f 39/43/1 40/44/1 41/45/1 +f 42/46/1 40/44/1 39/43/1 +f 43/47/1 44/48/1 45/49/1 +f 46/50/1 44/48/1 43/47/1 +f 47/51/1 43/47/1 42/46/1 +f 48/52/1 43/47/1 47/51/1 +f 49/53/1 50/54/1 51/55/1 +f 52/56/1 50/54/1 49/53/1 +f 53/57/1 54/58/1 55/59/1 +f 56/60/1 54/58/1 53/57/1 +f 57/61/1 58/62/1 59/63/1 +f 60/64/1 58/62/1 57/61/1 +f 61/65/1 62/66/1 63/67/1 +f 64/68/1 62/66/1 61/65/1 +f 65/69/1 66/70/1 67/71/1 +f 68/72/1 66/70/1 65/69/1 +f 69/73/1 70/74/1 71/75/1 +f 72/76/1 70/74/1 69/73/1 +f 73/77/1 74/78/1 75/79/1 +f 76/80/1 74/78/1 73/77/1 +f 77/81/1 78/82/1 79/83/1 +f 80/84/1 78/82/1 77/81/1 +f 81/85/1 82/86/1 76/87/1 +f 83/88/1 82/86/1 81/85/1 +f 84/89/1 85/90/1 86/91/1 +f 87/92/1 85/90/1 84/89/1 +f 88/93/1 77/94/1 89/95/1 +f 90/96/1 77/94/1 88/93/1 +f 91/97/1 81/98/1 92/99/1 +f 93/100/1 81/98/1 91/97/1 +f 94/101/1 95/102/1 90/103/1 +f 96/104/1 95/102/1 94/101/1 +f 97/105/1 98/106/1 99/107/1 +f 100/108/1 98/106/1 97/105/1 +f 101/109/1 102/110/1 103/111/1 +f 104/112/1 102/110/1 101/109/1 +f 105/113/1 106/114/1 107/115/1 +f 108/116/1 109/117/1 110/118/1 +f 111/119/1 105/113/1 107/115/1 +f 112/120/1 105/113/1 111/119/1 +f 113/121/1 109/117/1 108/116/1 +f 114/122/1 109/117/1 113/121/1 +f 115/123/1 116/124/1 117/125/1 +f 118/126/1 116/124/1 115/123/1 +f 119/127/2 120/128/2 121/129/2 +f 121/129/2 120/128/2 122/130/2 +f 123/131/2 124/132/2 125/133/2 +f 125/133/2 124/132/2 126/134/2 +f 122/135/2 127/136/2 128/137/2 +f 128/137/2 127/136/2 129/138/2 +f 130/139/2 131/140/2 132/141/2 +f 132/141/2 131/140/2 133/142/2 +f 134/143/2 125/144/2 135/145/2 +f 135/145/2 125/144/2 136/146/2 +f 137/147/2 128/148/2 138/149/2 +f 138/149/2 128/148/2 139/150/2 +f 129/138/2 132/141/2 140/151/2 +f 133/142/2 135/145/2 141/152/2 +f 136/153/2 142/154/2 143/155/2 +f 143/155/2 142/154/2 144/156/2 +f 129/138/2 140/151/2 145/157/2 +f 145/157/2 140/151/2 146/158/2 +f 141/152/2 135/145/2 147/159/2 +f 147/159/2 135/145/2 148/160/2 +f 149/161/2 150/162/2 151/163/2 +f 151/163/2 150/162/2 152/164/2 +f 153/165/2 154/166/2 155/167/2 +f 155/167/2 154/166/2 156/168/2 +f 157/169/2 158/170/2 159/171/2 +f 159/171/2 158/170/2 160/172/2 +f 161/173/2 162/174/2 163/175/2 +f 163/175/2 162/174/2 164/176/2 +f 165/177/2 166/178/2 167/179/2 +f 167/179/2 166/178/2 168/180/2 +f 169/181/2 170/182/2 171/183/2 +f 171/183/2 170/182/2 172/184/2 +f 173/185/2 174/186/2 175/187/2 +f 175/187/2 174/186/2 176/188/2 +f 177/189/2 178/190/2 179/191/2 +f 179/191/2 178/190/2 180/192/2 +f 176/193/2 181/194/2 182/195/2 +f 182/195/2 181/194/2 183/196/2 +f 184/197/2 185/198/2 186/199/2 +f 186/199/2 185/198/2 187/200/2 +f 188/201/2 179/202/2 189/203/2 +f 189/203/2 179/202/2 190/204/2 +f 191/205/2 182/206/2 192/207/2 +f 192/207/2 182/206/2 193/208/2 +f 190/209/2 194/210/2 195/211/2 +f 195/211/2 194/210/2 196/212/2 +f 197/213/2 198/214/2 199/215/2 +f 199/215/2 198/214/2 200/216/2 +f 201/217/2 202/218/2 203/219/2 +f 203/219/2 202/218/2 204/220/2 +f 205/221/2 206/222/2 207/223/2 +f 207/223/2 206/222/2 208/224/2 +f 209/225/2 210/226/2 211/227/2 +f 211/227/2 210/226/2 212/228/2 +f 213/229/2 214/230/2 215/231/2 +f 216/232/2 217/233/2 218/234/2 +f 213/229/2 215/231/2 219/235/2 +f 219/235/2 215/231/2 220/236/2 +f 218/234/2 217/233/2 221/237/2 +f 221/237/2 217/233/2 222/238/2 +f 223/239/2 224/240/2 225/241/2 +f 225/241/2 224/240/2 226/242/2 +f 227/243/2 228/244/2 229/245/2 +f 229/245/2 228/244/2 230/246/2 +f 226/242/2 229/245/2 231/247/2 +f 231/247/2 229/245/2 232/248/2 +f 233/249/2 234/250/2 235/251/2 +f 235/251/2 234/250/2 236/252/2 +f 237/253/2 238/254/2 239/255/2 +f 239/255/2 238/254/2 240/256/2 +f 241/257/3 242/258/3 243/259/3 +f 244/260/3 242/258/3 241/257/3 +f 245/261/3 241/257/3 246/262/3 +f 247/263/3 244/264/3 241/265/3 +f 247/266/3 241/257/3 245/261/3 +f 248/267/3 249/268/3 244/260/3 +f 248/269/3 244/264/3 247/263/3 +f 250/270/3 249/268/3 248/267/3 +f 251/271/3 248/267/3 247/266/3 +f 252/272/3 248/267/3 251/271/3 +f 253/273/3 254/274/3 255/275/3 +f 256/276/3 254/274/3 253/273/3 +f 257/277/3 253/273/3 258/278/3 +f 259/279/3 256/280/3 253/281/3 +f 259/282/3 253/273/3 257/277/3 +f 260/283/3 261/284/3 256/276/3 +f 260/285/3 256/280/3 259/279/3 +f 262/286/3 261/284/3 260/283/3 +f 263/287/3 260/283/3 259/282/3 +f 264/288/3 260/283/3 263/287/3 +f 265/289/3 266/290/3 267/291/3 +f 268/292/3 266/290/3 265/289/3 +f 269/293/3 270/294/3 271/295/3 +f 272/296/3 270/294/3 269/293/3 +f 273/297/3 274/298/3 272/296/3 +f 275/299/3 274/298/3 273/297/3 +f 276/300/3 269/293/3 277/301/3 +f 278/302/3 269/293/3 276/300/3 +f 279/303/3 280/304/3 281/305/3 +f 282/306/3 280/304/3 279/303/3 +f 283/307/3 284/308/3 285/309/3 +f 283/307/3 279/303/3 284/308/3 +f 286/310/3 279/303/3 283/307/3 +f 287/311/3 288/312/3 289/313/3 +f 290/314/3 288/312/3 287/311/3 +f 291/315/3 283/307/3 285/309/3 +f 292/316/3 283/307/3 291/315/3 +f 293/317/3 294/318/3 295/319/3 +f 296/320/3 294/318/3 293/317/3 +f 297/321/3 294/318/3 296/320/3 +f 298/322/3 294/318/3 297/321/3 +f 299/323/3 297/321/3 300/324/3 +f 301/325/3 299/323/3 300/324/3 +f 301/325/3 302/326/3 299/323/3 +f 303/327/3 302/326/3 301/325/3 +f 304/328/3 301/325/3 300/324/3 +f 305/329/3 301/325/3 304/328/3 +f 306/330/3 307/331/3 305/329/3 +f 308/332/3 306/330/3 309/333/3 +f 310/334/3 307/331/3 306/330/3 +f 310/334/3 306/330/3 308/332/3 +f 311/335/3 312/336/3 313/337/3 +f 314/338/3 312/336/3 311/335/3 +f 315/339/3 311/335/3 316/340/3 +f 317/341/3 311/335/3 315/339/3 +f 318/342/3 319/343/3 320/344/3 +f 321/345/3 319/343/3 318/342/3 +f 322/346/3 323/347/3 324/348/3 +f 322/346/3 325/349/3 323/347/3 +f 326/350/3 325/349/3 322/346/3 +f 327/351/3 325/349/3 326/350/3 +f 328/352/3 329/353/3 330/354/3 +f 331/355/3 329/353/3 328/352/3 +f 332/356/3 329/353/3 331/355/3 +f 333/357/3 334/358/3 335/359/3 +f 336/360/3 334/358/3 333/357/3 +f 337/361/3 334/358/3 336/360/3 +f 338/362/3 339/363/3 340/364/3 +f 341/365/3 339/363/3 338/362/3 +f 342/366/3 338/362/3 343/367/3 +f 344/368/3 338/362/3 342/366/3 +f 345/369/3 346/370/3 341/365/3 +f 347/371/3 346/370/3 345/369/3 +f 348/372/3 345/369/3 344/368/3 +f 349/373/3 345/369/3 348/372/3 +f 350/374/3 351/375/3 352/376/3 +f 353/377/3 351/375/3 350/374/3 +f 354/378/3 350/374/3 355/379/3 +f 356/380/3 350/374/3 354/378/3 +f 357/381/3 358/382/3 353/377/3 +f 359/383/3 358/382/3 357/381/3 +f 360/384/3 357/381/3 356/380/3 +f 361/385/3 357/381/3 360/384/3 +f 362/386/4 363/387/4 364/388/4 +f 364/388/4 363/387/4 365/389/4 +f 366/390/4 364/388/4 367/391/4 +f 367/391/4 364/388/4 368/392/4 +f 365/389/4 369/393/4 370/394/4 +f 370/394/4 369/393/4 371/395/4 +f 368/392/4 370/394/4 372/396/4 +f 372/396/4 370/394/4 373/397/4 +f 374/398/4 375/399/4 376/400/4 +f 376/400/4 375/399/4 377/401/4 +f 378/402/4 376/400/4 379/403/4 +f 379/403/4 376/400/4 380/404/4 +f 377/401/4 381/405/4 382/406/4 +f 382/406/4 381/405/4 383/407/4 +f 380/404/4 382/406/4 384/408/4 +f 384/408/4 382/406/4 385/409/4 +f 386/410/4 387/411/4 388/412/4 +f 388/412/4 387/411/4 389/413/4 +f 389/413/4 387/411/4 390/414/4 +f 391/415/4 392/416/4 393/417/4 +f 393/417/4 392/416/4 394/418/4 +f 394/418/4 392/416/4 395/419/4 +f 396/420/4 397/421/4 398/422/4 +f 398/422/4 397/421/4 399/423/4 +f 400/424/4 398/422/4 401/425/4 +f 401/425/4 398/422/4 402/426/4 +f 403/427/4 404/428/4 405/429/4 +f 405/429/4 404/428/4 406/430/4 +f 407/431/4 408/432/4 409/433/4 +f 408/432/4 410/434/4 409/433/4 +f 409/433/4 410/434/4 411/435/4 +f 411/435/4 410/434/4 412/436/4 +f 413/437/4 414/438/4 415/439/4 +f 415/439/4 414/438/4 416/440/4 +f 416/440/4 414/438/4 417/441/4 +f 417/441/4 414/438/4 418/442/4 +f 419/443/4 417/441/4 420/444/4 +f 419/443/4 420/444/4 421/445/4 +f 420/444/4 422/446/4 421/445/4 +f 421/445/4 422/446/4 423/447/4 +f 419/443/4 421/445/4 424/448/4 +f 424/448/4 421/445/4 425/449/4 +f 425/449/4 426/450/4 427/451/4 +f 428/452/4 427/451/4 429/453/4 +f 427/451/4 426/450/4 430/454/4 +f 429/453/4 427/451/4 430/454/4 +f 431/455/4 432/456/4 433/457/4 +f 433/457/4 432/456/4 434/458/4 +f 434/458/4 435/459/4 436/460/4 +f 436/460/4 435/459/4 437/461/4 +f 438/462/4 433/457/4 439/463/4 +f 439/463/4 433/457/4 440/464/4 +f 441/465/4 442/466/4 443/467/4 +f 443/467/4 442/466/4 444/468/4 +f 445/469/4 446/470/4 447/471/4 +f 446/470/4 443/467/4 447/471/4 +f 447/471/4 443/467/4 448/472/4 +f 449/473/4 450/474/4 451/475/4 +f 451/475/4 450/474/4 452/476/4 +f 445/469/4 447/471/4 453/477/4 +f 453/477/4 447/471/4 454/478/4 +f 455/479/4 456/480/4 457/481/4 +f 457/481/4 456/480/4 458/482/4 +f 459/483/4 460/484/4 461/485/4 +f 461/485/4 460/484/4 462/486/4 +f 463/487/4 461/485/4 464/488/4 +f 461/489/4 462/490/4 465/491/4 +f 464/488/4 461/485/4 465/492/4 +f 462/486/4 466/493/4 467/494/4 +f 465/491/4 462/490/4 467/495/4 +f 467/494/4 466/493/4 468/496/4 +f 465/492/4 467/494/4 469/497/4 +f 469/497/4 467/494/4 470/498/4 +f 471/499/4 472/500/4 473/501/4 +f 473/501/4 472/500/4 474/502/4 +f 475/503/4 473/501/4 476/504/4 +f 473/505/4 474/506/4 477/507/4 +f 476/504/4 473/501/4 477/508/4 +f 474/502/4 478/509/4 479/510/4 +f 477/507/4 474/506/4 479/511/4 +f 479/510/4 478/509/4 480/512/4 +f 477/508/4 479/510/4 481/513/4 +f 481/513/4 479/510/4 482/514/4 +f 483/515/5 484/516/5 485/517/5 +f 486/518/5 484/516/5 483/515/5 +f 487/519/5 488/520/5 489/521/5 +f 490/522/5 488/520/5 487/519/5 +f 491/523/5 492/524/5 493/525/5 +f 494/526/5 492/524/5 491/523/5 +f 495/527/5 496/528/5 497/529/5 +f 498/530/5 496/528/5 495/527/5 +f 499/531/5 500/532/5 501/533/5 +f 502/534/5 500/532/5 499/531/5 +f 503/535/5 504/536/5 505/537/5 +f 506/538/5 504/536/5 503/535/5 +f 507/539/5 508/540/5 509/541/5 +f 510/542/5 508/540/5 507/539/5 +f 511/543/5 512/544/5 513/545/5 +f 514/546/5 512/544/5 511/543/5 +f 515/547/5 503/548/5 502/549/5 +f 516/550/5 511/551/5 510/552/5 +f 517/553/5 511/551/5 516/550/5 +f 518/554/5 517/553/5 516/550/5 +f 518/554/5 519/555/5 517/553/5 +f 518/554/5 516/550/5 515/547/5 +f 518/554/5 515/547/5 502/549/5 +f 520/556/5 519/555/5 518/554/5 +f 521/557/5 519/555/5 520/556/5 +f 522/558/5 519/555/5 521/557/5 +f 523/559/5 518/554/5 502/549/5 +f 524/560/5 521/557/5 520/556/5 +f 525/561/5 521/557/5 524/560/5 +f 526/562/5 519/555/5 522/558/5 +f 527/563/5 525/561/5 524/560/5 +f 527/563/5 526/562/5 525/561/5 +f 527/563/5 523/559/5 502/549/5 +f 527/563/5 524/560/5 523/559/5 +f 528/564/5 526/562/5 527/563/5 +f 529/565/5 526/562/5 528/564/5 +f 530/566/5 519/555/5 526/562/5 +f 530/566/5 526/562/5 529/565/5 +f 531/567/5 527/563/5 502/549/5 +f 532/568/5 527/563/5 531/567/5 +f 533/569/5 529/565/5 528/564/5 +f 534/570/5 529/565/5 533/569/5 +f 535/571/5 531/572/5 536/573/5 +f 537/574/5 531/572/5 535/571/5 +f 538/575/5 539/576/5 532/577/5 +f 540/578/5 539/576/5 538/575/5 +f 541/579/5 533/580/5 542/581/5 +f 543/582/5 533/580/5 541/579/5 +f 544/583/5 545/584/5 534/585/5 +f 546/586/5 545/584/5 544/583/5 +f 547/587/5 548/588/5 549/589/5 +f 547/587/5 550/590/5 551/591/5 +f 547/587/5 551/591/5 552/592/5 +f 547/587/5 552/592/5 553/593/5 +f 547/587/5 553/593/5 548/588/5 +f 554/594/5 550/590/5 547/587/5 +f 555/595/5 550/590/5 554/594/5 +f 556/596/5 550/590/5 555/595/5 +f 557/597/5 550/590/5 556/596/5 +f 558/598/5 550/590/5 557/597/5 +f 559/599/5 560/600/5 561/601/5 +f 562/602/5 560/600/5 559/599/5 +f 563/603/5 564/604/5 565/605/5 +f 566/606/5 564/604/5 563/603/5 +f 567/607/5 568/608/5 569/609/5 +f 570/610/5 568/608/5 567/607/5 +f 571/611/5 572/612/5 573/613/5 +f 574/614/5 572/612/5 571/611/5 +f 575/615/5 576/616/5 577/617/5 +f 578/618/5 576/616/5 575/615/5 +f 579/619/5 576/616/5 578/618/5 +f 580/620/5 576/616/5 579/619/5 +f 581/621/5 576/616/5 580/620/5 +f 582/622/5 576/616/5 581/621/5 +f 583/623/5 580/624/5 579/625/5 +f 584/626/5 580/624/5 583/623/5 +f 585/627/5 586/628/5 587/629/5 +f 588/630/5 586/628/5 585/627/5 +f 589/631/5 588/632/5 585/633/5 +f 589/631/5 590/634/5 591/635/5 +f 589/631/5 591/635/5 588/632/5 +f 589/631/5 585/633/5 592/636/5 +f 589/631/5 592/636/5 593/637/5 +f 594/638/5 590/634/5 589/631/5 +f 595/639/5 596/640/5 597/641/5 +f 598/642/5 599/643/5 600/644/5 +f 601/645/5 595/639/5 597/641/5 +f 601/645/5 598/642/5 595/639/5 +f 602/646/5 599/643/5 598/642/5 +f 602/646/5 598/642/5 601/645/5 +f 603/647/5 601/645/5 597/641/5 +f 604/648/5 601/645/5 603/647/5 +f 605/649/5 599/643/5 602/646/5 +f 606/650/5 599/643/5 605/649/5 +f 607/651/6 608/652/6 609/653/6 +f 609/653/6 608/652/6 610/654/6 +f 611/655/6 612/656/6 613/657/6 +f 613/657/6 612/656/6 614/658/6 +f 615/659/6 616/660/6 617/661/6 +f 617/661/6 616/660/6 618/662/6 +f 619/663/6 620/664/6 621/665/6 +f 621/665/6 620/664/6 622/666/6 +f 610/667/6 613/668/6 623/669/6 +f 623/669/6 613/668/6 624/670/6 +f 618/671/6 621/672/6 625/673/6 +f 625/673/6 621/672/6 626/674/6 +f 625/673/6 626/674/6 627/675/6 +f 624/670/6 625/673/6 627/675/6 +f 627/675/6 626/674/6 628/676/6 +f 628/676/6 626/674/6 629/677/6 +f 630/678/6 631/679/6 632/680/6 +f 633/681/6 627/675/6 634/682/6 +f 634/682/6 627/675/6 635/683/6 +f 628/676/6 629/677/6 636/684/6 +f 636/684/6 629/677/6 637/685/6 +f 632/680/6 631/679/6 638/686/6 +f 636/684/6 637/685/6 639/687/6 +f 635/683/6 636/684/6 639/687/6 +f 639/687/6 637/685/6 640/688/6 +f 640/688/6 637/685/6 641/689/6 +f 638/686/6 631/679/6 642/690/6 +f 642/690/6 631/679/6 643/691/6 +f 644/692/6 639/687/6 645/693/6 +f 645/693/6 639/687/6 646/694/6 +f 640/688/6 641/689/6 647/695/6 +f 647/695/6 641/689/6 648/696/6 +f 649/697/6 645/698/6 650/699/6 +f 650/699/6 645/698/6 651/700/6 +f 646/701/6 652/702/6 653/703/6 +f 653/703/6 652/702/6 654/704/6 +f 655/705/6 647/706/6 656/707/6 +f 656/707/6 647/706/6 657/708/6 +f 648/709/6 658/710/6 659/711/6 +f 659/711/6 658/710/6 660/712/6 +f 661/713/6 662/714/6 663/715/6 +f 663/715/6 662/714/6 664/716/6 +f 665/717/6 666/718/6 667/719/6 +f 667/719/6 666/718/6 668/720/6 +f 669/721/6 670/722/6 671/723/6 +f 671/723/6 670/722/6 672/724/6 +f 673/725/6 674/726/6 675/727/6 +f 675/727/6 674/726/6 676/728/6 +f 677/729/6 678/730/6 679/731/6 +f 679/731/6 678/730/6 680/732/6 +f 681/733/6 682/734/6 683/735/6 +f 683/735/6 682/734/6 684/736/6 +f 685/737/6 686/738/6 687/739/6 +f 687/739/6 686/738/6 688/740/6 +f 689/741/6 690/742/6 691/743/6 +f 691/743/6 690/742/6 692/744/6 +f 693/745/6 694/746/6 695/747/6 +f 695/747/6 694/746/6 696/748/6 +f 697/749/6 698/750/6 699/751/6 +f 699/751/6 698/750/6 700/752/6 +f 695/753/6 696/754/6 701/755/6 +f 700/756/6 702/757/6 701/755/6 +f 699/758/6 700/756/6 701/755/6 +f 696/754/6 699/758/6 701/755/6 +f 703/759/6 695/753/6 701/755/6 +f 701/755/6 702/757/6 704/760/6 +f 704/760/6 702/757/6 705/761/6 +f 705/761/6 702/757/6 706/762/6 +f 706/762/6 702/757/6 707/763/6 +f 707/763/6 702/757/6 708/764/6 +f 704/765/6 705/766/6 709/767/6 +f 709/767/6 705/766/6 710/768/6 +f 706/769/6 707/770/6 711/771/6 +f 711/771/6 707/770/6 712/772/6 +f 713/773/6 714/774/6 715/775/6 +f 715/775/6 714/774/6 716/776/6 +f 717/777/6 718/778/6 719/779/6 +f 719/779/6 718/778/6 720/780/6 +f 721/781/6 722/782/6 723/783/6 +f 723/783/6 722/782/6 724/784/6 diff --git a/Assets/Entities/Enemy/Ram.obj.meta b/Assets/Entities/Enemy/Ram.obj.meta new file mode 100644 index 0000000..91a61d6 --- /dev/null +++ b/Assets/Entities/Enemy/Ram.obj.meta @@ -0,0 +1,101 @@ +fileFormatVersion: 2 +guid: 0eaf0955d0035664c87a3d4177a41887 +ModelImporter: + serializedVersion: 20101 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 1 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + 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 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + 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 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Entities/Handlers.meta b/Assets/Entities/Handlers.meta new file mode 100644 index 0000000..4ad8380 --- /dev/null +++ b/Assets/Entities/Handlers.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 494a63d314412154f9c9c967cd14c05e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Entities/Handlers/BuildingHandler.cs b/Assets/Entities/Handlers/BuildingHandler.cs new file mode 100644 index 0000000..2bcf320 --- /dev/null +++ b/Assets/Entities/Handlers/BuildingHandler.cs @@ -0,0 +1,72 @@ +using System.Collections.Generic; +using UnityEngine; + +public class BuildingHandler : MonoBehaviour +{ + [Header("Assigned on start")] + [SerializeField] ScoreHandler scoreHandler; + [SerializeField] GridManager gridManager; + + [Header("Assigned on start")] + [SerializeField] int buildingSelector = 0; + + [Header("Prefabs")] + [SerializeField] List buildings = new List(); + // Start is called before the first frame update + void Start() + { + scoreHandler = FindObjectOfType(); + gridManager = FindObjectOfType(); + } + + public void BuildTower(GameObject _tileGO) + { + //Tile _tile = _tileGO.GetComponentInChildren(); + Node _node = gridManager.GetNode(GetVector2(_tileGO)); + + //Debug.Log($"Placing tower on Tile: {_tileGO.transform.position}"); + //Debug.Log($"Placing tower on Node: {_node.coordinates}"); + + if (_node.isBuildable) + { + if (scoreHandler.CurrentBalance - buildings[buildingSelector].Cost < 0) + { + print("Insufficient Funds!"); + return; + } + else + { + if (_node.isPath) + { + _node.isBuildable = false; + _node.isWalkable = false; + gridManager.SetNode(_node); + //gridManager.CalculateNewPath(); + + if (!gridManager.CheckForValidPath()) + { + _node.isBuildable = true; + _node.isWalkable = true; + gridManager.SetNode(_node); + print("Not allowed to block path!"); + gridManager.CalculateNewPath(); + return; + } + } + + scoreHandler.ModifyWealth(-buildings[buildingSelector].Cost); + Instantiate(buildings[buildingSelector], _tileGO.transform.position, Quaternion.identity, transform); + + _node.isWalkable = false; + _node.isBuildable = false; + + gridManager.SetNode(_node); + } + } + } + + public Vector2Int GetVector2(GameObject _o) + { + return new Vector2Int((Mathf.RoundToInt(_o.transform.position.x) / 10), (Mathf.RoundToInt(_o.transform.position.z / 10))); + } +} diff --git a/Assets/Entities/Handlers/BuildingHandler.cs.meta b/Assets/Entities/Handlers/BuildingHandler.cs.meta new file mode 100644 index 0000000..71a0399 --- /dev/null +++ b/Assets/Entities/Handlers/BuildingHandler.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 51bf353b43f7b2448bbb3088d78ee8a6 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Entities/Handlers/BuildingHandler.prefab b/Assets/Entities/Handlers/BuildingHandler.prefab new file mode 100644 index 0000000..2aea93b --- /dev/null +++ b/Assets/Entities/Handlers/BuildingHandler.prefab @@ -0,0 +1,49 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &8724214045091603641 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6508452906343485956} + - component: {fileID: 3682645643528836357} + m_Layer: 0 + m_Name: BuildingHandler + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6508452906343485956 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8724214045091603641} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 46.822308, y: -168.60272, z: 143.78717} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &3682645643528836357 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8724214045091603641} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 51bf353b43f7b2448bbb3088d78ee8a6, type: 3} + m_Name: + m_EditorClassIdentifier: + scoreHandler: {fileID: 0} + buildings: + - {fileID: 5722631354108134187, guid: 8a965e088bae16643aab3d07ccfd5e2e, type: 3} + - {fileID: 6261550781972269396, guid: dcf90521dd3b06548b2a43a02a5f6dc3, type: 3} diff --git a/Assets/Entities/Handlers/BuildingHandler.prefab.meta b/Assets/Entities/Handlers/BuildingHandler.prefab.meta new file mode 100644 index 0000000..85d6adf --- /dev/null +++ b/Assets/Entities/Handlers/BuildingHandler.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: cbeeac603faf0334b8a47a73094ea1c1 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Entities/Handlers/ScoreHandler.cs b/Assets/Entities/Handlers/ScoreHandler.cs new file mode 100644 index 0000000..3c97ab8 --- /dev/null +++ b/Assets/Entities/Handlers/ScoreHandler.cs @@ -0,0 +1,63 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.SceneManagement; +using TMPro; + +public class ScoreHandler : MonoBehaviour +{ + [Header("UI")] + [SerializeField] TextMeshProUGUI dispayBalance; + + [Header("Parameters")] + [SerializeField] int startHealth = 5; + [SerializeField] int startBalance = 100; + [Header("Stats")] + [SerializeField] int currentHealth; + [SerializeField] int currentBalance; + public int CurrentBalance {get {return currentBalance;}} + + void Start() + { + currentHealth = startHealth; + currentBalance = startBalance; + UpdateGUI(); + } + + public void ModifyHealth(GameObject enemy) + { + currentHealth -= 1; + CheckIfYouLost(); + } + + public void ModifyHealth(int _amount) + { + currentHealth += _amount; + CheckIfYouLost(); + } + + void CheckIfYouLost(){ + if(currentHealth <= 0) + { + Debug.Log("You lost"); + Reload(); + } + } + + public void ModifyWealth(int _amount){ + currentBalance += _amount; + UpdateGUI(); + // Debug.Log($"Wealth modification. Change:{_amount}. Current: {wealthAmount}"); + } + + void Reload() + { + int currentSceneIndex = SceneManager.GetActiveScene().buildIndex; + SceneManager.LoadScene(currentSceneIndex); + } + + void UpdateGUI(){ + dispayBalance.text = $"Gold: {currentBalance.ToString()}"; + } + +} diff --git a/Assets/Entities/Handlers/ScoreHandler.cs.meta b/Assets/Entities/Handlers/ScoreHandler.cs.meta new file mode 100644 index 0000000..c01d8cd --- /dev/null +++ b/Assets/Entities/Handlers/ScoreHandler.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e259bfb920b121d44ae03fc7b84db313 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Entities/Handlers/ScoreHandler.prefab b/Assets/Entities/Handlers/ScoreHandler.prefab new file mode 100644 index 0000000..9983efc --- /dev/null +++ b/Assets/Entities/Handlers/ScoreHandler.prefab @@ -0,0 +1,50 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2788695991853430528 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6754556620218872347} + - component: {fileID: -685309727599945802} + m_Layer: 0 + m_Name: ScoreHandler + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6754556620218872347 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2788695991853430528} + 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_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &-685309727599945802 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2788695991853430528} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e259bfb920b121d44ae03fc7b84db313, type: 3} + m_Name: + m_EditorClassIdentifier: + dispayBalance: {fileID: 0} + startHealth: 10 + startBalance: 150 + currentHealth: 0 + currentBalance: 0 diff --git a/Assets/Entities/Handlers/ScoreHandler.prefab.meta b/Assets/Entities/Handlers/ScoreHandler.prefab.meta new file mode 100644 index 0000000..86f0b2c --- /dev/null +++ b/Assets/Entities/Handlers/ScoreHandler.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 503eaabbe2676fc4d880be57dca9d2ac +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Entities/Tower.meta b/Assets/Entities/Tower.meta new file mode 100644 index 0000000..204bad4 --- /dev/null +++ b/Assets/Entities/Tower.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 11d5a0dd335d9e44ca54863cc74baa28 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Entities/Tower/Ballista.prefab b/Assets/Entities/Tower/Ballista.prefab new file mode 100644 index 0000000..08eac9c --- /dev/null +++ b/Assets/Entities/Tower/Ballista.prefab @@ -0,0 +1,5027 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &3219458064393657486 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3049131714819384361} + - component: {fileID: 5722631354108134187} + m_Layer: 0 + m_Name: Ballista + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3049131714819384361 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3219458064393657486} + 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_Children: + - {fileID: 986194784190733575} + - {fileID: 3144582324300694500} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &5722631354108134187 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3219458064393657486} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d3a16cf44e28f02409c23498ed14acf5, type: 3} + m_Name: + m_EditorClassIdentifier: + enemyHandler: {fileID: 0} + scoreHandler: {fileID: 0} + _projectile: {fileID: 6695134864757201866} + weapon: {fileID: 3144582324300694500} + weaponRange: 40 + damage: 1 + fireRate: 1 + projectileSpeed: 5 + targetStrategy: 1 + cost: 30 + buildTimer: 1 + score: 0 + buildingParts: [] +--- !u!1 &4415926110232311550 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 9142185385230804946} + - component: {fileID: 6695134864757201866} + - component: {fileID: 7780840326306655767} + m_Layer: 0 + m_Name: Projectile + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &9142185385230804946 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4415926110232311550} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0.147, z: 0.047} + m_LocalScale: {x: 4, y: 4, z: 6} + m_Children: [] + m_Father: {fileID: 3144582324300694500} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!198 &6695134864757201866 +ParticleSystem: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4415926110232311550} + serializedVersion: 7 + lengthInSec: 5 + simulationSpeed: 1 + stopAction: 0 + cullingMode: 0 + ringBufferMode: 0 + ringBufferLoopRange: {x: 0, y: 1} + looping: 1 + prewarm: 0 + playOnAwake: 1 + useUnscaledTime: 0 + autoRandomSeed: 1 + useRigidbodyForVelocity: 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: 1 + randomSeed: 0 + InitialModule: + serializedVersion: 3 + enabled: 1 + startLifetime: + serializedVersion: 2 + minMaxState: 0 + scalar: 5 + 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: 5 + 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_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_NumColorKeys: 2 + m_NumAlphaKeys: 2 + startSize: + 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 + 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: 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 + 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 + maxNumParticles: 1000 + 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: 1 + type: 4 + angle: 0 + 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: 0.0001 + 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: 1 + 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: 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: 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 + separateAxes: 0 + RotationModule: + 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 + ColorModule: + 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_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_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_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_NumColorKeys: 2 + m_NumAlphaKeys: 2 + range: {x: 0, y: 1} + CollisionModule: + enabled: 1 + serializedVersion: 4 + type: 1 + 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: 0 + 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: 1 + 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.1 + collidesWith: + serializedVersion: 2 + m_Bits: 4294967295 + maxCollisionShapes: 256 + quality: 0 + voxelSize: 0.5 + collisionMessages: 1 + 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 + 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_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_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_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_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_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_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_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_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 &7780840326306655767 +ParticleSystemRenderer: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4415926110232311550} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: -8469494145858465668, guid: af50c4e21f0e9b9419ff00e3c39e7711, type: 3} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_RenderMode: 4 + 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: 4 + 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: -2432090755550338912, guid: 77a5e84b782c81648b95ce756f4622a0, type: 3} + m_Mesh1: {fileID: 0} + m_Mesh2: {fileID: 0} + m_Mesh3: {fileID: 0} + m_MaskInteraction: 0 +--- !u!1 &6131056645070147807 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3144582324300694500} + - component: {fileID: 249074202148633262} + - component: {fileID: 3625777632226532922} + m_Layer: 0 + m_Name: BallistaTopMesh + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3144582324300694500 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6131056645070147807} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 2.5, z: 0} + m_LocalScale: {x: 6.25, y: 6.25, z: 6.25} + m_Children: + - {fileID: 9142185385230804946} + m_Father: {fileID: 3049131714819384361} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &249074202148633262 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6131056645070147807} + m_Mesh: {fileID: -2432090755550338912, guid: 18cfa8e197c1ff74292ed6ff0cc8b3f7, type: 3} +--- !u!23 &3625777632226532922 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6131056645070147807} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: -8469494145858465668, guid: 18cfa8e197c1ff74292ed6ff0cc8b3f7, type: 3} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &8293807043288370748 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 986194784190733575} + - component: {fileID: 2700054976229155917} + - component: {fileID: 1467398954496360665} + m_Layer: 0 + m_Name: BalistaBaseMesh + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &986194784190733575 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8293807043288370748} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 6.25, y: 6.25, z: 6.25} + m_Children: [] + m_Father: {fileID: 3049131714819384361} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &2700054976229155917 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8293807043288370748} + m_Mesh: {fileID: -2432090755550338912, guid: af50c4e21f0e9b9419ff00e3c39e7711, type: 3} +--- !u!23 &1467398954496360665 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8293807043288370748} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: -8469494145858465668, guid: af50c4e21f0e9b9419ff00e3c39e7711, type: 3} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} diff --git a/Assets/Entities/Tower/Ballista.prefab.meta b/Assets/Entities/Tower/Ballista.prefab.meta new file mode 100644 index 0000000..4e93fe6 --- /dev/null +++ b/Assets/Entities/Tower/Ballista.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 8a965e088bae16643aab3d07ccfd5e2e +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Entities/Tower/Ballista_Sniper.prefab b/Assets/Entities/Tower/Ballista_Sniper.prefab new file mode 100644 index 0000000..16f9fe3 --- /dev/null +++ b/Assets/Entities/Tower/Ballista_Sniper.prefab @@ -0,0 +1,87 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1001 &1841868512401164927 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 3049131714819384361, guid: 8a965e088bae16643aab3d07ccfd5e2e, type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3049131714819384361, guid: 8a965e088bae16643aab3d07ccfd5e2e, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3049131714819384361, guid: 8a965e088bae16643aab3d07ccfd5e2e, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3049131714819384361, guid: 8a965e088bae16643aab3d07ccfd5e2e, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3049131714819384361, guid: 8a965e088bae16643aab3d07ccfd5e2e, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3049131714819384361, guid: 8a965e088bae16643aab3d07ccfd5e2e, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3049131714819384361, guid: 8a965e088bae16643aab3d07ccfd5e2e, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3049131714819384361, guid: 8a965e088bae16643aab3d07ccfd5e2e, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3049131714819384361, guid: 8a965e088bae16643aab3d07ccfd5e2e, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3049131714819384361, guid: 8a965e088bae16643aab3d07ccfd5e2e, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3049131714819384361, guid: 8a965e088bae16643aab3d07ccfd5e2e, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3219458064393657486, guid: 8a965e088bae16643aab3d07ccfd5e2e, type: 3} + propertyPath: m_Name + value: Ballista_Sniper + objectReference: {fileID: 0} + - target: {fileID: 5722631354108134187, guid: 8a965e088bae16643aab3d07ccfd5e2e, type: 3} + propertyPath: cost + value: 60 + objectReference: {fileID: 0} + - target: {fileID: 5722631354108134187, guid: 8a965e088bae16643aab3d07ccfd5e2e, type: 3} + propertyPath: damage + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 5722631354108134187, guid: 8a965e088bae16643aab3d07ccfd5e2e, type: 3} + propertyPath: fireRate + value: 0.25 + objectReference: {fileID: 0} + - target: {fileID: 5722631354108134187, guid: 8a965e088bae16643aab3d07ccfd5e2e, type: 3} + propertyPath: buildTimer + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 5722631354108134187, guid: 8a965e088bae16643aab3d07ccfd5e2e, type: 3} + propertyPath: maxDistance + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 5722631354108134187, guid: 8a965e088bae16643aab3d07ccfd5e2e, type: 3} + propertyPath: weaponRange + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 5722631354108134187, guid: 8a965e088bae16643aab3d07ccfd5e2e, type: 3} + propertyPath: projectileSpeed + value: 20 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 8a965e088bae16643aab3d07ccfd5e2e, type: 3} diff --git a/Assets/Entities/Tower/Ballista_Sniper.prefab.meta b/Assets/Entities/Tower/Ballista_Sniper.prefab.meta new file mode 100644 index 0000000..e938c96 --- /dev/null +++ b/Assets/Entities/Tower/Ballista_Sniper.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: dcf90521dd3b06548b2a43a02a5f6dc3 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Entities/Tower/Bolt.prefab b/Assets/Entities/Tower/Bolt.prefab new file mode 100644 index 0000000..7ea4fec --- /dev/null +++ b/Assets/Entities/Tower/Bolt.prefab @@ -0,0 +1,114 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2603020248621955050 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6533006041106130129} + - component: {fileID: 8250252834721668507} + - component: {fileID: 4853599590841956623} + m_Layer: 0 + m_Name: BoltMesh + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6533006041106130129 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2603020248621955050} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 6.25, y: 6.25, z: 6.25} + m_Children: [] + m_Father: {fileID: 5970034036004984201} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &8250252834721668507 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2603020248621955050} + m_Mesh: {fileID: -2432090755550338912, guid: 77a5e84b782c81648b95ce756f4622a0, type: 3} +--- !u!23 &4853599590841956623 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2603020248621955050} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: -8469494145858465668, guid: af50c4e21f0e9b9419ff00e3c39e7711, type: 3} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &6454224513027657523 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5970034036004984201} + m_Layer: 0 + m_Name: Bolt + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5970034036004984201 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6454224513027657523} + 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_Children: + - {fileID: 6533006041106130129} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Assets/Entities/Tower/Bolt.prefab.meta b/Assets/Entities/Tower/Bolt.prefab.meta new file mode 100644 index 0000000..5295212 --- /dev/null +++ b/Assets/Entities/Tower/Bolt.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 7362a7dc6d14d7748953ae63138db72f +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Entities/Tower/Tower.cs b/Assets/Entities/Tower/Tower.cs new file mode 100644 index 0000000..224efdf --- /dev/null +++ b/Assets/Entities/Tower/Tower.cs @@ -0,0 +1,144 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class Tower : MonoBehaviour +{ + + [Header("Assigned on start")] + [SerializeField] EnemyHandler enemyHandler; + [SerializeField] ScoreHandler scoreHandler; + + [Header("Prefabs")] + [SerializeField] ParticleSystem _projectile; + [SerializeField] Transform weapon; + + [Header("WeaponParameters")] + [SerializeField] float weaponRange = 40f; + [SerializeField] int damage = 1; + [SerializeField] float fireRate = 1; + [SerializeField] float projectileSpeed = 5; + [SerializeField] TargetStrategy targetStrategy = TargetStrategy.LowestHealth; + + [Header("BuildParameters")] + [SerializeField] int cost = 30; + [SerializeField] float buildTimer = 1; + + + [Header("Stats")] + [SerializeField] float score = 0f; + + #region Privates + [SerializeField] enum TargetStrategy { ClosestEnemy, LowestHealth }; + private GameObject targetEnemy; + [SerializeField] private Transform[] buildingParts; + #endregion + + #region Publics + public float MaxDistance { get; set; } + public int Damage { get => damage; set => damage = value; } + public int FireRate { get; set; } + public int Cost { get => cost; set => cost = value; } + + #endregion + + private void Awake() + { + buildingParts = GetComponentsInChildren(); + } + + void Start() + { + enemyHandler = FindObjectOfType(); + scoreHandler = FindObjectOfType(); + UpdateWeaponParameters(fireRate, projectileSpeed); + + for (int i = 1; i < buildingParts.Length; i++) + { + buildingParts[i].gameObject.SetActive(false); + } + StartCoroutine(Build()); + } + + IEnumerator Build() + { + for (int i = 1; i < buildingParts.Length; i++) + { + buildingParts[i].gameObject.SetActive(true); + yield return new WaitForSeconds(buildTimer); + } + } + + private void UpdateWeaponParameters(float _fireRate, float _projectileSpeed) + { + var main = _projectile.main; + main.startSpeed = _projectileSpeed; + + var emission = _projectile.emission; + emission.rateOverTime = _fireRate; + } + + // Update is called once per frame + void Update() + { + ShootProjectile(false); + FindAndShootEnemy(); + } + + private void FindAndShootEnemy() + { + float bestValue = Mathf.Infinity; + bool targetFound = false; + List enemies = enemyHandler.ReturnAllEnemies(); + + foreach (GameObject enemy in enemies) + { + float distanceToTarget = Vector3.Magnitude(enemy.transform.position - transform.position); + + bool withinRange = distanceToTarget < weaponRange; + if (withinRange) + { + if (targetStrategy == TargetStrategy.ClosestEnemy) + { + bool isClosest = distanceToTarget < bestValue; + if (isClosest) + { + targetFound = true; + bestValue = distanceToTarget; + targetEnemy = enemy; + } + } + if (targetStrategy == TargetStrategy.LowestHealth) + { + float enemyHealth = enemy.GetComponent().Health; + + bool isLowestHealth = enemyHealth < bestValue; + if (isLowestHealth) + { + targetFound = true; + bestValue = enemyHealth; + targetEnemy = enemy; + } + } + } + } + + if (targetFound) + { + weapon.transform.LookAt(targetEnemy.transform.position); + ShootProjectile(true); + } + } + + void ShootProjectile(bool _state) + { + var emissionModule = _projectile.emission; + emissionModule.enabled = _state; + } + + public void UpdateScore(float _score) + { + score += _score; + } +} diff --git a/Assets/Entities/Tower/Tower.cs.meta b/Assets/Entities/Tower/Tower.cs.meta new file mode 100644 index 0000000..eea8891 --- /dev/null +++ b/Assets/Entities/Tower/Tower.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d3a16cf44e28f02409c23498ed14acf5 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: