diff --git a/Assets/Fonts/Bowlby_One/BowlbyOne-Regular SDF.asset b/Assets/Fonts/Bowlby_One/BowlbyOne-Regular SDF.asset new file mode 100644 index 0000000..f608c35 Binary files /dev/null and b/Assets/Fonts/Bowlby_One/BowlbyOne-Regular SDF.asset differ diff --git a/Assets/Fonts/Bowlby_One/BowlbyOne-Regular SDF.asset.meta b/Assets/Fonts/Bowlby_One/BowlbyOne-Regular SDF.asset.meta new file mode 100644 index 0000000..6825213 --- /dev/null +++ b/Assets/Fonts/Bowlby_One/BowlbyOne-Regular SDF.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f61bb7879d28d2e4ab65d9801fa3a309 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Materials/Red.mat b/Assets/Materials/Red.mat index 080760f..7018148 100644 Binary files a/Assets/Materials/Red.mat and b/Assets/Materials/Red.mat differ diff --git a/Assets/Mirror/Runtime/NetworkManager.cs b/Assets/Mirror/Runtime/NetworkManager.cs index dde7575..03bdc40 100644 --- a/Assets/Mirror/Runtime/NetworkManager.cs +++ b/Assets/Mirror/Runtime/NetworkManager.cs @@ -657,14 +657,13 @@ public virtual void OnApplicationQuit() if (NetworkClient.isConnected) { StopClient(); - print("OnApplicationQuit: stopped client"); + } // stop server after stopping client (for proper host mode stopping) if (NetworkServer.active) { StopServer(); - print("OnApplicationQuit: stopped server"); } } @@ -696,19 +695,16 @@ bool InitializeSingleton() { if (singleton != null) { - logger.LogWarning("Multiple NetworkManagers detected in the scene. Only one NetworkManager can exist at a time. The duplicate NetworkManager will be destroyed."); Destroy(gameObject); // Return false to not allow collision-destroyed second instance to continue. return false; } - logger.Log("NetworkManager created singleton (DontDestroyOnLoad)"); singleton = this; if (Application.isPlaying) DontDestroyOnLoad(gameObject); } else { - logger.Log("NetworkManager created singleton (ForScene)"); singleton = this; } diff --git a/Assets/Mirror/Runtime/Transport/Telepathy/Server.cs b/Assets/Mirror/Runtime/Transport/Telepathy/Server.cs index 085215a..a2151a6 100644 --- a/Assets/Mirror/Runtime/Transport/Telepathy/Server.cs +++ b/Assets/Mirror/Runtime/Transport/Telepathy/Server.cs @@ -79,7 +79,6 @@ void Listen(int port) listener.Server.NoDelay = NoDelay; listener.Server.SendTimeout = SendTimeout; listener.Start(); - Logger.Log("Server: listening port=" + port); // keep accepting new clients while (true) @@ -160,18 +159,18 @@ void Listen(int port) { // UnityEditor causes AbortException if thread is still // running when we press Play again next time. that's okay. - Logger.Log("Server thread aborted. That's okay. " + exception); + //Logger.Log("Server thread aborted. That's okay. " + exception); } catch (SocketException exception) { // calling StopServer will interrupt this thread with a // 'SocketException: interrupted'. that's okay. - Logger.Log("Server Thread stopped. That's okay. " + exception); + //Logger.Log("Server Thread stopped. That's okay. " + exception); } catch (Exception exception) { // something went wrong. probably important. - Logger.LogError("Server Exception: " + exception); + //Logger.LogError("Server Exception: " + exception); } } @@ -192,7 +191,6 @@ public bool Start(int port) // start the listener thread // (on low priority. if main thread is too busy then there is not // much value in accepting even more clients) - Logger.Log("Server: Start port=" + port); listenerThread = new Thread(() => { Listen(port); }); listenerThread.IsBackground = true; listenerThread.Priority = ThreadPriority.BelowNormal; @@ -206,7 +204,6 @@ public void Stop() if (!Active) return; - Logger.Log("Server: stopping..."); // stop listening to connections so that no one can connect while we // close the client connections diff --git a/Assets/Mirror/Runtime/Transport/TelepathyTransport.cs b/Assets/Mirror/Runtime/Transport/TelepathyTransport.cs index 8ba3bc7..b320566 100644 --- a/Assets/Mirror/Runtime/Transport/TelepathyTransport.cs +++ b/Assets/Mirror/Runtime/Transport/TelepathyTransport.cs @@ -51,8 +51,6 @@ void Awake() client.MaxMessageSize = clientMaxMessageSize; server.NoDelay = NoDelay; server.MaxMessageSize = serverMaxMessageSize; - - Debug.Log("TelepathyTransport initialized!"); } public override bool Available() @@ -227,7 +225,6 @@ public override string ServerGetClientAddress(int connectionId) // common public override void Shutdown() { - Debug.Log("TelepathyTransport Shutdown()"); client.Disconnect(); server.Stop(); } diff --git a/Assets/PlayFabSDK/Shared/Public/Resources/PlayFabSharedSettings.asset b/Assets/PlayFabSDK/Shared/Public/Resources/PlayFabSharedSettings.asset index 8a4c932..2177dda 100644 Binary files a/Assets/PlayFabSDK/Shared/Public/Resources/PlayFabSharedSettings.asset and b/Assets/PlayFabSDK/Shared/Public/Resources/PlayFabSharedSettings.asset differ diff --git a/Assets/_Completed-Assets/InputSystem.meta b/Assets/_Completed-Assets/InputSystem.meta new file mode 100644 index 0000000..35524bb --- /dev/null +++ b/Assets/_Completed-Assets/InputSystem.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: dfb0e47f7a785504eb76e7c8d8c4bea4 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Completed-Assets/InputSystem/EnterPlayers.inputactions b/Assets/_Completed-Assets/InputSystem/EnterPlayers.inputactions new file mode 100644 index 0000000..bca28ad --- /dev/null +++ b/Assets/_Completed-Assets/InputSystem/EnterPlayers.inputactions @@ -0,0 +1,102 @@ +{ + "name": "EnterPlayers", + "maps": [ + { + "name": "Player", + "id": "9d6c7dc0-5d18-42db-8f18-d4e5dcbc9875", + "actions": [ + { + "name": "P1", + "type": "Button", + "id": "35dc2563-00d1-4c64-8d52-7c3587f8ab9f", + "expectedControlType": "Button", + "processors": "", + "interactions": "Press" + }, + { + "name": "P2", + "type": "Button", + "id": "dfa3900b-bc96-47cb-ad82-cdb3bff7f052", + "expectedControlType": "Button", + "processors": "", + "interactions": "Press" + }, + { + "name": "P3", + "type": "Button", + "id": "b8204696-f270-46f0-9ff0-13c1d836edf7", + "expectedControlType": "Button", + "processors": "", + "interactions": "Press" + }, + { + "name": "P4", + "type": "Button", + "id": "0d9567a3-8fd6-4c4e-8d7a-35a54e71f501", + "expectedControlType": "Button", + "processors": "", + "interactions": "Press" + } + ], + "bindings": [ + { + "name": "", + "id": "fe480e54-0034-42ec-9bb0-1bdf0e2d7852", + "path": "/e", + "interactions": "Press", + "processors": "", + "groups": "Keyboard", + "action": "P1", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "64650eec-c6c8-4850-b483-5a2675798063", + "path": "/rightShift", + "interactions": "Press", + "processors": "", + "groups": "Keyboard", + "action": "P2", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "de994961-398c-4a0e-a791-63f07a9b9c3c", + "path": "/y", + "interactions": "Press", + "processors": "", + "groups": "Keyboard", + "action": "P3", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "54b5e18f-15b2-4618-8551-e3a3138b361b", + "path": "/o", + "interactions": "Press", + "processors": "", + "groups": "Keyboard", + "action": "P4", + "isComposite": false, + "isPartOfComposite": false + } + ] + } + ], + "controlSchemes": [ + { + "name": "Keyboard", + "bindingGroup": "Keyboard", + "devices": [ + { + "devicePath": "", + "isOptional": false, + "isOR": false + } + ] + } + ] +} \ No newline at end of file diff --git a/Assets/_Completed-Assets/InputSystem/EnterPlayers.inputactions.meta b/Assets/_Completed-Assets/InputSystem/EnterPlayers.inputactions.meta new file mode 100644 index 0000000..d21dc64 --- /dev/null +++ b/Assets/_Completed-Assets/InputSystem/EnterPlayers.inputactions.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 4af7a6ae08ba68b43acce0fde22782b8 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 8404be70184654265930450def6a9037, type: 3} + generateWrapperCode: 0 + wrapperCodePath: + wrapperClassName: + wrapperCodeNamespace: diff --git a/Assets/_Completed-Assets/InputSystem/Tank1.inputactions b/Assets/_Completed-Assets/InputSystem/Tank1.inputactions new file mode 100644 index 0000000..24a1429 --- /dev/null +++ b/Assets/_Completed-Assets/InputSystem/Tank1.inputactions @@ -0,0 +1,127 @@ +{ + "name": "Tank1", + "maps": [ + { + "name": "Player", + "id": "9d6c7dc0-5d18-42db-8f18-d4e5dcbc9875", + "actions": [ + { + "name": "MoveTank", + "type": "Value", + "id": "35dc2563-00d1-4c64-8d52-7c3587f8ab9f", + "expectedControlType": "Axis", + "processors": "", + "interactions": "" + }, + { + "name": "RotateTank", + "type": "Value", + "id": "0cf73991-5578-48af-ba27-4b1109fe9812", + "expectedControlType": "Axis", + "processors": "", + "interactions": "" + }, + { + "name": "ShootTank", + "type": "Value", + "id": "c64fdff5-d619-498a-b1db-7797a59646e3", + "expectedControlType": "Analog", + "processors": "", + "interactions": "" + } + ], + "bindings": [ + { + "name": "Movement", + "id": "7e1a2779-8c70-4f32-b36b-77295ca85195", + "path": "1DAxis", + "interactions": "Press", + "processors": "", + "groups": "", + "action": "MoveTank", + "isComposite": true, + "isPartOfComposite": false + }, + { + "name": "positive", + "id": "f6534a06-32d4-4089-9ab9-0f252f47b675", + "path": "/#(W)", + "interactions": "", + "processors": "", + "groups": "Keyboard", + "action": "MoveTank", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "negative", + "id": "161c9db7-e1c2-41ff-94f8-1db9bbf7cfc1", + "path": "/#(S)", + "interactions": "", + "processors": "", + "groups": "Keyboard", + "action": "MoveTank", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "", + "id": "cb6830cc-e6fc-4f1e-836c-a6b329324d32", + "path": "/space", + "interactions": "Press", + "processors": "", + "groups": "Keyboard", + "action": "ShootTank", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "Rotate", + "id": "e1a1bce5-6951-45b6-b360-7f1575f5478a", + "path": "1DAxis", + "interactions": "Press", + "processors": "", + "groups": "", + "action": "RotateTank", + "isComposite": true, + "isPartOfComposite": false + }, + { + "name": "negative", + "id": "85cf392d-8a7a-4615-b448-a57d6a546602", + "path": "/#(A)", + "interactions": "", + "processors": "", + "groups": "", + "action": "RotateTank", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "positive", + "id": "0035b7b9-47db-4705-b51d-141be4c17209", + "path": "/#(D)", + "interactions": "", + "processors": "", + "groups": "", + "action": "RotateTank", + "isComposite": false, + "isPartOfComposite": true + } + ] + } + ], + "controlSchemes": [ + { + "name": "Keyboard", + "bindingGroup": "Keyboard", + "devices": [ + { + "devicePath": "", + "isOptional": false, + "isOR": false + } + ] + } + ] +} \ No newline at end of file diff --git a/Assets/_Completed-Assets/InputSystem/Tank1.inputactions.meta b/Assets/_Completed-Assets/InputSystem/Tank1.inputactions.meta new file mode 100644 index 0000000..331843d --- /dev/null +++ b/Assets/_Completed-Assets/InputSystem/Tank1.inputactions.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 49056d9df90fe4d4f864067217679c9c +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 8404be70184654265930450def6a9037, type: 3} + generateWrapperCode: 0 + wrapperCodePath: + wrapperClassName: + wrapperCodeNamespace: diff --git a/Assets/_Completed-Assets/InputSystem/Tank2.inputactions b/Assets/_Completed-Assets/InputSystem/Tank2.inputactions new file mode 100644 index 0000000..0416636 --- /dev/null +++ b/Assets/_Completed-Assets/InputSystem/Tank2.inputactions @@ -0,0 +1,127 @@ +{ + "name": "Tank2", + "maps": [ + { + "name": "Player", + "id": "9d6c7dc0-5d18-42db-8f18-d4e5dcbc9875", + "actions": [ + { + "name": "MoveTank", + "type": "Value", + "id": "35dc2563-00d1-4c64-8d52-7c3587f8ab9f", + "expectedControlType": "Axis", + "processors": "", + "interactions": "" + }, + { + "name": "RotateTank", + "type": "Value", + "id": "0cf73991-5578-48af-ba27-4b1109fe9812", + "expectedControlType": "Axis", + "processors": "", + "interactions": "" + }, + { + "name": "ShootTank", + "type": "Value", + "id": "c64fdff5-d619-498a-b1db-7797a59646e3", + "expectedControlType": "Analog", + "processors": "", + "interactions": "" + } + ], + "bindings": [ + { + "name": "Movement", + "id": "7e1a2779-8c70-4f32-b36b-77295ca85195", + "path": "1DAxis", + "interactions": "Press", + "processors": "", + "groups": "", + "action": "MoveTank", + "isComposite": true, + "isPartOfComposite": false + }, + { + "name": "positive", + "id": "f6534a06-32d4-4089-9ab9-0f252f47b675", + "path": "/upArrow", + "interactions": "", + "processors": "", + "groups": "Keyboard", + "action": "MoveTank", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "negative", + "id": "161c9db7-e1c2-41ff-94f8-1db9bbf7cfc1", + "path": "/downArrow", + "interactions": "", + "processors": "", + "groups": "Keyboard", + "action": "MoveTank", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "", + "id": "cb6830cc-e6fc-4f1e-836c-a6b329324d32", + "path": "/enter", + "interactions": "Press", + "processors": "", + "groups": "Keyboard", + "action": "ShootTank", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "Rotate", + "id": "e1a1bce5-6951-45b6-b360-7f1575f5478a", + "path": "1DAxis", + "interactions": "Press", + "processors": "", + "groups": "", + "action": "RotateTank", + "isComposite": true, + "isPartOfComposite": false + }, + { + "name": "negative", + "id": "85cf392d-8a7a-4615-b448-a57d6a546602", + "path": "/leftArrow", + "interactions": "", + "processors": "", + "groups": "", + "action": "RotateTank", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "positive", + "id": "0035b7b9-47db-4705-b51d-141be4c17209", + "path": "/rightArrow", + "interactions": "", + "processors": "", + "groups": "", + "action": "RotateTank", + "isComposite": false, + "isPartOfComposite": true + } + ] + } + ], + "controlSchemes": [ + { + "name": "Keyboard", + "bindingGroup": "Keyboard", + "devices": [ + { + "devicePath": "", + "isOptional": false, + "isOR": false + } + ] + } + ] +} \ No newline at end of file diff --git a/Assets/_Completed-Assets/InputSystem/Tank2.inputactions.meta b/Assets/_Completed-Assets/InputSystem/Tank2.inputactions.meta new file mode 100644 index 0000000..d646145 --- /dev/null +++ b/Assets/_Completed-Assets/InputSystem/Tank2.inputactions.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 4d7b2f14871f73446966190d95ed90e1 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 8404be70184654265930450def6a9037, type: 3} + generateWrapperCode: 0 + wrapperCodePath: + wrapperClassName: + wrapperCodeNamespace: diff --git a/Assets/_Completed-Assets/InputSystem/Tank3.inputactions b/Assets/_Completed-Assets/InputSystem/Tank3.inputactions new file mode 100644 index 0000000..b0e4d2e --- /dev/null +++ b/Assets/_Completed-Assets/InputSystem/Tank3.inputactions @@ -0,0 +1,127 @@ +{ + "name": "Tank3", + "maps": [ + { + "name": "Player", + "id": "9d6c7dc0-5d18-42db-8f18-d4e5dcbc9875", + "actions": [ + { + "name": "MoveTank", + "type": "Value", + "id": "35dc2563-00d1-4c64-8d52-7c3587f8ab9f", + "expectedControlType": "Axis", + "processors": "", + "interactions": "" + }, + { + "name": "RotateTank", + "type": "Value", + "id": "0cf73991-5578-48af-ba27-4b1109fe9812", + "expectedControlType": "Axis", + "processors": "", + "interactions": "" + }, + { + "name": "ShootTank", + "type": "Value", + "id": "c64fdff5-d619-498a-b1db-7797a59646e3", + "expectedControlType": "Analog", + "processors": "", + "interactions": "" + } + ], + "bindings": [ + { + "name": "Movement", + "id": "7e1a2779-8c70-4f32-b36b-77295ca85195", + "path": "1DAxis", + "interactions": "Press", + "processors": "", + "groups": "", + "action": "MoveTank", + "isComposite": true, + "isPartOfComposite": false + }, + { + "name": "positive", + "id": "f6534a06-32d4-4089-9ab9-0f252f47b675", + "path": "/t", + "interactions": "", + "processors": "", + "groups": "Keyboard", + "action": "MoveTank", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "negative", + "id": "161c9db7-e1c2-41ff-94f8-1db9bbf7cfc1", + "path": "/g", + "interactions": "", + "processors": "", + "groups": "Keyboard", + "action": "MoveTank", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "", + "id": "cb6830cc-e6fc-4f1e-836c-a6b329324d32", + "path": "/n", + "interactions": "Press", + "processors": "", + "groups": "Keyboard", + "action": "ShootTank", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "Rotate", + "id": "e1a1bce5-6951-45b6-b360-7f1575f5478a", + "path": "1DAxis", + "interactions": "Press", + "processors": "", + "groups": "", + "action": "RotateTank", + "isComposite": true, + "isPartOfComposite": false + }, + { + "name": "positive", + "id": "85cf392d-8a7a-4615-b448-a57d6a546602", + "path": "/h", + "interactions": "", + "processors": "", + "groups": "", + "action": "RotateTank", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "negative", + "id": "0035b7b9-47db-4705-b51d-141be4c17209", + "path": "/f", + "interactions": "", + "processors": "", + "groups": "", + "action": "RotateTank", + "isComposite": false, + "isPartOfComposite": true + } + ] + } + ], + "controlSchemes": [ + { + "name": "Keyboard", + "bindingGroup": "Keyboard", + "devices": [ + { + "devicePath": "", + "isOptional": false, + "isOR": false + } + ] + } + ] +} \ No newline at end of file diff --git a/Assets/_Completed-Assets/InputSystem/Tank3.inputactions.meta b/Assets/_Completed-Assets/InputSystem/Tank3.inputactions.meta new file mode 100644 index 0000000..c7f738a --- /dev/null +++ b/Assets/_Completed-Assets/InputSystem/Tank3.inputactions.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 048c4e5e9bee07d4ebabd6aa44527cbb +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 8404be70184654265930450def6a9037, type: 3} + generateWrapperCode: 0 + wrapperCodePath: + wrapperClassName: + wrapperCodeNamespace: diff --git a/Assets/_Completed-Assets/InputSystem/Tank4.inputactions b/Assets/_Completed-Assets/InputSystem/Tank4.inputactions new file mode 100644 index 0000000..70b3c61 --- /dev/null +++ b/Assets/_Completed-Assets/InputSystem/Tank4.inputactions @@ -0,0 +1,127 @@ +{ + "name": "Tank4", + "maps": [ + { + "name": "Player", + "id": "9d6c7dc0-5d18-42db-8f18-d4e5dcbc9875", + "actions": [ + { + "name": "MoveTank", + "type": "Value", + "id": "35dc2563-00d1-4c64-8d52-7c3587f8ab9f", + "expectedControlType": "Axis", + "processors": "", + "interactions": "" + }, + { + "name": "RotateTank", + "type": "Value", + "id": "0cf73991-5578-48af-ba27-4b1109fe9812", + "expectedControlType": "Axis", + "processors": "", + "interactions": "" + }, + { + "name": "ShootTank", + "type": "Value", + "id": "c64fdff5-d619-498a-b1db-7797a59646e3", + "expectedControlType": "Analog", + "processors": "", + "interactions": "" + } + ], + "bindings": [ + { + "name": "Movement", + "id": "7e1a2779-8c70-4f32-b36b-77295ca85195", + "path": "1DAxis", + "interactions": "Press", + "processors": "", + "groups": "", + "action": "MoveTank", + "isComposite": true, + "isPartOfComposite": false + }, + { + "name": "positive", + "id": "f6534a06-32d4-4089-9ab9-0f252f47b675", + "path": "/i", + "interactions": "", + "processors": "", + "groups": "Keyboard", + "action": "MoveTank", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "negative", + "id": "161c9db7-e1c2-41ff-94f8-1db9bbf7cfc1", + "path": "/k", + "interactions": "", + "processors": "", + "groups": "Keyboard", + "action": "MoveTank", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "", + "id": "cb6830cc-e6fc-4f1e-836c-a6b329324d32", + "path": "/period", + "interactions": "Press", + "processors": "", + "groups": "Keyboard", + "action": "ShootTank", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "Rotate", + "id": "e1a1bce5-6951-45b6-b360-7f1575f5478a", + "path": "1DAxis", + "interactions": "Press", + "processors": "", + "groups": "", + "action": "RotateTank", + "isComposite": true, + "isPartOfComposite": false + }, + { + "name": "positive", + "id": "85cf392d-8a7a-4615-b448-a57d6a546602", + "path": "/l", + "interactions": "", + "processors": "", + "groups": "", + "action": "RotateTank", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "negative", + "id": "0035b7b9-47db-4705-b51d-141be4c17209", + "path": "/j", + "interactions": "", + "processors": "", + "groups": "", + "action": "RotateTank", + "isComposite": false, + "isPartOfComposite": true + } + ] + } + ], + "controlSchemes": [ + { + "name": "Keyboard", + "bindingGroup": "Keyboard", + "devices": [ + { + "devicePath": "", + "isOptional": false, + "isOR": false + } + ] + } + ] +} \ No newline at end of file diff --git a/Assets/_Completed-Assets/InputSystem/Tank4.inputactions.meta b/Assets/_Completed-Assets/InputSystem/Tank4.inputactions.meta new file mode 100644 index 0000000..a372839 --- /dev/null +++ b/Assets/_Completed-Assets/InputSystem/Tank4.inputactions.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 2ab5d565f7da7944baad4e20d37d4094 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 8404be70184654265930450def6a9037, type: 3} + generateWrapperCode: 0 + wrapperCodePath: + wrapperClassName: + wrapperCodeNamespace: diff --git a/Assets/_Completed-Assets/Prefabs/CompleteShell 1.prefab b/Assets/_Completed-Assets/Prefabs/CompleteShell 1.prefab deleted file mode 100644 index 5caf68c..0000000 --- a/Assets/_Completed-Assets/Prefabs/CompleteShell 1.prefab +++ /dev/null @@ -1,10664 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1001 &100100000 -Prefab: - m_ObjectHideFlags: 1 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: [] - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 0} - m_RootGameObject: {fileID: 1009293826399480} - m_IsPrefabParent: 1 ---- !u!1 &1009293826399480 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 4164706475608060} - - component: {fileID: 33299512245106248} - - component: {fileID: 23818777309432114} - - component: {fileID: 136967793354940614} - - component: {fileID: 54786000148212342} - - component: {fileID: 108111946824169062} - - component: {fileID: 114865027166730966} - m_Layer: 0 - m_Name: CompleteShell 1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1542025054073744 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 4569523186013782} - - component: {fileID: 198460524131073554} - - component: {fileID: 199671562797186254} - m_Layer: 0 - m_Name: Trails - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1616320365449200 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 4424536287609986} - - component: {fileID: 198101090749630064} - - component: {fileID: 199406154903990664} - - component: {fileID: 82982465151767518} - m_Layer: 0 - m_Name: CompleteShellExplosion - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1669089800330334 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 4208558916364568} - - component: {fileID: 198570208862991166} - - component: {fileID: 199076481152073066} - m_Layer: 0 - m_Name: Burst - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &4164706475608060 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1009293826399480} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 1.55, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 4424536287609986} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &4208558916364568 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1669089800330334} - m_LocalRotation: {x: 0.707106, y: 0, z: 0, w: 0.7071076} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4424536287609986} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &4424536287609986 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1616320365449200} - m_LocalRotation: {x: -0.707106, y: 0, z: 0, w: 0.7071076} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 4569523186013782} - - {fileID: 4208558916364568} - m_Father: {fileID: 4164706475608060} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &4569523186013782 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1542025054073744} - m_LocalRotation: {x: 0.007478263, y: 0.09721365, z: 0.0007302496, w: 0.9952352} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1.0000001, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4424536287609986} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!23 &23818777309432114 -MeshRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1009293826399480} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_Materials: - - {fileID: 2100000, guid: 463052f3f7389124f9e7b34b0b931d0d, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 1 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 0 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 ---- !u!33 &33299512245106248 -MeshFilter: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1009293826399480} - m_Mesh: {fileID: 4300000, guid: 9ed1e8a25f964bd4298944675e425a0d, type: 3} ---- !u!54 &54786000148212342 -Rigidbody: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1009293826399480} - serializedVersion: 2 - m_Mass: 1 - m_Drag: 0 - m_AngularDrag: 0.05 - m_UseGravity: 1 - m_IsKinematic: 0 - m_Interpolate: 0 - m_Constraints: 0 - m_CollisionDetection: 0 ---- !u!82 &82982465151767518 -AudioSource: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1616320365449200} - m_Enabled: 1 - serializedVersion: 4 - OutputAudioMixerGroup: {fileID: 24304612, guid: 86a7353f2579d476fbaa7f161c2e5d00, - type: 2} - m_audioClip: {fileID: 8300000, guid: 3a77defcde1caaa40b6f7502547e0c4e, type: 3} - m_PlayOnAwake: 0 - m_Volume: 1 - m_Pitch: 1 - Loop: 0 - Mute: 0 - Spatialize: 0 - SpatializePostEffects: 0 - Priority: 128 - DopplerLevel: 1 - MinDistance: 1 - MaxDistance: 500 - Pan2D: 0 - rolloffMode: 0 - BypassEffects: 0 - BypassListenerEffects: 0 - BypassReverbZones: 0 - rolloffCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - panLevelCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 0 - spreadCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - reverbZoneMixCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 0 ---- !u!108 &108111946824169062 -Light: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1009293826399480} - m_Enabled: 1 - serializedVersion: 8 - m_Type: 2 - m_Color: {r: 1, g: 0.94269776, b: 0.16911763, a: 1} - m_Intensity: 1 - m_Range: 5 - m_SpotAngle: 30 - m_CookieSize: 10 - m_Shadows: - m_Type: 0 - m_Resolution: -1 - m_CustomResolution: -1 - m_Strength: 1 - m_Bias: 0.05 - m_NormalBias: 0.4 - m_NearPlane: 0.2 - m_Cookie: {fileID: 0} - m_DrawHalo: 0 - m_Flare: {fileID: 0} - m_RenderMode: 0 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_Lightmapping: 4 - m_AreaSize: {x: 1, y: 1} - m_BounceIntensity: 1 - m_ColorTemperature: 6570 - m_UseColorTemperature: 0 - m_ShadowRadius: 0 - m_ShadowAngle: 0 ---- !u!114 &114865027166730966 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1009293826399480} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: af9894b7bced3a04c870ade3c621f94e, type: 3} - m_Name: - m_EditorClassIdentifier: - m_TankMask: - serializedVersion: 2 - m_Bits: 512 - m_ExplosionParticles: {fileID: 198101090749630064} - m_ExplosionAudio: {fileID: 82982465151767518} - m_MaxDamage: 100 - m_ExplosionForce: 1000 - m_MaxLifeTime: 2 - m_ExplosionRadius: 5 ---- !u!136 &136967793354940614 -CapsuleCollider: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1009293826399480} - m_Material: {fileID: 0} - m_IsTrigger: 1 - m_Enabled: 1 - m_Radius: 0.15 - m_Height: 0.55 - m_Direction: 2 - m_Center: {x: 0, y: 0, z: 0.2} ---- !u!198 &198101090749630064 -ParticleSystem: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1616320365449200} - serializedVersion: 5 - lengthInSec: 1.5 - simulationSpeed: 1 - stopAction: 0 - looping: 0 - prewarm: 0 - playOnAwake: 0 - useUnscaledTime: 0 - autoRandomSeed: 1 - useRigidbodyForVelocity: 1 - startDelay: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - moveWithTransform: 0 - moveWithCustomTransform: {fileID: 0} - scalingMode: 2 - randomSeed: 1966419817 - InitialModule: - serializedVersion: 3 - enabled: 1 - startLifetime: - serializedVersion: 2 - minMaxState: 0 - scalar: 0.3 - minScalar: 5 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - startSpeed: - serializedVersion: 2 - minMaxState: 0 - scalar: 2 - minScalar: 5 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 3 - scalar: 2.5 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0.4 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - startSizeY: - serializedVersion: 2 - minMaxState: 3 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - startSizeZ: - serializedVersion: 2 - minMaxState: 3 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - startRotationX: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - startRotationY: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - startRotation: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - ShapeModule: - serializedVersion: 5 - enabled: 1 - type: 10 - angle: 25 - length: 5 - boxThickness: {x: 0, y: 0, z: 0} - radiusThickness: 0 - 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_Mesh: {fileID: 0} - m_MeshRenderer: {fileID: 0} - m_SkinnedMeshRenderer: {fileID: 0} - m_UseMeshMaterialIndex: 0 - m_UseMeshColors: 1 - alignToDirection: 0 - randomDirectionAmount: 0 - sphericalDirectionAmount: 0 - randomPositionAmount: 0 - radius: - value: 0.36727682 - mode: 0 - spread: 0 - speed: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - EmissionModule: - enabled: 1 - serializedVersion: 4 - rateOverTime: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 10 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - rateOverDistance: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - m_BurstCount: 1 - m_Bursts: - - serializedVersion: 2 - time: 0 - countCurve: - serializedVersion: 2 - minMaxState: 0 - scalar: 8 - minScalar: 8 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - cycleCount: 1 - repeatInterval: 0.01 - SizeModule: - enabled: 1 - curve: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 0 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - y: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - z: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - y: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: - enabled: 0 - mode: 0 - frameOverTime: - serializedVersion: 2 - minMaxState: 1 - scalar: 0.9999 - minScalar: 0.9999 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - startFrame: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - tilesX: 1 - tilesY: 1 - animationType: 0 - rowIndex: 0 - cycles: 1 - uvChannelMask: -1 - flipU: 0 - flipV: 0 - randomRow: 1 - sprites: - - sprite: {fileID: 0} - VelocityModule: - enabled: 1 - x: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - y: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - z: - serializedVersion: 2 - minMaxState: 0 - scalar: 2 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - speedModifier: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - ForceModule: - enabled: 0 - x: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - y: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - z: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - inWorldSpace: 0 - randomizePerFrame: 0 - ExternalForcesModule: - enabled: 0 - multiplier: 1 - ClampVelocityModule: - enabled: 0 - x: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - y: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - z: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - magnitude: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - separateAxis: 0 - inWorldSpace: 0 - multiplyDragByParticleSize: 1 - multiplyDragByParticleVelocity: 1 - dampen: 1 - drag: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - strengthY: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - strengthZ: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - remap: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - remapY: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - remapZ: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - rotationAmount: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - sizeAmount: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - y: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - z: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - y: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 0 - serializedVersion: 3 - type: 0 - collisionMode: 0 - colliderForce: 0 - multiplyColliderForceByParticleSize: 0 - multiplyColliderForceByParticleSpeed: 0 - multiplyColliderForceByCollisionAngle: 1 - plane0: {fileID: 0} - plane1: {fileID: 0} - plane2: {fileID: 0} - plane3: {fileID: 0} - plane4: {fileID: 0} - plane5: {fileID: 0} - m_Dampen: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - m_Bounce: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - m_EnergyLossOnCollision: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minKillSpeed: 0 - maxKillSpeed: 10000 - radiusScale: 1 - collidesWith: - serializedVersion: 2 - m_Bits: 4294967295 - maxCollisionShapes: 256 - quality: 0 - voxelSize: 0.5 - collisionMessages: 0 - collidesWithDynamic: 1 - interiorCollisions: 0 - TriggerModule: - enabled: 0 - collisionShape0: {fileID: 0} - collisionShape1: {fileID: 0} - collisionShape2: {fileID: 0} - collisionShape3: {fileID: 0} - collisionShape4: {fileID: 0} - collisionShape5: {fileID: 0} - inside: 1 - outside: 0 - enter: 0 - exit: 0 - radiusScale: 1 - SubModule: - serializedVersion: 2 - enabled: 1 - subEmitters: - - serializedVersion: 2 - emitter: {fileID: 198460524131073554} - type: 0 - properties: 0 - 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: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - intensityCurve: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minVertexDistance: 0.2 - textureMode: 0 - ribbonCount: 1 - worldSpace: 0 - dieWithParticles: 1 - sizeAffectsWidth: 1 - sizeAffectsLifetime: 0 - inheritParticleColor: 1 - generateLightingData: 0 - splitSubEmitterRibbons: 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: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - vectorLabel1_3: W ---- !u!198 &198460524131073554 -ParticleSystem: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1542025054073744} - serializedVersion: 5 - lengthInSec: 0.3 - simulationSpeed: 1 - stopAction: 0 - looping: 0 - prewarm: 0 - playOnAwake: 0 - useUnscaledTime: 0 - autoRandomSeed: 1 - useRigidbodyForVelocity: 1 - startDelay: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - moveWithTransform: 0 - moveWithCustomTransform: {fileID: 0} - scalingMode: 2 - randomSeed: 0 - InitialModule: - serializedVersion: 3 - enabled: 1 - startLifetime: - serializedVersion: 2 - minMaxState: 0 - scalar: 0.3 - minScalar: 5 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - startSpeed: - serializedVersion: 2 - minMaxState: 0 - scalar: 10 - minScalar: 5 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 3 - scalar: 1 - minScalar: 0.5 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0.5 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - startSizeY: - serializedVersion: 2 - minMaxState: 3 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - startSizeZ: - serializedVersion: 2 - minMaxState: 3 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - startRotationX: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - startRotationY: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - startRotation: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - randomizeRotationDirection: 0 - maxNumParticles: 200 - size3D: 0 - rotation3D: 0 - gravityModifier: - serializedVersion: 2 - minMaxState: 0 - scalar: 8 - minScalar: 8 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - ShapeModule: - serializedVersion: 5 - 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_Mesh: {fileID: 0} - m_MeshRenderer: {fileID: 0} - m_SkinnedMeshRenderer: {fileID: 0} - m_UseMeshMaterialIndex: 0 - m_UseMeshColors: 1 - alignToDirection: 0 - randomDirectionAmount: 0 - sphericalDirectionAmount: 0 - randomPositionAmount: 0 - radius: - value: 0.30302778 - mode: 0 - spread: 0 - speed: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - EmissionModule: - enabled: 1 - serializedVersion: 4 - rateOverTime: - serializedVersion: 2 - minMaxState: 0 - scalar: 100 - minScalar: 10 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - rateOverDistance: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - m_BurstCount: 0 - m_Bursts: [] - SizeModule: - enabled: 1 - curve: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0.0031152645 - value: 0.016304344 - inSlope: 0.08579832 - outSlope: 0.08579832 - tangentMode: 0 - - serializedVersion: 2 - time: 0.17508925 - value: 0.4565217 - inSlope: 4.0959506 - outSlope: 4.0959506 - tangentMode: 0 - - serializedVersion: 2 - time: 0.76947033 - value: 0.010869565 - inSlope: -6.0546746 - outSlope: -6.0546746 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - y: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - z: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - y: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - separateAxes: 0 - ColorModule: - enabled: 1 - gradient: - serializedVersion: 2 - minMaxState: 1 - minColor: {r: 1, g: 1, b: 1, a: 1} - maxColor: {r: 1, g: 1, b: 1, a: 1} - maxGradient: - serializedVersion: 2 - key0: {r: 1, g: 0.03137255, b: 0, a: 1} - key1: {r: 0.9254902, g: 0.78431374, b: 0, a: 1} - key2: {r: 1, g: 0.92941177, b: 0.77254903, a: 0} - key3: {r: 1, g: 1, b: 1, 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: 16769 - ctime2: 44140 - ctime3: 65535 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 65535 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 4 - 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: - enabled: 0 - mode: 0 - frameOverTime: - serializedVersion: 2 - minMaxState: 1 - scalar: 0.9999 - minScalar: 0.9999 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - startFrame: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - tilesX: 1 - tilesY: 1 - animationType: 0 - rowIndex: 0 - cycles: 1 - uvChannelMask: -1 - flipU: 0 - flipV: 0 - randomRow: 1 - sprites: - - sprite: {fileID: 0} - VelocityModule: - enabled: 0 - x: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - y: - serializedVersion: 2 - minMaxState: 1 - scalar: 4 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - z: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 5.7704854 - outSlope: 5.7704854 - tangentMode: 0 - - serializedVersion: 2 - time: 0.95638627 - value: -0.19565219 - inSlope: -2.655904 - outSlope: -2.655904 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - speedModifier: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - ForceModule: - enabled: 0 - x: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - y: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - z: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - inWorldSpace: 0 - randomizePerFrame: 0 - ExternalForcesModule: - enabled: 0 - multiplier: 1 - ClampVelocityModule: - enabled: 0 - x: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - y: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - z: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - magnitude: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - separateAxis: 0 - inWorldSpace: 0 - multiplyDragByParticleSize: 1 - multiplyDragByParticleVelocity: 1 - dampen: 1 - drag: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - strengthY: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - strengthZ: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - remap: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - remapY: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - remapZ: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - rotationAmount: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - sizeAmount: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - y: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - z: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - y: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 0 - serializedVersion: 3 - type: 0 - collisionMode: 0 - colliderForce: 0 - multiplyColliderForceByParticleSize: 0 - multiplyColliderForceByParticleSpeed: 0 - multiplyColliderForceByCollisionAngle: 1 - plane0: {fileID: 0} - plane1: {fileID: 0} - plane2: {fileID: 0} - plane3: {fileID: 0} - plane4: {fileID: 0} - plane5: {fileID: 0} - m_Dampen: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - m_Bounce: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - m_EnergyLossOnCollision: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minKillSpeed: 0 - maxKillSpeed: 10000 - radiusScale: 1 - collidesWith: - serializedVersion: 2 - m_Bits: 4294967295 - maxCollisionShapes: 256 - quality: 0 - voxelSize: 0.5 - collisionMessages: 0 - collidesWithDynamic: 1 - interiorCollisions: 0 - TriggerModule: - enabled: 0 - collisionShape0: {fileID: 0} - collisionShape1: {fileID: 0} - collisionShape2: {fileID: 0} - collisionShape3: {fileID: 0} - collisionShape4: {fileID: 0} - collisionShape5: {fileID: 0} - inside: 1 - outside: 0 - enter: 0 - exit: 0 - radiusScale: 1 - SubModule: - serializedVersion: 2 - enabled: 0 - subEmitters: - - serializedVersion: 2 - emitter: {fileID: 0} - type: 0 - properties: 0 - 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: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - intensityCurve: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minVertexDistance: 0.2 - textureMode: 0 - ribbonCount: 1 - worldSpace: 0 - dieWithParticles: 1 - sizeAffectsWidth: 1 - sizeAffectsLifetime: 0 - inheritParticleColor: 1 - generateLightingData: 0 - splitSubEmitterRibbons: 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: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - vectorLabel1_3: W ---- !u!198 &198570208862991166 -ParticleSystem: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1669089800330334} - serializedVersion: 5 - lengthInSec: 0.2 - simulationSpeed: 1 - stopAction: 0 - looping: 0 - prewarm: 0 - playOnAwake: 0 - useUnscaledTime: 0 - autoRandomSeed: 1 - useRigidbodyForVelocity: 1 - startDelay: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - moveWithTransform: 0 - moveWithCustomTransform: {fileID: 0} - scalingMode: 2 - randomSeed: -955672444 - InitialModule: - serializedVersion: 3 - enabled: 1 - startLifetime: - serializedVersion: 2 - minMaxState: 0 - scalar: 0.2 - minScalar: 5 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - startSpeed: - serializedVersion: 2 - minMaxState: 0 - scalar: 0.78975105 - minScalar: 5 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 0.9098039, b: 0.6784314, 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: 4 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - startSizeY: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - startSizeZ: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - startRotationX: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - startRotationY: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - startRotation: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - randomizeRotationDirection: 0 - maxNumParticles: 7 - size3D: 0 - rotation3D: 0 - gravityModifier: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - ShapeModule: - serializedVersion: 5 - 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_Mesh: {fileID: 0} - m_MeshRenderer: {fileID: 0} - m_SkinnedMeshRenderer: {fileID: 0} - m_UseMeshMaterialIndex: 0 - m_UseMeshColors: 1 - alignToDirection: 0 - randomDirectionAmount: 0 - sphericalDirectionAmount: 0 - randomPositionAmount: 0 - radius: - value: 0.3954363 - mode: 0 - spread: 0 - speed: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - rateOverDistance: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - m_BurstCount: 1 - m_Bursts: - - serializedVersion: 2 - time: 0 - countCurve: - serializedVersion: 2 - minMaxState: 0 - scalar: 7 - minScalar: 7 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - cycleCount: 1 - repeatInterval: 0.01 - SizeModule: - enabled: 1 - curve: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0.004347826 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 0.15223819 - value: 1 - inSlope: 0.021159649 - outSlope: 0.021159649 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - y: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - z: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - y: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: - enabled: 0 - mode: 0 - frameOverTime: - serializedVersion: 2 - minMaxState: 1 - scalar: 0.9999 - minScalar: 0.9999 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - startFrame: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - tilesX: 1 - tilesY: 1 - animationType: 0 - rowIndex: 0 - cycles: 1 - uvChannelMask: -1 - flipU: 0 - flipV: 0 - randomRow: 1 - sprites: - - sprite: {fileID: 0} - VelocityModule: - enabled: 0 - x: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - y: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - z: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - speedModifier: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - ForceModule: - enabled: 0 - x: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - y: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - z: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - inWorldSpace: 0 - randomizePerFrame: 0 - ExternalForcesModule: - enabled: 0 - multiplier: 1 - ClampVelocityModule: - enabled: 0 - x: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - y: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - z: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - magnitude: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - separateAxis: 0 - inWorldSpace: 0 - multiplyDragByParticleSize: 1 - multiplyDragByParticleVelocity: 1 - dampen: 1 - drag: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - strengthY: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - strengthZ: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - remap: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - remapY: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - remapZ: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - rotationAmount: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - sizeAmount: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - y: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - z: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - y: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 0 - serializedVersion: 3 - type: 0 - collisionMode: 0 - colliderForce: 0 - multiplyColliderForceByParticleSize: 0 - multiplyColliderForceByParticleSpeed: 0 - multiplyColliderForceByCollisionAngle: 1 - plane0: {fileID: 0} - plane1: {fileID: 0} - plane2: {fileID: 0} - plane3: {fileID: 0} - plane4: {fileID: 0} - plane5: {fileID: 0} - m_Dampen: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - m_Bounce: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - m_EnergyLossOnCollision: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minKillSpeed: 0 - maxKillSpeed: 10000 - radiusScale: 1 - collidesWith: - serializedVersion: 2 - m_Bits: 4294967295 - maxCollisionShapes: 256 - quality: 0 - voxelSize: 0.5 - collisionMessages: 0 - collidesWithDynamic: 1 - interiorCollisions: 0 - TriggerModule: - enabled: 0 - collisionShape0: {fileID: 0} - collisionShape1: {fileID: 0} - collisionShape2: {fileID: 0} - collisionShape3: {fileID: 0} - collisionShape4: {fileID: 0} - collisionShape5: {fileID: 0} - inside: 1 - outside: 0 - enter: 0 - exit: 0 - radiusScale: 1 - SubModule: - serializedVersion: 2 - enabled: 0 - subEmitters: - - serializedVersion: 2 - emitter: {fileID: 0} - type: 0 - properties: 0 - 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: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - intensityCurve: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minVertexDistance: 0.2 - textureMode: 0 - ribbonCount: 1 - worldSpace: 0 - dieWithParticles: 1 - sizeAffectsWidth: 1 - sizeAffectsLifetime: 0 - inheritParticleColor: 1 - generateLightingData: 0 - splitSubEmitterRibbons: 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: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - 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: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - vectorLabel1_3: W ---- !u!199 &199076481152073066 -ParticleSystemRenderer: - serializedVersion: 4 - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1669089800330334} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_Materials: - - {fileID: 10301, guid: 0000000000000000f000000000000000, type: 0} - - {fileID: 0} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 0 - m_SelectedEditorRenderState: 0 - 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: 0 - m_SortMode: 0 - m_MinParticleSize: 0 - m_MaxParticleSize: 0.5 - m_CameraVelocityScale: 0 - m_VelocityScale: 0 - m_LengthScale: 2 - m_SortingFudge: 0 - m_NormalDirection: 1 - m_RenderAlignment: 0 - m_Pivot: {x: 0, y: 0, z: 0} - m_UseCustomVertexStreams: 0 - m_VertexStreams: 0001030405 - m_Mesh: {fileID: 0} - m_Mesh1: {fileID: 0} - m_Mesh2: {fileID: 0} - m_Mesh3: {fileID: 0} - m_MaskInteraction: 0 ---- !u!199 &199406154903990664 -ParticleSystemRenderer: - serializedVersion: 4 - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1616320365449200} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_Materials: - - {fileID: 2100000, guid: 87bf8b67d0a902842a3b617c1c75d6e5, type: 2} - - {fileID: 0} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 0 - m_SelectedEditorRenderState: 0 - 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: 0 - m_SortMode: 0 - m_MinParticleSize: 0 - m_MaxParticleSize: 0.5 - m_CameraVelocityScale: 0 - m_VelocityScale: 0 - m_LengthScale: 2 - m_SortingFudge: 0 - m_NormalDirection: 0.5 - m_RenderAlignment: 0 - m_Pivot: {x: 0, y: 0, z: 0} - m_UseCustomVertexStreams: 0 - m_VertexStreams: 0001030405 - m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} - m_Mesh1: {fileID: 0} - m_Mesh2: {fileID: 0} - m_Mesh3: {fileID: 0} - m_MaskInteraction: 0 ---- !u!199 &199671562797186254 -ParticleSystemRenderer: - serializedVersion: 4 - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1542025054073744} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_Materials: - - {fileID: 2100000, guid: 87bf8b67d0a902842a3b617c1c75d6e5, type: 2} - - {fileID: 0} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 0 - m_SelectedEditorRenderState: 0 - 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: 0 - m_SortMode: 0 - m_MinParticleSize: 0 - m_MaxParticleSize: 0.5 - m_CameraVelocityScale: 0 - m_VelocityScale: 0 - m_LengthScale: 2 - m_SortingFudge: 0 - m_NormalDirection: 0.5 - m_RenderAlignment: 0 - m_Pivot: {x: 0, y: 0, z: 0} - m_UseCustomVertexStreams: 0 - m_VertexStreams: 0001030405 - m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} - m_Mesh1: {fileID: 0} - m_Mesh2: {fileID: 0} - m_Mesh3: {fileID: 0} - m_MaskInteraction: 0 diff --git a/Assets/_Completed-Assets/Prefabs/CompleteShell.prefab b/Assets/_Completed-Assets/Prefabs/CompleteShell.prefab index 1f90a7a..408ed8d 100644 Binary files a/Assets/_Completed-Assets/Prefabs/CompleteShell.prefab and b/Assets/_Completed-Assets/Prefabs/CompleteShell.prefab differ diff --git a/Assets/_Completed-Assets/Prefabs/CompleteShellExplosion.prefab b/Assets/_Completed-Assets/Prefabs/CompleteShellExplosion.prefab index b3b4dee..b7f0fc0 100644 Binary files a/Assets/_Completed-Assets/Prefabs/CompleteShellExplosion.prefab and b/Assets/_Completed-Assets/Prefabs/CompleteShellExplosion.prefab differ diff --git a/Assets/_Completed-Assets/Prefabs/CompleteShellLocal.prefab b/Assets/_Completed-Assets/Prefabs/CompleteShellLocal.prefab new file mode 100644 index 0000000..f0aa430 Binary files /dev/null and b/Assets/_Completed-Assets/Prefabs/CompleteShellLocal.prefab differ diff --git a/Assets/_Completed-Assets/Prefabs/CompleteShellLocal.prefab.meta b/Assets/_Completed-Assets/Prefabs/CompleteShellLocal.prefab.meta new file mode 100644 index 0000000..32f0377 --- /dev/null +++ b/Assets/_Completed-Assets/Prefabs/CompleteShellLocal.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 44b5423f198ffa143b7b230f5df4ccc3 +timeCreated: 1426677629 +licenseType: Store +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Completed-Assets/Prefabs/CompleteTank Enemy.prefab b/Assets/_Completed-Assets/Prefabs/CompleteTank Enemy.prefab index 3310a74..1edf64c 100644 Binary files a/Assets/_Completed-Assets/Prefabs/CompleteTank Enemy.prefab and b/Assets/_Completed-Assets/Prefabs/CompleteTank Enemy.prefab differ diff --git a/Assets/_Completed-Assets/Prefabs/CompleteTank.prefab b/Assets/_Completed-Assets/Prefabs/CompleteTank.prefab index 3e8c177..637391f 100644 Binary files a/Assets/_Completed-Assets/Prefabs/CompleteTank.prefab and b/Assets/_Completed-Assets/Prefabs/CompleteTank.prefab differ diff --git a/Assets/_Completed-Assets/Prefabs/CompleteTankLocal.prefab b/Assets/_Completed-Assets/Prefabs/CompleteTankLocal.prefab new file mode 100644 index 0000000..9b0986e Binary files /dev/null and b/Assets/_Completed-Assets/Prefabs/CompleteTankLocal.prefab differ diff --git a/Assets/_Completed-Assets/Prefabs/CompleteTankLocal.prefab.meta b/Assets/_Completed-Assets/Prefabs/CompleteTankLocal.prefab.meta new file mode 100644 index 0000000..90e4046 --- /dev/null +++ b/Assets/_Completed-Assets/Prefabs/CompleteTankLocal.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 419ac0c96135b214eaf5f8a5da0a2548 +timeCreated: 1432636960 +licenseType: Store +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Completed-Assets/Prefabs/LeaderBoardListing.prefab b/Assets/_Completed-Assets/Prefabs/LeaderBoardListing.prefab new file mode 100644 index 0000000..fd7921d Binary files /dev/null and b/Assets/_Completed-Assets/Prefabs/LeaderBoardListing.prefab differ diff --git a/Assets/_Completed-Assets/Prefabs/CompleteShell 1.prefab.meta b/Assets/_Completed-Assets/Prefabs/LeaderBoardListing.prefab.meta similarity index 74% rename from Assets/_Completed-Assets/Prefabs/CompleteShell 1.prefab.meta rename to Assets/_Completed-Assets/Prefabs/LeaderBoardListing.prefab.meta index 0ba357d..4b9cf49 100644 --- a/Assets/_Completed-Assets/Prefabs/CompleteShell 1.prefab.meta +++ b/Assets/_Completed-Assets/Prefabs/LeaderBoardListing.prefab.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 6e92e934454dc4560bd201eac495b1aa +guid: c17eb98561ba2ad489e2c80eb3abc342 PrefabImporter: externalObjects: {} userData: diff --git a/Assets/_Completed-Assets/Prefabs/NumberPlayers.prefab b/Assets/_Completed-Assets/Prefabs/NumberPlayers.prefab new file mode 100644 index 0000000..6095397 Binary files /dev/null and b/Assets/_Completed-Assets/Prefabs/NumberPlayers.prefab differ diff --git a/Assets/_Completed-Assets/Prefabs/NumberPlayers.prefab.meta b/Assets/_Completed-Assets/Prefabs/NumberPlayers.prefab.meta new file mode 100644 index 0000000..f74b451 --- /dev/null +++ b/Assets/_Completed-Assets/Prefabs/NumberPlayers.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: b8d4264774262ee479457e40d5481162 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Completed-Assets/Prefabs/Panel.prefab b/Assets/_Completed-Assets/Prefabs/Panel.prefab new file mode 100644 index 0000000..10fbe11 Binary files /dev/null and b/Assets/_Completed-Assets/Prefabs/Panel.prefab differ diff --git a/Assets/_Completed-Assets/Prefabs/Panel.prefab.meta b/Assets/_Completed-Assets/Prefabs/Panel.prefab.meta new file mode 100644 index 0000000..0e5e8ab --- /dev/null +++ b/Assets/_Completed-Assets/Prefabs/Panel.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 0dca0862a2516b24cbdf87f35da501f2 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Completed-Assets/Prefabs/PanelTeams.prefab b/Assets/_Completed-Assets/Prefabs/PanelTeams.prefab new file mode 100644 index 0000000..e2fdbf6 Binary files /dev/null and b/Assets/_Completed-Assets/Prefabs/PanelTeams.prefab differ diff --git a/Assets/_Completed-Assets/Prefabs/PanelTeams.prefab.meta b/Assets/_Completed-Assets/Prefabs/PanelTeams.prefab.meta new file mode 100644 index 0000000..876cdd4 --- /dev/null +++ b/Assets/_Completed-Assets/Prefabs/PanelTeams.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: abcfbe16ff6cfa647b91186c587a43c8 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Completed-Assets/Prefabs/PlayNetworking.prefab b/Assets/_Completed-Assets/Prefabs/PlayNetworking.prefab new file mode 100644 index 0000000..465e011 Binary files /dev/null and b/Assets/_Completed-Assets/Prefabs/PlayNetworking.prefab differ diff --git a/Assets/_Completed-Assets/Prefabs/PlayNetworking.prefab.meta b/Assets/_Completed-Assets/Prefabs/PlayNetworking.prefab.meta new file mode 100644 index 0000000..de58572 --- /dev/null +++ b/Assets/_Completed-Assets/Prefabs/PlayNetworking.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 717633653c345d54ba4bbee24e10a568 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Completed-Assets/Prefabs/PlayerPanel.prefab b/Assets/_Completed-Assets/Prefabs/PlayerPanel.prefab new file mode 100644 index 0000000..0fcc580 Binary files /dev/null and b/Assets/_Completed-Assets/Prefabs/PlayerPanel.prefab differ diff --git a/Assets/_Completed-Assets/Prefabs/PlayerPanel.prefab.meta b/Assets/_Completed-Assets/Prefabs/PlayerPanel.prefab.meta new file mode 100644 index 0000000..6f1e4a1 --- /dev/null +++ b/Assets/_Completed-Assets/Prefabs/PlayerPanel.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: e0cc35146dd09bb458bd750069659fa8 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Completed-Assets/Prefabs/TeamsCanvas.prefab b/Assets/_Completed-Assets/Prefabs/TeamsCanvas.prefab new file mode 100644 index 0000000..ccfed27 Binary files /dev/null and b/Assets/_Completed-Assets/Prefabs/TeamsCanvas.prefab differ diff --git a/Assets/_Completed-Assets/Prefabs/TeamsCanvas.prefab.meta b/Assets/_Completed-Assets/Prefabs/TeamsCanvas.prefab.meta new file mode 100644 index 0000000..91f2e1b --- /dev/null +++ b/Assets/_Completed-Assets/Prefabs/TeamsCanvas.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 4eb77a1f53bb5d149a83fdef3cb36653 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Completed-Assets/Scenes/GameLocal.unity b/Assets/_Completed-Assets/Scenes/GameLocal.unity new file mode 100644 index 0000000..3fc02fc Binary files /dev/null and b/Assets/_Completed-Assets/Scenes/GameLocal.unity differ diff --git a/Assets/_Completed-Assets/Scenes/GameLocal.unity.meta b/Assets/_Completed-Assets/Scenes/GameLocal.unity.meta new file mode 100644 index 0000000..9242908 --- /dev/null +++ b/Assets/_Completed-Assets/Scenes/GameLocal.unity.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 437b31b29bfbe144f94129537629a614 +timeCreated: 1475837436 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Completed-Assets/Scenes/Lobby.unity b/Assets/_Completed-Assets/Scenes/LobbyLan.unity similarity index 90% rename from Assets/_Completed-Assets/Scenes/Lobby.unity rename to Assets/_Completed-Assets/Scenes/LobbyLan.unity index 1b6a908..3d4cf5a 100644 Binary files a/Assets/_Completed-Assets/Scenes/Lobby.unity and b/Assets/_Completed-Assets/Scenes/LobbyLan.unity differ diff --git a/Assets/_Completed-Assets/Scenes/Lobby.unity.meta b/Assets/_Completed-Assets/Scenes/LobbyLan.unity.meta similarity index 100% rename from Assets/_Completed-Assets/Scenes/Lobby.unity.meta rename to Assets/_Completed-Assets/Scenes/LobbyLan.unity.meta diff --git a/Assets/_Completed-Assets/Scenes/LobbyOnline.unity b/Assets/_Completed-Assets/Scenes/LobbyOnline.unity index b454b03..283ca48 100644 Binary files a/Assets/_Completed-Assets/Scenes/LobbyOnline.unity and b/Assets/_Completed-Assets/Scenes/LobbyOnline.unity differ diff --git a/Assets/_Completed-Assets/Scenes/MainLan.meta b/Assets/_Completed-Assets/Scenes/MainLan.meta new file mode 100644 index 0000000..16b4549 --- /dev/null +++ b/Assets/_Completed-Assets/Scenes/MainLan.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 916869d2752fed24e84784c7f70edade +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Completed-Assets/Scenes/Main.unity b/Assets/_Completed-Assets/Scenes/MainLan.unity similarity index 67% rename from Assets/_Completed-Assets/Scenes/Main.unity rename to Assets/_Completed-Assets/Scenes/MainLan.unity index 37a86c7..e9cf0cd 100644 Binary files a/Assets/_Completed-Assets/Scenes/Main.unity and b/Assets/_Completed-Assets/Scenes/MainLan.unity differ diff --git a/Assets/_Completed-Assets/Scenes/Main.unity.meta b/Assets/_Completed-Assets/Scenes/MainLan.unity.meta similarity index 100% rename from Assets/_Completed-Assets/Scenes/Main.unity.meta rename to Assets/_Completed-Assets/Scenes/MainLan.unity.meta diff --git a/Assets/_Completed-Assets/Scenes/MainLan/NavMesh.asset b/Assets/_Completed-Assets/Scenes/MainLan/NavMesh.asset new file mode 100644 index 0000000..b9a7217 Binary files /dev/null and b/Assets/_Completed-Assets/Scenes/MainLan/NavMesh.asset differ diff --git a/Assets/_Completed-Assets/Scenes/MainLan/NavMesh.asset.meta b/Assets/_Completed-Assets/Scenes/MainLan/NavMesh.asset.meta new file mode 100644 index 0000000..1ee02cc --- /dev/null +++ b/Assets/_Completed-Assets/Scenes/MainLan/NavMesh.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4c18ff8ff225d374ca629fc7304834ef +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Completed-Assets/Scenes/MainOnline.unity b/Assets/_Completed-Assets/Scenes/MainOnline.unity index b6bdb51..c0e2535 100644 Binary files a/Assets/_Completed-Assets/Scenes/MainOnline.unity and b/Assets/_Completed-Assets/Scenes/MainOnline.unity differ diff --git a/Assets/_Completed-Assets/Scenes/SelectGameMode.unity b/Assets/_Completed-Assets/Scenes/SelectGameMode.unity index f6eb1fb..ff90087 100644 Binary files a/Assets/_Completed-Assets/Scenes/SelectGameMode.unity and b/Assets/_Completed-Assets/Scenes/SelectGameMode.unity differ diff --git a/Assets/_Completed-Assets/Scripts/Camera/CameraControl.cs b/Assets/_Completed-Assets/Scripts/Camera/CameraControl.cs index 84f7d0f..7b681dd 100644 --- a/Assets/_Completed-Assets/Scripts/Camera/CameraControl.cs +++ b/Assets/_Completed-Assets/Scripts/Camera/CameraControl.cs @@ -1,5 +1,4 @@ using UnityEngine; -using System.Linq; namespace Complete { @@ -8,53 +7,57 @@ public class CameraControl : MonoBehaviour public float m_DampTime = 0.2f; // Approximate time for the camera to refocus public float m_ScreenEdgeBuffer = 4f; // Space between the top/bottom most target and the screen edge public float m_MinSize = 6.5f; // The smallest orthographic size the camera can be - //[HideInInspector] - public Transform[] m_Targets; // All the targets the camera needs to encompass - public GameObject[] arrayTanks; + [HideInInspector] public Transform[] m_Targets; // All the targets the camera needs to encompass - private Camera m_Camera; // Used for referencing the camera + private Camera m_Camera; // Camera reference private float m_ZoomSpeed; // Reference speed for the smooth damping of the orthographic size private Vector3 m_MoveVelocity; // Reference velocity for the smooth damping of the position private Vector3 m_DesiredPosition; // The position the camera is moving towards - - private void Awake() - { - m_Camera = GetComponentInChildren (); - } + private bool splitMode = true; // Split-screen enabled + public float limitDist = 25.0f; // Distance limit + public float hysteresis = 5.0f; // Hysteresis - private void FixedUpdate() - { - //Ajustar la cámara acorde al número de tanques en el juego - SetCameraTargets(); - - // Move the camera towards a desired position - Move(); + private void Awake() { - // Change the size of the camera based - Zoom(); + splitMode = false; // Split mode disabled by default + m_Camera = GetComponentInChildren(); } - private void SetCameraTargets() - { - arrayTanks = GameObject.FindGameObjectsWithTag("Player").Concat(GameObject.FindGameObjectsWithTag("Enemy")).ToArray(); - // Create a collection of transforms the same size as the number of tanks - Transform[] targets = new Transform[arrayTanks.Length]; + private void FixedUpdate() { + Move(); // Move the camera towards the desired position - // For each of these transforms... - for (int i = 0; i < targets.Length; i++) + if (!splitMode) // Change camera size { - // ... set it to the appropriate tank transform - targets[i] = arrayTanks[i].GetComponent(); + Zoom(); } - // These are the targets the camera should follow - m_Targets = targets; + //Split(); } + private void Split() { + float distance = 0; + + if (m_Targets.Length != 0) distance = Vector3.Distance(m_Targets[0].position, m_Targets[1].position); + + if (splitMode && distance < limitDist - hysteresis) { + Debug.Log ("Disable SplitScreen"); + splitMode = false; + + m_Camera.enabled = true; + m_Camera.gameObject.SetActive (true); + } + else if (!splitMode && distance > limitDist + hysteresis) { + Debug.Log ("Enable SplitScreen"); + splitMode = true; + + m_Camera.enabled = false; + m_Camera.gameObject.SetActive(false); + } + } private void Move() { @@ -62,10 +65,9 @@ private void Move() FindAveragePosition(); // Smoothly transition to that position - transform.position = Vector3.SmoothDamp (transform.position, m_DesiredPosition, ref m_MoveVelocity, m_DampTime); + transform.position = Vector3.SmoothDamp (transform.position, m_DesiredPosition, ref m_MoveVelocity, m_DampTime); } - private void FindAveragePosition() { Vector3 averagePos = new Vector3(); @@ -118,7 +120,7 @@ private float FindRequiredSize () // Go through all the targets... for (int i = 0; i < m_Targets.Length; i++) { - // ... and if they aren't active continue on to the next target + // ... and if they aren't active continue on to the next target. if (!m_Targets[i].gameObject.activeSelf) { continue; @@ -131,7 +133,7 @@ private float FindRequiredSize () Vector3 desiredPosToTarget = targetLocalPos - desiredLocalPos; // Choose the largest out of the current size and the distance of the tank 'up' or 'down' from the camera - size = Mathf.Max(size, Mathf.Abs (desiredPosToTarget.y)); + size = Mathf.Max (size, Mathf.Abs (desiredPosToTarget.y)); // Choose the largest out of the current size and the calculated size based on the tank being to the left or right of the camera size = Mathf.Max(size, Mathf.Abs (desiredPosToTarget.x) / m_Camera.aspect); @@ -147,16 +149,16 @@ private float FindRequiredSize () } - public void SetStartPositionAndSize() + public void SetStartPositionAndSize () { // Find the desired position - FindAveragePosition (); + FindAveragePosition(); // Set the camera's position to the desired position without damping transform.position = m_DesiredPosition; // Find and set the required size of the camera - m_Camera.orthographicSize = FindRequiredSize(); + m_Camera.orthographicSize = FindRequiredSize (); } } } \ No newline at end of file diff --git a/Assets/_Completed-Assets/Scripts/Camera/CameraControl.cs.meta b/Assets/_Completed-Assets/Scripts/Camera/CameraControl.cs.meta index 0ee8fc3..b1bf3fc 100644 --- a/Assets/_Completed-Assets/Scripts/Camera/CameraControl.cs.meta +++ b/Assets/_Completed-Assets/Scripts/Camera/CameraControl.cs.meta @@ -1,7 +1,8 @@ fileFormatVersion: 2 guid: a9e26b621854da943aeca10c9a73880c +timeCreated: 1441204918 +licenseType: Store MonoImporter: - externalObjects: {} serializedVersion: 2 defaultReferences: [] executionOrder: 0 diff --git a/Assets/_Completed-Assets/Scripts/Camera/CameraFollow.cs b/Assets/_Completed-Assets/Scripts/Camera/CameraFollow.cs new file mode 100644 index 0000000..fd305d7 --- /dev/null +++ b/Assets/_Completed-Assets/Scripts/Camera/CameraFollow.cs @@ -0,0 +1,32 @@ +using UnityEngine; + +namespace Complete { + + public class CameraFollow : MonoBehaviour { + + private Camera m_Camera; // Camera reference + public float smooth = 0.5f; // Smoothness + public float limitDist = 20.0f; // Distance limit + + private void FixedUpdate () + { + if (m_Camera == null) { + m_Camera = GetComponentInChildren(); + return; + } + + Follow(); + } + + + private void Follow() + { + float currentDist = Vector3.Distance (transform.position, m_Camera.transform.position); + + if (currentDist > limitDist) + { + m_Camera.transform.position = Vector3.Lerp (m_Camera.transform.position, transform.position, Time.deltaTime * smooth); + } + } + } +} \ No newline at end of file diff --git a/Assets/_Completed-Assets/Scripts/Camera/CameraFollow.cs.meta b/Assets/_Completed-Assets/Scripts/Camera/CameraFollow.cs.meta new file mode 100644 index 0000000..7acf38a --- /dev/null +++ b/Assets/_Completed-Assets/Scripts/Camera/CameraFollow.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 03c8169c58da644b8bdb17552432ec27 +timeCreated: 1441204918 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Completed-Assets/Scripts/EnemySpawnerLocal.cs b/Assets/_Completed-Assets/Scripts/EnemySpawnerLocal.cs new file mode 100644 index 0000000..42a0615 --- /dev/null +++ b/Assets/_Completed-Assets/Scripts/EnemySpawnerLocal.cs @@ -0,0 +1,26 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using Mirror; + +public class EnemySpawnerLocal : MonoBehaviour +{ + public GameObject enemyPrefab; + public int numberOfEnemies; + + public void Start() + { + for (int i = 0; i < numberOfEnemies; i++) + { + var spawnPosition = new Vector3( + Random.Range(-8.0f, 8.0f), + 0.0f, + Random.Range(-8.0f, 8.0f)); + var spawnRotation = Quaternion.Euler( + 0.0f, + Random.Range(0, 180), + 0.0f); + Instantiate(enemyPrefab, spawnPosition, spawnRotation); + } + } +} diff --git a/Assets/_Completed-Assets/Scripts/EnemySpawnerLocal.cs.meta b/Assets/_Completed-Assets/Scripts/EnemySpawnerLocal.cs.meta new file mode 100644 index 0000000..296e1ae --- /dev/null +++ b/Assets/_Completed-Assets/Scripts/EnemySpawnerLocal.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 9d4ff219fa3234046a9ab088f0b66236 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Completed-Assets/Scripts/InfoPlayer.cs b/Assets/_Completed-Assets/Scripts/InfoPlayer.cs index a96bf1a..14215b8 100644 --- a/Assets/_Completed-Assets/Scripts/InfoPlayer.cs +++ b/Assets/_Completed-Assets/Scripts/InfoPlayer.cs @@ -6,26 +6,136 @@ using TMPro; using UnityEngine.UI; -public class InfoPlayer : NetworkBehaviour +namespace Complete { - [SerializeField] - private Text playerText; + public class InfoPlayer : NetworkBehaviour + { + [SerializeField] + public Text playerText; - [SyncVar(hook = nameof(HandleSteamIdUpdated))] - private ulong steamId; + [SyncVar(hook = nameof(ChangeTeamBool))] + public bool team1 = true; + + public GameObject myTeamItem; + public NumberPlayers numberPlayers; - public void SetSteamId(ulong steamId_) - { - steamId = steamId_; - } + [SyncVar] + public Color myColor; - private void HandleSteamIdUpdated(ulong oldSteamId, ulong newSteamId) - { - var cSteamId = new CSteamID(newSteamId); - var name = SteamFriends.GetFriendPersonaName(cSteamId); - if (isLocalPlayer) { - PlayerPrefs.SetString("NickName", name); + public Color colorTeam1= Color.green, colorTeam2= Color.blue; + + [SyncVar(hook = nameof(HandleSteamIdUpdated))] + private ulong steamId; + + private GameManager gameManager; + + public void SetSteamId(ulong steamId_) { + steamId = steamId_; + } + + private void Start() + { + gameManager = FindObjectOfType(); + } + + private void HandleSteamIdUpdated(ulong oldSteamId, ulong newSteamId) + { + var cSteamId = new CSteamID(newSteamId); + var name = SteamFriends.GetFriendPersonaName(cSteamId); + if (isLocalPlayer) + { + PlayerPrefs.SetString("NickName", name); + } + playerText.text = name; + } + + [Command] + public void CmdSetTeamBool(bool newTeam1) { + team1 = newTeam1; + RpcSetTeamBool(newTeam1); + ChangeColor(); + } + + [ClientRpc] + public void RpcSetTeamBool(bool newTeam1) { + team1 = newTeam1; + UpdateUIPos(); + ChangeColor(); + } + + [Command] + public void CmdStartGame(bool newBool) + { + if (gameManager.canvasTeams.activeSelf) + { + gameManager.canvasTeams.SetActive(false); + } + RpcStartGame(newBool); + } + + [ClientRpc] + public void RpcStartGame(bool newBool) + { + if (gameManager.canvasTeams.activeSelf) gameManager.canvasTeams.SetActive(false); + gameManager.StartGame(); + } + + public void StartGameClient(bool newBool) + { + if (gameManager.canvasTeams.activeSelf) gameManager.canvasTeams.SetActive(false); + StartCoroutine(gameManager.GameLoop()); + } + + private void ChangeTeamBool(bool oldTeam1, bool newTeam1) + { + team1 = newTeam1; + } + + public void ChangeColor() + { + // Get all of the renderers of the tank + MeshRenderer[] renderers = GetComponentsInChildren(); + + myColor = team1 ? colorTeam1 : colorTeam2; + + // Go through all the renderers... + for (int i = 0; i < renderers.Length; i++) + { + // ... set their material color to the color specific to this tank + renderers[i].material.color = myColor; + playerText.color = myColor; + } + } + + public void ChangeDeathMatchColor() + { + // Get all of the renderers of the tank + MeshRenderer[] renderers = GetComponentsInChildren(); + + myColor = Color.cyan; + + // Go through all the renderers... + for (int i = 0; i < renderers.Length; i++) + { + // ... set their material color to the color specific to this tank + renderers[i].material.color = myColor; + playerText.color = myColor; + } + } + + private void UpdateUIPos() { + if (myTeamItem != null) { + RectTransform rt = myTeamItem.GetComponent(); + rt.localPosition = new Vector3( + team1 ? numberPlayers.team1Panel.localPosition.x : numberPlayers.team2Panel.localPosition.x, + rt.localPosition.y, + rt.localPosition.z); + } + } + + + public bool LocalPlayer() { + return isLocalPlayer; } - playerText.text = name; } } diff --git a/Assets/_Completed-Assets/Scripts/LobbyLocal.cs b/Assets/_Completed-Assets/Scripts/LobbyLocal.cs new file mode 100644 index 0000000..c534d21 --- /dev/null +++ b/Assets/_Completed-Assets/Scripts/LobbyLocal.cs @@ -0,0 +1,20 @@ +using System.Collections.Generic; +using UnityEngine; +using Mirror; +using Mirror.Discovery; +using UnityEngine.UI; +using PlayFab; +using UnityEngine.SceneManagement; + +public class LobbyLocal : MonoBehaviour { + + + public void CreateGame() { + SceneManager.LoadScene("Main"); + } + + public void Back() + { + SceneManager.LoadScene("SelectGameMode"); + } +} diff --git a/Assets/_Completed-Assets/Scripts/LobbyLocal.cs.meta b/Assets/_Completed-Assets/Scripts/LobbyLocal.cs.meta new file mode 100644 index 0000000..c9d9417 --- /dev/null +++ b/Assets/_Completed-Assets/Scripts/LobbyLocal.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f1d85b4460385b244847a2ec7b585f04 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Completed-Assets/Scripts/LobbyMenu.cs b/Assets/_Completed-Assets/Scripts/LobbyMenu.cs index c05d5dc..325d512 100644 --- a/Assets/_Completed-Assets/Scripts/LobbyMenu.cs +++ b/Assets/_Completed-Assets/Scripts/LobbyMenu.cs @@ -30,8 +30,6 @@ public class LobbyMenu : MonoBehaviour { public GameObject serverUISpawner; public GameObject serverUIRow; - public Image colorButton; - public static string[] tankColors = { "red", "black", "white", "blue", "green", "yellow" }; int currentColorIdx; @@ -42,14 +40,12 @@ void Awake() currentColorIdx = Random.Range(0, tankColors.Length - 1); Color tmpColor; ColorUtility.TryParseHtmlString(tankColors[currentColorIdx], out tmpColor); - colorButton.color = tmpColor; } public void ChangeColor() { currentColorIdx = (currentColorIdx + 1) % tankColors.Length; Color tmpColor; ColorUtility.TryParseHtmlString(tankColors[currentColorIdx], out tmpColor); - colorButton.color = tmpColor; } public void CreateGame() { diff --git a/Assets/_Completed-Assets/Scripts/Managers/GameManager.cs b/Assets/_Completed-Assets/Scripts/Managers/GameManager.cs index ab67d3d..8740bdf 100644 --- a/Assets/_Completed-Assets/Scripts/Managers/GameManager.cs +++ b/Assets/_Completed-Assets/Scripts/Managers/GameManager.cs @@ -10,19 +10,26 @@ namespace Complete public class GameManager : MonoBehaviour { public int m_NumRoundsToWin = 5; // The number of rounds a single player has to win to win the game - public float m_StartDelay = 3f; // The delay between the start of RoundStarting and RoundPlaying phases + public float m_StartDelay = 1.5f; // The delay between the start of RoundStarting and RoundPlaying phases public float m_EndDelay = 3f; // The delay between the end of RoundPlaying and RoundEnding phases public CameraControl m_CameraControl; // Reference to the CameraControl script for control during different phases public Text m_MessageText; // Reference to the overlay Text to display winning text, etc public GameObject m_TankPrefab; // Reference to the prefab the players will control public TankManager[] m_Tanks; // A collection of managers for enabling and disabling different aspects of the tanks + public NumberPlayers numberPlayersScript; + public GameObject canvasTeams; + public PlayNetworking playNetworking; - private int m_RoundNumber; // Which round the game is currently on private WaitForSeconds m_StartWait; // Used to have a delay whilst the round starts private WaitForSeconds m_EndWait; // Used to have a delay whilst the round or game ends private TankManager m_RoundWinner; // Reference to the winner of the current round. Used to make an announcement of who won private TankManager m_GameWinner; // Reference to the winner of the game. Used to make an announcement of who won + private bool localTankInit; + + + private bool initGame = false; + private int numberCurrentPlayers= 0; private void Start() @@ -31,20 +38,119 @@ private void Start() m_StartWait = new WaitForSeconds (m_StartDelay); m_EndWait = new WaitForSeconds (m_EndDelay); - Invoke("SetPlayersTanks", 1f); - - // Once the tanks have been created and the camera is using them as targets, start the game - StartCoroutine (GameLoop ()); + InvokeRepeating(nameof(SetPlayersTanks), 0, 0.5f); } public void SetPlayersTanks() { - GameObject[] tanksInGame = GameObject.FindGameObjectsWithTag("Player"); - foreach (var tank in tanksInGame) + int numberPlayers = GameObject.FindGameObjectsWithTag("Player").Length; + + if(numberPlayers == 4) { - AddToTankList(tank); + CancelInvoke(nameof(SetPlayersTanks)); + } + + if (numberPlayers > numberCurrentPlayers) + { + numberCurrentPlayers = numberPlayers; + + GameObject[] tanksInGame = GameObject.FindGameObjectsWithTag("Player"); + int team1 = 0; + if (!localTankInit) + { + foreach (var tank in tanksInGame) + { + var playerInfo = tank.GetComponent(); + if (playerInfo.LocalPlayer()) + { + if (team1 >= 2) playerInfo.team1 = false; + playerInfo.CmdSetTeamBool(playerInfo.team1); + if (playNetworking.gameStart) playerInfo.StartGameClient(true); + break; + } + else if (playerInfo.team1) + { + team1++; + } + } + localTankInit = true; + } + + //Al comienzo de iniciar la partida el jugador, añade todos los tanques Player al array. + if (!initGame) + { + foreach (var tank in tanksInGame) + { + AddToTankList(tank); + } + + //CheckTanksDistance(); + + initGame = true; + } + else //Una vez iniciada la partida, si entra un nuevo jugador, solo añade ese jugador al array + { + AddToTankList(tanksInGame[tanksInGame.Length - 1]); + } + + SetCameraTargets(); + + if (playNetworking.gameStart) numberPlayersScript.ShowUI(false); + else Invoke("UpdateUI", 2f); } - SetCameraTargets(); + } + + void RestartGame() { + m_MessageText.gameObject.SetActive(false); + + //m_CameraControl.m_Targets = new Transform[0]; + if (GameObject.FindGameObjectsWithTag("Player")[0].GetComponent().LocalPlayer()) { + GameObject[] tanksInGame = GameObject.FindGameObjectsWithTag("Player"); + for (int i = 0; i < tanksInGame.Length; i++) { + tanksInGame[i].SetActive(true); + tanksInGame[i].GetComponent().UpdateWins(0); + } + } + + numberPlayersScript.ShowUI(true); + } + + private void UpdateUI() { + numberPlayersScript.UiSetup(); + } + + private bool OneTeamLeft() + { + // Start the count of tanks left at zero + bool team1ExistsYet = false; + bool team2ExistsYet = false; + + int teamsLeft = 0; + + // Go through all the tanks... + for (int i = 0; i < m_Tanks.Length; i++) + { + // ... and if they are active, increment the counter + if (m_Tanks[i].m_Instance.activeSelf) + { + if (m_Tanks[i].m_Instance.GetComponent() != null) { + if (m_Tanks[i].m_Instance.GetComponent().team1) { + if (!team1ExistsYet) { + teamsLeft++; + team1ExistsYet = true; + } + } else { + if (!team2ExistsYet) { + teamsLeft++; + team2ExistsYet = true; + } + } + } else + teamsLeft++; + + } + } + return teamsLeft <= 1; } private void AddToTankList(GameObject gameObj) @@ -80,39 +186,41 @@ public void RemoveFromTankList(TankManager tankObj) //gameManager.SetCameraTargets(); } - private void SpawnAllTanks() - { - //GameObject[] tanksInGame = GameObject.FindGameObjectsWithTag("Player"); - // For all the tanks... - //for (int i = 0; i < tanksInGame.Length; i++) - //{ - // // ... create them, set their player number and references needed for control - // m_Tanks[i].m_Instance = Instantiate(m_TankPrefab, tanksInGame[i].m_SpawnPoint.position, m_Tanks[i].m_SpawnPoint.rotation) as GameObject; - // m_Tanks[i].m_PlayerNumber = i + 1; - // m_Tanks[i].Setup(); - //} + public void StartGame() { + StartCoroutine(GameLoop()); } - - private void SetCameraTargets() + public void SetCameraTargets() { + if (m_Tanks.Length == 0) + { + TankHealth[] tempPlayers = FindObjectsOfType(); + TankManager[] tempAllTanks = new TankManager[tempPlayers.Length]; + + foreach (var item in tempPlayers) + { + tempAllTanks.ToList().Add(item.GetComponent()); + } + m_Tanks = tempAllTanks; + } + // Create a collection of transforms the same size as the number of tanks Transform[] targets = new Transform[m_Tanks.Length]; // For each of these transforms... - for (int i = 0; i < targets.Length; i++) + for (int i = 0; i < m_Tanks.Length; i++) { // ... set it to the appropriate tank transform - targets[i] = m_Tanks[i].m_Instance.transform; + if (m_Tanks[i].m_Instance != null) targets[i] = m_Tanks[i].m_Instance.transform; } // These are the targets the camera should follow - //m_CameraControl.m_Targets = targets; + m_CameraControl.m_Targets = targets; } // This is called from start and will run each phase of the game one after another - private IEnumerator GameLoop() + public IEnumerator GameLoop() { // Start off by running the 'RoundStarting' coroutine but don't return until it's finished yield return StartCoroutine (RoundStarting()); @@ -127,7 +235,7 @@ private IEnumerator GameLoop() if (m_GameWinner != null) { // If there is a game winner, restart the level - SceneManager.LoadScene (0); + RestartGame(); } else { @@ -143,14 +251,12 @@ private IEnumerator RoundStarting() // As soon as the round starts reset the tanks and make sure they can't move ResetAllTanks(); DisableTankControl(); - // Snap the camera's zoom and position to something appropriate for the reset tanks m_CameraControl.SetStartPositionAndSize(); // Increment the round number and display text showing the players what round it is m_RoundNumber++; m_MessageText.text = "ROUND " + m_RoundNumber; - // Wait for the specified length of time until yielding control back to the game loop yield return m_StartWait; } @@ -161,12 +267,19 @@ private IEnumerator RoundPlaying() // As soon as the round begins playing let the players control the tanks EnableTankControl(); + GameObject[] tanksEnemiesInGame = GameObject.FindGameObjectsWithTag("Enemy"); + foreach (var tank in tanksEnemiesInGame) + { + tank.GetComponent().gameStarted = true; + } + // Clear the text from the screen m_MessageText.text = string.Empty; // While there is not one tank left... - while (!OneTankLeft()) + while ((!playNetworking.activeTeams && !OneTankLeft()) || (playNetworking.activeTeams && !OneTeamLeft())) { + // ... return on the next frame yield return null; } @@ -186,15 +299,26 @@ private IEnumerator RoundEnding() // If there is a winner, increment their score if (m_RoundWinner != null) - { - m_RoundWinner.m_Wins++; + { + int wins = m_RoundWinner.m_Movement.wins; + + if (m_RoundWinner.m_Instance.CompareTag("Enemy")) + m_RoundWinner.m_Movement.wins = wins+1; + else if (GameObject.FindGameObjectsWithTag("Player")[0].GetComponent().LocalPlayer()) {//if (m_RoundWinner.m_Instance.GetComponent().LocalPlayer()) { + if (playNetworking.activeTeams) + wins = GetTeamHighestWin(wins, m_RoundWinner.m_Instance.GetComponent().team1); + + m_RoundWinner.m_Movement.UpdateWins(wins+1); + } } // Now the winner's score has been incremented, see if someone has one the game - m_GameWinner = GetGameWinner(); + m_GameWinner = GetGameWinner(m_RoundWinner); + + yield return new WaitForSeconds(1f); // Get a message based on the scores and whether or not there is a game winner and display it - string message = EndMessage(); + string message = playNetworking.activeTeams ? EndMessageTeams() : EndMessage(); m_MessageText.text = message; // Wait for the specified length of time until yielding control back to the game loop @@ -202,12 +326,19 @@ private IEnumerator RoundEnding() } + private int GetTeamHighestWin(int currentWin, bool team1) { + GameObject[] tanksInGame = GameObject.FindGameObjectsWithTag("Player"); + for (int i = 0; i < tanksInGame.Length; i++) + if (team1 == tanksInGame[i].GetComponent().team1) + if (tanksInGame[i].GetComponent().wins > currentWin) + currentWin = tanksInGame[i].GetComponent().wins; + return currentWin; + } + // This is used to check if there is one or fewer tanks remaining and thus the round should end private bool OneTankLeft() { - // Skip all rounds logic - -/* // Start the count of tanks left at zero. + // Start the count of tanks left at zero. int numTanksLeft = 0; // Go through all the tanks... @@ -219,9 +350,7 @@ private bool OneTankLeft() } // If there are one or fewer tanks remaining return true, otherwise return false. - return numTanksLeft <= 1; */ - - return false; + return numTanksLeft <= 1; } @@ -245,19 +374,12 @@ private TankManager GetRoundWinner() // This function is to find out if there is a winner of the game - private TankManager GetGameWinner() + private TankManager GetGameWinner(TankManager roundWinner) { - // Go through all the tanks... - for (int i = 0; i < m_Tanks.Length; i++) - { - // ... and if one of them has enough rounds to win the game, return it - if (m_Tanks[i].m_Wins == m_NumRoundsToWin) - { - return m_Tanks[i]; - } + if (roundWinner.m_Movement.wins >= m_NumRoundsToWin) { + return roundWinner; } - // If no tanks have enough rounds to win, return null return null; } @@ -270,7 +392,17 @@ private string EndMessage() // If there is a winner then change the message to reflect that if (m_RoundWinner != null) - message = m_RoundWinner.m_ColoredPlayerText + " WINS THE ROUND!"; + { + if(m_RoundWinner.m_playerName == "") + { + message = "NPC WINS THE ROUND!"; + } + else + { + message = GetPlayerColorText(m_RoundWinner) + " WINS THE ROUND!"; + } + } + // Add some line breaks after the initial message message += "\n\n\n\n"; @@ -278,16 +410,88 @@ private string EndMessage() // Go through all the tanks and add each of their scores to the message for (int i = 0; i < m_Tanks.Length; i++) { - message += m_Tanks[i].m_ColoredPlayerText + ": " + m_Tanks[i].m_Wins + " WINS\n"; + if(m_Tanks[i].m_playerName == "") + { + message += "NPC "+ i + ": " + m_Tanks[i].m_Wins + " WINS\n"; + } + else + { + message += GetPlayerColorText(m_Tanks[i]) + ": " + m_Tanks[i].m_Wins + " WINS\n"; + } } // If there is a game winner, change the entire message to reflect that if (m_GameWinner != null) - message = m_GameWinner.m_ColoredPlayerText + " WINS THE GAME!"; + { + if(m_GameWinner.m_playerName == "") + { + message = "NPC WINS THE GAME!"; + } + else + { + message = GetPlayerColorText(m_GameWinner) + " WINS THE GAME!"; + } + } + + return message; + } + + private string EndMessageTeams() { + // By default when a round ends there are no winners so the default end message is a draw + string message = "DRAW!"; + + // If there is a winner then change the message to reflect that + if (m_RoundWinner != null) { + message = GetPlayerColorText(m_RoundWinner) + " WINS THE ROUND!"; + } + + // Add some line breaks after the initial message + message += "\n\n\n\n"; + + + for (int i = 0; i < m_Tanks.Length; i++) { + if (!m_Tanks[i].m_Instance.CompareTag("Enemy") && m_Tanks[i].m_Instance.GetComponent().team1) { + message += GetPlayerColorText(m_Tanks[i]) + ": " + GetTeamHighestWin(0, true) + " WINS\n"; + break; + } + } + + for (int i = 0; i < m_Tanks.Length; i++) { + if (!m_Tanks[i].m_Instance.CompareTag("Enemy") && !m_Tanks[i].m_Instance.GetComponent().team1) { + message += GetPlayerColorText(m_Tanks[i]) + ": " + GetTeamHighestWin(0, false) + " WINS\n"; + break; + } + } + + for (int i = 0; i < m_Tanks.Length; i++) { + if (m_Tanks[i].m_Instance.GetComponent() == null) { + message += "NPC " + i + ": " + m_Tanks[i].m_Wins + " WINS\n"; + } + } + + // If there is a game winner, change the entire message to reflect that + if (m_GameWinner != null) { + if (m_GameWinner.m_Instance.CompareTag("Enemy")) { + message = "NPC WINS THE GAME!"; + } else { + message = GetPlayerColorText(m_GameWinner) + " WINS THE GAME!"; + } + } return message; } + string GetPlayerColorText(TankManager player) { + string coloredPlayerText = "().myColor) + ">"; + if (playNetworking.activeTeams) + coloredPlayerText += "TEAM " + (player.m_Instance.GetComponent().team1 ? "1" : "2"); + else + coloredPlayerText += player.m_Movement.playerName; + coloredPlayerText += " "; + + return coloredPlayerText; + } + // This function is used to turn all the tanks back on and reset their positions and properties private void ResetAllTanks() @@ -295,6 +499,7 @@ private void ResetAllTanks() for (int i = 0; i < m_Tanks.Length; i++) { m_Tanks[i].Reset(); + m_Tanks[i].m_Instance.GetComponent().CheckTanksDistance(); } } diff --git a/Assets/_Completed-Assets/Scripts/Managers/GameManagerLocal.cs b/Assets/_Completed-Assets/Scripts/Managers/GameManagerLocal.cs new file mode 100644 index 0000000..ed1ab11 --- /dev/null +++ b/Assets/_Completed-Assets/Scripts/Managers/GameManagerLocal.cs @@ -0,0 +1,713 @@ +using System.Collections; +using UnityEngine; +using UnityEngine.SceneManagement; +using UnityEngine.UI; +using UnityEngine.InputSystem; +using Cinemachine; +using System.Collections.Generic; + +namespace Complete +{ + public class GameManagerLocal : MonoBehaviour + { + public GameObject mainCamera; + public int m_NumRoundsToWin = 5; // The number of rounds a single player has to win to win the game + public float m_StartDelay = 3f; // The delay between the start of RoundStarting and RoundPlaying phases + public float m_EndDelay = 3f; // The delay between the end of RoundPlaying and RoundEnding phases + public CameraControl m_CameraControl; // Reference to the CameraControl script for control during different phases + public Text m_MessageText; // Reference to the overlay Text to display winning text, etc. + public GameObject m_TankPrefab; // Reference to the prefab the players will control + public TankManager[] m_Tanks; // A collection of managers for enabling and disabling different aspects of the tanks + public InputActionAsset[] m_InputTanks; // Array to put the inputs to every tank + public Text m_NumPlayersTxt; // Menu Text number of tanks + public GameObject m_PanelNumPlayersUI; // Set active and false menu numbre of tanks + public CinemachineVirtualCamera[] m_PlayersFollowCams; + public GameObject[] m_PlayersCams; + public GameObject[] m_PanelsEnterPlayers; + public GameObject Player3; + public GameObject Player4; + + private LocalTeamsManager localTeamsManager; + private int m_RoundNumber; // Which round the game is currently on + private WaitForSeconds m_StartWait; // Used to have a delay whilst the round starts + private WaitForSeconds m_EndWait; // Used to have a delay whilst the round or game ends + private TankManager m_RoundWinner; // Reference to the winner of the current round. Used to make an announcement of who won + private TankManager m_GameWinner; // Reference to the winner of the game. Used to make an announcement of who won + private int m_NumPlayers = 2; // Default number of tanks + private TankManager[] m_TanksStore; + List m_deadTanks = new List(); + + private bool gameRunning = false; + + + private void Start() + { + m_PanelNumPlayersUI.SetActive(true); + m_MessageText.gameObject.SetActive(false); + m_NumPlayersTxt.text = m_NumPlayers.ToString(); + m_TanksStore = m_Tanks; + localTeamsManager = FindObjectOfType().GetComponent(); + } + + private void StartGame() + { + gameRunning = true; + m_MessageText.gameObject.SetActive(true); + + // Create the delays so they only have to be made once + m_StartWait = new WaitForSeconds(m_StartDelay); + m_EndWait = new WaitForSeconds(m_EndDelay); + + SpawnAllTanks(); + + SetCamerasLayout(); + SetCameraTargets(); + + // Once the tanks have been created and the camera is using them as targets, start the game + if (!localTeamsManager.activeTeams || !OneTeamLeft()) + StartCoroutine(GameLoop()); + } + + + private void SpawnAllTanks() + { + Camera mainCam = mainCamera.GetComponent(); + + // For all the tanks... + for (int i = 0; i < m_Tanks.Length; i++) + { + // ... create them, set their player number and references needed for control + if (m_Tanks[i] != null) + { + m_Tanks[i].m_Instance = Instantiate(m_TankPrefab, m_Tanks[i].m_SpawnPoint.position, m_Tanks[i].m_SpawnPoint.rotation); + m_Tanks[i].m_PlayerNumber = i + 1; + m_Tanks[i].m_Instance.GetComponent().actions = m_InputTanks[i]; + m_Tanks[i].Setup(); + + TankHealthLocal tankHealth = m_Tanks[i].m_Instance.GetComponent(); + tankHealth.isTeamGame = m_Tanks[i].isTeamGame; + tankHealth.team1 = m_Tanks[i].team1; + + m_PlayersFollowCams[i].gameObject.SetActive(true); + m_PlayersFollowCams[i].Follow = m_Tanks[i].m_Instance.transform; + m_PlayersFollowCams[i].LookAt = m_Tanks[i].m_Instance.transform; + + //AddCamera(i, mainCam); + } + } + + foreach (var tank in m_Tanks) + { + tank.m_Instance.GetComponent().CheckTanksDistance(); + } + + mainCam.gameObject.SetActive (false); + } + + private void AddCamera (int i, Camera mainCam) + { + GameObject childCam = new GameObject ("Camera" + (i + 1)); + Camera newCam = childCam.AddComponent(); + newCam.CopyFrom (mainCam); + + childCam.transform.parent = m_Tanks[i].m_Instance.transform; + + if (i == 0) + { + newCam.rect = new Rect (0.0f, 0.5f, 0.89f, 0.5f); + } + else + { + newCam.rect = new Rect (0.11f, 0.0f, 0.89f, 0.5f); + } + } + + private void SetCamerasLayout() + { + if (m_NumPlayers == 1) + { + m_PlayersCams[0].gameObject.SetActive(true); + m_PlayersCams[0].GetComponent().rect = new Rect(0, 0, 1, 1); + m_PlayersCams[1].gameObject.SetActive(false); + m_PlayersCams[2].gameObject.SetActive(false); + m_PlayersCams[3].gameObject.SetActive(false); + m_PlayersCams[4].gameObject.SetActive(false); + + m_PanelsEnterPlayers[0].SetActive(false); + m_PanelsEnterPlayers[1].SetActive(true); + m_PanelsEnterPlayers[2].SetActive(true); + m_PanelsEnterPlayers[3].SetActive(true); + } + else if (m_NumPlayers == 2) + { + m_PlayersCams[0].gameObject.SetActive(true); + m_PlayersCams[0].GetComponent().rect = new Rect(0, 0.5f, 1, 1); + m_PlayersCams[1].gameObject.SetActive(true); + m_PlayersCams[1].GetComponent().rect = new Rect(0, -0.5f, 1, 1); + m_PlayersCams[2].gameObject.SetActive(false); + m_PlayersCams[3].gameObject.SetActive(false); + m_PlayersCams[4].gameObject.SetActive(false); + + m_PanelsEnterPlayers[0].SetActive(false); + m_PanelsEnterPlayers[1].SetActive(false); + m_PanelsEnterPlayers[2].SetActive(true); + m_PanelsEnterPlayers[3].SetActive(true); + } + else if(m_NumPlayers == 3) + { + if (m_Tanks[2].m_PlayerNumber == 3) + { + m_PlayersCams[0].gameObject.SetActive(true); + m_PlayersCams[0].GetComponent().rect = new Rect(0, 0.5f, 0.5f, 1); + m_PlayersCams[1].gameObject.SetActive(true); + m_PlayersCams[1].GetComponent().rect = new Rect(0.5f, 0.5f, 0.5f, 1); + m_PlayersCams[2].gameObject.SetActive(true); + m_PlayersCams[2].GetComponent().rect = new Rect(0, 0, 0.5f, 0.5f); + m_PlayersCams[4].gameObject.SetActive(true); + m_PlayersCams[4].GetComponent().rect = new Rect(0.5f, 0, 0.5f, 0.5f); + m_PlayersCams[3].gameObject.SetActive(false); + + m_PanelsEnterPlayers[0].SetActive(false); + m_PanelsEnterPlayers[1].SetActive(false); + m_PanelsEnterPlayers[2].SetActive(false); + m_PanelsEnterPlayers[3].SetActive(true); + } + else + { + m_PlayersCams[0].gameObject.SetActive(true); + m_PlayersCams[0].GetComponent().rect = new Rect(0, 0.5f, 0.5f, 1); + m_PlayersCams[1].gameObject.SetActive(true); + m_PlayersCams[1].GetComponent().rect = new Rect(0.5f, 0.5f, 0.5f, 1); + m_PlayersCams[2].gameObject.SetActive(true); + m_PlayersCams[2].GetComponent().rect = new Rect(0, 0, 0.5f, 0.5f); + m_PlayersCams[3].gameObject.SetActive(true); + m_PlayersCams[3].GetComponent().rect = new Rect(0.5f, 0, 0.5f, 0.5f); + m_PlayersCams[4].gameObject.SetActive(false); + + m_PanelsEnterPlayers[0].SetActive(false); + m_PanelsEnterPlayers[1].SetActive(false); + m_PanelsEnterPlayers[2].SetActive(true); + m_PanelsEnterPlayers[3].SetActive(false); + } + + } + else if (m_NumPlayers == 4) + { + m_PlayersCams[0].gameObject.SetActive(true); + m_PlayersCams[0].GetComponent().rect = new Rect(0, 0.5f, 0.5f, 1); + m_PlayersCams[1].gameObject.SetActive(true); + m_PlayersCams[1].GetComponent().rect = new Rect(0.5f, 0.5f, 0.5f, 1); + m_PlayersCams[2].gameObject.SetActive(true); + m_PlayersCams[2].GetComponent().rect = new Rect(0, 0, 0.5f, 0.5f); + m_PlayersCams[3].gameObject.SetActive(true); + m_PlayersCams[3].GetComponent().rect = new Rect(0.5f, 0, 0.5f, 0.5f); + m_PlayersCams[4].gameObject.SetActive(false); + + m_PanelsEnterPlayers[0].SetActive(false); + m_PanelsEnterPlayers[1].SetActive(false); + m_PanelsEnterPlayers[2].SetActive(false); + m_PanelsEnterPlayers[3].SetActive(false); + } + } + + public void P1EnterPlayer(InputAction.CallbackContext context) + { + //This tank will always be created + Debug.Log("Tank 1 already created"); + } + + public void P2EnterPlayer(InputAction.CallbackContext context) + { + //This tank will always be created + Debug.Log("Tank 2 already created"); + } + + public void P3EnterPlayer(InputAction.CallbackContext context) + { + if (gameRunning) { + var val = context.ReadValue(); + if (val == 1) { + try { + //Check if the tank already exists + var num = m_Tanks[2].m_PlayerNumber; + + if (num != 3) + AddPlayer(3); + + } catch { + //If the tank do not exist, create it. + if (m_TanksStore[2] != null) + AddPlayer(3); + } + } + } + } + + + + public void P4EnterPlayer(InputAction.CallbackContext context) + { + if (gameRunning) { + var val = context.ReadValue(); + if (val == 1) { + try { + //Check if the tank already exists + var num = m_Tanks[2].m_PlayerNumber; + + if (m_NumPlayers == 3) + AddPlayer(4); + } catch { + AddPlayer(3); + } + } + } + } + + private void AddPlayer(int player) { + bool oneTeamLeft = OneTeamLeft(); + + CheckPlayerTeam(player-1); + + int wins = 0; + if (localTeamsManager.activeTeams) { + for(int i = 0; i ().actions = m_InputTanks[player - 1]; + m_TanksStore[player - 1].Setup(); + + TankHealthLocal tankHealth = m_Tanks[player - 1].m_Instance.GetComponent(); + tankHealth.isTeamGame = m_Tanks[player - 1].isTeamGame; + tankHealth.team1 = m_Tanks[player - 1].team1; + + m_PlayersFollowCams[player - 1].gameObject.SetActive(true); + m_PlayersFollowCams[player - 1].Follow = m_TanksStore[player - 1].m_Instance.transform; + m_PlayersFollowCams[player - 1].LookAt = m_TanksStore[player - 1].m_Instance.transform; + + if (localTeamsManager.activeTeams) { + m_Tanks[player - 1].m_Wins = wins; + } + + SetCamerasLayout(); + + if (localTeamsManager.activeTeams && player == 3 && oneTeamLeft) + StartCoroutine(GameLoop()); + } + + private void CheckPlayerTeam(int pos) { + if (localTeamsManager.activeTeams) { + bool team1 = localTeamsManager.playerTeams[pos]; + int sameTeam = 0; + for (int i = 0; i < pos; i++) + if (m_Tanks[i].team1 == team1) + sameTeam++; + if (sameTeam > 1) + localTeamsManager.playerTeams[pos] = !localTeamsManager.playerTeams[pos]; + } + } + + private void SetCameraTargets() + { + // Create a collection of transforms the same size as the number of tanks + Transform[] targets = new Transform[m_Tanks.Length]; + + // For each of these transforms... + for (int i = 0; i < targets.Length; i++) + { + // ... set it to the appropriate tank transform + if(m_Tanks[i] != null) targets[i] = m_Tanks[i].m_Instance.transform; + } + + // These are the targets the camera should follow + m_CameraControl.m_Targets = targets; + } + + + // This is called from start and will run each phase of the game one after another + private IEnumerator GameLoop() + { + // Start off by running the 'RoundStarting' coroutine but don't return until it's finished + yield return StartCoroutine (RoundStarting()); + + // Once the 'RoundStarting' coroutine is finished, run the 'RoundPlaying' coroutine but don't return until it's finished + yield return StartCoroutine (RoundPlaying()); + + // Once execution has returned here, run the 'RoundEnding' coroutine, again don't return until it's finished + yield return StartCoroutine (RoundEnding()); + + // This code is not run until 'RoundEnding' has finished. At which point, check if a game winner has been found + if (m_GameWinner != null) + { + // If there is a game winner, restart the level + RestartGame(); + } + else + { + // If there isn't a winner yet, restart this coroutine so the loop continues + // Note that this coroutine doesn't yield. This means that the current version of the GameLoop will end + StartCoroutine (GameLoop()); + } + } + + private void RestartGame() { + m_PanelNumPlayersUI.SetActive(true); + m_MessageText.gameObject.SetActive(false); + + m_RoundNumber = 0; + mainCamera.SetActive(true); + m_CameraControl.m_Targets = new Transform[0]; + for (int i = 0; i < m_Tanks.Length; i++) { + m_PlayersFollowCams[i].gameObject.SetActive(false); + m_PlayersCams[i].gameObject.SetActive(false); + m_Tanks[i].m_Wins = 0; + if (m_Tanks[i].m_Instance.activeSelf) + Destroy(m_Tanks[i].m_Instance); + } + m_PanelsEnterPlayers[2].gameObject.SetActive(false); + m_PanelsEnterPlayers[3].gameObject.SetActive(false); + + UpdateMenuUI(); + } + + private void UpdateMenuUI() { + m_NumPlayersTxt.text = m_NumPlayers.ToString(); + if (m_NumPlayers > 2) + Player3.SetActive(true); + if (m_NumPlayers > 3) + Player4.SetActive(true); + localTeamsManager.UpdateTeamUIPositions(); + } + + + private IEnumerator RoundStarting() + { + // As soon as the round starts reset the tanks and make sure they can't move + ResetAllTanks(); + DisableTankControl(); + + // Snap the camera's zoom and position to something appropriate for the reset tanks + m_CameraControl.SetStartPositionAndSize(); + + // Increment the round number and display text showing the players what round it is + m_RoundNumber++; + m_MessageText.text = "ROUND " + m_RoundNumber; + + // Wait for the specified length of time until yielding control back to the game loop + yield return m_StartWait; + } + + + private IEnumerator RoundPlaying() + { + // As soon as the round begins playing let the players control the tanks + EnableTankControl(); + + // Clear the text from the screen + m_MessageText.text = string.Empty; + + // While there is not one tank left... + while ((!localTeamsManager.activeTeams && !OneTankLeft()) || (localTeamsManager.activeTeams && !OneTeamLeft())) + { + // ... return on the next frame + yield return null; + } + } + + + private IEnumerator RoundEnding() + { + // Stop tanks from moving + DisableTankControl(); + + // Clear the winner from the previous round + m_RoundWinner = null; + + // See if there is a winner now the round is over + m_RoundWinner = GetRoundWinner(); + + // If there is a winner, increment their score + if (m_RoundWinner != null) { + m_RoundWinner.m_Wins++; + if(localTeamsManager.activeTeams){ + for (int i = 0; i < m_Tanks.Length; i++) + if (m_Tanks[i].m_PlayerNumber != m_RoundWinner.m_PlayerNumber && m_RoundWinner.team1 == m_Tanks[i].team1) + m_Tanks[i].m_Wins++; + } + } + + // Now the winner's score has been incremented, see if someone has one the game + m_GameWinner = GetGameWinner(); + + // Get a message based on the scores and whether or not there is a game winner and display it + string message = localTeamsManager.activeTeams ? EndMessageTeams() : EndMessage(); + m_MessageText.text = message; + + // Wait for the specified length of time until yielding control back to the game loop + yield return m_EndWait; + } + + + // This is used to check if there is one or fewer tanks remaining and thus the round should end + private bool OneTankLeft() + { + // Start the count of tanks left at zero + int numTanksLeft = 0; + + // Go through all the tanks... + for (int i = 0; i < m_Tanks.Length; i++) + { + // ... and if they are active, increment the counter + if (m_Tanks[i].m_Instance.activeSelf) + numTanksLeft++; + } + + // If there are one or fewer tanks remaining return true, otherwise return false + return numTanksLeft <= 1; + } + + private bool OneTeamLeft() { + // Start the count of tanks left at zero + int team1TanksLeft = 0; + int team2TanksLeft = 0; + + // Go through all the tanks... + for (int i = 0; i < m_Tanks.Length; i++) { + // ... and if they are active, increment the counter + if (m_Tanks[i].m_Instance.activeSelf) { + if (m_Tanks[i].team1) + team1TanksLeft++; + else + team2TanksLeft++; + } + } + + return team1TanksLeft == 0 || team2TanksLeft == 0; + } + + + // This function is to find out if there is a winner of the round + // This function is called with the assumption that 1 or fewer tanks are currently active + private TankManager GetRoundWinner() + { + // Go through all the tanks... + for (int i = 0; i < m_Tanks.Length; i++) + { + // ... and if one of them is active, it is the winner so return it + if (m_Tanks[i].m_Instance.activeSelf) + { + return m_Tanks[i]; + } + } + + // If none of the tanks are active it is a draw so return null + return null; + } + + + // This function is to find out if there is a winner of the game + private TankManager GetGameWinner() + { + // Go through all the tanks... + for (int i = 0; i < m_Tanks.Length; i++) + { + // ... and if one of them has enough rounds to win the game, return it + if (m_Tanks[i].m_Wins >= m_NumRoundsToWin) + { + return m_Tanks[i]; + } + } + + // If no tanks have enough rounds to win, return null + return null; + } + + + // Returns a string message to display at the end of each round. + private string EndMessage() + { + // By default when a round ends there are no winners so the default end message is a draw + string message = "DRAW!"; + + // If there is a winner then change the message to reflect that + if (m_RoundWinner != null) + { + message = m_RoundWinner.m_ColoredPlayerText + " WINS THE ROUND!"; + } + + // Add some line breaks after the initial message + message += "\n\n\n\n"; + + // Go through all the tanks and add each of their scores to the message + for (int i = 0; i < m_Tanks.Length; i++) + { + message += m_Tanks[i].m_ColoredPlayerText + ": " + m_Tanks[i].m_Wins + " WINS\n"; + } + + // If there is a game winner, change the entire message to reflect that + if (m_GameWinner != null) + { + message = m_GameWinner.m_ColoredPlayerText + " WINS THE GAME!"; + } + + return message; + } + + private string EndMessageTeams() { + // By default when a round ends there are no winners so the default end message is a draw + string message = "DRAW!"; + + // If there is a winner then change the message to reflect that + if (m_RoundWinner != null) { + message = m_RoundWinner.m_ColoredPlayerText + " WINS THE ROUND!"; + } + + // Add some line breaks after the initial message + message += "\n\n\n\n"; + + // Go through all the tanks and add each of their scores to the message + + for (int i = 0; i < m_Tanks.Length; i++) { + if (m_Tanks[i].team1) { + message += m_Tanks[i].m_ColoredPlayerText + ": " + m_Tanks[i].m_Wins + " WINS\n"; + break; + } + } + + for (int i = 0; i < m_Tanks.Length; i++) { + if (!m_Tanks[i].team1) { + message += m_Tanks[i].m_ColoredPlayerText + ": " + m_Tanks[i].m_Wins + " WINS\n"; + break; + } + } + + // If there is a game winner, change the entire message to reflect that + if (m_GameWinner != null) { + message = m_GameWinner.m_ColoredPlayerText + " WINS THE GAME!"; + } + + return message; + } + + + // This function is used to turn all the tanks back on and reset their positions and properties + private void ResetAllTanks() + { + for (int i = 0; i < m_Tanks.Length; i++) + { + m_PlayersFollowCams[i].Follow = m_Tanks[i].m_Instance.transform; + m_PlayersFollowCams[i].LookAt = m_Tanks[i].m_Instance.transform; + m_Tanks[i].Reset(); + } + } + + + private void EnableTankControl() + { + for (int i = 0; i < m_Tanks.Length; i++) + { + m_Tanks[i].EnableControl(); + } + } + + + private void DisableTankControl() + { + for (int i = 0; i < m_Tanks.Length; i++) + { + m_Tanks[i].DisableControl(); + } + } + + public void SubsNumPlayers() + { + if (m_NumPlayers > 2) + { + m_NumPlayers--; + m_NumPlayersTxt.text = m_NumPlayers.ToString(); + Player3.SetActive(m_NumPlayers > 2); + Player4.SetActive(m_NumPlayers > 3); + } + } + + public void PlusNumPlayers() + { + if (m_NumPlayers < 4) + { + m_NumPlayers++; + m_NumPlayersTxt.text = m_NumPlayers.ToString(); + Player3.SetActive(m_NumPlayers > 2); + Player4.SetActive(m_NumPlayers > 3); + } + } + + private void SetActiveTanks() + { + TankManager[] newTanks = new TankManager[m_NumPlayers]; + for (int i = 0; i < m_TanksStore.Length; i++) + { + Color colorTeam1 = Color.red; + Color colorTeam2 = Color.blue; + + if (i < m_NumPlayers) + { + newTanks[i] = m_TanksStore[i]; + newTanks[i].isTeamGame= localTeamsManager.activeTeams; + newTanks[i].team1 = localTeamsManager.playerTeams[i]; + + if (newTanks[i].isTeamGame) + newTanks[i].m_PlayerColor = newTanks[i].team1 ? colorTeam1 : colorTeam2; + } + } + m_Tanks = newTanks; + } + + private void SetActiveTanksWith3() + { + TankManager[] newTanks = new TankManager[3]; + newTanks[0] = m_TanksStore[0]; + newTanks[1] = m_TanksStore[1]; + newTanks[2] = m_TanksStore[3]; + m_Tanks = newTanks; + } + + public void PlayGameBtn() + { + m_PanelNumPlayersUI.SetActive(false); + + SetActiveTanks(); + StartGame(); + } + + public void BackBtn() { + SceneManager.LoadScene(0); + } + + public void ChangeDeadCamera(int deadPlayerNum) + { + m_deadTanks.Add(deadPlayerNum); + foreach (TankManager tank in m_Tanks) + { + if (m_deadTanks.Count+1 < m_NumPlayers && !m_deadTanks.Contains(tank.m_PlayerNumber)) + { + m_PlayersFollowCams[deadPlayerNum - 1].Follow = m_Tanks[tank.m_PlayerNumber-1].m_Instance.transform; + m_PlayersFollowCams[deadPlayerNum - 1].LookAt = m_Tanks[tank.m_PlayerNumber-1].m_Instance.transform; + foreach (int dead in m_deadTanks) + { + m_PlayersFollowCams[dead - 1].Follow = m_Tanks[tank.m_PlayerNumber - 1].m_Instance.transform; + m_PlayersFollowCams[dead - 1].LookAt = m_Tanks[tank.m_PlayerNumber - 1].m_Instance.transform; + } + return; + } + } + + } + } +} \ No newline at end of file diff --git a/Assets/_Completed-Assets/Scripts/Managers/GameManagerLocal.cs.meta b/Assets/_Completed-Assets/Scripts/Managers/GameManagerLocal.cs.meta new file mode 100644 index 0000000..da79ecf --- /dev/null +++ b/Assets/_Completed-Assets/Scripts/Managers/GameManagerLocal.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 6ba54b5f5ebd61249ac91f1da565f4dc +timeCreated: 1441706275 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Completed-Assets/Scripts/Managers/LocalTeamsManager.cs b/Assets/_Completed-Assets/Scripts/Managers/LocalTeamsManager.cs new file mode 100644 index 0000000..59cc807 --- /dev/null +++ b/Assets/_Completed-Assets/Scripts/Managers/LocalTeamsManager.cs @@ -0,0 +1,54 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class LocalTeamsManager : MonoBehaviour +{ + public GameObject[] TextTeam1; + public GameObject[] TextTeam2; + + [HideInInspector] + public bool activeTeams = false; + + public bool[] playerTeams= new bool[4] {true, false, true, false}; + + public void ActiveTeams(bool activeTeams) + { + this.activeTeams = activeTeams; + } + + public void ChangeTeam(int player) + { + int countTrue = 0; + int countFalse = 0; + + for (int i = 0; i < playerTeams.Length; i++) + { + if(playerTeams[i] == true) + { + countTrue++; + } + + if (playerTeams[i] == false) + { + countFalse++; + } + } + + bool newTeam = !playerTeams[player - 1]; + + if ((newTeam && countTrue < 3) || (!newTeam && countFalse < 3)) + { + playerTeams[player - 1] = !playerTeams[player - 1]; + TextTeam1[player - 1].SetActive(playerTeams[player - 1]); + TextTeam2[player - 1].SetActive(!playerTeams[player - 1]); + } + } + + public void UpdateTeamUIPositions() { + for(int i = 0; i< playerTeams.Length; i++) { + TextTeam1[i].SetActive(playerTeams[i]); + TextTeam2[i].SetActive(!playerTeams[i]); + } + } +} diff --git a/Assets/_Completed-Assets/Scripts/Managers/LocalTeamsManager.cs.meta b/Assets/_Completed-Assets/Scripts/Managers/LocalTeamsManager.cs.meta new file mode 100644 index 0000000..36fcd51 --- /dev/null +++ b/Assets/_Completed-Assets/Scripts/Managers/LocalTeamsManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: bf7fb067a38e8124ea855338c896143d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Completed-Assets/Scripts/Managers/MyNetworkManager.cs b/Assets/_Completed-Assets/Scripts/Managers/MyNetworkManager.cs new file mode 100644 index 0000000..0eb773a --- /dev/null +++ b/Assets/_Completed-Assets/Scripts/Managers/MyNetworkManager.cs @@ -0,0 +1,23 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using Mirror; +using Steamworks; + +namespace Complete +{ + public class MyNetworkManager : NetworkManager + { + public override void OnServerAddPlayer(NetworkConnection conn) + { + base.OnServerAddPlayer(conn); + CSteamID steamId = SteamMatchmaking.GetLobbyMemberByIndex( + SteamLobby.LobbyID, + numPlayers - 1); + + var playerInfoDisplay = conn.identity.GetComponent(); + + playerInfoDisplay.SetSteamId(steamId.m_SteamID); + } + } +} diff --git a/Assets/_Completed-Assets/Scripts/MyNetworkManager.cs.meta b/Assets/_Completed-Assets/Scripts/Managers/MyNetworkManager.cs.meta similarity index 100% rename from Assets/_Completed-Assets/Scripts/MyNetworkManager.cs.meta rename to Assets/_Completed-Assets/Scripts/Managers/MyNetworkManager.cs.meta diff --git a/Assets/_Completed-Assets/Scripts/Managers/TankManager.cs b/Assets/_Completed-Assets/Scripts/Managers/TankManager.cs index 080e7f0..beb4d71 100644 --- a/Assets/_Completed-Assets/Scripts/Managers/TankManager.cs +++ b/Assets/_Completed-Assets/Scripts/Managers/TankManager.cs @@ -1,5 +1,6 @@ using System; using UnityEngine; +using Random = UnityEngine.Random; namespace Complete { @@ -11,50 +12,94 @@ public class TankManager // and whether or not players have control of their tank in the // different phases of the game + public string m_playerName; public Color m_PlayerColor; // This is the color this tank will be tinted public Transform m_SpawnPoint; // The position and direction the tank will have when it spawns - [HideInInspector] public int m_PlayerNumber; // This specifies which player this the manager for + public int m_PlayerNumber; // This specifies which player this the manager for [HideInInspector] public string m_ColoredPlayerText; // A string that represents the player with their number colored to match their tank - [HideInInspector] public GameObject m_Instance; // A reference to the instance of the tank when it is created - [HideInInspector] public int m_Wins; // The number of wins this player has so far - - private TankMovement m_Movement; // Reference to tank's movement script, used to disable and enable control + + public GameObject m_Instance; // A reference to the instance of the tank when it is created + public int m_Wins; // The number of wins this player has so far + public bool isTeamGame; + public bool team1; + + public TankMovement m_Movement; // Reference to tank's movement script, used to disable and enable control private TankShooting m_Shooting; // Reference to tank's shooting script, used to disable and enable control + private TankMovementLocal m_MovementLocal; // Reference to tank's movement script, used to disable and enable control + private TankShootingLocal m_ShootingLocal; // Reference to tank's shooting script, used to disable and enable control private GameObject m_CanvasGameObject; // Used to disable the world space UI during the Starting and Ending phases of each round public void Setup () { - // Get references to the components - m_Movement = m_Instance.GetComponent (); - m_Shooting = m_Instance.GetComponent (); - m_CanvasGameObject = m_Instance.GetComponentInChildren ().gameObject; + try + { + // Get references to the components + m_Movement = m_Instance.GetComponent(); + m_Shooting = m_Instance.GetComponent(); + m_CanvasGameObject = m_Instance.GetComponentInChildren().gameObject; + + // Set the player numbers to be consistent across the scripts + m_Movement.m_PlayerNumber = m_PlayerNumber; + m_Shooting.m_PlayerNumber = m_PlayerNumber; + } + catch (Exception) + { + // Get references to the components + m_MovementLocal = m_Instance.GetComponent(); + m_ShootingLocal = m_Instance.GetComponent(); + m_CanvasGameObject = m_Instance.GetComponentInChildren().gameObject; + + // Set the player numbers to be consistent across the scripts + m_MovementLocal.m_PlayerNumber = m_PlayerNumber; + m_ShootingLocal.m_PlayerNumber = m_PlayerNumber; + } - // Set the player numbers to be consistent across the scripts - m_Movement.m_PlayerNumber = m_PlayerNumber; - m_Shooting.m_PlayerNumber = m_PlayerNumber; + InfoPlayer infoPlayer = m_Instance.GetComponent(); - // Create a string using the correct color that says 'PLAYER 1' etc based on the tank's color and the player's number - m_ColoredPlayerText = "PLAYER " + m_PlayerNumber + ""; + if (infoPlayer) + { + m_PlayerColor = infoPlayer.team1 ? infoPlayer.colorTeam1 : infoPlayer.colorTeam2; + } + + m_ColoredPlayerText = ""; + if (isTeamGame) + m_ColoredPlayerText += "TEAM " + (team1 ? "1" : "2"); + else + m_ColoredPlayerText += "PLAYER " + m_PlayerNumber; + m_ColoredPlayerText += " "; + + if(m_Movement) + { + m_playerName = m_Movement.playerName; + } // Get all of the renderers of the tank - //MeshRenderer[] renderers = m_Instance.GetComponentsInChildren (); + MeshRenderer[] renderers = m_Instance.GetComponentsInChildren (); // Go through all the renderers... - /*for (int i = 0; i < renderers.Length; i++) + for (int i = 0; i < renderers.Length; i++) { // ... set their material color to the color specific to this tank renderers[i].material.color = m_PlayerColor; - }*/ + } } // Used during the phases of the game where the player shouldn't be able to control their tank public void DisableControl () { - m_Movement.enabled = false; - m_Shooting.enabled = false; + try + { + m_Movement.enabled = false; + m_Shooting.enabled = false; + } + catch (Exception) + { + m_MovementLocal.enabled = false; + m_ShootingLocal.enabled = false; + } m_CanvasGameObject.SetActive (false); } @@ -63,9 +108,16 @@ public void DisableControl () // Used during the phases of the game where the player should be able to control their tank public void EnableControl () { - m_Movement.enabled = true; - m_Shooting.enabled = true; - + try + { + m_Movement.enabled = true; + m_Shooting.enabled = true; + } + catch (Exception) + { + m_MovementLocal.enabled = true; + m_ShootingLocal.enabled = true; + } m_CanvasGameObject.SetActive (true); } @@ -73,11 +125,40 @@ public void EnableControl () // Used at the start of each round to put the tank into it's default state public void Reset () { - m_Instance.transform.position = m_SpawnPoint.position; - m_Instance.transform.rotation = m_SpawnPoint.rotation; - m_Instance.SetActive (false); + + //m_Instance.transform.position = m_SpawnPoint.position; + //m_Instance.transform.rotation = m_SpawnPoint.rotation; + + Respawn(); + + //m_Instance.SetActive (false); m_Instance.SetActive (true); + try + { + m_Instance.GetComponent().ResetHealth(); + } + catch (Exception) + { + m_Instance.GetComponent().ResetHealth(); + } + } + + public void Respawn() + { + float randomX = Random.Range(-40, 40); + float randomZ = Random.Range(-40, 40); + + m_Instance.transform.position = new Vector3(randomX, 0, randomZ); + + RaycastHit hit; + if (Physics.Raycast(new Ray(m_Instance.transform.position, Vector3.down), out hit, 100f)) + m_Instance.transform.position = hit.point + new Vector3(0, 1, 0); + if(hit.collider != null) + { + if (hit.collider.CompareTag("Building")) + Respawn(); + } } } } \ No newline at end of file diff --git a/Assets/_Completed-Assets/Scripts/MyNetworkManager.cs b/Assets/_Completed-Assets/Scripts/MyNetworkManager.cs deleted file mode 100644 index b46a39a..0000000 --- a/Assets/_Completed-Assets/Scripts/MyNetworkManager.cs +++ /dev/null @@ -1,19 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using Mirror; -using Steamworks; - -public class MyNetworkManager : NetworkManager -{ - public override void OnServerAddPlayer(NetworkConnection conn) { - base.OnServerAddPlayer(conn); - CSteamID steamId = SteamMatchmaking.GetLobbyMemberByIndex( - SteamLobby.LobbyID, - numPlayers - 1); - - var playerInfoDisplay = conn.identity.GetComponent(); - - playerInfoDisplay.SetSteamId(steamId.m_SteamID); - } -} diff --git a/Assets/_Completed-Assets/Scripts/NPC_AI_Script.cs b/Assets/_Completed-Assets/Scripts/NPC_AI_Script.cs index 99123e1..31ff669 100644 --- a/Assets/_Completed-Assets/Scripts/NPC_AI_Script.cs +++ b/Assets/_Completed-Assets/Scripts/NPC_AI_Script.cs @@ -13,6 +13,7 @@ public class NPC_AI_Script : NetworkBehaviour public float m_ShootingDistance; public float m_TerrainXDistance; public float m_TerrainZDistance; + public bool gameStarted; private NavMeshAgent m_navAgent; private TankShooting m_tankShootingScript; @@ -35,9 +36,11 @@ void Start() void Update() { - SetPlayerObjective(); + if(gameStarted) + SetPlayerObjective(); } + private void SetPlayerObjective() { var maxDist = Mathf.Infinity; diff --git a/Assets/_Completed-Assets/Scripts/NumberPlayers.cs b/Assets/_Completed-Assets/Scripts/NumberPlayers.cs new file mode 100644 index 0000000..8013d8b --- /dev/null +++ b/Assets/_Completed-Assets/Scripts/NumberPlayers.cs @@ -0,0 +1,122 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using Mirror; +using UnityEngine.UI; +using TMPro; + +namespace Complete { + public class NumberPlayers : NetworkBehaviour { + + [SyncVar] + public int currentNumberPlayers; + + private GameManager gameManager; + + + public GameObject teamCanvas; + [SerializeField] + private GameObject teamItemPrefab; + [SerializeField] + public Transform team1Panel, team2Panel; + [SerializeField] + private Button teamBtn; + + int team1Count = 0; + int team2Count = 0; + + private void Start() { + gameManager = FindObjectOfType().GetComponent(); + //if (isLocalPlayer) + teamCanvas.SetActive(true); + teamBtn.onClick.AddListener(ChangeTeam); + team1Panel = GameObject.Find("Team1").transform; + team2Panel = GameObject.Find("Team2").transform; + } + + public void UiSetup() + { + UpdateTeamCount(); + int count = 0; + foreach (var tank in gameManager.m_Tanks) + { + InfoPlayer player = tank.m_Instance.GetComponent(); + if (player != null) + { + if (player.myTeamItem == null) + { + player.numberPlayers = this; + //if (player.LocalPlayer()) + //player.SetTeamBool(team1Count <= team2Count); + Transform parent = team1Panel.parent; + GameObject item = Instantiate(teamItemPrefab, parent); + item.name = tank.m_Movement.playerName; + //tank.m_Movement.enabled = false; + RectTransform rt = item.GetComponent(); + rt.localPosition = new Vector3( + player.team1 ? team1Panel.localPosition.x : team2Panel.localPosition.x, + team1Panel.localPosition.y - (count * rt.sizeDelta.y), + 0.0f); + player.myTeamItem = item; + player.myTeamItem.GetComponentInChildren().text = item.name; + } + count++; + } + } + } + + + + public void ShowUI(bool show) + { + teamCanvas.SetActive(show); + } + + [Command] + public void CmdUIServerSetup() + { + RpcUIClientsSetup(); + } + + [ClientRpc] + public void RpcUIClientsSetup() + { + UiSetup(); + } + + public void ChangeTeam() { + UpdateTeamCount(); + foreach (var item in gameManager.m_Tanks) { + InfoPlayer player = item.m_Instance.GetComponent(); + if (player != null && player.LocalPlayer() && item.m_Instance.activeSelf) { + if (!player.team1 && team1Count < 3) + { + player.CmdSetTeamBool(true); + item.team1 = true; + } + else if (player.team1 && team2Count < 3) + { + player.CmdSetTeamBool(false); + item.team1 = false; + } + + break; + } + } + } + + private void UpdateTeamCount() { + team1Count = 0; + team2Count = 0; + foreach (var item in gameManager.m_Tanks) { + InfoPlayer player = item.m_Instance.GetComponent(); + if (player != null && !player.LocalPlayer()) { + if (player.team1) + team1Count++; + else + team2Count++; + } + } + } + } +} \ No newline at end of file diff --git a/Assets/_Completed-Assets/Scripts/NumberPlayers.cs.meta b/Assets/_Completed-Assets/Scripts/NumberPlayers.cs.meta new file mode 100644 index 0000000..73af54b --- /dev/null +++ b/Assets/_Completed-Assets/Scripts/NumberPlayers.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6f06198c06e4b054d850b7c008ed35ed +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Completed-Assets/Scripts/PlayFab/LeaderBoardListing.cs b/Assets/_Completed-Assets/Scripts/PlayFab/LeaderBoardListing.cs new file mode 100644 index 0000000..83b4299 --- /dev/null +++ b/Assets/_Completed-Assets/Scripts/PlayFab/LeaderBoardListing.cs @@ -0,0 +1,8 @@ +using UnityEngine; +using TMPro; + +public class LeaderBoardListing : MonoBehaviour { + public TMP_Text playerPositionText; + public TMP_Text playerNameText; + public TMP_Text playerScoreText; +} diff --git a/Assets/_Completed-Assets/Scripts/PlayFab/LeaderBoardListing.cs.meta b/Assets/_Completed-Assets/Scripts/PlayFab/LeaderBoardListing.cs.meta new file mode 100644 index 0000000..cc9b7f5 --- /dev/null +++ b/Assets/_Completed-Assets/Scripts/PlayFab/LeaderBoardListing.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0956a74d069fafe4cbce5d441275660f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Completed-Assets/Scripts/PlayFab/LeaderBoardManager.cs b/Assets/_Completed-Assets/Scripts/PlayFab/LeaderBoardManager.cs new file mode 100644 index 0000000..7949e92 --- /dev/null +++ b/Assets/_Completed-Assets/Scripts/PlayFab/LeaderBoardManager.cs @@ -0,0 +1,50 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using PlayFab; +using PlayFab.ClientModels; + +public class LeaderBoardManager : MonoBehaviour { + + public GameObject leaderboardPanel; + public GameObject listingPrefab; + public Transform listingContainer; + + public void GetLeaderboard() { + var requestLeaderBoard = new GetLeaderboardRequest { StartPosition = 0, StatisticName = "PlayerHighScore", MaxResultsCount = 20 }; + PlayFabClientAPI.GetLeaderboard(requestLeaderBoard, OnGetLeaderBoard, OnErrorLeaderBoard); + } + + public void AddPlayerScoreToLeaderBoard() { + PlayFabClientAPI.UpdatePlayerStatistics(new UpdatePlayerStatisticsRequest { + Statistics = new List { + new StatisticUpdate { StatisticName = "PlayerHighScore", Value = 100 } + } + }, + result => { Debug.Log("User leaderboard updated"); }, + error => { Debug.LogError(error.GenerateErrorReport()); }); + } + + void OnGetLeaderBoard(GetLeaderboardResult result) { + leaderboardPanel.SetActive(true); + foreach (PlayerLeaderboardEntry player in result.Leaderboard) { + GameObject tempListing = Instantiate(listingPrefab, listingContainer); + LeaderBoardListing ll = tempListing.GetComponent(); + ll.playerPositionText.text = (player.Position+1).ToString(); + ll.playerNameText.text = player.DisplayName; + ll.playerScoreText.text = player.StatValue.ToString(); + } + } + + public void CloseLeaderBoard() { + leaderboardPanel.SetActive(false); + for (int i = listingContainer.childCount-1; i>= 0; i--) { + Destroy(listingContainer.GetChild(i).gameObject); + } + } + + void OnErrorLeaderBoard(PlayFabError error) { + Debug.LogError(error.GenerateErrorReport()); + } + +} diff --git a/Assets/_Completed-Assets/Scripts/PlayFab/LeaderBoardManager.cs.meta b/Assets/_Completed-Assets/Scripts/PlayFab/LeaderBoardManager.cs.meta new file mode 100644 index 0000000..42ed45c --- /dev/null +++ b/Assets/_Completed-Assets/Scripts/PlayFab/LeaderBoardManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 80770b0430b1cbd419c9e0f946a1a4d9 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Completed-Assets/Scripts/PlayFab/PlayFabController.cs b/Assets/_Completed-Assets/Scripts/PlayFab/PlayFabController.cs index 9f65d2c..acb544f 100644 --- a/Assets/_Completed-Assets/Scripts/PlayFab/PlayFabController.cs +++ b/Assets/_Completed-Assets/Scripts/PlayFab/PlayFabController.cs @@ -112,11 +112,17 @@ private void OnLoginSuccess(LoginResult result) errorTxt.text = ""; PlayerPrefs.SetString("EMAIL", userEmail); PlayerPrefs.SetString("PASSWORD", userPassword); + + PlayFabClientAPI.UpdateUserTitleDisplayName(new UpdateUserTitleDisplayNameRequest { DisplayName = userName }, OnDisplayName, OnLoginFailure); SetStats(); GetStats(); SceneManager.LoadScene("LobbyOnline"); } + void OnDisplayName(UpdateUserTitleDisplayNameResult result) { + Debug.Log(result.DisplayName + " is your new display name"); + } + private void OnLoginFailure(PlayFabError error) { loginForm.SetActive(true); diff --git a/Assets/_Completed-Assets/Scripts/PlayNetworking.cs b/Assets/_Completed-Assets/Scripts/PlayNetworking.cs new file mode 100644 index 0000000..2f0fac8 --- /dev/null +++ b/Assets/_Completed-Assets/Scripts/PlayNetworking.cs @@ -0,0 +1,123 @@ +using Mirror; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.UI; +using TMPro; + +namespace Complete +{ + public class PlayNetworking : NetworkBehaviour + { + public GameObject playBtn; + public GameObject teamsCanvas; + public Toggle activateTeamsToggle; + public GameObject teamsList; + public TextMeshProUGUI waitingTxt; + + [SyncVar(hook = nameof(ActivateTeamsNetwork))] + public bool activeTeams = true; + + [SyncVar(hook = nameof(StartGameNetwork))] + public bool gameStart; + + [SerializeField] + private GameManager gameManager; + + private int team1Players; + private int team2Players; + + void Start() + { + playBtn.SetActive(isServer); + activateTeamsToggle.gameObject.SetActive(isServer); + } + + void StartGameNetwork(bool oldStart, bool newStart) + { + if (gameManager.canvasTeams.activeSelf) + { + gameManager.canvasTeams.SetActive(false); + } + gameStart = newStart; + } + + void ActivateTeamsNetwork(bool oldActive, bool newActive) + { + activeTeams = newActive; + + if (!newActive) + { + GameObject[] tanksInGame = GameObject.FindGameObjectsWithTag("Player"); + foreach (var tank in tanksInGame) + { + tank.GetComponent().ChangeDeathMatchColor(); + } + } + else + { + GameObject[] tanksInGame = GameObject.FindGameObjectsWithTag("Player"); + foreach (var tank in tanksInGame) + { + tank.GetComponent().ChangeColor(); + } + } + + if (!newActive && !isServer) + { + waitingTxt.gameObject.SetActive(true); + teamsList.SetActive(false); + } + else + { + waitingTxt.gameObject.SetActive(false); + teamsList.SetActive(true); + } + } + + public void StartGame() + { + checkNumPlayers(); + if (team1Players < 3 && team2Players < 3) + { + gameStart = true; + teamsCanvas.SetActive(false); + GameObject[] tanksInGame = GameObject.FindGameObjectsWithTag("Player"); + foreach (var tank in tanksInGame) + { + tank.GetComponent().enabled = true; + tank.GetComponent().enabled = true; + } + tanksInGame[0].GetComponent().RpcStartGame(true); + } + } + + private void checkNumPlayers() + { + // Start the count of tanks left at zero + int team1TanksLeft = 0; + int team2TanksLeft = 0; + + // Go through all the tanks... + for (int i = 0; i < gameManager.m_Tanks.Length; i++) + { + // ... and if they are active, increment the counter + if (gameManager.m_Tanks[i].m_Instance.activeSelf && gameManager.m_Tanks[i].m_Instance.GetComponent() != null) + { + if (gameManager.m_Tanks[i].m_Instance.GetComponent().team1) + team1TanksLeft++; + else + team2TanksLeft++; + } + } + team1Players = team1TanksLeft; + team2Players = team2TanksLeft; + } + + public void toggleActivateOnChange(bool activate) + { + activeTeams = activate; + } + } +} + diff --git a/Assets/_Completed-Assets/Scripts/PlayNetworking.cs.meta b/Assets/_Completed-Assets/Scripts/PlayNetworking.cs.meta new file mode 100644 index 0000000..fb79294 --- /dev/null +++ b/Assets/_Completed-Assets/Scripts/PlayNetworking.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 7580ab1974367da458b236352ef0d75c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Completed-Assets/Scripts/Shell/ShellExplosion.cs b/Assets/_Completed-Assets/Scripts/Shell/ShellExplosion.cs index d28d2b1..83bf069 100644 --- a/Assets/_Completed-Assets/Scripts/Shell/ShellExplosion.cs +++ b/Assets/_Completed-Assets/Scripts/Shell/ShellExplosion.cs @@ -1,8 +1,9 @@ using UnityEngine; +using Mirror; namespace Complete { - public class ShellExplosion : MonoBehaviour + public class ShellExplosion : NetworkBehaviour { public LayerMask m_TankMask; // Used to filter what the explosion affects, this should be set to "Players" public ParticleSystem m_ExplosionParticles; // Reference to the particles that will play on explosion @@ -11,11 +12,13 @@ public class ShellExplosion : MonoBehaviour public float m_ExplosionForce = 1000f; // The amount of force added to a tank at the centre of the explosion public float m_MaxLifeTime = 2f; // The time in seconds before the shell is removed public float m_ExplosionRadius = 5f; // The maximum distance away from the explosion tanks can be and are still affected + public InfoPlayer myInfoPlayer; + private PlayNetworking playNetworking; private void Start () { - GetComponent().velocity = transform.forward * 15; + GetComponent().velocity = transform.forward * 15; playNetworking = FindObjectOfType().GetComponent(); // If it isn't destroyed by then, destroy the shell after it's lifetime Destroy(gameObject, m_MaxLifeTime); } @@ -42,7 +45,8 @@ private void OnTriggerEnter (Collider other) targetRigidbody.AddExplosionForce (m_ExplosionForce, transform.position, m_ExplosionRadius); // Find the TankHealth script associated with the rigidbody - TankHealth targetHealth = targetRigidbody.GetComponent(); + InfoPlayer targetInfo = targetRigidbody.GetComponent(); + TankHealth targetHealth= targetRigidbody.GetComponent(); // If there is no TankHealth script attached to the gameobject, go on to the next collider if (!targetHealth) @@ -50,11 +54,17 @@ private void OnTriggerEnter (Collider other) continue; } - // Calculate the amount of damage the target should take based on it's distance from the shell - float damage = CalculateDamage (targetRigidbody.position); - - // Deal this damage to the tank - targetHealth.TakeDamage (damage); + if (myInfoPlayer != null && targetInfo != null && playNetworking.activeTeams) + { + if (targetInfo.team1 != myInfoPlayer.team1) + { + DamageEnemy(targetRigidbody, targetHealth); + } + } + else + { + DamageEnemy(targetRigidbody, targetHealth); + } } // Unparent the particles from the shell @@ -74,6 +84,14 @@ private void OnTriggerEnter (Collider other) Destroy (gameObject); } + private void DamageEnemy(Rigidbody targetRigidbody, TankHealth targetHealth) + { + // Calculate the amount of damage the target should take based on it's distance from the shell + float damage = CalculateDamage(targetRigidbody.position); + + // Deal this damage to the tank + targetHealth.TakeDamage(damage); + } private float CalculateDamage (Vector3 targetPosition) { diff --git a/Assets/_Completed-Assets/Scripts/Shell/ShellExplosionLocal.cs b/Assets/_Completed-Assets/Scripts/Shell/ShellExplosionLocal.cs new file mode 100644 index 0000000..dfb5b8e --- /dev/null +++ b/Assets/_Completed-Assets/Scripts/Shell/ShellExplosionLocal.cs @@ -0,0 +1,104 @@ +using UnityEngine; + +namespace Complete +{ + public class ShellExplosionLocal : MonoBehaviour + { + public LayerMask m_TankMask; // Used to filter what the explosion affects, this should be set to "Players" + public ParticleSystem m_ExplosionParticles; // Reference to the particles that will play on explosion + public AudioSource m_ExplosionAudio; // Reference to the audio that will play on explosion + public float m_MaxDamage = 100f; // The amount of damage done if the explosion is centred on a tank + public float m_ExplosionForce = 1000f; // The amount of force added to a tank at the centre of the explosion + public float m_MaxLifeTime = 2f; // The time in seconds before the shell is removed + public float m_ExplosionRadius = 5f; // The maximum distance away from the explosion tanks can be and are still affected + + public TankHealthLocal myTankHealth; + + private void Start () + { + GetComponent().velocity = transform.forward * 15; + + // If it isn't destroyed by then, destroy the shell after it's lifetime + Destroy(gameObject, m_MaxLifeTime); + } + + + private void OnTriggerEnter (Collider other) + { + // Collect all the colliders in a sphere from the shell's current position to a radius of the explosion radius + Collider[] colliders = Physics.OverlapSphere (transform.position, m_ExplosionRadius, m_TankMask); + + // Go through all the colliders... + for (int i = 0; i < colliders.Length; i++) + { + // ... and find their rigidbody + Rigidbody targetRigidbody = colliders[i].GetComponent(); + + // If they don't have a rigidbody, go on to the next collider + if (!targetRigidbody) + { + continue; + } + + // Add an explosion force + targetRigidbody.AddExplosionForce (m_ExplosionForce, transform.position, m_ExplosionRadius); + + // Find the TankHealth script associated with the rigidbody + TankHealthLocal targetHealth = targetRigidbody.GetComponent(); + + // If there is no TankHealth script attached to the gameobject, go on to the next collider + if (!targetHealth) + { + continue; + } + + + if(!targetHealth.isTeamGame || targetHealth.team1 != myTankHealth.team1) + { + // Calculate the amount of damage the target should take based on it's distance from the shell + float damage = CalculateDamage(targetRigidbody.position); + + // Deal this damage to the tank + targetHealth.TakeDamage(damage); + } + } + + // Unparent the particles from the shell + m_ExplosionParticles.transform.parent = null; + + // Play the particle system + m_ExplosionParticles.Play(); + + // Play the explosion sound effect + m_ExplosionAudio.Play(); + + // Once the particles have finished, destroy the gameobject they are on + ParticleSystem.MainModule mainModule = m_ExplosionParticles.main; + Destroy (m_ExplosionParticles.gameObject, mainModule.duration); + + // Destroy the shell + Destroy (gameObject); + } + + + private float CalculateDamage (Vector3 targetPosition) + { + // Create a vector from the shell to the target + Vector3 explosionToTarget = targetPosition - transform.position; + + // Calculate the distance from the shell to the target + float explosionDistance = explosionToTarget.magnitude; + + // Calculate the proportion of the maximum distance (the explosionRadius) the target is away + float relativeDistance = (m_ExplosionRadius - explosionDistance) / m_ExplosionRadius; + + // Calculate damage as this proportion of the maximum possible damage + float damage = relativeDistance * m_MaxDamage; + + // Make sure that the minimum damage is always 0 + damage = Mathf.Max (0f, damage); + + return damage; + } + } +} \ No newline at end of file diff --git a/Assets/_Completed-Assets/Scripts/Shell/ShellExplosionLocal.cs.meta b/Assets/_Completed-Assets/Scripts/Shell/ShellExplosionLocal.cs.meta new file mode 100644 index 0000000..b8d4229 --- /dev/null +++ b/Assets/_Completed-Assets/Scripts/Shell/ShellExplosionLocal.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 90b8d5f50df903147af225755dfc313b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Completed-Assets/Scripts/Tank/TankHealth.cs b/Assets/_Completed-Assets/Scripts/Tank/TankHealth.cs index 29f3cb4..165ee63 100644 --- a/Assets/_Completed-Assets/Scripts/Tank/TankHealth.cs +++ b/Assets/_Completed-Assets/Scripts/Tank/TankHealth.cs @@ -35,6 +35,7 @@ private void Awake () gameManager = FindObjectOfType().GetComponent(); + // Instantiate the explosion prefab and get a reference to the particle system on it m_ExplosionParticles = Instantiate (m_ExplosionPrefab).GetComponent(); @@ -63,6 +64,11 @@ private void Update() } private void OnEnable() + { + ResetHealth(); + } + + public void ResetHealth() { // When the tank is enabled, reset the tank's health and whether or not it's dead m_CurrentHealth = m_StartingHealth; diff --git a/Assets/_Completed-Assets/Scripts/Tank/TankHealthLocal.cs b/Assets/_Completed-Assets/Scripts/Tank/TankHealthLocal.cs new file mode 100644 index 0000000..efd7a5c --- /dev/null +++ b/Assets/_Completed-Assets/Scripts/Tank/TankHealthLocal.cs @@ -0,0 +1,99 @@ +using UnityEngine; +using UnityEngine.UI; + +namespace Complete +{ + public class TankHealthLocal : MonoBehaviour + { + public float m_StartingHealth = 100f; // The amount of health each tank starts with + public Slider m_Slider; // The slider to represent how much health the tank currently has + public Image m_FillImage; // The image component of the slider + public Color m_FullHealthColor = Color.green; // The color the health bar will be when on full health + public Color m_ZeroHealthColor = Color.red; // The color the health bar will be when on no health + public GameObject m_ExplosionPrefab; // A prefab that will be instantiated in Awake, then used whenever the tank dies + public bool isTeamGame; + public bool team1; + + private AudioSource m_ExplosionAudio; // The audio source to play when the tank explodes + private ParticleSystem m_ExplosionParticles; // The particle system the will play when the tank is destroyed + private float m_CurrentHealth; // How much health the tank currently has + private bool m_Dead; // Has the tank been reduced beyond zero health yet? + + + private void Awake() + { + // Instantiate the explosion prefab and get a reference to the particle system on it + m_ExplosionParticles = Instantiate (m_ExplosionPrefab).GetComponent(); + + // Get a reference to the audio source on the instantiated prefab + m_ExplosionAudio = m_ExplosionParticles.GetComponent(); + + // Disable the prefab so it can be activated when it's required + m_ExplosionParticles.gameObject.SetActive (false); + } + + + private void OnEnable() + { + ResetHealth(); + } + + public void ResetHealth() + { + // When the tank is enabled, reset the tank's health and whether or not it's dead + m_CurrentHealth = m_StartingHealth; + m_Dead = false; + + // Update the health slider's value and color + SetHealthUI(); + } + + public void TakeDamage (float amount) + { + // Reduce current health by the amount of damage done + m_CurrentHealth -= amount; + + // Change the UI elements appropriately + SetHealthUI(); + + // If the current health is at or below zero and it has not yet been registered, call OnDeath + if (m_CurrentHealth <= 0f && !m_Dead) + { + OnDeath (); + } + } + + + private void SetHealthUI() + { + // Set the slider's value appropriately + m_Slider.value = m_CurrentHealth; + + // Interpolate the color of the bar between the choosen colours based on the current percentage of the starting health + m_FillImage.color = Color.Lerp (m_ZeroHealthColor, m_FullHealthColor, m_CurrentHealth / m_StartingHealth); + } + + + private void OnDeath() + { + // Set the flag so that this function is only called once + m_Dead = true; + + // Move the instantiated explosion prefab to the tank's position and turn it on + m_ExplosionParticles.transform.position = transform.position; + m_ExplosionParticles.gameObject.SetActive (true); + + // Play the particle system of the tank exploding + m_ExplosionParticles.Play(); + + // Play the tank explosion sound effect + m_ExplosionAudio.Play(); + + // The camera following this tank will follow another tank + GameObject.FindGameObjectWithTag("GameController").GetComponent().ChangeDeadCamera(GetComponent().m_PlayerNumber); + + // Turn the tank off + gameObject.SetActive (false); + } + } +} \ No newline at end of file diff --git a/Assets/_Completed-Assets/Scripts/Tank/TankHealthLocal.cs.meta b/Assets/_Completed-Assets/Scripts/Tank/TankHealthLocal.cs.meta new file mode 100644 index 0000000..93a2240 --- /dev/null +++ b/Assets/_Completed-Assets/Scripts/Tank/TankHealthLocal.cs.meta @@ -0,0 +1,17 @@ +fileFormatVersion: 2 +guid: 99d136911c169224bbbac02e2a4add52 +timeCreated: 1427120507 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: + - slider: {instanceID: 0} + - bar: {instanceID: 0} + - steamParticles: {instanceID: 0} + - explosionParticles: {fileID: 19874418, guid: 6bc6d0dd8b8428e4ca316513f2cf13c6, + type: 2} + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Completed-Assets/Scripts/Tank/TankMovement.cs b/Assets/_Completed-Assets/Scripts/Tank/TankMovement.cs index c16b4d7..7736270 100644 --- a/Assets/_Completed-Assets/Scripts/Tank/TankMovement.cs +++ b/Assets/_Completed-Assets/Scripts/Tank/TankMovement.cs @@ -12,6 +12,10 @@ public class TankMovement : NetworkBehaviour public string playerName; [SyncVar] public int playerColor; + [SyncVar] + public bool team1; + [SyncVar(hook = nameof(ChangeWins))] + public int wins = 0; public int m_PlayerNumber = 1; // Used to identify which tank belongs to which player. This is set by this tank's manager public float m_Speed = 12f; // How fast the tank moves forward and back @@ -34,11 +38,14 @@ public class TankMovement : NetworkBehaviour private InputAction m_MoveAction; // Move Action reference (Unity 2020 New Input System) private InputAction m_TurnAction; // Turn Action reference (Unity 2020 New Input System) private bool isDisabled = false; // To avoid enabling / disabling Input System when tank is destroyed + private GameManager gameManager; private void Awake() { m_Rigidbody = GetComponent(); + gameManager = FindObjectOfType().GetComponent(); + CheckTanksDistance(); } [Command] @@ -56,7 +63,27 @@ void RpcSetNameAndColor(string name, int color) { ChangeTankAndNameColor(); } - + + public void UpdateWins(int newWins) { + wins = newWins; + CmdUpdateWins(wins); + } + + [Command] + public void CmdUpdateWins(int newWins) { + wins = newWins; + RpcUpdateWins(newWins); + } + + [ClientRpc] + public void RpcUpdateWins(int newWins) { + wins = newWins; + } + + private void ChangeWins(int oldWins, int newWins) { + wins = newWins; + } + private void OnEnable() { // When the tank is turned on, make sure it's not kinematic @@ -139,19 +166,9 @@ private void Update() return; } - if (Input.GetKeyDown(KeyCode.G)) { - ChangeColor(); - } - EngineAudio(); } - public void ChangeColor() { - playerColor = (playerColor + 1) % LobbyMenu.tankColors.Length; - CmdSendNameAndColorToServer(playerName, playerColor); - ChangeTankAndNameColor(); - } - private void ChangeTankAndNameColor() { Color tmpColor; ColorUtility.TryParseHtmlString(LobbyMenu.tankColors[playerColor], out tmpColor); @@ -244,5 +261,28 @@ private void Turn() m_Rigidbody.MoveRotation(m_Rigidbody.rotation * turnRotation); } } + + public void CheckTanksDistance() + { + if(gameManager.m_Tanks.Length > 1) + { + for (int x = 0; x < gameManager.m_Tanks.Length; x++) + { + for (int y = x + 1; y < gameManager.m_Tanks.Length; y++) + { + Vector3 tank1 = gameManager.m_Tanks[x].m_Instance.transform.position; + Vector3 tank2 = gameManager.m_Tanks[y].m_Instance.transform.position; + + + if (Vector3.Distance(tank1, tank2) < 7) + { + gameManager.m_Tanks[x].Respawn(); + //TO DO + //CheckTanksDistance(); + } + } + } + } + } } } \ No newline at end of file diff --git a/Assets/_Completed-Assets/Scripts/Tank/TankMovementLocal.cs b/Assets/_Completed-Assets/Scripts/Tank/TankMovementLocal.cs new file mode 100644 index 0000000..c5aea36 --- /dev/null +++ b/Assets/_Completed-Assets/Scripts/Tank/TankMovementLocal.cs @@ -0,0 +1,163 @@ +using UnityEngine; +using UnityEngine.InputSystem; + +namespace Complete +{ + public class TankMovementLocal : MonoBehaviour + { + public int m_PlayerNumber = 1; // Used to identify which tank belongs to which player. This is set by this tank's manager + public float m_Speed = 12f; // How fast the tank moves forward and back + public float m_TurnSpeed = 180f; // How fast the tank turns in degrees per second + public AudioSource m_MovementAudio; // Reference to the audio source used to play engine sounds. NB: different to the shooting audio source + public AudioClip m_EngineIdling; // Audio to play when the tank isn't moving + public AudioClip m_EngineDriving; // Audio to play when the tank is moving + public float m_PitchRange = 0.2f; // The amount by which the pitch of the engine noises can vary + + private string m_MovementAxisName; // The name of the input axis for moving forward and back + private string m_TurnAxisName; // The name of the input axis for turning + private Rigidbody m_Rigidbody; // Reference used to move the tank + private float m_MovementInputValue; // The current value of the movement input + private float m_TurnInputValue; // The current value of the turn input + private float m_OriginalPitch; // The pitch of the audio source at the start of the scene + private GameManagerLocal m_GameManager; + + + private void Awake() + { + m_Rigidbody = GetComponent(); + m_GameManager = FindObjectOfType().GetComponent(); + } + + + private void OnEnable() + { + // When the tank is turned on, make sure it's not kinematic + m_Rigidbody.isKinematic = false; + + // Also reset the input values + m_MovementInputValue = 0f; + m_TurnInputValue = 0f; + } + + + private void OnDisable() + { + // When the tank is turned off, set it to kinematic so it stops moving + m_Rigidbody.isKinematic = true; + } + + + private void Start() + { + // The axes names are based on player number + //m_MovementAxisName = "Vertical" + m_PlayerNumber; + //m_TurnAxisName = "Horizontal" + m_PlayerNumber; + + // Store the original pitch of the audio source + m_OriginalPitch = m_MovementAudio.pitch; + } + + + private void Update () + { + // Store the value of both input axes + //m_MovementInputValue = Input.GetAxis (m_MovementAxisName); + //m_TurnInputValue = Input.GetAxis (m_TurnAxisName); + + EngineAudio(); + } + + + public void setMoveInputVal(InputAction.CallbackContext context) + { + var val = context.ReadValue(); + m_MovementInputValue = val; + } + + public void setRotationInputVal(InputAction.CallbackContext context) + { + var val = context.ReadValue(); + m_TurnInputValue = val; + } + + private void EngineAudio() + { + // If there is no input (the tank is stationary)... + if (Mathf.Abs (m_MovementInputValue) < 0.1f && Mathf.Abs (m_TurnInputValue) < 0.1f) + { + // ... and if the audio source is currently playing the driving clip... + if (m_MovementAudio.clip == m_EngineDriving) + { + // ... change the clip to idling and play it + m_MovementAudio.clip = m_EngineIdling; + m_MovementAudio.pitch = Random.Range (m_OriginalPitch - m_PitchRange, m_OriginalPitch + m_PitchRange); + m_MovementAudio.Play (); + } + } + else + { + // Otherwise if the tank is moving and if the idling clip is currently playing... + if (m_MovementAudio.clip == m_EngineIdling) + { + // ... change the clip to driving and play + m_MovementAudio.clip = m_EngineDriving; + m_MovementAudio.pitch = Random.Range(m_OriginalPitch - m_PitchRange, m_OriginalPitch + m_PitchRange); + m_MovementAudio.Play(); + } + } + } + + + private void FixedUpdate() + { + // Adjust the rigidbodies position and orientation in FixedUpdate. + Move(); + Turn(); + } + + + private void Move() + { + // Create a vector in the direction the tank is facing with a magnitude based on the input, speed and the time between frames + Vector3 movement = transform.forward * m_MovementInputValue * m_Speed * Time.deltaTime; + + // Apply this movement to the rigidbody's position + m_Rigidbody.MovePosition(m_Rigidbody.position + movement); + } + + + private void Turn() + { + // Determine the number of degrees to be turned based on the input, speed and time between frames + float turn = m_TurnInputValue * m_TurnSpeed * Time.deltaTime; + + // Make this into a rotation in the y axis + Quaternion turnRotation = Quaternion.Euler (0f, turn, 0f); + + // Apply this rotation to the rigidbody's rotation + m_Rigidbody.MoveRotation (m_Rigidbody.rotation * turnRotation); + } + + public void CheckTanksDistance() + { + if (m_GameManager.m_Tanks.Length > 1) + { + for (int x = 0; x < m_GameManager.m_Tanks.Length; x++) + { + for (int y = x + 1; y < m_GameManager.m_Tanks.Length; y++) + { + Vector3 tank1 = m_GameManager.m_Tanks[x].m_Instance.transform.position; + Vector3 tank2 = m_GameManager.m_Tanks[y].m_Instance.transform.position; + + + if (Vector3.Distance(tank1, tank2) < 7) + { + m_GameManager.m_Tanks[x].Respawn(); + CheckTanksDistance(); + } + } + } + } + } + } +} \ No newline at end of file diff --git a/Assets/_Completed-Assets/Scripts/Tank/TankMovementLocal.cs.meta b/Assets/_Completed-Assets/Scripts/Tank/TankMovementLocal.cs.meta new file mode 100644 index 0000000..b5bda24 --- /dev/null +++ b/Assets/_Completed-Assets/Scripts/Tank/TankMovementLocal.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: ab9e53e2fc56b3d45818fe61e5c48258 +timeCreated: 1426675706 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Completed-Assets/Scripts/Tank/TankShooting.cs b/Assets/_Completed-Assets/Scripts/Tank/TankShooting.cs index 9b6fe8d..e24649b 100644 --- a/Assets/_Completed-Assets/Scripts/Tank/TankShooting.cs +++ b/Assets/_Completed-Assets/Scripts/Tank/TankShooting.cs @@ -91,6 +91,8 @@ void CmdFire() m_FireTransform.rotation ); + bullet.GetComponent().myInfoPlayer = GetComponent(); + NetworkServer.Spawn(bullet); // Set the shell's velocity to the launch force in the fire position's forward direction diff --git a/Assets/_Completed-Assets/Scripts/Tank/TankShootingLocal.cs b/Assets/_Completed-Assets/Scripts/Tank/TankShootingLocal.cs new file mode 100644 index 0000000..b929adf --- /dev/null +++ b/Assets/_Completed-Assets/Scripts/Tank/TankShootingLocal.cs @@ -0,0 +1,167 @@ +using UnityEngine; +using UnityEngine.UI; +using UnityEngine.InputSystem; + +namespace Complete +{ + public class TankShootingLocal : MonoBehaviour + { + public int m_PlayerNumber = 1; // Used to identify the different players + public Rigidbody m_Shell; // Prefab of the shell + public Rigidbody m_ShellAlt; // Prefab of the Alternate shell + public Transform m_FireTransform; // A child of the tank where the shells are spawned + public Slider m_AimSlider; // A child of the tank that displays the current launch force + public AudioSource m_ShootingAudio; // Reference to the audio source used to play the shooting audio. NB: different to the movement audio source + public AudioClip m_ChargingClip; // Audio that plays when each shot is charging up + public AudioClip m_FireClip; // Audio that plays when each shot is fired + public float m_MinLaunchForce = 15f; // The force given to the shell if the fire button is not held + public float m_MaxLaunchForce = 30f; // The force given to the shell if the fire button is held for the max charge time + public float m_MaxChargeTime = 0.75f; // How long the shell can charge for before it is fired at max force + + private bool m_FireButton; // The input axis that is used for launching shells + private string m_AltFireButton; + private float m_CurrentLaunchForce; // The force that will be given to the shell when the fire button is released + private float m_ChargeSpeed; // How fast the launch force increases, based on the max charge time + private bool m_Fired; // Whether or not the shell has been launched with this button press + private bool m_AltFire; // Whether or not the alternate shell has been launched with this button press + private bool m_FireAction; + + private void OnEnable() + { + // When the tank is turned on, reset the launch force and the UI + m_CurrentLaunchForce = m_MinLaunchForce; + m_AimSlider.value = m_MinLaunchForce; + } + + + private void Start () + { + // The fire axis is based on the player number + //m_FireButton = "Fire" + m_PlayerNumber; + //m_AltFireButton = "AltFire" + m_PlayerNumber; + + + // The rate that the launch force charges up is the range of possible forces by the max charge time + m_ChargeSpeed = (m_MaxLaunchForce - m_MinLaunchForce) / m_MaxChargeTime; + + } + + public void setFireButton(InputAction.CallbackContext context) + { + var val = context.ReadValue(); + if(val == 1) m_FireButton = true; + else m_FireButton = false; + } + + private bool FireButton (int mode) { + + var action = false; + m_AltFire = false; + + switch (mode) { + case 0: + if (!m_FireAction && m_FireButton) + { + m_FireAction = true; + action = true; + } + else if (m_FireAction && m_FireButton) + { + action = false; + } + break; + case 1: + if (m_FireAction && m_FireButton) + { + action = true; + } + else if (m_FireAction && !m_FireButton) + { + action = false; + } + break; + case 2: + if (m_FireAction && !m_FireButton) + { + m_FireAction = false; + action = true; + } + else if (!m_FireAction && !m_FireButton) + { + action = false; + } + break; + } + + return action; + } + + + private void Update() + { + // The slider should have a default value of the minimum launch force + m_AimSlider.value = m_MinLaunchForce; + + // If the max force has been exceeded and the shell hasn't yet been launched... + if (m_CurrentLaunchForce >= m_MaxLaunchForce && !m_Fired) + { + // ... use the max force and launch the shell + m_CurrentLaunchForce = m_MaxLaunchForce; + Fire(); + } + // Otherwise, if the fire button has just started being pressed... + else if (FireButton (0)) + { + // ... reset the fired flag and reset the launch force + m_Fired = false; + m_CurrentLaunchForce = m_MinLaunchForce; + + // Change the clip to the charging clip and start it playing + m_ShootingAudio.clip = m_ChargingClip; + m_ShootingAudio.Play (); + } + // Otherwise, if the fire button is being held and the shell hasn't been launched yet... + else if (FireButton (1) && !m_Fired) + { + // Increment the launch force and update the slider + m_CurrentLaunchForce += m_ChargeSpeed * Time.deltaTime; + + m_AimSlider.value = m_CurrentLaunchForce; + } + // Otherwise, if the fire button is released and the shell hasn't been launched yet... + else if (FireButton (2) && !m_Fired) + { + // ... launch the shell + Fire (); + } + } + + + private void Fire() { + // Set the fired flag so only Fire is only called once + m_Fired = true; + + // Create an instance of the shell and store a reference to it's rigidbody + Rigidbody shellInstance; + if (m_AltFire) shellInstance = + Instantiate (m_ShellAlt, m_FireTransform.position, m_FireTransform.rotation) as Rigidbody; + else + shellInstance = + Instantiate (m_Shell, m_FireTransform.position, m_FireTransform.rotation) as Rigidbody; + + shellInstance.GetComponent().myTankHealth = GetComponent(); + + // Set the shell's velocity to the launch force in the fire position's forward direction + shellInstance.velocity = m_CurrentLaunchForce * m_FireTransform.forward; + if (m_AltFire) + shellInstance.velocity *= 1.50f; + + // Change the clip to the firing clip and play it + m_ShootingAudio.clip = m_FireClip; + m_ShootingAudio.Play(); + + // Reset the launch force. This is a precaution in case of missing button events + m_CurrentLaunchForce = m_MinLaunchForce; + } + } +} \ No newline at end of file diff --git a/Assets/_Completed-Assets/Scripts/Tank/TankShootingLocal.cs.meta b/Assets/_Completed-Assets/Scripts/Tank/TankShootingLocal.cs.meta new file mode 100644 index 0000000..3fabe8a --- /dev/null +++ b/Assets/_Completed-Assets/Scripts/Tank/TankShootingLocal.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 0b62a077bd38b5c44a19767eb60a8505 +timeCreated: 1426769294 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: + - projectile: {fileID: 5409530, guid: 008ecb1b70bec724fa2cd34255b0d8f8, type: 2} + - launchPosition: {instanceID: 0} + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Completed-Assets/Scripts/UI/InputSystem.inputsettings.asset b/Assets/_Completed-Assets/Scripts/UI/InputSystem.inputsettings.asset index 1b236ef..48c4f6d 100644 Binary files a/Assets/_Completed-Assets/Scripts/UI/InputSystem.inputsettings.asset and b/Assets/_Completed-Assets/Scripts/UI/InputSystem.inputsettings.asset differ diff --git a/Assets/_Completed-Assets/Scripts/UI/PlayerControls.inputactions b/Assets/_Completed-Assets/Scripts/UI/PlayerControls.inputactions index 8f8d45b..8d7aa92 100644 --- a/Assets/_Completed-Assets/Scripts/UI/PlayerControls.inputactions +++ b/Assets/_Completed-Assets/Scripts/UI/PlayerControls.inputactions @@ -167,7 +167,19 @@ "interactions": "Press" } ], - "bindings": [] + "bindings": [ + { + "name": "", + "id": "68fc5c32-c68a-4194-b669-6e2b07f9f3dc", + "path": "/leftButton", + "interactions": "", + "processors": "", + "groups": "", + "action": "Click", + "isComposite": false, + "isPartOfComposite": false + } + ] } ], "controlSchemes": [] diff --git a/Packages/manifest.json b/Packages/manifest.json index f956726..487b2bd 100644 --- a/Packages/manifest.json +++ b/Packages/manifest.json @@ -4,6 +4,7 @@ "com.unity.2d.tilemap": "1.0.0", "com.unity.ads": "3.4.9", "com.unity.analytics": "3.3.5", + "com.unity.cinemachine": "2.6.3", "com.unity.collab-proxy": "1.3.9", "com.unity.ide.rider": "1.2.1", "com.unity.ide.visualstudio": "2.0.2", diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json index 809106b..4815ffe 100644 --- a/Packages/packages-lock.json +++ b/Packages/packages-lock.json @@ -30,6 +30,13 @@ }, "url": "https://packages.unity.com" }, + "com.unity.cinemachine": { + "version": "2.6.3", + "depth": 0, + "source": "registry", + "dependencies": {}, + "url": "https://packages.unity.com" + }, "com.unity.collab-proxy": { "version": "1.3.9", "depth": 0, diff --git a/ProjectSettings/EditorBuildSettings.asset b/ProjectSettings/EditorBuildSettings.asset index b8a9fa9..b2600eb 100644 Binary files a/ProjectSettings/EditorBuildSettings.asset and b/ProjectSettings/EditorBuildSettings.asset differ diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset index d09fbb3..c0a434c 100644 Binary files a/ProjectSettings/ProjectSettings.asset and b/ProjectSettings/ProjectSettings.asset differ diff --git a/ProjectSettings/TagManager.asset b/ProjectSettings/TagManager.asset index bf7232d..3b26aa8 100644 Binary files a/ProjectSettings/TagManager.asset and b/ProjectSettings/TagManager.asset differ