diff --git a/Assets/LiveOpsExamples.meta b/Assets/LiveOpsExamples.meta
deleted file mode 100644
index ee1b726..0000000
--- a/Assets/LiveOpsExamples.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 7a3b8c1d9e2f4a5b6c7d8e9f0a1b2c3d
-folderAsset: yes
-DefaultImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/LiveOpsExamples/CozyCollectorSpriteLibrary.asset b/Assets/LiveOpsExamples/CozyCollectorSpriteLibrary.asset
deleted file mode 100644
index f21cc14..0000000
--- a/Assets/LiveOpsExamples/CozyCollectorSpriteLibrary.asset
+++ /dev/null
@@ -1,20 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!114 &11400000
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 0}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 8cd851b86da394b9ca06595f889a49b3, type: 3}
- m_Name: CozyCollectorSpriteLibrary
- m_EditorClassIdentifier: Assembly-CSharp::LiveOpsExamples.CozyCollectorSpriteLibrary
- background: {fileID: 21300000, guid: e8139865590c408789e137275b78e239, type: 3}
- player: {fileID: 21300000, guid: 695606af95a0452790cf9228c0cc9f76, type: 3}
- moonberry: {fileID: 21300000, guid: 8b3f9a4a409e412780aa51d52bfdb7b0, type: 3}
- acorn: {fileID: 21300000, guid: ca0ac79e8cb24691b33208b45e68fe13, type: 3}
- star: {fileID: 21300000, guid: b0d70332788c4ff7831161da4a2e71ff, type: 3}
- snack: {fileID: 21300000, guid: c41fcc3b35c944ffa18a34b6c4dc2cd6, type: 3}
diff --git a/Assets/LiveOpsExamples/CozyCollectorSpriteLibrary.asset.meta b/Assets/LiveOpsExamples/CozyCollectorSpriteLibrary.asset.meta
deleted file mode 100644
index 93cb412..0000000
--- a/Assets/LiveOpsExamples/CozyCollectorSpriteLibrary.asset.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 06fcf2ebf537145de9bab548922829e1
-NativeFormatImporter:
- externalObjects: {}
- mainObjectFileID: 11400000
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/LiveOpsExamples/Editor.meta b/Assets/LiveOpsExamples/Editor.meta
deleted file mode 100644
index e4b4c24..0000000
--- a/Assets/LiveOpsExamples/Editor.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: b0c1d2e3f4a5b6c7d8e9f0a1b2c3d4e5
-folderAsset: yes
-DefaultImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/LiveOpsExamples/Editor/CozyCollectorBake.Assets.cs b/Assets/LiveOpsExamples/Editor/CozyCollectorBake.Assets.cs
deleted file mode 100644
index ad5b159..0000000
--- a/Assets/LiveOpsExamples/Editor/CozyCollectorBake.Assets.cs
+++ /dev/null
@@ -1,60 +0,0 @@
-using LiveOpsExamples;
-using UnityEditor;
-using UnityEngine;
-
-namespace LiveOpsExamples.Editor
-{
- ///
- /// Bakes the Cozy Collector ScriptableObject assets. Idempotent: writes to
- /// fixed asset paths and overwrites whatever is already there.
- ///
- public static partial class CozyCollectorBake
- {
- private const string SpriteLibraryAssetPath = "Assets/LiveOpsExamples/CozyCollectorSpriteLibrary.asset";
- private const string SpriteFolderPath = "Assets/LiveOpsExamples/Sprites";
-
- [MenuItem("Tools/LiveOps/Bake Cozy Collector Assets")]
- public static void BakeAssets()
- {
- var library = AssetDatabase.LoadAssetAtPath(SpriteLibraryAssetPath);
- if (library == null)
- {
- library = ScriptableObject.CreateInstance();
- AssetDatabase.CreateAsset(library, SpriteLibraryAssetPath);
- }
-
- var serialized = new SerializedObject(library);
- AssignLibrarySprite(serialized, "background", "cozy-camp-bg.png");
- AssignLibrarySprite(serialized, "player", "player.png");
- AssignLibrarySprite(serialized, "moonberry", "moonberry.png");
- AssignLibrarySprite(serialized, "acorn", "acorn.png");
- AssignLibrarySprite(serialized, "star", "star.png");
- AssignLibrarySprite(serialized, "snack", "snack.png");
- serialized.ApplyModifiedPropertiesWithoutUndo();
-
- EditorUtility.SetDirty(library);
- AssetDatabase.SaveAssets();
- Debug.Log($"Cozy Collector sprite library baked: {SpriteLibraryAssetPath}");
- }
-
- private static void AssignLibrarySprite(SerializedObject serialized, string fieldName, string fileName)
- {
- var spritePath = $"{SpriteFolderPath}/{fileName}";
- var sprite = AssetDatabase.LoadAssetAtPath(spritePath);
- if (sprite == null)
- {
- Debug.LogError($"CozyCollectorBake: sprite not found at {spritePath}");
- return;
- }
-
- var property = serialized.FindProperty(fieldName);
- if (property == null)
- {
- Debug.LogError($"CozyCollectorBake: field '{fieldName}' not found on {nameof(CozyCollectorSpriteLibrary)}");
- return;
- }
-
- property.objectReferenceValue = sprite;
- }
- }
-}
diff --git a/Assets/LiveOpsExamples/Editor/CozyCollectorBake.Assets.cs.meta b/Assets/LiveOpsExamples/Editor/CozyCollectorBake.Assets.cs.meta
deleted file mode 100644
index ca1eafa..0000000
--- a/Assets/LiveOpsExamples/Editor/CozyCollectorBake.Assets.cs.meta
+++ /dev/null
@@ -1,2 +0,0 @@
-fileFormatVersion: 2
-guid: 640a29c33f5384caebacc7de21235ab8
\ No newline at end of file
diff --git a/Assets/LiveOpsExamples/Editor/CozyCollectorBake.Prefabs.cs b/Assets/LiveOpsExamples/Editor/CozyCollectorBake.Prefabs.cs
deleted file mode 100644
index b243ac9..0000000
--- a/Assets/LiveOpsExamples/Editor/CozyCollectorBake.Prefabs.cs
+++ /dev/null
@@ -1,166 +0,0 @@
-using System.IO;
-using LiveOpsExamples;
-using TMPro;
-using UnityEditor;
-using UnityEngine;
-
-namespace LiveOpsExamples.Editor
-{
- ///
- /// Bakes the Cozy Collector gameplay prefabs. Idempotent: every prefab is
- /// rebuilt from code and saved over the same fixed asset path.
- ///
- public static partial class CozyCollectorBake
- {
- private const string PrefabFolderPath = "Assets/LiveOpsExamples/Prefabs";
- private const string SnackSpritePath = "Assets/LiveOpsExamples/Sprites/snack.png";
-
- private static readonly Color AccentColor = ParseHexColor("#FFD27D");
-
- [MenuItem("Tools/LiveOps/Bake Cozy Collector Prefabs")]
- public static void BakePrefabs()
- {
- EnsureAssetFolder(PrefabFolderPath);
-
- SaveBakedPrefab(BuildSnackPrefab(), $"{PrefabFolderPath}/Snack.prefab");
- SaveBakedPrefab(BuildScorePopupPrefab(), $"{PrefabFolderPath}/ScorePopup.prefab");
- SaveBakedPrefab(BuildCollectBurstPrefab(), $"{PrefabFolderPath}/CollectBurst.prefab");
-
- AssetDatabase.SaveAssets();
- Debug.Log($"Cozy Collector prefabs baked under {PrefabFolderPath}");
- }
-
- private static GameObject BuildSnackPrefab()
- {
- var go = new GameObject("Snack");
-
- var collider = go.AddComponent();
- collider.isTrigger = true;
- collider.radius = 0.3f;
-
- var renderer = go.AddComponent();
- var sprite = AssetDatabase.LoadAssetAtPath(SnackSpritePath);
- if (sprite == null)
- {
- Debug.LogError($"CozyCollectorBake: sprite not found at {SnackSpritePath}");
- }
- else
- {
- renderer.sprite = sprite;
- // Phaser setDisplaySize(52, 52) at 100 PPU -> 0.52 x 0.52 world units.
- var scale = new Vector3(
- 0.52f / sprite.bounds.size.x,
- 0.52f / sprite.bounds.size.y,
- 1f);
- go.transform.localScale = scale;
- // Phaser pickup radius = 0.42 * 52px ~= 0.22 world units; a circle
- // collider's world radius scales by the largest transform axis.
- collider.radius = 0.22f / Mathf.Max(scale.x, scale.y);
- }
-
- go.AddComponent();
- return go;
- }
-
- private static GameObject BuildScorePopupPrefab()
- {
- var go = new GameObject("ScorePopup");
-
- var label = go.AddComponent();
- AssignDefaultFont(label);
- label.text = "+10";
- label.fontSize = 2.5f;
- label.alignment = TextAlignmentOptions.Center;
- label.color = Color.white;
-
- var view = go.AddComponent();
- WireObjectFields(view, ("label", label));
- return go;
- }
-
- private static GameObject BuildCollectBurstPrefab()
- {
- var go = new GameObject("CollectBurst");
- var particles = go.AddComponent();
-
- var main = particles.main;
- main.duration = 0.5f;
- main.loop = false;
- main.playOnAwake = true;
- main.startLifetime = 0.45f;
- main.startSpeed = 2f;
- main.startSize = 0.15f;
- main.gravityModifier = 0f;
- main.startColor = AccentColor;
- main.stopAction = ParticleSystemStopAction.Destroy;
-
- var emission = particles.emission;
- emission.rateOverTime = 0f;
- emission.SetBursts(new[] { new ParticleSystem.Burst(0f, 9) });
-
- var shape = particles.shape;
- shape.shapeType = ParticleSystemShapeType.Sphere;
- shape.radius = 0.1f;
-
- var renderer = particles.GetComponent();
- renderer.renderMode = ParticleSystemRenderMode.Billboard;
- var material = AssetDatabase.GetBuiltinExtraResource("Default-Particle.mat");
- if (material == null)
- material = AssetDatabase.GetBuiltinExtraResource("Sprites-Default.mat");
- if (material == null)
- Debug.LogWarning("CozyCollectorBake: no builtin particle material resolved, assign one manually.");
- else
- renderer.sharedMaterial = material;
-
- return go;
- }
-
- private static Color ParseHexColor(string hex)
- {
- return ColorUtility.TryParseHtmlString(hex, out var color) ? color : Color.magenta;
- }
-
- private static void EnsureAssetFolder(string folderPath)
- {
- if (AssetDatabase.IsValidFolder(folderPath))
- return;
-
- var parent = Path.GetDirectoryName(folderPath)?.Replace('\\', '/');
- if (!string.IsNullOrEmpty(parent))
- EnsureAssetFolder(parent);
- AssetDatabase.CreateFolder(parent, Path.GetFileName(folderPath));
- }
-
- private static void SaveBakedPrefab(GameObject go, string path)
- {
- PrefabUtility.SaveAsPrefabAsset(go, path);
- Object.DestroyImmediate(go);
- }
-
- private static void WireObjectFields(Object component, params (string Field, Object Value)[] fields)
- {
- var serialized = new SerializedObject(component);
- foreach (var (field, value) in fields)
- {
- var property = serialized.FindProperty(field);
- if (property == null)
- {
- Debug.LogError($"CozyCollectorBake: field '{field}' not found on {component.GetType().Name}");
- continue;
- }
-
- property.objectReferenceValue = value;
- }
-
- serialized.ApplyModifiedPropertiesWithoutUndo();
- }
-
- private static void AssignDefaultFont(TMP_Text text)
- {
- if (TMP_Settings.defaultFontAsset != null)
- text.font = TMP_Settings.defaultFontAsset;
- else
- Debug.LogWarning("CozyCollectorBake: TMP default font asset is not set, assign a font manually.");
- }
- }
-}
diff --git a/Assets/LiveOpsExamples/Editor/CozyCollectorBake.Prefabs.cs.meta b/Assets/LiveOpsExamples/Editor/CozyCollectorBake.Prefabs.cs.meta
deleted file mode 100644
index 7d0bebc..0000000
--- a/Assets/LiveOpsExamples/Editor/CozyCollectorBake.Prefabs.cs.meta
+++ /dev/null
@@ -1,2 +0,0 @@
-fileFormatVersion: 2
-guid: 5d0f038b4a90c45a8a95bf4f37221e78
\ No newline at end of file
diff --git a/Assets/LiveOpsExamples/Editor/CozyCollectorBake.Scene.cs b/Assets/LiveOpsExamples/Editor/CozyCollectorBake.Scene.cs
deleted file mode 100644
index 4d4e338..0000000
--- a/Assets/LiveOpsExamples/Editor/CozyCollectorBake.Scene.cs
+++ /dev/null
@@ -1,258 +0,0 @@
-using System.Collections.Generic;
-using RudderSdk.Unity;
-using UnityEditor;
-using UnityEditor.SceneManagement;
-using UnityEngine;
-
-namespace LiveOpsExamples.Editor
-{
- ///
- /// Bakes the Cozy Collector demo scene (world + camera + game setup) and saves it
- /// to . UI is built by the CozyCollectorBake.Ui part.
- /// Re-running overwrites the same scene asset.
- ///
- public static partial class CozyCollectorBake
- {
- private const string ScenePath = "Assets/LiveOpsExamples/LiveOpsCozyCollector.unity";
- private const string BackgroundSpritePath = "Assets/LiveOpsExamples/Sprites/cozy-camp-bg.png";
- private const string PlayerSpritePath = "Assets/LiveOpsExamples/Sprites/player.png";
- private const string ConfigurationPath = "Assets/LiveOpsLocal.asset";
- private const string SpriteLibraryPath = "Assets/LiveOpsExamples/CozyCollectorSpriteLibrary.asset";
- private const string SnackPrefabPath = "Assets/LiveOpsExamples/Prefabs/Snack.prefab";
- private const string ScorePopupPrefabPath = "Assets/LiveOpsExamples/Prefabs/ScorePopup.prefab";
- private const string CollectBurstPrefabPath = "Assets/LiveOpsExamples/Prefabs/CollectBurst.prefab";
-
- // The Phaser field is 1280x720 px at 100 PPU -> 12.8x7.2 world units.
- private const float FieldWidthUnits = 12.8f;
- private const float FieldHeightUnits = 7.2f;
-
- private static readonly Color CameraBackgroundColor = new Color(0.10f, 0.08f, 0.13f);
-
- [MenuItem("Tools/LiveOps/Bake Cozy Collector (All)")]
- public static void BakeAll()
- {
- BakeAssets();
- BakePrefabs();
- BakeScene();
- AssetDatabase.SaveAssets();
- }
-
- [MenuItem("Tools/LiveOps/Bake Cozy Collector Scene")]
- public static void BakeScene()
- {
- var scene = EditorSceneManager.NewScene(NewSceneSetup.EmptyScene, NewSceneMode.Single);
-
- BuildSceneCamera();
- BuildSceneBackground();
-
- var world = BuildSceneWorld(out var playerRenderer, out var spawner, out var snacksParent);
- var controller = BuildSceneGameSetup(world);
-
- WireSceneWorld(world, playerRenderer, spawner, controller);
- WireSceneSpawner(spawner, snacksParent);
-
- BuildUi(controller, world);
-
- EditorSceneManager.SaveScene(scene, ScenePath);
- AddSceneToBuildSettings();
- AssetDatabase.SaveAssets();
-
- Debug.Log($"[CozyCollectorBake] Scene saved to {ScenePath}.");
- }
-
- private static void BuildSceneCamera()
- {
- var cameraGo = new GameObject("Main Camera");
- cameraGo.tag = "MainCamera";
- cameraGo.transform.position = new Vector3(0f, 0f, -10f);
-
- var camera = cameraGo.AddComponent();
- camera.orthographic = true;
- camera.orthographicSize = FieldHeightUnits / 2f;
- camera.clearFlags = CameraClearFlags.SolidColor;
- camera.backgroundColor = CameraBackgroundColor;
- // Game field occupies the left 75% of the screen; the right side hosts the UI rail.
- camera.rect = new Rect(0f, 0f, 0.75f, 1f);
- }
-
- private static void BuildSceneBackground()
- {
- var backgroundGo = new GameObject("Background");
- var renderer = backgroundGo.AddComponent();
- renderer.sortingOrder = -10;
-
- var sprite = AssetDatabase.LoadAssetAtPath(BackgroundSpritePath);
- if (sprite == null)
- {
- Debug.LogError($"[CozyCollectorBake] Background sprite not found at {BackgroundSpritePath}.");
- return;
- }
-
- renderer.sprite = sprite;
- var size = sprite.bounds.size;
- backgroundGo.transform.localScale = new Vector3(
- size.x > 0f ? FieldWidthUnits / size.x : 1f,
- size.y > 0f ? FieldHeightUnits / size.y : 1f,
- 1f);
- }
-
- private static GameWorld BuildSceneWorld(
- out SpriteRenderer playerRenderer,
- out SnackSpawner spawner,
- out Transform snacksParent)
- {
- var worldGo = new GameObject("World");
- var world = worldGo.AddComponent();
-
- var playerGo = new GameObject("Player");
- playerGo.transform.SetParent(worldGo.transform, false);
- playerRenderer = playerGo.AddComponent();
- playerRenderer.sprite = AssetDatabase.LoadAssetAtPath(PlayerSpritePath);
-
- var colliderRadius = 0.3f;
- if (playerRenderer.sprite == null)
- {
- Debug.LogError($"[CozyCollectorBake] Player sprite not found at {PlayerSpritePath}.");
- }
- else
- {
- // Phaser setDisplaySize(82, 108) at 100 PPU -> 0.82 x 1.08 world units.
- var bounds = playerRenderer.sprite.bounds.size;
- var scale = new Vector3(0.82f / bounds.x, 1.08f / bounds.y, 1f);
- playerGo.transform.localScale = scale;
- // Phaser body is ~0.45x0.55 world units; a circle collider's world
- // radius scales by the largest transform axis.
- colliderRadius = 0.24f / Mathf.Max(scale.x, scale.y);
- }
-
- var body = playerGo.AddComponent();
- body.bodyType = RigidbodyType2D.Kinematic;
- body.simulated = true;
- body.gravityScale = 0f;
-
- // Non-trigger collider so the snacks' trigger colliders fire OnTriggerEnter2D.
- var collider = playerGo.AddComponent();
- collider.radius = colliderRadius;
- collider.isTrigger = false;
-
- var snacksGo = new GameObject("Snacks");
- snacksGo.transform.SetParent(worldGo.transform, false);
- snacksParent = snacksGo.transform;
-
- var spawnerGo = new GameObject("Spawner");
- spawnerGo.transform.SetParent(worldGo.transform, false);
- spawner = spawnerGo.AddComponent();
-
- return world;
- }
-
- private static CozyCollectorController BuildSceneGameSetup(GameWorld world)
- {
- var setupGo = new GameObject("GameSetup");
-
- var rudder = setupGo.AddComponent();
- var configuration = AssetDatabase.LoadAssetAtPath(ConfigurationPath);
- if (configuration == null)
- {
- Debug.LogError($"[CozyCollectorBake] RudderConfiguration not found at {ConfigurationPath}.");
- }
- else
- {
- SetSceneReference(rudder, "_configuration", configuration);
- }
-
- var controller = setupGo.AddComponent();
- SetSceneReference(controller, "world", world);
- return controller;
- }
-
- private static void WireSceneWorld(
- GameWorld world,
- SpriteRenderer playerRenderer,
- SnackSpawner spawner,
- CozyCollectorController controller)
- {
- SetSceneReference(world, "player", playerRenderer);
- SetSceneReference(world, "spawner", spawner);
- SetSceneReference(world, "controller", controller);
- // moveMin/moveMax keep the component defaults (-6,-3.2)/(6,3.2).
-
- var scorePopupPrefab = LoadScenePrefabComponent(ScorePopupPrefabPath);
- if (scorePopupPrefab != null)
- {
- SetSceneReference(world, "scorePopupPrefab", scorePopupPrefab);
- }
-
- var collectBurstPrefab = LoadScenePrefabComponent(CollectBurstPrefabPath);
- if (collectBurstPrefab != null)
- {
- SetSceneReference(world, "collectBurstPrefab", collectBurstPrefab);
- }
- }
-
- private static void WireSceneSpawner(SnackSpawner spawner, Transform snacksParent)
- {
- var snackPrefab = LoadScenePrefabComponent(SnackPrefabPath);
- if (snackPrefab != null)
- {
- SetSceneReference(spawner, "prefab", snackPrefab);
- }
-
- var library = AssetDatabase.LoadAssetAtPath(SpriteLibraryPath);
- if (library == null)
- {
- Debug.LogError($"[CozyCollectorBake] Sprite library not found at {SpriteLibraryPath}. " +
- "Run Tools/LiveOps/Bake Cozy Collector (All) first.");
- }
- else
- {
- SetSceneReference(spawner, "library", library);
- }
-
- SetSceneReference(spawner, "parent", snacksParent);
- // spawnMin/spawnMax keep the component defaults.
- }
-
- private static void AddSceneToBuildSettings()
- {
- var scenes = new List(EditorBuildSettings.scenes);
- foreach (var entry in scenes)
- {
- if (entry.path == ScenePath)
- {
- return;
- }
- }
-
- scenes.Add(new EditorBuildSettingsScene(ScenePath, true));
- EditorBuildSettings.scenes = scenes.ToArray();
- }
-
- private static T LoadScenePrefabComponent(string path) where T : Component
- {
- var prefab = AssetDatabase.LoadAssetAtPath(path);
- var component = prefab != null ? prefab.GetComponent() : null;
- if (component == null)
- {
- Debug.LogError($"[CozyCollectorBake] Prefab with {typeof(T).Name} not found at {path}. " +
- "Run Tools/LiveOps/Bake Cozy Collector (All) first; the scene is saved with empty references.");
- }
-
- return component;
- }
-
- private static void SetSceneReference(Object target, string propertyName, Object value)
- {
- var serialized = new SerializedObject(target);
- var property = serialized.FindProperty(propertyName);
- if (property == null)
- {
- Debug.LogError($"[CozyCollectorBake] Property '{propertyName}' not found on {target.GetType().Name}.");
- return;
- }
-
- property.objectReferenceValue = value;
- serialized.ApplyModifiedPropertiesWithoutUndo();
- }
- }
-}
diff --git a/Assets/LiveOpsExamples/Editor/CozyCollectorBake.Scene.cs.meta b/Assets/LiveOpsExamples/Editor/CozyCollectorBake.Scene.cs.meta
deleted file mode 100644
index 9ce19b4..0000000
--- a/Assets/LiveOpsExamples/Editor/CozyCollectorBake.Scene.cs.meta
+++ /dev/null
@@ -1,2 +0,0 @@
-fileFormatVersion: 2
-guid: 9b06747933b8c458b8262e8516634b14
\ No newline at end of file
diff --git a/Assets/LiveOpsExamples/Editor/CozyCollectorBake.Ui.cs b/Assets/LiveOpsExamples/Editor/CozyCollectorBake.Ui.cs
deleted file mode 100644
index f5b03ab..0000000
--- a/Assets/LiveOpsExamples/Editor/CozyCollectorBake.Ui.cs
+++ /dev/null
@@ -1,144 +0,0 @@
-using System;
-using System.Reflection;
-using LiveOpsExamples;
-using UnityEditor;
-using UnityEngine;
-using UnityEngine.UIElements;
-using Object = UnityEngine.Object;
-
-namespace LiveOpsExamples.Editor
-{
- ///
- /// Builds the Cozy Collector UI: a GameObject with a PanelRenderer (PanelSettings +
- /// CozyCollectorUI.uxml) and all panel components wired through serialized
- /// references. The PanelSettings asset is created programmatically when missing.
- /// Called from .
- ///
- public static partial class CozyCollectorBake
- {
- private const string UiFolderPath = "Assets/LiveOpsExamples/UI";
- private const string UiPanelSettingsPath = UiFolderPath + "/CozyCollectorPanelSettings.asset";
- private const string UiDocumentAssetPath = UiFolderPath + "/CozyCollectorUI.uxml";
- private const string UiLogRowTemplatePath = UiFolderPath + "/LogRow.uxml";
- private const string UiToastTemplatePath = UiFolderPath + "/ToastRow.uxml";
- private const string UiShopOfferRowTemplatePath = UiFolderPath + "/ShopOfferRow.uxml";
- private const string UiBackpackItemRowTemplatePath = UiFolderPath + "/BackpackItemRow.uxml";
- private const string UiLeaderboardRowTemplatePath = UiFolderPath + "/LeaderboardRow.uxml";
-
- private static void BuildUi(CozyCollectorController controller, GameWorld world)
- {
- var panelSettings = GetOrCreatePanelSettings();
- var visualTree = LoadUiAsset(UiDocumentAssetPath);
-
- var uiGo = new GameObject("UI");
- var panelRenderer = uiGo.AddComponent();
- panelRenderer.panelSettings = panelSettings;
- if (visualTree != null)
- {
- panelRenderer.visualTreeAsset = visualTree;
- }
-
- WirePanel(uiGo.AddComponent(), panelRenderer, controller);
- WirePanel(uiGo.AddComponent(), panelRenderer, controller);
-
- var eventInspector = uiGo.AddComponent();
- WirePanel(eventInspector, panelRenderer, controller);
- WireTemplate(eventInspector, "logRowTemplate", UiLogRowTemplatePath);
-
- var hud = uiGo.AddComponent();
- WirePanel(hud, panelRenderer, controller);
- SetSceneReference(hud, "world", world);
-
- var toasts = uiGo.AddComponent();
- WirePanel(toasts, panelRenderer, controller);
- WireTemplate(toasts, "toastTemplate", UiToastTemplatePath);
-
- WirePanel(uiGo.AddComponent(), panelRenderer, controller);
- WirePanel(uiGo.AddComponent(), panelRenderer, controller);
-
- var shop = uiGo.AddComponent();
- WirePanel(shop, panelRenderer, controller);
- WireTemplate(shop, "shopOfferRowTemplate", UiShopOfferRowTemplatePath);
-
- var backpack = uiGo.AddComponent();
- WirePanel(backpack, panelRenderer, controller);
- WireTemplate(backpack, "backpackItemRowTemplate", UiBackpackItemRowTemplatePath);
- var spriteLibrary = AssetDatabase.LoadAssetAtPath(SpriteLibraryPath);
- if (spriteLibrary == null)
- {
- Debug.LogError($"[CozyCollectorBake] Sprite library not found at {SpriteLibraryPath}. " +
- "Run Tools/LiveOps/Bake Cozy Collector (All) first.");
- }
- else
- {
- SetSceneReference(backpack, "spriteLibrary", spriteLibrary);
- }
-
- WirePanel(uiGo.AddComponent(), panelRenderer, controller);
-
- var roundResult = uiGo.AddComponent();
- WirePanel(roundResult, panelRenderer, controller);
- WireTemplate(roundResult, "leaderboardRowTemplate", UiLeaderboardRowTemplatePath);
- }
-
- private static void WirePanel(MonoBehaviour panel, PanelRenderer panelRenderer, CozyCollectorController controller)
- {
- SetSceneReference(panel, "panelRenderer", panelRenderer);
- SetSceneReference(panel, "controller", controller);
- }
-
- private static void WireTemplate(MonoBehaviour panel, string fieldName, string templatePath)
- {
- var template = LoadUiAsset(templatePath);
- if (template != null)
- {
- SetSceneReference(panel, fieldName, template);
- }
- }
-
- private static T LoadUiAsset(string path) where T : Object
- {
- var asset = AssetDatabase.LoadAssetAtPath(path);
- if (asset == null)
- {
- Debug.LogError($"[CozyCollectorBake] {typeof(T).Name} not found at {path}. " +
- "The scene is saved with an empty reference.");
- }
-
- return asset;
- }
-
- private static PanelSettings GetOrCreatePanelSettings()
- {
- var settings = AssetDatabase.LoadAssetAtPath(UiPanelSettingsPath);
- if (settings != null)
- {
- return settings;
- }
-
- EnsureAssetFolder(UiFolderPath);
-
- settings = ScriptableObject.CreateInstance();
- settings.scaleMode = PanelScaleMode.ScaleWithScreenSize;
- settings.referenceResolution = new Vector2Int(1600, 900);
- settings.screenMatchMode = PanelScreenMatchMode.MatchWidthOrHeight;
- settings.match = 0.5f;
-
- var defaultTheme = LoadDefaultRuntimeTheme();
- if (defaultTheme != null)
- {
- settings.themeStyleSheet = defaultTheme;
- }
-
- AssetDatabase.CreateAsset(settings, UiPanelSettingsPath);
- return settings;
- }
-
- private static ThemeStyleSheet LoadDefaultRuntimeTheme()
- {
- var themeUtility = Type.GetType("UnityEditor.UIElements.ThemeUtility, UnityEditor.UIElementsModule");
- var property = themeUtility?.GetProperty("builtInDefaultRuntimeTheme", BindingFlags.Static | BindingFlags.NonPublic);
- return property?.GetValue(null) as ThemeStyleSheet;
- }
- }
-}
diff --git a/Assets/LiveOpsExamples/Editor/CozyCollectorBake.Ui.cs.meta b/Assets/LiveOpsExamples/Editor/CozyCollectorBake.Ui.cs.meta
deleted file mode 100644
index a15e4ea..0000000
--- a/Assets/LiveOpsExamples/Editor/CozyCollectorBake.Ui.cs.meta
+++ /dev/null
@@ -1,2 +0,0 @@
-fileFormatVersion: 2
-guid: 4ffeef7dc98af46a8b8bf186f4e2073b
\ No newline at end of file
diff --git a/Assets/LiveOpsExamples/LiveOpsCozyCollector.unity b/Assets/LiveOpsExamples/LiveOpsCozyCollector.unity
deleted file mode 100644
index 76f882e..0000000
--- a/Assets/LiveOpsExamples/LiveOpsCozyCollector.unity
+++ /dev/null
@@ -1,950 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!29 &1
-OcclusionCullingSettings:
- m_ObjectHideFlags: 0
- serializedVersion: 2
- m_OcclusionBakeSettings:
- smallestOccluder: 5
- smallestHole: 0.25
- backfaceThreshold: 100
- m_SceneGUID: 00000000000000000000000000000000
- m_OcclusionCullingData: {fileID: 0}
---- !u!104 &2
-RenderSettings:
- m_ObjectHideFlags: 0
- serializedVersion: 10
- m_Fog: 0
- m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
- m_FogMode: 3
- m_FogDensity: 0.01
- m_LinearFogStart: 0
- m_LinearFogEnd: 300
- m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
- m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
- m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
- m_AmbientIntensity: 1
- m_AmbientMode: 0
- m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
- m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
- m_HaloStrength: 0.5
- m_FlareStrength: 1
- m_FlareFadeSpeed: 3
- m_HaloTexture: {fileID: 0}
- m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
- m_DefaultReflectionMode: 0
- m_DefaultReflectionResolution: 128
- m_ReflectionBounces: 1
- m_ReflectionIntensity: 1
- m_CustomReflection: {fileID: 0}
- m_Sun: {fileID: 0}
- m_UseRadianceAmbientProbe: 0
---- !u!157 &3
-LightmapSettings:
- m_ObjectHideFlags: 0
- serializedVersion: 13
- m_BakeOnSceneLoad: 0
- m_GISettings:
- serializedVersion: 2
- m_BounceScale: 1
- m_IndirectOutputScale: 1
- m_AlbedoBoost: 1
- m_EnvironmentLightingMode: 0
- m_EnableBakedLightmaps: 1
- m_EnableRealtimeLightmaps: 0
- m_LightmapEditorSettings:
- serializedVersion: 12
- m_Resolution: 2
- m_BakeResolution: 40
- m_AtlasSize: 1024
- m_AO: 0
- m_AOMaxDistance: 1
- m_CompAOExponent: 1
- m_CompAOExponentDirect: 0
- m_ExtractAmbientOcclusion: 0
- m_Padding: 2
- m_LightmapParameters: {fileID: 0}
- m_LightmapsBakeMode: 1
- m_TextureCompression: 1
- m_ReflectionCompression: 2
- m_MixedBakeMode: 2
- m_BakeBackend: 2
- m_PVRSampling: 1
- m_PVRDirectSampleCount: 32
- m_PVRSampleCount: 512
- m_PVRBounces: 2
- m_PVREnvironmentSampleCount: 256
- m_PVREnvironmentReferencePointCount: 2048
- m_PVRFilteringMode: 1
- m_PVRDenoiserTypeDirect: 1
- m_PVRDenoiserTypeIndirect: 1
- m_PVRDenoiserTypeAO: 1
- m_PVRFilterTypeDirect: 0
- m_PVRFilterTypeIndirect: 0
- m_PVRFilterTypeAO: 0
- m_PVREnvironmentMIS: 1
- m_PVRCulling: 1
- m_PVRFilteringGaussRadiusDirect: 1
- m_PVRFilteringGaussRadiusIndirect: 1
- m_PVRFilteringGaussRadiusAO: 1
- m_PVRFilteringAtrousPositionSigmaDirect: 0.5
- m_PVRFilteringAtrousPositionSigmaIndirect: 2
- m_PVRFilteringAtrousPositionSigmaAO: 1
- m_ExportTrainingData: 0
- m_TrainingDataDestination: TrainingData
- m_LightProbeSampleCountMultiplier: 4
- m_LightingDataAsset: {fileID: 20201, guid: 0000000000000000f000000000000000, type: 0}
- m_LightingSettings: {fileID: 0}
---- !u!196 &4
-NavMeshSettings:
- serializedVersion: 2
- m_ObjectHideFlags: 0
- m_BuildSettings:
- serializedVersion: 3
- agentTypeID: 0
- agentRadius: 0.5
- agentHeight: 2
- agentSlope: 45
- agentClimb: 0.4
- ledgeDropHeight: 0
- maxJumpAcrossDistance: 0
- minRegionArea: 2
- manualCellSize: 0
- cellSize: 0.16666667
- manualTileSize: 0
- tileSize: 256
- buildHeightMesh: 0
- maxJobWorkers: 0
- preserveTilesOutsideBounds: 0
- debug:
- m_Flags: 0
- m_NavMeshData: {fileID: 0}
---- !u!1 &329179444
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 329179445}
- m_Layer: 0
- m_Name: Snacks
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!4 &329179445
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 329179444}
- serializedVersion: 2
- m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
- m_LocalPosition: {x: 0, y: 0, z: 0}
- m_LocalScale: {x: 1, y: 1, z: 1}
- m_ConstrainProportionsScale: 0
- m_Children: []
- m_Father: {fileID: 616881063}
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!1 &616881061
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 616881063}
- - component: {fileID: 616881062}
- m_Layer: 0
- m_Name: World
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!114 &616881062
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 616881061}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 952f52af0af8546eeab332b11e2e4bb7, type: 3}
- m_Name:
- m_EditorClassIdentifier: Assembly-CSharp::LiveOpsExamples.GameWorld
- player: {fileID: 1781499121}
- spawner: {fileID: 1544944037}
- controller: {fileID: 853162496}
- scorePopupPrefab: {fileID: 2163815420330336319, guid: 77687e92645dc450d8f79fbb91face30,
- type: 3}
- collectBurstPrefab: {fileID: 4700352299658891627, guid: 9f08d0082395f4a36b1a41e5e929c33f,
- type: 3}
- moveMin: {x: -6, y: -3.2}
- moveMax: {x: 6, y: 3.2}
---- !u!4 &616881063
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 616881061}
- serializedVersion: 2
- m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
- m_LocalPosition: {x: 0, y: 0, z: 0}
- m_LocalScale: {x: 1, y: 1, z: 1}
- m_ConstrainProportionsScale: 0
- m_Children:
- - {fileID: 1781499118}
- - {fileID: 329179445}
- - {fileID: 1544944038}
- m_Father: {fileID: 0}
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!1 &853162495
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 853162498}
- - component: {fileID: 853162497}
- - component: {fileID: 853162496}
- m_Layer: 0
- m_Name: GameSetup
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!114 &853162496
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 853162495}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 05ab47060c2ef4476800002c4a956b85, type: 3}
- m_Name:
- m_EditorClassIdentifier: Assembly-CSharp::LiveOpsExamples.CozyCollectorController
- world: {fileID: 616881062}
---- !u!114 &853162497
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 853162495}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: efb778515f4ca44289f365faa2acecd7, type: 3}
- m_Name:
- m_EditorClassIdentifier: Rudder.Unity::RudderSdk.Unity.Rudder
- _configuration: {fileID: 11400000, guid: 98d531126f0d748ceacfb85bdd959e81, type: 2}
---- !u!4 &853162498
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 853162495}
- serializedVersion: 2
- m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
- m_LocalPosition: {x: 0, y: 0, z: 0}
- m_LocalScale: {x: 1, y: 1, z: 1}
- m_ConstrainProportionsScale: 0
- m_Children: []
- m_Father: {fileID: 0}
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!1 &865861683
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 865861685}
- - component: {fileID: 865861684}
- m_Layer: 0
- m_Name: Main Camera
- m_TagString: MainCamera
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!20 &865861684
-Camera:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 865861683}
- m_Enabled: 1
- serializedVersion: 2
- m_ClearFlags: 2
- m_BackGroundColor: {r: 0.1, g: 0.08, b: 0.13, a: 1}
- m_projectionMatrixMode: 1
- m_GateFitMode: 2
- m_FOVAxisMode: 0
- m_Iso: 200
- m_ShutterSpeed: 0.005
- m_Aperture: 16
- m_FocusDistance: 10
- m_FocalLength: 50
- m_BladeCount: 5
- m_Curvature: {x: 2, y: 11}
- m_BarrelClipping: 0.25
- m_Anamorphism: 0
- m_SensorSize: {x: 36, y: 24}
- m_LensShift: {x: 0, y: 0}
- m_NormalizedViewPortRect:
- serializedVersion: 2
- x: 0
- y: 0
- width: 0.75
- height: 1
- near clip plane: 0.3
- far clip plane: 1000
- field of view: 60
- orthographic: 1
- orthographic size: 3.6
- m_Depth: 0
- m_CullingMask:
- serializedVersion: 2
- m_Bits: 4294967295
- m_RenderingPath: -1
- m_TargetTexture: {fileID: 0}
- m_TargetDisplay: 0
- m_TargetEye: 3
- m_HDR: 1
- m_AllowMSAA: 1
- m_AllowDynamicResolution: 0
- m_ForceIntoRT: 0
- m_OcclusionCulling: 1
- m_StereoConvergence: 10
- m_StereoSeparation: 0.022
---- !u!4 &865861685
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 865861683}
- serializedVersion: 2
- m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
- m_LocalPosition: {x: 0, y: 0, z: -10}
- m_LocalScale: {x: 1, y: 1, z: 1}
- m_ConstrainProportionsScale: 0
- m_Children: []
- m_Father: {fileID: 0}
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!1 &1077348680
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 1077348682}
- - component: {fileID: 1077348681}
- m_Layer: 0
- m_Name: Background
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!212 &1077348681
-SpriteRenderer:
- serializedVersion: 3
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1077348680}
- m_Enabled: 1
- m_CastShadows: 0
- m_ReceiveShadows: 0
- m_DynamicOccludee: 1
- m_StaticShadowCaster: 0
- m_MotionVectors: 1
- m_LightProbeUsage: 1
- m_ReflectionProbeUsage: 1
- m_RayTracingMode: 0
- m_RayTraceProcedural: 0
- m_RayTracingAccelStructBuildFlagsOverride: 0
- m_RayTracingAccelStructBuildFlags: 1
- m_SmallMeshCulling: 1
- m_ForceMeshLod: -1
- m_MeshLodSelectionBias: 0
- m_RenderingLayerMask: 1
- m_RendererPriority: 0
- m_Materials:
- - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
- m_StaticBatchInfo:
- firstSubMesh: 0
- subMeshCount: 0
- m_StaticBatchRoot: {fileID: 0}
- m_ProbeAnchor: {fileID: 0}
- m_LightProbeVolumeOverride: {fileID: 0}
- m_ScaleInLightmap: 1
- m_ReceiveGI: 1
- m_PreserveUVs: 0
- m_IgnoreNormalsForChartDetection: 0
- m_ImportantGI: 0
- m_StitchLightmapSeams: 1
- m_SelectedEditorRenderState: 0
- m_MinimumChartSize: 4
- m_AutoUVMaxDistance: 0.5
- m_AutoUVMaxAngle: 89
- m_LightmapParameters: {fileID: 0}
- m_GlobalIlluminationMeshLod: 0
- m_SortingLayerID: 0
- m_SortingLayer: 0
- m_SortingOrder: -10
- m_MaskInteraction: 0
- m_Sprite: {fileID: 21300000, guid: e8139865590c408789e137275b78e239, type: 3}
- m_Color: {r: 1, g: 1, b: 1, a: 1}
- m_FlipX: 0
- m_FlipY: 0
- m_DrawMode: 0
- m_Size: {x: 16.72, y: 9.41}
- m_AdaptiveModeThreshold: 0.5
- m_SpriteTileMode: 0
- m_WasSpriteAssigned: 1
- m_SpriteSortPoint: 0
- m_BlendShapeWeights: []
---- !u!4 &1077348682
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1077348680}
- serializedVersion: 2
- m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
- m_LocalPosition: {x: 0, y: 0, z: 0}
- m_LocalScale: {x: 0.76555026, y: 0.76514345, z: 1}
- m_ConstrainProportionsScale: 0
- m_Children: []
- m_Father: {fileID: 0}
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!1 &1544944036
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 1544944038}
- - component: {fileID: 1544944037}
- m_Layer: 0
- m_Name: Spawner
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!114 &1544944037
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1544944036}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: ec58b83d93d5b435abaaa64ecc05fe1a, type: 3}
- m_Name:
- m_EditorClassIdentifier: Assembly-CSharp::LiveOpsExamples.SnackSpawner
- prefab: {fileID: 1945811876929841169, guid: b6f2ca858be534f3ab055e0b878ae13f, type: 3}
- library: {fileID: 11400000, guid: 06fcf2ebf537145de9bab548922829e1, type: 2}
- spawnMin: {x: -5.25, y: -2.65}
- spawnMax: {x: 5.25, y: 2.42}
- parent: {fileID: 329179445}
---- !u!4 &1544944038
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1544944036}
- serializedVersion: 2
- m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
- m_LocalPosition: {x: 0, y: 0, z: 0}
- m_LocalScale: {x: 1, y: 1, z: 1}
- m_ConstrainProportionsScale: 0
- m_Children: []
- m_Father: {fileID: 616881063}
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!1 &1764811299
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 1764811312}
- - component: {fileID: 1764811311}
- - component: {fileID: 1764811310}
- - component: {fileID: 1764811309}
- - component: {fileID: 1764811308}
- - component: {fileID: 1764811307}
- - component: {fileID: 1764811306}
- - component: {fileID: 1764811305}
- - component: {fileID: 1764811304}
- - component: {fileID: 1764811303}
- - component: {fileID: 1764811302}
- - component: {fileID: 1764811301}
- - component: {fileID: 1764811300}
- - component: {fileID: 1764811313}
- m_Layer: 0
- m_Name: UI
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!114 &1764811300
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1764811299}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 6f3916e69e6ce4c78b909c659160ad95, type: 3}
- m_Name:
- m_EditorClassIdentifier: Assembly-CSharp::LiveOpsExamples.RoundResultModalPanel
- uiDocument: {fileID: 1764811311}
- controller: {fileID: 853162496}
- leaderboardRowTemplate: {fileID: 9197481963319205126, guid: e171bce5673384061b0cb20cbe5082d1,
- type: 3}
---- !u!114 &1764811301
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1764811299}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: b996708622cc54d328cac546b893e111, type: 3}
- m_Name:
- m_EditorClassIdentifier: Assembly-CSharp::LiveOpsExamples.OfferModalPanel
- uiDocument: {fileID: 1764811311}
- controller: {fileID: 853162496}
---- !u!114 &1764811302
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1764811299}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 0c73aae57f5c749b88f5bf2c22538af5, type: 3}
- m_Name:
- m_EditorClassIdentifier: Assembly-CSharp::LiveOpsExamples.BackpackModalPanel
- uiDocument: {fileID: 1764811311}
- controller: {fileID: 853162496}
- backpackItemRowTemplate: {fileID: 9197481963319205126, guid: 29a6c5a5b6bb94220b5c2378923d4047,
- type: 3}
- spriteLibrary: {fileID: 11400000, guid: 06fcf2ebf537145de9bab548922829e1, type: 2}
---- !u!114 &1764811303
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1764811299}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 36789e549043d400a92f3a84849b4038, type: 3}
- m_Name:
- m_EditorClassIdentifier: Assembly-CSharp::LiveOpsExamples.ShopModalPanel
- uiDocument: {fileID: 1764811311}
- controller: {fileID: 853162496}
- shopOfferRowTemplate: {fileID: 9197481963319205126, guid: 85424ff7d38f94ed08f809972c61617c,
- type: 3}
---- !u!114 &1764811304
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1764811299}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 6de014257693b4ced830566d18e49444, type: 3}
- m_Name:
- m_EditorClassIdentifier: Assembly-CSharp::LiveOpsExamples.SetupOverlayPanel
- uiDocument: {fileID: 1764811311}
- controller: {fileID: 853162496}
---- !u!114 &1764811305
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1764811299}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: f54172384bff5402686bb558e2abb5b7, type: 3}
- m_Name:
- m_EditorClassIdentifier: Assembly-CSharp::LiveOpsExamples.BootOverlayPanel
- uiDocument: {fileID: 1764811311}
- controller: {fileID: 853162496}
---- !u!114 &1764811306
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1764811299}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 57e0ed949960344bd80072dd54a52c4f, type: 3}
- m_Name:
- m_EditorClassIdentifier: Assembly-CSharp::LiveOpsExamples.ToastsPanel
- uiDocument: {fileID: 1764811311}
- controller: {fileID: 853162496}
- toastTemplate: {fileID: 9197481963319205126, guid: 3a2038228118b4a09a3a242b8a1fc1d4,
- type: 3}
---- !u!114 &1764811307
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1764811299}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 2e5e5cb2ad54545a6847ad8c90d1f7d8, type: 3}
- m_Name:
- m_EditorClassIdentifier: Assembly-CSharp::LiveOpsExamples.HudPanel
- uiDocument: {fileID: 1764811311}
- controller: {fileID: 853162496}
- world: {fileID: 616881062}
---- !u!114 &1764811308
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1764811299}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: a134e625b6e114c4b80b9f55a14e48b3, type: 3}
- m_Name:
- m_EditorClassIdentifier: Assembly-CSharp::LiveOpsExamples.EventInspectorPanel
- uiDocument: {fileID: 1764811311}
- controller: {fileID: 853162496}
- logRowTemplate: {fileID: 9197481963319205126, guid: 94171891e540744b3a0f55b254cbe18b,
- type: 3}
---- !u!114 &1764811309
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1764811299}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 1d57e6a031317461cb98e41f6940c8d3, type: 3}
- m_Name:
- m_EditorClassIdentifier: Assembly-CSharp::LiveOpsExamples.RemoteConfigPanel
- uiDocument: {fileID: 1764811311}
- controller: {fileID: 853162496}
---- !u!114 &1764811310
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1764811299}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 900b9e31987914b56a3bba037e2a830c, type: 3}
- m_Name:
- m_EditorClassIdentifier: Assembly-CSharp::LiveOpsExamples.SessionCardPanel
- uiDocument: {fileID: 1764811311}
- controller: {fileID: 853162496}
---- !u!114 &1764811311
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1764811299}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 19102, guid: 0000000000000000e000000000000000, type: 0}
- m_Name:
- m_EditorClassIdentifier: UnityEngine.dll::UnityEngine.UIElements.UIDocument
- m_PanelSettings: {fileID: 11400000, guid: 728073018ae96457c9d67e8cc2652ac8, type: 2}
- m_ParentUI: {fileID: 0}
- sourceAsset: {fileID: 9197481963319205126, guid: 766f5cae1f4354e20b4043cf1c6756bf,
- type: 3}
- m_SortingOrder: 0
- m_Position: 0
- m_WorldSpaceSizeMode: 1
- m_WorldSpaceWidth: 1920
- m_WorldSpaceHeight: 1080
- m_PivotReferenceSize: 0
- m_Pivot: 0
- m_WorldSpaceCollider: {fileID: 0}
---- !u!4 &1764811312
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1764811299}
- serializedVersion: 2
- m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
- m_LocalPosition: {x: 0, y: 0, z: 0}
- m_LocalScale: {x: 1, y: 1, z: 1}
- m_ConstrainProportionsScale: 0
- m_Children: []
- m_Father: {fileID: 0}
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!1931382934 &1764811313
-PanelRenderer:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1764811299}
- m_Enabled: 1
- m_CastShadows: 0
- m_ReceiveShadows: 0
- m_DynamicOccludee: 1
- m_StaticShadowCaster: 0
- m_MotionVectors: 1
- m_LightProbeUsage: 0
- m_ReflectionProbeUsage: 0
- m_RayTracingMode: 0
- m_RayTraceProcedural: 0
- m_RayTracingAccelStructBuildFlagsOverride: 0
- m_RayTracingAccelStructBuildFlags: 1
- m_SmallMeshCulling: 1
- m_ForceMeshLod: -1
- m_MeshLodSelectionBias: 0
- m_RenderingLayerMask: 1
- m_RendererPriority: 0
- m_Materials:
- - {fileID: 0}
- m_StaticBatchInfo:
- firstSubMesh: 0
- subMeshCount: 0
- m_StaticBatchRoot: {fileID: 0}
- m_ProbeAnchor: {fileID: 0}
- m_LightProbeVolumeOverride: {fileID: 0}
- m_ScaleInLightmap: 1
- m_ReceiveGI: 1
- m_PreserveUVs: 0
- m_IgnoreNormalsForChartDetection: 0
- m_ImportantGI: 0
- m_StitchLightmapSeams: 1
- m_SelectedEditorRenderState: 3
- m_MinimumChartSize: 4
- m_AutoUVMaxDistance: 0.5
- m_AutoUVMaxAngle: 89
- m_LightmapParameters: {fileID: 0}
- m_GlobalIlluminationMeshLod: 0
- m_SortingLayerID: 0
- m_SortingLayer: 0
- m_SortingOrder: 0
- m_MaskInteraction: 0
- serializedVersion: 1
- m_PanelSettings: {fileID: 11400000, guid: 728073018ae96457c9d67e8cc2652ac8, type: 2}
- sourceAsset: {fileID: 9197481963319205126, guid: 766f5cae1f4354e20b4043cf1c6756bf,
- type: 3}
- m_ParentUI: {fileID: 0}
- m_WorldSpaceSizeMode: 1
- m_WorldSpaceWidth: 1920
- m_WorldSpaceHeight: 1080
- m_PivotReferenceSize: 0
- m_Pivot: 0
- m_Position: 0
---- !u!1 &1781499117
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 1781499118}
- - component: {fileID: 1781499121}
- - component: {fileID: 1781499120}
- - component: {fileID: 1781499119}
- m_Layer: 0
- m_Name: Player
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!4 &1781499118
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1781499117}
- serializedVersion: 2
- m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
- m_LocalPosition: {x: 0, y: 0, z: 0}
- m_LocalScale: {x: 0.23768115, y: 0.24053454, z: 1}
- m_ConstrainProportionsScale: 0
- m_Children: []
- m_Father: {fileID: 616881063}
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!58 &1781499119
-CircleCollider2D:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1781499117}
- m_Enabled: 1
- serializedVersion: 3
- m_Density: 1
- m_Material: {fileID: 0}
- m_IncludeLayers:
- serializedVersion: 2
- m_Bits: 0
- m_ExcludeLayers:
- serializedVersion: 2
- m_Bits: 0
- m_LayerOverridePriority: 0
- m_ForceSendLayers:
- serializedVersion: 2
- m_Bits: 4294967295
- m_ForceReceiveLayers:
- serializedVersion: 2
- m_Bits: 4294967295
- m_ContactCaptureLayers:
- serializedVersion: 2
- m_Bits: 4294967295
- m_CallbackLayers:
- serializedVersion: 2
- m_Bits: 4294967295
- m_IsTrigger: 0
- m_UsedByEffector: 0
- m_CompositeOperation: 0
- m_CompositeOrder: 0
- m_Offset: {x: 0, y: 0}
- m_Radius: 0.99777764
---- !u!50 &1781499120
-Rigidbody2D:
- serializedVersion: 5
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1781499117}
- m_BodyType: 1
- m_Simulated: 1
- m_UseFullKinematicContacts: 0
- m_UseAutoMass: 0
- m_Mass: 1
- m_LinearDamping: 0
- m_AngularDamping: 0.05
- m_GravityScale: 0
- m_Material: {fileID: 0}
- m_IncludeLayers:
- serializedVersion: 2
- m_Bits: 0
- m_ExcludeLayers:
- serializedVersion: 2
- m_Bits: 0
- m_Interpolate: 0
- m_SleepingMode: 1
- m_CollisionDetection: 0
- m_Constraints: 0
---- !u!212 &1781499121
-SpriteRenderer:
- serializedVersion: 3
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1781499117}
- m_Enabled: 1
- m_CastShadows: 0
- m_ReceiveShadows: 0
- m_DynamicOccludee: 1
- m_StaticShadowCaster: 0
- m_MotionVectors: 1
- m_LightProbeUsage: 1
- m_ReflectionProbeUsage: 1
- m_RayTracingMode: 0
- m_RayTraceProcedural: 0
- m_RayTracingAccelStructBuildFlagsOverride: 0
- m_RayTracingAccelStructBuildFlags: 1
- m_SmallMeshCulling: 1
- m_ForceMeshLod: -1
- m_MeshLodSelectionBias: 0
- m_RenderingLayerMask: 1
- m_RendererPriority: 0
- m_Materials:
- - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
- m_StaticBatchInfo:
- firstSubMesh: 0
- subMeshCount: 0
- m_StaticBatchRoot: {fileID: 0}
- m_ProbeAnchor: {fileID: 0}
- m_LightProbeVolumeOverride: {fileID: 0}
- m_ScaleInLightmap: 1
- m_ReceiveGI: 1
- m_PreserveUVs: 0
- m_IgnoreNormalsForChartDetection: 0
- m_ImportantGI: 0
- m_StitchLightmapSeams: 1
- m_SelectedEditorRenderState: 0
- m_MinimumChartSize: 4
- m_AutoUVMaxDistance: 0.5
- m_AutoUVMaxAngle: 89
- m_LightmapParameters: {fileID: 0}
- m_GlobalIlluminationMeshLod: 0
- m_SortingLayerID: 0
- m_SortingLayer: 0
- m_SortingOrder: 0
- m_MaskInteraction: 0
- m_Sprite: {fileID: 21300000, guid: 695606af95a0452790cf9228c0cc9f76, type: 3}
- m_Color: {r: 1, g: 1, b: 1, a: 1}
- m_FlipX: 0
- m_FlipY: 0
- m_DrawMode: 0
- m_Size: {x: 3.45, y: 4.49}
- m_AdaptiveModeThreshold: 0.5
- m_SpriteTileMode: 0
- m_WasSpriteAssigned: 1
- m_SpriteSortPoint: 0
- m_BlendShapeWeights: []
---- !u!1660057539 &9223372036854775807
-SceneRoots:
- m_ObjectHideFlags: 0
- m_Roots:
- - {fileID: 865861685}
- - {fileID: 1077348682}
- - {fileID: 616881063}
- - {fileID: 853162498}
- - {fileID: 1764811312}
diff --git a/Assets/LiveOpsExamples/LiveOpsCozyCollector.unity.meta b/Assets/LiveOpsExamples/LiveOpsCozyCollector.unity.meta
deleted file mode 100644
index c76479c..0000000
--- a/Assets/LiveOpsExamples/LiveOpsCozyCollector.unity.meta
+++ /dev/null
@@ -1,7 +0,0 @@
-fileFormatVersion: 2
-guid: c8998a66d411a4e8d9ef54b6f261d320
-DefaultImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/LiveOpsExamples/Prefabs/CollectBurst.prefab b/Assets/LiveOpsExamples/Prefabs/CollectBurst.prefab
deleted file mode 100644
index d855da7..0000000
--- a/Assets/LiveOpsExamples/Prefabs/CollectBurst.prefab
+++ /dev/null
@@ -1,4896 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!1 &5032589694762663266
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 5001759733890026992}
- - component: {fileID: 4700352299658891627}
- - component: {fileID: 6896765968463793040}
- m_Layer: 0
- m_Name: CollectBurst
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!4 &5001759733890026992
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 5032589694762663266}
- serializedVersion: 2
- m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
- m_LocalPosition: {x: 0, y: 0, z: 0}
- m_LocalScale: {x: 1, y: 1, z: 1}
- m_ConstrainProportionsScale: 0
- m_Children: []
- m_Father: {fileID: 0}
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!198 &4700352299658891627
-ParticleSystem:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 5032589694762663266}
- serializedVersion: 8
- lengthInSec: 0.5
- simulationSpeed: 1
- stopAction: 2
- cullingMode: 0
- ringBufferMode: 0
- ringBufferLoopRange: {x: 0, y: 1}
- emitterVelocityMode: 1
- looping: 0
- prewarm: 0
- playOnAwake: 1
- useUnscaledTime: 0
- autoRandomSeed: 1
- startDelay:
- serializedVersion: 2
- minMaxState: 0
- scalar: 0
- minScalar: 0
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- moveWithTransform: 0
- moveWithCustomTransform: {fileID: 0}
- scalingMode: 1
- randomSeed: 0
- InitialModule:
- serializedVersion: 3
- enabled: 1
- startLifetime:
- serializedVersion: 2
- minMaxState: 0
- scalar: 0.45
- minScalar: 5
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- startSpeed:
- serializedVersion: 2
- minMaxState: 0
- scalar: 2
- minScalar: 5
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- startColor:
- serializedVersion: 2
- minMaxState: 0
- minColor: {r: 1, g: 1, b: 1, a: 1}
- maxColor: {r: 1, g: 0.8235294, b: 0.49019608, a: 1}
- maxGradient:
- serializedVersion: 2
- key0: {r: 1, g: 1, b: 1, a: 1}
- key1: {r: 1, g: 1, b: 1, a: 1}
- key2: {r: 0, g: 0, b: 0, a: 0}
- key3: {r: 0, g: 0, b: 0, a: 0}
- key4: {r: 0, g: 0, b: 0, a: 0}
- key5: {r: 0, g: 0, b: 0, a: 0}
- key6: {r: 0, g: 0, b: 0, a: 0}
- key7: {r: 0, g: 0, b: 0, a: 0}
- ctime0: 0
- ctime1: 65535
- ctime2: 0
- ctime3: 0
- ctime4: 0
- ctime5: 0
- ctime6: 0
- ctime7: 0
- atime0: 0
- atime1: 65535
- atime2: 0
- atime3: 0
- atime4: 0
- atime5: 0
- atime6: 0
- atime7: 0
- m_Mode: 0
- m_ColorSpace: -1
- m_NumColorKeys: 2
- m_NumAlphaKeys: 2
- minGradient:
- serializedVersion: 2
- key0: {r: 1, g: 1, b: 1, a: 1}
- key1: {r: 1, g: 1, b: 1, a: 1}
- key2: {r: 0, g: 0, b: 0, a: 0}
- key3: {r: 0, g: 0, b: 0, a: 0}
- key4: {r: 0, g: 0, b: 0, a: 0}
- key5: {r: 0, g: 0, b: 0, a: 0}
- key6: {r: 0, g: 0, b: 0, a: 0}
- key7: {r: 0, g: 0, b: 0, a: 0}
- ctime0: 0
- ctime1: 65535
- ctime2: 0
- ctime3: 0
- ctime4: 0
- ctime5: 0
- ctime6: 0
- ctime7: 0
- atime0: 0
- atime1: 65535
- atime2: 0
- atime3: 0
- atime4: 0
- atime5: 0
- atime6: 0
- atime7: 0
- m_Mode: 0
- m_ColorSpace: -1
- m_NumColorKeys: 2
- m_NumAlphaKeys: 2
- startSize:
- serializedVersion: 2
- minMaxState: 0
- scalar: 0.15
- minScalar: 1
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- startSizeY:
- serializedVersion: 2
- minMaxState: 0
- scalar: 1
- minScalar: 1
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- startSizeZ:
- serializedVersion: 2
- minMaxState: 0
- scalar: 1
- minScalar: 1
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- startRotationX:
- serializedVersion: 2
- minMaxState: 0
- scalar: 0
- minScalar: 0
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- startRotationY:
- serializedVersion: 2
- minMaxState: 0
- scalar: 0
- minScalar: 0
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- startRotation:
- serializedVersion: 2
- minMaxState: 0
- scalar: 0
- minScalar: 0
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- randomizeRotationDirection: 0
- gravitySource: 0
- maxNumParticles: 1000
- customEmitterVelocity: {x: 0, y: 0, z: 0}
- size3D: 0
- rotation3D: 0
- gravityModifier:
- serializedVersion: 2
- minMaxState: 0
- scalar: 0
- minScalar: 0
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- ShapeModule:
- serializedVersion: 6
- enabled: 1
- type: 0
- angle: 25
- length: 5
- boxThickness: {x: 0, y: 0, z: 0}
- radiusThickness: 1
- donutRadius: 0.2
- m_Position: {x: 0, y: 0, z: 0}
- m_Rotation: {x: 0, y: 0, z: 0}
- m_Scale: {x: 1, y: 1, z: 1}
- placementMode: 0
- m_MeshMaterialIndex: 0
- m_MeshNormalOffset: 0
- m_MeshSpawn:
- mode: 0
- spread: 0
- speed:
- serializedVersion: 2
- minMaxState: 0
- scalar: 1
- minScalar: 1
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- m_Mesh: {fileID: 0}
- m_MeshRenderer: {fileID: 0}
- m_SkinnedMeshRenderer: {fileID: 0}
- m_Sprite: {fileID: 0}
- m_SpriteRenderer: {fileID: 0}
- m_UseMeshMaterialIndex: 0
- m_UseMeshColors: 1
- alignToDirection: 0
- m_Texture: {fileID: 0}
- m_TextureClipChannel: 3
- m_TextureClipThreshold: 0
- m_TextureUVChannel: 0
- m_TextureColorAffectsParticles: 1
- m_TextureAlphaAffectsParticles: 1
- m_TextureBilinearFiltering: 0
- randomDirectionAmount: 0
- sphericalDirectionAmount: 0
- randomPositionAmount: 0
- radius:
- value: 0.1
- mode: 0
- spread: 0
- speed:
- serializedVersion: 2
- minMaxState: 0
- scalar: 1
- minScalar: 1
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- arc:
- value: 360
- mode: 0
- spread: 0
- speed:
- serializedVersion: 2
- minMaxState: 0
- scalar: 1
- minScalar: 1
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- EmissionModule:
- enabled: 1
- serializedVersion: 4
- rateOverTime:
- serializedVersion: 2
- minMaxState: 0
- scalar: 0
- minScalar: 10
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- rateOverDistance:
- serializedVersion: 2
- minMaxState: 0
- scalar: 0
- minScalar: 0
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- m_BurstCount: 1
- m_Bursts:
- - serializedVersion: 2
- time: 0
- countCurve:
- serializedVersion: 2
- minMaxState: 0
- scalar: 9
- minScalar: 30
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- cycleCount: 1
- repeatInterval: 0.01
- probability: 1
- SizeModule:
- enabled: 0
- curve:
- serializedVersion: 2
- minMaxState: 1
- scalar: 1
- minScalar: 1
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 1
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 1
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- y:
- serializedVersion: 2
- minMaxState: 1
- scalar: 1
- minScalar: 1
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 1
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 1
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- z:
- serializedVersion: 2
- minMaxState: 1
- scalar: 1
- minScalar: 1
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 1
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 1
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- separateAxes: 0
- RotationModule:
- enabled: 0
- x:
- serializedVersion: 2
- minMaxState: 0
- scalar: 0
- minScalar: 0
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- y:
- serializedVersion: 2
- minMaxState: 0
- scalar: 0
- minScalar: 0
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- curve:
- serializedVersion: 2
- minMaxState: 0
- scalar: 0.7853982
- minScalar: 0.7853982
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- separateAxes: 0
- ColorModule:
- enabled: 0
- gradient:
- serializedVersion: 2
- minMaxState: 1
- minColor: {r: 1, g: 1, b: 1, a: 1}
- maxColor: {r: 1, g: 1, b: 1, a: 1}
- maxGradient:
- serializedVersion: 2
- key0: {r: 1, g: 1, b: 1, a: 1}
- key1: {r: 1, g: 1, b: 1, a: 1}
- key2: {r: 0, g: 0, b: 0, a: 0}
- key3: {r: 0, g: 0, b: 0, a: 0}
- key4: {r: 0, g: 0, b: 0, a: 0}
- key5: {r: 0, g: 0, b: 0, a: 0}
- key6: {r: 0, g: 0, b: 0, a: 0}
- key7: {r: 0, g: 0, b: 0, a: 0}
- ctime0: 0
- ctime1: 65535
- ctime2: 0
- ctime3: 0
- ctime4: 0
- ctime5: 0
- ctime6: 0
- ctime7: 0
- atime0: 0
- atime1: 65535
- atime2: 0
- atime3: 0
- atime4: 0
- atime5: 0
- atime6: 0
- atime7: 0
- m_Mode: 0
- m_ColorSpace: -1
- m_NumColorKeys: 2
- m_NumAlphaKeys: 2
- minGradient:
- serializedVersion: 2
- key0: {r: 1, g: 1, b: 1, a: 1}
- key1: {r: 1, g: 1, b: 1, a: 1}
- key2: {r: 0, g: 0, b: 0, a: 0}
- key3: {r: 0, g: 0, b: 0, a: 0}
- key4: {r: 0, g: 0, b: 0, a: 0}
- key5: {r: 0, g: 0, b: 0, a: 0}
- key6: {r: 0, g: 0, b: 0, a: 0}
- key7: {r: 0, g: 0, b: 0, a: 0}
- ctime0: 0
- ctime1: 65535
- ctime2: 0
- ctime3: 0
- ctime4: 0
- ctime5: 0
- ctime6: 0
- ctime7: 0
- atime0: 0
- atime1: 65535
- atime2: 0
- atime3: 0
- atime4: 0
- atime5: 0
- atime6: 0
- atime7: 0
- m_Mode: 0
- m_ColorSpace: -1
- m_NumColorKeys: 2
- m_NumAlphaKeys: 2
- UVModule:
- serializedVersion: 2
- enabled: 0
- mode: 0
- timeMode: 0
- fps: 30
- frameOverTime:
- serializedVersion: 2
- minMaxState: 1
- scalar: 0.9999
- minScalar: 0.9999
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 1
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 1
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- startFrame:
- serializedVersion: 2
- minMaxState: 0
- scalar: 0
- minScalar: 0
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- speedRange: {x: 0, y: 1}
- tilesX: 1
- tilesY: 1
- animationType: 0
- rowIndex: 0
- cycles: 1
- uvChannelMask: -1
- rowMode: 1
- sprites:
- - sprite: {fileID: 0}
- flipU: 0
- flipV: 0
- VelocityModule:
- enabled: 0
- x:
- serializedVersion: 2
- minMaxState: 0
- scalar: 0
- minScalar: 0
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- y:
- serializedVersion: 2
- minMaxState: 0
- scalar: 0
- minScalar: 0
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- z:
- serializedVersion: 2
- minMaxState: 0
- scalar: 0
- minScalar: 0
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- orbitalX:
- serializedVersion: 2
- minMaxState: 0
- scalar: 0
- minScalar: 0
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- orbitalY:
- serializedVersion: 2
- minMaxState: 0
- scalar: 0
- minScalar: 0
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- orbitalZ:
- serializedVersion: 2
- minMaxState: 0
- scalar: 0
- minScalar: 0
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- orbitalOffsetX:
- serializedVersion: 2
- minMaxState: 0
- scalar: 0
- minScalar: 0
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- orbitalOffsetY:
- serializedVersion: 2
- minMaxState: 0
- scalar: 0
- minScalar: 0
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- orbitalOffsetZ:
- serializedVersion: 2
- minMaxState: 0
- scalar: 0
- minScalar: 0
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- radial:
- serializedVersion: 2
- minMaxState: 0
- scalar: 0
- minScalar: 0
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- speedModifier:
- serializedVersion: 2
- minMaxState: 0
- scalar: 1
- minScalar: 1
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- inWorldSpace: 0
- InheritVelocityModule:
- enabled: 0
- m_Mode: 0
- m_Curve:
- serializedVersion: 2
- minMaxState: 0
- scalar: 0
- minScalar: 0
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- LifetimeByEmitterSpeedModule:
- enabled: 0
- m_Curve:
- serializedVersion: 2
- minMaxState: 1
- scalar: 1
- minScalar: 1
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: -0.8
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0.2
- inSlope: -0.8
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- m_Range: {x: 0, y: 1}
- ForceModule:
- enabled: 0
- x:
- serializedVersion: 2
- minMaxState: 0
- scalar: 0
- minScalar: 0
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- y:
- serializedVersion: 2
- minMaxState: 0
- scalar: 0
- minScalar: 0
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- z:
- serializedVersion: 2
- minMaxState: 0
- scalar: 0
- minScalar: 0
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- inWorldSpace: 0
- randomizePerFrame: 0
- ExternalForcesModule:
- serializedVersion: 2
- enabled: 0
- multiplierCurve:
- serializedVersion: 2
- minMaxState: 0
- scalar: 1
- minScalar: 1
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- influenceFilter: 0
- influenceMask:
- serializedVersion: 2
- m_Bits: 4294967295
- influenceList: []
- ClampVelocityModule:
- enabled: 0
- x:
- serializedVersion: 2
- minMaxState: 0
- scalar: 1
- minScalar: 1
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- y:
- serializedVersion: 2
- minMaxState: 0
- scalar: 1
- minScalar: 1
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- z:
- serializedVersion: 2
- minMaxState: 0
- scalar: 1
- minScalar: 1
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- magnitude:
- serializedVersion: 2
- minMaxState: 0
- scalar: 1
- minScalar: 1
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- separateAxis: 0
- inWorldSpace: 0
- multiplyDragByParticleSize: 1
- multiplyDragByParticleVelocity: 1
- dampen: 0
- drag:
- serializedVersion: 2
- minMaxState: 0
- scalar: 0
- minScalar: 0
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- NoiseModule:
- enabled: 0
- strength:
- serializedVersion: 2
- minMaxState: 0
- scalar: 1
- minScalar: 1
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- strengthY:
- serializedVersion: 2
- minMaxState: 0
- scalar: 1
- minScalar: 1
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- strengthZ:
- serializedVersion: 2
- minMaxState: 0
- scalar: 1
- minScalar: 1
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- separateAxes: 0
- frequency: 0.5
- damping: 1
- octaves: 1
- octaveMultiplier: 0.5
- octaveScale: 2
- quality: 1
- scrollSpeed:
- serializedVersion: 2
- minMaxState: 0
- scalar: 0
- minScalar: 0
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- remap:
- serializedVersion: 2
- minMaxState: 1
- scalar: 1
- minScalar: 1
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: -1
- inSlope: 0
- outSlope: 2
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 2
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- remapY:
- serializedVersion: 2
- minMaxState: 1
- scalar: 1
- minScalar: 1
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: -1
- inSlope: 0
- outSlope: 2
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 2
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- remapZ:
- serializedVersion: 2
- minMaxState: 1
- scalar: 1
- minScalar: 1
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: -1
- inSlope: 0
- outSlope: 2
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 2
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- remapEnabled: 0
- positionAmount:
- serializedVersion: 2
- minMaxState: 0
- scalar: 1
- minScalar: 1
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- rotationAmount:
- serializedVersion: 2
- minMaxState: 0
- scalar: 0
- minScalar: 0
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- sizeAmount:
- serializedVersion: 2
- minMaxState: 0
- scalar: 0
- minScalar: 0
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- SizeBySpeedModule:
- enabled: 0
- curve:
- serializedVersion: 2
- minMaxState: 1
- scalar: 1
- minScalar: 1
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 1
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 1
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- y:
- serializedVersion: 2
- minMaxState: 1
- scalar: 1
- minScalar: 1
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 1
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 1
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- z:
- serializedVersion: 2
- minMaxState: 1
- scalar: 1
- minScalar: 1
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 1
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 1
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- range: {x: 0, y: 1}
- separateAxes: 0
- RotationBySpeedModule:
- enabled: 0
- x:
- serializedVersion: 2
- minMaxState: 0
- scalar: 0
- minScalar: 0
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- y:
- serializedVersion: 2
- minMaxState: 0
- scalar: 0
- minScalar: 0
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- curve:
- serializedVersion: 2
- minMaxState: 0
- scalar: 0.7853982
- minScalar: 0.7853982
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- separateAxes: 0
- range: {x: 0, y: 1}
- ColorBySpeedModule:
- enabled: 0
- gradient:
- serializedVersion: 2
- minMaxState: 1
- minColor: {r: 1, g: 1, b: 1, a: 1}
- maxColor: {r: 1, g: 1, b: 1, a: 1}
- maxGradient:
- serializedVersion: 2
- key0: {r: 1, g: 1, b: 1, a: 1}
- key1: {r: 1, g: 1, b: 1, a: 1}
- key2: {r: 0, g: 0, b: 0, a: 0}
- key3: {r: 0, g: 0, b: 0, a: 0}
- key4: {r: 0, g: 0, b: 0, a: 0}
- key5: {r: 0, g: 0, b: 0, a: 0}
- key6: {r: 0, g: 0, b: 0, a: 0}
- key7: {r: 0, g: 0, b: 0, a: 0}
- ctime0: 0
- ctime1: 65535
- ctime2: 0
- ctime3: 0
- ctime4: 0
- ctime5: 0
- ctime6: 0
- ctime7: 0
- atime0: 0
- atime1: 65535
- atime2: 0
- atime3: 0
- atime4: 0
- atime5: 0
- atime6: 0
- atime7: 0
- m_Mode: 0
- m_ColorSpace: -1
- m_NumColorKeys: 2
- m_NumAlphaKeys: 2
- minGradient:
- serializedVersion: 2
- key0: {r: 1, g: 1, b: 1, a: 1}
- key1: {r: 1, g: 1, b: 1, a: 1}
- key2: {r: 0, g: 0, b: 0, a: 0}
- key3: {r: 0, g: 0, b: 0, a: 0}
- key4: {r: 0, g: 0, b: 0, a: 0}
- key5: {r: 0, g: 0, b: 0, a: 0}
- key6: {r: 0, g: 0, b: 0, a: 0}
- key7: {r: 0, g: 0, b: 0, a: 0}
- ctime0: 0
- ctime1: 65535
- ctime2: 0
- ctime3: 0
- ctime4: 0
- ctime5: 0
- ctime6: 0
- ctime7: 0
- atime0: 0
- atime1: 65535
- atime2: 0
- atime3: 0
- atime4: 0
- atime5: 0
- atime6: 0
- atime7: 0
- m_Mode: 0
- m_ColorSpace: -1
- m_NumColorKeys: 2
- m_NumAlphaKeys: 2
- range: {x: 0, y: 1}
- CollisionModule:
- enabled: 0
- serializedVersion: 4
- type: 0
- collisionMode: 0
- colliderForce: 0
- multiplyColliderForceByParticleSize: 0
- multiplyColliderForceByParticleSpeed: 0
- multiplyColliderForceByCollisionAngle: 1
- m_Planes: []
- m_Dampen:
- serializedVersion: 2
- minMaxState: 0
- scalar: 0
- minScalar: 0
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- m_Bounce:
- serializedVersion: 2
- minMaxState: 0
- scalar: 1
- minScalar: 1
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- m_EnergyLossOnCollision:
- serializedVersion: 2
- minMaxState: 0
- scalar: 0
- minScalar: 0
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minKillSpeed: 0
- maxKillSpeed: 10000
- radiusScale: 1
- collidesWith:
- serializedVersion: 2
- m_Bits: 4294967295
- maxCollisionShapes: 256
- quality: 0
- voxelSize: 0.5
- collisionMessages: 0
- collidesWithDynamic: 1
- interiorCollisions: 0
- TriggerModule:
- enabled: 0
- serializedVersion: 2
- inside: 1
- outside: 0
- enter: 0
- exit: 0
- colliderQueryMode: 0
- radiusScale: 1
- primitives: []
- SubModule:
- serializedVersion: 2
- enabled: 0
- subEmitters:
- - serializedVersion: 3
- emitter: {fileID: 0}
- type: 0
- properties: 0
- emitProbability: 1
- LightsModule:
- enabled: 0
- ratio: 0
- light: {fileID: 0}
- randomDistribution: 1
- color: 1
- range: 1
- intensity: 1
- rangeCurve:
- serializedVersion: 2
- minMaxState: 0
- scalar: 1
- minScalar: 1
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- intensityCurve:
- serializedVersion: 2
- minMaxState: 0
- scalar: 1
- minScalar: 1
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- maxLights: 20
- TrailModule:
- enabled: 0
- mode: 0
- ratio: 1
- lifetime:
- serializedVersion: 2
- minMaxState: 0
- scalar: 1
- minScalar: 1
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minVertexDistance: 0.2
- textureMode: 0
- textureScale: {x: 1, y: 1}
- ribbonCount: 1
- shadowBias: 0.5
- worldSpace: 0
- dieWithParticles: 1
- sizeAffectsWidth: 1
- sizeAffectsLifetime: 0
- inheritParticleColor: 1
- generateLightingData: 0
- splitSubEmitterRibbons: 0
- attachRibbonsToTransform: 0
- colorOverLifetime:
- serializedVersion: 2
- minMaxState: 0
- minColor: {r: 1, g: 1, b: 1, a: 1}
- maxColor: {r: 1, g: 1, b: 1, a: 1}
- maxGradient:
- serializedVersion: 2
- key0: {r: 1, g: 1, b: 1, a: 1}
- key1: {r: 1, g: 1, b: 1, a: 1}
- key2: {r: 0, g: 0, b: 0, a: 0}
- key3: {r: 0, g: 0, b: 0, a: 0}
- key4: {r: 0, g: 0, b: 0, a: 0}
- key5: {r: 0, g: 0, b: 0, a: 0}
- key6: {r: 0, g: 0, b: 0, a: 0}
- key7: {r: 0, g: 0, b: 0, a: 0}
- ctime0: 0
- ctime1: 65535
- ctime2: 0
- ctime3: 0
- ctime4: 0
- ctime5: 0
- ctime6: 0
- ctime7: 0
- atime0: 0
- atime1: 65535
- atime2: 0
- atime3: 0
- atime4: 0
- atime5: 0
- atime6: 0
- atime7: 0
- m_Mode: 0
- m_ColorSpace: -1
- m_NumColorKeys: 2
- m_NumAlphaKeys: 2
- minGradient:
- serializedVersion: 2
- key0: {r: 1, g: 1, b: 1, a: 1}
- key1: {r: 1, g: 1, b: 1, a: 1}
- key2: {r: 0, g: 0, b: 0, a: 0}
- key3: {r: 0, g: 0, b: 0, a: 0}
- key4: {r: 0, g: 0, b: 0, a: 0}
- key5: {r: 0, g: 0, b: 0, a: 0}
- key6: {r: 0, g: 0, b: 0, a: 0}
- key7: {r: 0, g: 0, b: 0, a: 0}
- ctime0: 0
- ctime1: 65535
- ctime2: 0
- ctime3: 0
- ctime4: 0
- ctime5: 0
- ctime6: 0
- ctime7: 0
- atime0: 0
- atime1: 65535
- atime2: 0
- atime3: 0
- atime4: 0
- atime5: 0
- atime6: 0
- atime7: 0
- m_Mode: 0
- m_ColorSpace: -1
- m_NumColorKeys: 2
- m_NumAlphaKeys: 2
- widthOverTrail:
- serializedVersion: 2
- minMaxState: 0
- scalar: 1
- minScalar: 1
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- colorOverTrail:
- serializedVersion: 2
- minMaxState: 0
- minColor: {r: 1, g: 1, b: 1, a: 1}
- maxColor: {r: 1, g: 1, b: 1, a: 1}
- maxGradient:
- serializedVersion: 2
- key0: {r: 1, g: 1, b: 1, a: 1}
- key1: {r: 1, g: 1, b: 1, a: 1}
- key2: {r: 0, g: 0, b: 0, a: 0}
- key3: {r: 0, g: 0, b: 0, a: 0}
- key4: {r: 0, g: 0, b: 0, a: 0}
- key5: {r: 0, g: 0, b: 0, a: 0}
- key6: {r: 0, g: 0, b: 0, a: 0}
- key7: {r: 0, g: 0, b: 0, a: 0}
- ctime0: 0
- ctime1: 65535
- ctime2: 0
- ctime3: 0
- ctime4: 0
- ctime5: 0
- ctime6: 0
- ctime7: 0
- atime0: 0
- atime1: 65535
- atime2: 0
- atime3: 0
- atime4: 0
- atime5: 0
- atime6: 0
- atime7: 0
- m_Mode: 0
- m_ColorSpace: -1
- m_NumColorKeys: 2
- m_NumAlphaKeys: 2
- minGradient:
- serializedVersion: 2
- key0: {r: 1, g: 1, b: 1, a: 1}
- key1: {r: 1, g: 1, b: 1, a: 1}
- key2: {r: 0, g: 0, b: 0, a: 0}
- key3: {r: 0, g: 0, b: 0, a: 0}
- key4: {r: 0, g: 0, b: 0, a: 0}
- key5: {r: 0, g: 0, b: 0, a: 0}
- key6: {r: 0, g: 0, b: 0, a: 0}
- key7: {r: 0, g: 0, b: 0, a: 0}
- ctime0: 0
- ctime1: 65535
- ctime2: 0
- ctime3: 0
- ctime4: 0
- ctime5: 0
- ctime6: 0
- ctime7: 0
- atime0: 0
- atime1: 65535
- atime2: 0
- atime3: 0
- atime4: 0
- atime5: 0
- atime6: 0
- atime7: 0
- m_Mode: 0
- m_ColorSpace: -1
- m_NumColorKeys: 2
- m_NumAlphaKeys: 2
- CustomDataModule:
- enabled: 0
- mode0: 0
- vectorComponentCount0: 4
- color0:
- serializedVersion: 2
- minMaxState: 0
- minColor: {r: 1, g: 1, b: 1, a: 1}
- maxColor: {r: 1, g: 1, b: 1, a: 1}
- maxGradient:
- serializedVersion: 2
- key0: {r: 1, g: 1, b: 1, a: 1}
- key1: {r: 1, g: 1, b: 1, a: 1}
- key2: {r: 0, g: 0, b: 0, a: 0}
- key3: {r: 0, g: 0, b: 0, a: 0}
- key4: {r: 0, g: 0, b: 0, a: 0}
- key5: {r: 0, g: 0, b: 0, a: 0}
- key6: {r: 0, g: 0, b: 0, a: 0}
- key7: {r: 0, g: 0, b: 0, a: 0}
- ctime0: 0
- ctime1: 65535
- ctime2: 0
- ctime3: 0
- ctime4: 0
- ctime5: 0
- ctime6: 0
- ctime7: 0
- atime0: 0
- atime1: 65535
- atime2: 0
- atime3: 0
- atime4: 0
- atime5: 0
- atime6: 0
- atime7: 0
- m_Mode: 0
- m_ColorSpace: -1
- m_NumColorKeys: 2
- m_NumAlphaKeys: 2
- minGradient:
- serializedVersion: 2
- key0: {r: 1, g: 1, b: 1, a: 1}
- key1: {r: 1, g: 1, b: 1, a: 1}
- key2: {r: 0, g: 0, b: 0, a: 0}
- key3: {r: 0, g: 0, b: 0, a: 0}
- key4: {r: 0, g: 0, b: 0, a: 0}
- key5: {r: 0, g: 0, b: 0, a: 0}
- key6: {r: 0, g: 0, b: 0, a: 0}
- key7: {r: 0, g: 0, b: 0, a: 0}
- ctime0: 0
- ctime1: 65535
- ctime2: 0
- ctime3: 0
- ctime4: 0
- ctime5: 0
- ctime6: 0
- ctime7: 0
- atime0: 0
- atime1: 65535
- atime2: 0
- atime3: 0
- atime4: 0
- atime5: 0
- atime6: 0
- atime7: 0
- m_Mode: 0
- m_ColorSpace: -1
- m_NumColorKeys: 2
- m_NumAlphaKeys: 2
- colorLabel0: Color
- vector0_0:
- serializedVersion: 2
- minMaxState: 0
- scalar: 0
- minScalar: 0
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- vectorLabel0_0: X
- vector0_1:
- serializedVersion: 2
- minMaxState: 0
- scalar: 0
- minScalar: 0
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- vectorLabel0_1: Y
- vector0_2:
- serializedVersion: 2
- minMaxState: 0
- scalar: 0
- minScalar: 0
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- vectorLabel0_2: Z
- vector0_3:
- serializedVersion: 2
- minMaxState: 0
- scalar: 0
- minScalar: 0
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- vectorLabel0_3: W
- mode1: 0
- vectorComponentCount1: 4
- color1:
- serializedVersion: 2
- minMaxState: 0
- minColor: {r: 1, g: 1, b: 1, a: 1}
- maxColor: {r: 1, g: 1, b: 1, a: 1}
- maxGradient:
- serializedVersion: 2
- key0: {r: 1, g: 1, b: 1, a: 1}
- key1: {r: 1, g: 1, b: 1, a: 1}
- key2: {r: 0, g: 0, b: 0, a: 0}
- key3: {r: 0, g: 0, b: 0, a: 0}
- key4: {r: 0, g: 0, b: 0, a: 0}
- key5: {r: 0, g: 0, b: 0, a: 0}
- key6: {r: 0, g: 0, b: 0, a: 0}
- key7: {r: 0, g: 0, b: 0, a: 0}
- ctime0: 0
- ctime1: 65535
- ctime2: 0
- ctime3: 0
- ctime4: 0
- ctime5: 0
- ctime6: 0
- ctime7: 0
- atime0: 0
- atime1: 65535
- atime2: 0
- atime3: 0
- atime4: 0
- atime5: 0
- atime6: 0
- atime7: 0
- m_Mode: 0
- m_ColorSpace: -1
- m_NumColorKeys: 2
- m_NumAlphaKeys: 2
- minGradient:
- serializedVersion: 2
- key0: {r: 1, g: 1, b: 1, a: 1}
- key1: {r: 1, g: 1, b: 1, a: 1}
- key2: {r: 0, g: 0, b: 0, a: 0}
- key3: {r: 0, g: 0, b: 0, a: 0}
- key4: {r: 0, g: 0, b: 0, a: 0}
- key5: {r: 0, g: 0, b: 0, a: 0}
- key6: {r: 0, g: 0, b: 0, a: 0}
- key7: {r: 0, g: 0, b: 0, a: 0}
- ctime0: 0
- ctime1: 65535
- ctime2: 0
- ctime3: 0
- ctime4: 0
- ctime5: 0
- ctime6: 0
- ctime7: 0
- atime0: 0
- atime1: 65535
- atime2: 0
- atime3: 0
- atime4: 0
- atime5: 0
- atime6: 0
- atime7: 0
- m_Mode: 0
- m_ColorSpace: -1
- m_NumColorKeys: 2
- m_NumAlphaKeys: 2
- colorLabel1: Color
- vector1_0:
- serializedVersion: 2
- minMaxState: 0
- scalar: 0
- minScalar: 0
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- vectorLabel1_0: X
- vector1_1:
- serializedVersion: 2
- minMaxState: 0
- scalar: 0
- minScalar: 0
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- vectorLabel1_1: Y
- vector1_2:
- serializedVersion: 2
- minMaxState: 0
- scalar: 0
- minScalar: 0
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- vectorLabel1_2: Z
- vector1_3:
- serializedVersion: 2
- minMaxState: 0
- scalar: 0
- minScalar: 0
- maxCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- minCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- vectorLabel1_3: W
---- !u!199 &6896765968463793040
-ParticleSystemRenderer:
- serializedVersion: 7
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 5032589694762663266}
- m_Enabled: 1
- m_CastShadows: 0
- m_ReceiveShadows: 0
- m_DynamicOccludee: 1
- m_StaticShadowCaster: 0
- m_MotionVectors: 1
- m_LightProbeUsage: 0
- m_ReflectionProbeUsage: 0
- m_RayTracingMode: 0
- m_RayTraceProcedural: 0
- m_RayTracingAccelStructBuildFlagsOverride: 0
- m_RayTracingAccelStructBuildFlags: 1
- m_SmallMeshCulling: 1
- m_ForceMeshLod: -1
- m_MeshLodSelectionBias: 0
- m_RenderingLayerMask: 1
- m_RendererPriority: 0
- m_Materials:
- - {fileID: 10301, guid: 0000000000000000f000000000000000, type: 0}
- m_StaticBatchInfo:
- firstSubMesh: 0
- subMeshCount: 0
- m_StaticBatchRoot: {fileID: 0}
- m_ProbeAnchor: {fileID: 0}
- m_LightProbeVolumeOverride: {fileID: 0}
- m_ScaleInLightmap: 1
- m_ReceiveGI: 1
- m_PreserveUVs: 0
- m_IgnoreNormalsForChartDetection: 0
- m_ImportantGI: 0
- m_StitchLightmapSeams: 1
- m_SelectedEditorRenderState: 3
- m_MinimumChartSize: 4
- m_AutoUVMaxDistance: 0.5
- m_AutoUVMaxAngle: 89
- m_LightmapParameters: {fileID: 0}
- m_GlobalIlluminationMeshLod: 0
- m_SortingLayerID: 0
- m_SortingLayer: 0
- m_SortingOrder: 0
- m_MaskInteraction: 0
- m_RenderMode: 0
- m_MeshDistribution: 0
- m_SortMode: 0
- m_MinParticleSize: 0
- m_MaxParticleSize: 0.5
- m_CameraVelocityScale: 0
- m_VelocityScale: 0
- m_LengthScale: 2
- m_SortingFudge: 0
- m_NormalDirection: 1
- m_ShadowBias: 0
- m_RenderAlignment: 0
- m_Pivot: {x: 0, y: 0, z: 0}
- m_Flip: {x: 0, y: 0, z: 0}
- m_EnableGPUInstancing: 1
- m_ApplyActiveColorSpace: 1
- m_AllowRoll: 1
- m_FreeformStretching: 0
- m_RotateWithStretchDirection: 1
- m_UseCustomVertexStreams: 0
- m_VertexStreams: 00010304
- m_UseCustomTrailVertexStreams: 0
- m_TrailVertexStreams: 00010304
- m_Mesh: {fileID: 0}
- m_Mesh1: {fileID: 0}
- m_Mesh2: {fileID: 0}
- m_Mesh3: {fileID: 0}
- m_MeshWeighting: 1
- m_MeshWeighting1: 1
- m_MeshWeighting2: 1
- m_MeshWeighting3: 1
diff --git a/Assets/LiveOpsExamples/Prefabs/CollectBurst.prefab.meta b/Assets/LiveOpsExamples/Prefabs/CollectBurst.prefab.meta
deleted file mode 100644
index 596979c..0000000
--- a/Assets/LiveOpsExamples/Prefabs/CollectBurst.prefab.meta
+++ /dev/null
@@ -1,7 +0,0 @@
-fileFormatVersion: 2
-guid: 9f08d0082395f4a36b1a41e5e929c33f
-PrefabImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/LiveOpsExamples/Prefabs/ScorePopup.prefab b/Assets/LiveOpsExamples/Prefabs/ScorePopup.prefab
deleted file mode 100644
index 325804b..0000000
--- a/Assets/LiveOpsExamples/Prefabs/ScorePopup.prefab
+++ /dev/null
@@ -1,197 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!1 &4320980148611362106
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 3111624587611009095}
- - component: {fileID: 593893284932781451}
- - component: {fileID: 1452460269697210593}
- - component: {fileID: 2163815420330336319}
- m_Layer: 0
- m_Name: ScorePopup
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!224 &3111624587611009095
-RectTransform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 4320980148611362106}
- m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
- m_LocalPosition: {x: 0, y: 0, z: 0}
- m_LocalScale: {x: 1, y: 1, z: 1}
- m_ConstrainProportionsScale: 0
- m_Children: []
- m_Father: {fileID: 0}
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
- m_AnchorMin: {x: 0.5, y: 0.5}
- m_AnchorMax: {x: 0.5, y: 0.5}
- m_AnchoredPosition: {x: 0, y: 0}
- m_SizeDelta: {x: 20, y: 5}
- m_Pivot: {x: 0.5, y: 0.5}
---- !u!23 &593893284932781451
-MeshRenderer:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 4320980148611362106}
- m_Enabled: 1
- m_CastShadows: 0
- m_ReceiveShadows: 0
- m_DynamicOccludee: 1
- m_StaticShadowCaster: 0
- m_MotionVectors: 1
- m_LightProbeUsage: 1
- m_ReflectionProbeUsage: 1
- m_RayTracingMode: 2
- m_RayTraceProcedural: 0
- m_RayTracingAccelStructBuildFlagsOverride: 0
- m_RayTracingAccelStructBuildFlags: 1
- m_SmallMeshCulling: 1
- m_ForceMeshLod: -1
- m_MeshLodSelectionBias: 0
- m_RenderingLayerMask: 1
- m_RendererPriority: 0
- m_Materials:
- - {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
- m_StaticBatchInfo:
- firstSubMesh: 0
- subMeshCount: 0
- m_StaticBatchRoot: {fileID: 0}
- m_ProbeAnchor: {fileID: 0}
- m_LightProbeVolumeOverride: {fileID: 0}
- m_ScaleInLightmap: 1
- m_ReceiveGI: 1
- m_PreserveUVs: 0
- m_IgnoreNormalsForChartDetection: 0
- m_ImportantGI: 0
- m_StitchLightmapSeams: 1
- m_SelectedEditorRenderState: 3
- m_MinimumChartSize: 4
- m_AutoUVMaxDistance: 0.5
- m_AutoUVMaxAngle: 89
- m_LightmapParameters: {fileID: 0}
- m_GlobalIlluminationMeshLod: 0
- m_SortingLayerID: 0
- m_SortingLayer: 0
- m_SortingOrder: 0
- m_MaskInteraction: 0
- m_AdditionalVertexStreams: {fileID: 0}
---- !u!114 &1452460269697210593
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 4320980148611362106}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 9541d86e2fd84c1d9990edf0852d74ab, type: 3}
- m_Name:
- m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshPro
- m_Material: {fileID: 0}
- m_Color: {r: 1, g: 1, b: 1, a: 1}
- m_RaycastTarget: 1
- m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
- m_Maskable: 1
- m_OnCullStateChanged:
- m_PersistentCalls:
- m_Calls: []
- m_text: +10
- m_isRightToLeft: 0
- m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
- m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
- m_fontSharedMaterials: []
- m_fontMaterial: {fileID: 0}
- m_fontMaterials: []
- m_fontColor32:
- serializedVersion: 2
- rgba: 4294967295
- m_fontColor: {r: 1, g: 1, b: 1, a: 1}
- m_enableVertexGradient: 0
- m_colorMode: 3
- m_fontColorGradient:
- topLeft: {r: 1, g: 1, b: 1, a: 1}
- topRight: {r: 1, g: 1, b: 1, a: 1}
- bottomLeft: {r: 1, g: 1, b: 1, a: 1}
- bottomRight: {r: 1, g: 1, b: 1, a: 1}
- m_fontColorGradientPreset: {fileID: 0}
- m_spriteAsset: {fileID: 0}
- m_tintAllSprites: 0
- m_StyleSheet: {fileID: 0}
- m_TextStyleHashCode: 0
- m_overrideHtmlColors: 0
- m_faceColor:
- serializedVersion: 2
- rgba: 4294967295
- m_fontSize: 2.5
- m_fontSizeBase: 2.5
- m_fontWeight: 400
- m_enableAutoSizing: 0
- m_fontSizeMin: 18
- m_fontSizeMax: 72
- m_fontStyle: 0
- m_HorizontalAlignment: 2
- m_VerticalAlignment: 512
- m_textAlignment: 65535
- m_characterSpacing: 0
- m_characterHorizontalScale: 1
- m_wordSpacing: 0
- m_lineSpacing: 0
- m_lineSpacingMax: 0
- m_paragraphSpacing: 0
- m_charWidthMaxAdj: 0
- m_TextWrappingMode: 1
- m_wordWrappingRatios: 0.4
- m_overflowMode: 0
- m_linkedTextComponent: {fileID: 0}
- parentLinkedComponent: {fileID: 0}
- m_enableKerning: 0
- m_ActiveFontFeatures: 6e72656b
- m_enableExtraPadding: 0
- checkPaddingRequired: 0
- m_isRichText: 1
- m_EmojiFallbackSupport: 1
- m_parseCtrlCharacters: 1
- m_isOrthographic: 0
- m_isCullingEnabled: 0
- m_horizontalMapping: 0
- m_verticalMapping: 0
- m_uvLineOffset: 0
- m_geometrySortingOrder: 0
- m_IsTextObjectScaleStatic: 0
- m_VertexBufferAutoSizeReduction: 0
- m_useMaxVisibleDescender: 1
- m_pageToDisplay: 1
- m_margin: {x: 0, y: 0, z: 0, w: 0}
- m_isUsingLegacyAnimationComponent: 0
- m_isVolumetricText: 0
- _SortingLayer: 0
- _SortingLayerID: 0
- _SortingOrder: 0
- m_hasFontAssetChanged: 0
- m_renderer: {fileID: 593893284932781451}
- m_maskType: 0
---- !u!114 &2163815420330336319
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 4320980148611362106}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: b1db4bf03192148bf95ea374d128f349, type: 3}
- m_Name:
- m_EditorClassIdentifier: Assembly-CSharp::LiveOpsExamples.ScorePopupView
- label: {fileID: 1452460269697210593}
diff --git a/Assets/LiveOpsExamples/Prefabs/ScorePopup.prefab.meta b/Assets/LiveOpsExamples/Prefabs/ScorePopup.prefab.meta
deleted file mode 100644
index 070cbd3..0000000
--- a/Assets/LiveOpsExamples/Prefabs/ScorePopup.prefab.meta
+++ /dev/null
@@ -1,7 +0,0 @@
-fileFormatVersion: 2
-guid: 77687e92645dc450d8f79fbb91face30
-PrefabImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/LiveOpsExamples/Prefabs/Snack.prefab b/Assets/LiveOpsExamples/Prefabs/Snack.prefab
deleted file mode 100644
index 1dfb838..0000000
--- a/Assets/LiveOpsExamples/Prefabs/Snack.prefab
+++ /dev/null
@@ -1,144 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!1 &4123410791617310354
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 5962299478407506369}
- - component: {fileID: 2996539449734302674}
- - component: {fileID: 5031039985352295968}
- - component: {fileID: 1945811876929841169}
- m_Layer: 0
- m_Name: Snack
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!4 &5962299478407506369
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 4123410791617310354}
- serializedVersion: 2
- m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
- m_LocalPosition: {x: 0, y: 0, z: 0}
- m_LocalScale: {x: 0.16149068, y: 0.12807882, z: 1}
- m_ConstrainProportionsScale: 0
- m_Children: []
- m_Father: {fileID: 0}
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!58 &2996539449734302674
-CircleCollider2D:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 4123410791617310354}
- m_Enabled: 1
- serializedVersion: 3
- m_Density: 1
- m_Material: {fileID: 0}
- m_IncludeLayers:
- serializedVersion: 2
- m_Bits: 0
- m_ExcludeLayers:
- serializedVersion: 2
- m_Bits: 0
- m_LayerOverridePriority: 0
- m_ForceSendLayers:
- serializedVersion: 2
- m_Bits: 4294967295
- m_ForceReceiveLayers:
- serializedVersion: 2
- m_Bits: 4294967295
- m_ContactCaptureLayers:
- serializedVersion: 2
- m_Bits: 4294967295
- m_CallbackLayers:
- serializedVersion: 2
- m_Bits: 4294967295
- m_IsTrigger: 1
- m_UsedByEffector: 0
- m_CompositeOperation: 0
- m_CompositeOrder: 0
- m_Offset: {x: 0, y: 0}
- m_Radius: 1.3623077
---- !u!212 &5031039985352295968
-SpriteRenderer:
- serializedVersion: 3
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 4123410791617310354}
- m_Enabled: 1
- m_CastShadows: 0
- m_ReceiveShadows: 0
- m_DynamicOccludee: 1
- m_StaticShadowCaster: 0
- m_MotionVectors: 1
- m_LightProbeUsage: 1
- m_ReflectionProbeUsage: 1
- m_RayTracingMode: 0
- m_RayTraceProcedural: 0
- m_RayTracingAccelStructBuildFlagsOverride: 0
- m_RayTracingAccelStructBuildFlags: 1
- m_SmallMeshCulling: 1
- m_ForceMeshLod: -1
- m_MeshLodSelectionBias: 0
- m_RenderingLayerMask: 1
- m_RendererPriority: 0
- m_Materials:
- - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
- m_StaticBatchInfo:
- firstSubMesh: 0
- subMeshCount: 0
- m_StaticBatchRoot: {fileID: 0}
- m_ProbeAnchor: {fileID: 0}
- m_LightProbeVolumeOverride: {fileID: 0}
- m_ScaleInLightmap: 1
- m_ReceiveGI: 1
- m_PreserveUVs: 0
- m_IgnoreNormalsForChartDetection: 0
- m_ImportantGI: 0
- m_StitchLightmapSeams: 1
- m_SelectedEditorRenderState: 0
- m_MinimumChartSize: 4
- m_AutoUVMaxDistance: 0.5
- m_AutoUVMaxAngle: 89
- m_LightmapParameters: {fileID: 0}
- m_GlobalIlluminationMeshLod: 0
- m_SortingLayerID: 0
- m_SortingLayer: 0
- m_SortingOrder: 0
- m_MaskInteraction: 0
- m_Sprite: {fileID: 21300000, guid: c41fcc3b35c944ffa18a34b6c4dc2cd6, type: 3}
- m_Color: {r: 1, g: 1, b: 1, a: 1}
- m_FlipX: 0
- m_FlipY: 0
- m_DrawMode: 0
- m_Size: {x: 3.22, y: 4.06}
- m_AdaptiveModeThreshold: 0.5
- m_SpriteTileMode: 0
- m_WasSpriteAssigned: 1
- m_SpriteSortPoint: 0
- m_BlendShapeWeights: []
---- !u!114 &1945811876929841169
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 4123410791617310354}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 36b117cefc78541b9b42188266102562, type: 3}
- m_Name:
- m_EditorClassIdentifier: Assembly-CSharp::LiveOpsExamples.Snack
diff --git a/Assets/LiveOpsExamples/Prefabs/Snack.prefab.meta b/Assets/LiveOpsExamples/Prefabs/Snack.prefab.meta
deleted file mode 100644
index 8115f2a..0000000
--- a/Assets/LiveOpsExamples/Prefabs/Snack.prefab.meta
+++ /dev/null
@@ -1,7 +0,0 @@
-fileFormatVersion: 2
-guid: b6f2ca858be534f3ab055e0b878ae13f
-PrefabImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/LiveOpsExamples/Scripts.meta b/Assets/LiveOpsExamples/Scripts.meta
deleted file mode 100644
index dce0aa7..0000000
--- a/Assets/LiveOpsExamples/Scripts.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b
-folderAsset: yes
-DefaultImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/LiveOpsExamples/Scripts/CozyCollectorConsts.cs b/Assets/LiveOpsExamples/Scripts/CozyCollectorConsts.cs
deleted file mode 100644
index 235334e..0000000
--- a/Assets/LiveOpsExamples/Scripts/CozyCollectorConsts.cs
+++ /dev/null
@@ -1,63 +0,0 @@
-using UnityEngine;
-
-namespace LiveOpsExamples
-{
- ///
- /// Shared constants for the Cozy Collector demo: remote config keys with their
- /// defaults, LiveOps slugs, and the inspector capability palette.
- /// Mirrors liveops-phaser-demo/src/config.ts.
- ///
- public static class CozyCollectorConsts
- {
- // Remote config keys (mirror DemoRemoteConfig in the Phaser demo).
- public const string ConfigRoundSeconds = "demo_round_seconds";
- public const string ConfigPlayerSpeed = "demo_player_speed";
- public const string ConfigSpawnIntervalMs = "demo_spawn_interval_ms";
- public const string ConfigCollectibleScore = "demo_collectible_score";
-
- public const float DefaultRoundSeconds = 150f;
- public const float DefaultPlayerSpeed = 260f;
- public const float DefaultSpawnIntervalMs = 900f;
- public const float DefaultCollectibleScore = 10f;
-
- public const string LeaderboardSlug = "cozy-collector-score";
- public const string StoreSlug = "cozy-camp-shop";
- public const string OfferId = "moonberry-boost";
- public const string QuestMetricCollectibles = "cozy_collectibles";
- public const string StorageType = "cozy_fantasy_save";
- public const string StorageId = "main";
- public const string NicknamePrefsKey = "rudder_demo_nickname";
- public const string Region = "global";
- public const string Language = "en";
-
- // Inspector capability tags (same tags as the Phaser demo).
- public const string CapabilityAuth = "auth";
- public const string CapabilityConfig = "config";
- public const string CapabilityScenario = "scenario";
- public const string CapabilityStore = "store";
- public const string CapabilityLeaderboard = "leaderboard";
- public const string CapabilityStorage = "storage";
- public const string CapabilityInventory = "inventory";
- public const string CapabilityWallet = "wallet";
- public const string CapabilityQuests = "quests";
- public const string CapabilitySystem = "system";
-
- /// Color used by the event inspector to tag a capability line.
- public static Color CapabilityColor(string capability)
- {
- switch (capability)
- {
- case CapabilityAuth: return new Color(0.55f, 0.76f, 1.00f);
- case CapabilityConfig: return new Color(0.61f, 0.90f, 0.69f);
- case CapabilityScenario: return new Color(0.85f, 0.68f, 1.00f);
- case CapabilityStore: return new Color(1.00f, 0.82f, 0.51f);
- case CapabilityLeaderboard: return new Color(1.00f, 0.72f, 0.58f);
- case CapabilityStorage: return new Color(0.56f, 0.87f, 0.87f);
- case CapabilityInventory: return new Color(0.78f, 0.86f, 0.55f);
- case CapabilityWallet: return new Color(1.00f, 0.88f, 0.63f);
- case CapabilityQuests: return new Color(0.71f, 0.80f, 1.00f);
- default: return new Color(0.75f, 0.75f, 0.75f);
- }
- }
- }
-}
diff --git a/Assets/LiveOpsExamples/Scripts/CozyCollectorConsts.cs.meta b/Assets/LiveOpsExamples/Scripts/CozyCollectorConsts.cs.meta
deleted file mode 100644
index b5904e7..0000000
--- a/Assets/LiveOpsExamples/Scripts/CozyCollectorConsts.cs.meta
+++ /dev/null
@@ -1,2 +0,0 @@
-fileFormatVersion: 2
-guid: f0f8000a396a64ea7890de20a70265ce
\ No newline at end of file
diff --git a/Assets/LiveOpsExamples/Scripts/CozyCollectorController.cs b/Assets/LiveOpsExamples/Scripts/CozyCollectorController.cs
deleted file mode 100644
index 9c83823..0000000
--- a/Assets/LiveOpsExamples/Scripts/CozyCollectorController.cs
+++ /dev/null
@@ -1,1146 +0,0 @@
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using System.Globalization;
-using System.Threading.Tasks;
-using RudderSdk.Core;
-using RudderSdk.Core.Models.Inventory;
-using RudderSdk.Core.Models.Leaderboards;
-using RudderSdk.Core.Models.Player;
-using RudderSdk.Core.Models.Quests;
-using RudderSdk.Core.Models.Storage;
-using RudderSdk.Core.Models.Stores;
-using RudderSdk.Unity;
-using UnityEngine;
-
-namespace LiveOpsExamples
-{
- [Serializable]
- public class CozyIdentity
- {
- public string PlayerId;
- public string Nickname;
- public string DeviceId;
- public string ProjectKey;
- public string Region;
- }
-
- [Serializable]
- public class CozyWallet
- {
- public string Currency;
- public double Balance;
- }
-
- [Serializable]
- public class CozyTuning
- {
- public float RoundSeconds;
- public float PlayerSpeed;
- public float SpawnIntervalMs;
- public float CollectibleScore;
- }
-
- [Serializable]
- public class CozySave
- {
- public int BestScore;
- public int LastScore;
- public int RoundsPlayed;
- public int TotalCollected;
- }
-
- [Serializable]
- public class CozyLogEntry
- {
- public string Capability;
- public string Message;
- public string Detail;
- public DateTime Timestamp;
- }
-
- [Serializable]
- public class CozyShopOffer
- {
- public string StoreSlug;
- public string OfferId;
- public string Name;
- public double Price;
- public string Currency;
- }
-
- [Serializable]
- public class CozyBackpackItem
- {
- public string Slug;
- public string Name;
- public int Amount;
- }
-
- [Serializable]
- public class CozyLeaderboardEntry
- {
- public string PlayerName;
- public int Rank;
- public int Score;
- }
-
- [Serializable]
- public class CozyRoundResult
- {
- public int Score;
- public int Best;
- public int Collected;
- public List TopEntries;
- }
-
- [Serializable]
- public class CozyOfferInfo
- {
- public string StoreSlug;
- public string StoreName;
- public List Offers;
- }
-
- public enum CozyPhase
- {
- Booting,
- Connecting,
- Ready,
- Setup
- }
-
- public enum CozyModal
- {
- None,
- Shop,
- Backpack,
- Offer,
- RoundResult
- }
-
- public enum CozyToastTone
- {
- Info,
- Success,
- Error
- }
-
- ///
- /// Session/bootstrap hub for the Cozy Collector demo — the Unity port of the
- /// Phaser demo's liveops.ts + store.ts. Owns every SDK call: login, remote
- /// config (initial load, 10 s poll and scenario overrides), storage save,
- /// profile/wallets, store catalog, inventory, leaderboard and scenario effects.
- /// The UI layer binds to the public properties/events.
- ///
- public class CozyCollectorController : MonoBehaviour
- {
- private const int MaxLogEntries = 200;
- private const float ConfigPollSeconds = 10f;
- private const float NotificationAutoCompleteSeconds = 2.6f;
-
- [SerializeField] private GameWorld world;
-
- private readonly List _wallets = new List();
- private readonly List _logEntries = new List();
- private readonly List _shopOffers = new List();
- private readonly List _backpackItems = new List();
- private readonly CozyTuning _tuning = new CozyTuning
- {
- RoundSeconds = CozyCollectorConsts.DefaultRoundSeconds,
- PlayerSpeed = CozyCollectorConsts.DefaultPlayerSpeed,
- SpawnIntervalMs = CozyCollectorConsts.DefaultSpawnIntervalMs,
- CollectibleScore = CozyCollectorConsts.DefaultCollectibleScore
- };
- private readonly CozySave _save = new CozySave();
-
- private CozyPhase _phase = CozyPhase.Booting;
- private string _statusMessage = "Starting…";
- private string _setupError;
- private CozyIdentity _identity;
- private CozyModal _activeModal = CozyModal.None;
- private CozyRoundResult _roundResult;
- private CozyOfferInfo _currentOffer;
- private string _deviceId;
- private string _nickname;
- private StoreOfferSession _storeSession;
- private LeaderboardSession _leaderboardSession;
- private bool _scenarioHandlersRegistered;
-
- public CozyPhase Phase => _phase;
- public string StatusMessage => _statusMessage;
- public string SetupError => _setupError;
- public CozyIdentity Identity => _identity;
- public IReadOnlyList Wallets => _wallets;
- public CozyTuning Tuning => _tuning;
- public CozySave Save => _save;
- public IReadOnlyList LogEntries => _logEntries;
- public CozyModal ActiveModal => _activeModal;
- public IReadOnlyList ShopOffers => _shopOffers;
- public IReadOnlyList BackpackItems => _backpackItems;
- public CozyRoundResult RoundResult => _roundResult;
- public CozyOfferInfo CurrentOffer => _currentOffer;
-
- public event Action PhaseChanged;
- public event Action ModalChanged;
- public event Action WalletsChanged;
- public event Action TuningChanged;
- public event Action LogAdded;
- public event Action ShopChanged;
- public event Action BackpackChanged;
- public event Action RoundResultChanged;
- public event Action OfferChanged;
- public event Action ToastRequested;
-
- // ---------------------------------------------------------------
- // Boot phase machine
- // ---------------------------------------------------------------
-
- private void Awake()
- {
- world.RoundFinished += OnRoundFinished;
- }
-
- private void Start()
- {
- _ = BootAsync();
- }
-
- private void OnDestroy()
- {
- world.RoundFinished -= OnRoundFinished;
- UnregisterScenarioHandlers();
- }
-
- private async Task BootAsync()
- {
- SetPhase(CozyPhase.Booting, "Starting…");
-
- try
- {
- await Rudder.Ready;
- }
- catch (Exception exception)
- {
- _setupError = "Rudder is not initialized. Add the Rudder component to the scene " +
- "and assign a RudderConfiguration asset with a valid ProjectKey. " +
- exception.Message;
- SetPhase(CozyPhase.Setup, "Setup required");
- Log(CozyCollectorConsts.CapabilitySystem, "Setup required", _setupError);
- return;
- }
-
- SetPhase(CozyPhase.Connecting, "Connecting to LiveOps…");
- RegisterScenarioHandlers();
-
- try
- {
- _deviceId = SystemInfo.deviceUniqueIdentifier;
- _nickname = GetOrCreateNickname(_deviceId);
- Log(CozyCollectorConsts.CapabilityAuth, "loginWithDevice", _nickname + " · " + ShortId(_deviceId));
- await Rudder.Client.Auth.LoginWithDeviceAsync(
- CozyCollectorConsts.Region,
- CozyCollectorConsts.Language,
- _nickname);
-
- await Rudder.Client.RemoteConfig.LoadAsync();
- RefreshTuning(false);
-
- await LoadSaveAsync();
- await RefreshProfileAsync();
- await RefreshStoresAsync();
- await RefreshInventoryAsync();
- await RefreshQuestsAsync();
-
- try
- {
- await Rudder.Client.Scenario.TriggerAsync("player_login");
- }
- catch (Exception exception)
- {
- Log(CozyCollectorConsts.CapabilityScenario, "Trigger failed", exception.Message);
- }
-
- SetPhase(CozyPhase.Ready, "Connected");
- world.RestartRound();
- StartCoroutine(PollConfigLoop());
- }
- catch (Exception exception)
- {
- _setupError = exception.Message;
- SetPhase(CozyPhase.Setup, "Setup required");
- Log(CozyCollectorConsts.CapabilitySystem, "Login failed", exception.Message);
- }
- }
-
- // ---------------------------------------------------------------
- // Remote config
- // ---------------------------------------------------------------
-
- private IEnumerator PollConfigLoop()
- {
- var wait = new WaitForSeconds(ConfigPollSeconds);
- while (true)
- {
- yield return wait;
- _ = PollConfigAsync();
- }
- }
-
- private async Task PollConfigAsync()
- {
- try
- {
- await Rudder.Client.RemoteConfig.LoadAsync();
- RefreshTuning(true);
- }
- catch (Exception exception)
- {
- Log(CozyCollectorConsts.CapabilityConfig, "Config poll failed", exception.Message);
- }
- }
-
- private void RefreshTuning(bool announce)
- {
- var next = new CozyTuning
- {
- RoundSeconds = ReadConfigFloat(CozyCollectorConsts.ConfigRoundSeconds, CozyCollectorConsts.DefaultRoundSeconds),
- PlayerSpeed = ReadConfigFloat(CozyCollectorConsts.ConfigPlayerSpeed, CozyCollectorConsts.DefaultPlayerSpeed),
- SpawnIntervalMs = ReadConfigFloat(CozyCollectorConsts.ConfigSpawnIntervalMs, CozyCollectorConsts.DefaultSpawnIntervalMs),
- CollectibleScore = ReadConfigFloat(CozyCollectorConsts.ConfigCollectibleScore, CozyCollectorConsts.DefaultCollectibleScore)
- };
-
- var changedKeys = new List();
- if (!Mathf.Approximately(_tuning.RoundSeconds, next.RoundSeconds))
- changedKeys.Add(CozyCollectorConsts.ConfigRoundSeconds);
- if (!Mathf.Approximately(_tuning.PlayerSpeed, next.PlayerSpeed))
- changedKeys.Add(CozyCollectorConsts.ConfigPlayerSpeed);
- if (!Mathf.Approximately(_tuning.SpawnIntervalMs, next.SpawnIntervalMs))
- changedKeys.Add(CozyCollectorConsts.ConfigSpawnIntervalMs);
- if (!Mathf.Approximately(_tuning.CollectibleScore, next.CollectibleScore))
- changedKeys.Add(CozyCollectorConsts.ConfigCollectibleScore);
-
- _tuning.RoundSeconds = next.RoundSeconds;
- _tuning.PlayerSpeed = next.PlayerSpeed;
- _tuning.SpawnIntervalMs = next.SpawnIntervalMs;
- _tuning.CollectibleScore = next.CollectibleScore;
-
- if (!announce || changedKeys.Count > 0)
- {
- Log(
- CozyCollectorConsts.CapabilityConfig,
- "Remote config loaded",
- $"speed {Mathf.RoundToInt(_tuning.PlayerSpeed)} · spawn {Mathf.RoundToInt(_tuning.SpawnIntervalMs)}ms · " +
- $"+{Mathf.RoundToInt(_tuning.CollectibleScore)} · {Mathf.RoundToInt(_tuning.RoundSeconds)}s");
- }
-
- foreach (var key in changedKeys)
- {
- TuningChanged?.Invoke(key);
- if (announce)
- {
- Log(CozyCollectorConsts.CapabilityConfig, "Config changed live", key);
- Toast("Remote config updated", key + " applied live", CozyToastTone.Success);
- }
- }
- }
-
- private static float ReadConfigFloat(string key, float fallback)
- {
- return Rudder.Client.RemoteConfig.Get(key, fallback);
- }
-
- // ---------------------------------------------------------------
- // Profile / wallets / stores / inventory (pull-based freshness)
- // ---------------------------------------------------------------
-
- private async Task RefreshProfileAsync()
- {
- var profile = await Rudder.Client.Player.GetProfileAsync();
- var player = profile?.Player;
-
- _identity = new CozyIdentity
- {
- PlayerId = player?.Id ?? "unknown",
- Nickname = _nickname,
- DeviceId = _deviceId,
- ProjectKey = Rudder.Client.ProjectKey,
- Region = player?.Region
- };
- Log(
- CozyCollectorConsts.CapabilityAuth,
- "Authenticated",
- _identity.Nickname + " · " + ShortId(_identity.PlayerId));
-
- ApplyWallets(profile);
- }
-
- private async Task RefreshWalletsAsync()
- {
- var profile = await Rudder.Client.Player.GetProfileAsync();
- ApplyWallets(profile);
- }
-
- private void ApplyWallets(PlayerProfile profile)
- {
- _wallets.Clear();
- if (profile?.Wallets != null)
- {
- foreach (var wallet in profile.Wallets)
- {
- _wallets.Add(new CozyWallet
- {
- Currency = wallet.Currency ?? string.Empty,
- Balance = wallet.Balance
- });
- }
- }
-
- Log(CozyCollectorConsts.CapabilityWallet, "Wallet loaded", WalletSummary());
- WalletsChanged?.Invoke();
- }
-
- private async Task RefreshStoresAsync()
- {
- var stores = await Rudder.Client.Stores.ListAsync();
-
- _shopOffers.Clear();
- if (stores != null)
- {
- foreach (var store in stores)
- {
- if (store?.Offers == null)
- continue;
-
- foreach (var offer in store.Offers)
- {
- _shopOffers.Add(MapOffer(store.Slug, offer));
- }
- }
- }
-
- Log(CozyCollectorConsts.CapabilityStore, "Store catalog loaded", _shopOffers.Count + " offer(s)");
- ShopChanged?.Invoke();
- }
-
- private async Task RefreshInventoryAsync()
- {
- var items = await Rudder.Client.Inventory.GetAsync();
-
- _backpackItems.Clear();
- if (items != null)
- {
- foreach (var item in items)
- {
- var slug = item.Slug ?? string.Empty;
- _backpackItems.Add(new CozyBackpackItem
- {
- Slug = slug,
- Name = string.IsNullOrEmpty(item.NameOverride) ? slug : item.NameOverride,
- Amount = (int)item.Amount
- });
- }
- }
-
- Log(CozyCollectorConsts.CapabilityInventory, "Inventory loaded", _backpackItems.Count + " item(s)");
- BackpackChanged?.Invoke();
- }
-
- private async Task RefreshPurchasablesAsync()
- {
- // Purchases mutate wallets, catalog stock and inventory server-side;
- // the C# SDK has no onChange, so freshness is pull-based.
- try { await RefreshWalletsAsync(); }
- catch (Exception exception) { Log(CozyCollectorConsts.CapabilityWallet, "Wallet refresh failed", exception.Message); }
-
- try { await RefreshStoresAsync(); }
- catch (Exception exception) { Log(CozyCollectorConsts.CapabilityStore, "Store refresh failed", exception.Message); }
-
- try { await RefreshInventoryAsync(); }
- catch (Exception exception) { Log(CozyCollectorConsts.CapabilityInventory, "Inventory refresh failed", exception.Message); }
-
- // Purchase metrics (purchase.offer:* / purchase.item:*) are reported
- // server-side by the purchase fan-out; re-list to pick up new progress.
- try { await RefreshQuestsAsync(); }
- catch (Exception exception) { Log(CozyCollectorConsts.CapabilityQuests, "Quest refresh failed", exception.Message); }
- }
-
- // ---------------------------------------------------------------
- // Storage save
- // ---------------------------------------------------------------
-
- // Storage payload mirrors the Phaser saveRound JSON shape (camelCase keys).
- [Serializable]
- private class SavePayload
- {
- public int bestScore;
- public int lastScore;
- public int roundsPlayed;
- public int totalCollected;
- public string updatedAt;
- }
-
- private async Task LoadSaveAsync()
- {
- var response = await Rudder.Client.Storage.GetAsync();
- var item = response?.Items?.Find(
- candidate => candidate.Type == CozyCollectorConsts.StorageType && candidate.Id == CozyCollectorConsts.StorageId);
-
- if (item == null || string.IsNullOrEmpty(item.Data))
- {
- Log(CozyCollectorConsts.CapabilityStorage, "No saved progress yet", CozyCollectorConsts.StorageType);
- return;
- }
-
- try
- {
- var payload = JsonUtility.FromJson(item.Data);
- _save.BestScore = payload.bestScore;
- _save.LastScore = payload.lastScore;
- _save.RoundsPlayed = payload.roundsPlayed;
- _save.TotalCollected = payload.totalCollected;
- Log(
- CozyCollectorConsts.CapabilityStorage,
- "Loaded progress",
- $"best {_save.BestScore} · rounds {_save.RoundsPlayed}");
- }
- catch (Exception exception)
- {
- Log(CozyCollectorConsts.CapabilityStorage, "Save data unreadable", exception.Message);
- }
- }
-
- private async Task SaveRoundAsync(int score, int collected)
- {
- _save.BestScore = Math.Max(_save.BestScore, score);
- _save.LastScore = score;
- _save.RoundsPlayed += 1;
- _save.TotalCollected += collected;
-
- var payload = new SavePayload
- {
- bestScore = _save.BestScore,
- lastScore = _save.LastScore,
- roundsPlayed = _save.RoundsPlayed,
- totalCollected = _save.TotalCollected,
- updatedAt = DateTime.UtcNow.ToString("o", CultureInfo.InvariantCulture)
- };
-
- await Rudder.Client.Storage.SaveAsync(new[]
- {
- new StorageItem
- {
- Type = CozyCollectorConsts.StorageType,
- Id = CozyCollectorConsts.StorageId,
- Data = JsonUtility.ToJson(payload)
- }
- });
-
- Log(
- CozyCollectorConsts.CapabilityStorage,
- "Saved progress",
- $"best {_save.BestScore} · rounds {_save.RoundsPlayed}");
- }
-
- // ---------------------------------------------------------------
- // Leaderboard
- // ---------------------------------------------------------------
-
- private async Task> SubmitLeaderboardAsync(int score)
- {
- var leaderboard = Rudder.Client.Leaderboards.FindBySlug(CozyCollectorConsts.LeaderboardSlug);
- await leaderboard.SubmitAsync(score);
- var entries = await leaderboard.ListAsync(10);
- Log(CozyCollectorConsts.CapabilityLeaderboard, $"Submitted score {score}", CozyCollectorConsts.LeaderboardSlug);
- return MapEntries(entries);
- }
-
- private async Task> ListLeaderboardAsync()
- {
- var entries = await Rudder.Client.Leaderboards.FindBySlug(CozyCollectorConsts.LeaderboardSlug).ListAsync(10);
- return MapEntries(entries);
- }
-
- private static List MapEntries(IReadOnlyList entries)
- {
- var mapped = new List();
- if (entries == null)
- return mapped;
-
- foreach (var entry in entries)
- {
- mapped.Add(new CozyLeaderboardEntry
- {
- PlayerName = entry.PlayerName ?? entry.PlayerId ?? "(unknown)",
- Rank = (int)entry.Rank,
- Score = (int)entry.Score
- });
- }
-
- return mapped;
- }
-
- // ---------------------------------------------------------------
- // Global quests (distinct from scenario quest nodes / QuestSession)
- // ---------------------------------------------------------------
-
- private async Task RefreshQuestsAsync()
- {
- var quests = await Rudder.Client.Quests.ListAsync();
-
- var activeCount = 0;
- if (quests != null)
- {
- foreach (var quest in quests)
- {
- if (quest.Status == "claimed")
- continue;
-
- activeCount += 1;
- Log(CozyCollectorConsts.CapabilityQuests, "Quest " + (quest.Status ?? "active"), QuestProgressSummary(quest));
-
- if (quest.Status == "completed" && !string.IsNullOrEmpty(quest.Id))
- await ClaimQuestAsync(quest);
- }
- }
-
- Log(CozyCollectorConsts.CapabilityQuests, "Quests loaded", activeCount + " active");
- }
-
- private async Task ClaimQuestAsync(Quest quest)
- {
- var result = await Rudder.Client.Quests.ClaimAsync(quest.Id);
- if (result == null || !result.Success)
- {
- Log(CozyCollectorConsts.CapabilityQuests, "Quest claim rejected", result?.Error);
- return;
- }
-
- if (!result.AlreadyClaimed)
- Toast("Quest complete", quest.Name ?? quest.Id, CozyToastTone.Success);
- Log(CozyCollectorConsts.CapabilityQuests, "Quest claimed", quest.Name ?? quest.Id);
- await RefreshWalletsAsync();
- }
-
- private static string QuestProgressSummary(Quest quest)
- {
- var name = quest.Name ?? quest.Id;
- if (quest.Objectives == null || quest.Objectives.Count == 0)
- return name;
-
- var parts = new List();
- foreach (var objective in quest.Objectives)
- {
- parts.Add(objective.Metric + " " + objective.Current + "/" + objective.Target);
- }
-
- return name + " · " + string.Join(" · ", parts);
- }
-
- // ---------------------------------------------------------------
- // Round flow
- // ---------------------------------------------------------------
-
- private void OnRoundFinished(int score, int collected)
- {
- SyncWorldPause();
- _ = FinishRoundAsync(score, collected);
- }
-
- private async Task FinishRoundAsync(int score, int collected)
- {
- try
- {
- await SaveRoundAsync(score, collected);
- }
- catch (Exception exception)
- {
- Toast("Save failed", exception.Message, CozyToastTone.Error);
- Log(CozyCollectorConsts.CapabilityStorage, "Save failed", exception.Message);
- }
-
- var entries = new List();
- try
- {
- entries = await SubmitLeaderboardAsync(score);
- }
- catch (Exception exception)
- {
- Toast("Leaderboard failed", exception.Message, CozyToastTone.Error);
- Log(CozyCollectorConsts.CapabilityLeaderboard, "Submit failed", exception.Message);
- }
-
- _roundResult = new CozyRoundResult
- {
- Score = score,
- Best = _save.BestScore,
- Collected = collected,
- TopEntries = entries
- };
- RoundResultChanged?.Invoke();
- SetModal(CozyModal.RoundResult);
-
-
- try
- {
- await Rudder.Client.Scenario.TriggerAsync("demo_round_finished");
- }
- catch (Exception exception)
- {
- Log(CozyCollectorConsts.CapabilityScenario, "Trigger failed", exception.Message);
- }
-
- try
- {
- var completedIds = await Rudder.Client.Quests.ReportProgressAsync(
- CozyCollectorConsts.QuestMetricCollectibles,
- collected);
- Log(
- CozyCollectorConsts.CapabilityQuests,
- "Quest progress reported",
- CozyCollectorConsts.QuestMetricCollectibles + " +" + collected +
- (completedIds.Count > 0 ? " · completed " + completedIds.Count + " quest(s)" : string.Empty));
- await RefreshQuestsAsync();
- }
- catch (Exception exception)
- {
- Log(CozyCollectorConsts.CapabilityQuests, "Quest progress failed", exception.Message);
- }
- }
-
- public void PlayAgain()
- {
- SetModal(CozyModal.None);
- world.RestartRound();
- SyncWorldPause();
- }
-
- // ---------------------------------------------------------------
- // Modals
- // ---------------------------------------------------------------
-
- public void OpenModal(CozyModal modal)
- {
- SetModal(modal);
- }
-
- public void CloseModal()
- {
- // Scenario offers must be bought or declined, same as the Phaser store.
- if (_activeModal == CozyModal.Offer)
- return;
-
- SetModal(CozyModal.None);
- }
-
- private void SetModal(CozyModal modal)
- {
- if (_activeModal == modal)
- return;
-
- _activeModal = modal;
- ModalChanged?.Invoke();
- SyncWorldPause();
- }
-
- private void SyncWorldPause()
- {
- world.SetPaused(_activeModal != CozyModal.None || !world.RoundActive);
- }
-
- // ---------------------------------------------------------------
- // Shop
- // ---------------------------------------------------------------
-
- public void BuyShopOffer(string offerId)
- {
- _ = BuyShopOfferAsync(offerId);
- }
-
- private async Task BuyShopOfferAsync(string offerId)
- {
- var offer = _shopOffers.Find(candidate => candidate.OfferId == offerId);
- if (offer == null)
- {
- Toast("Purchase failed", "Unknown offer " + offerId, CozyToastTone.Error);
- return;
- }
-
- try
- {
- var response = await Rudder.Client.Stores.PurchaseAsync(
- offer.StoreSlug,
- offer.OfferId,
- "demo-shop-" + offer.OfferId + "-" + DateTimeOffset.UtcNow.ToUnixTimeMilliseconds());
-
- if (response != null && !response.Success)
- {
- Toast("Purchase failed", response.Error ?? "The store rejected the purchase.", CozyToastTone.Error);
- Log(CozyCollectorConsts.CapabilityStore, "Purchase rejected", response.Error);
- return;
- }
- }
- catch (Exception exception)
- {
- Toast("Purchase failed", exception.Message, CozyToastTone.Error);
- Log(CozyCollectorConsts.CapabilityStore, "Purchase failed", exception.Message);
- return;
- }
-
- Toast("Purchase complete", offer.Name, CozyToastTone.Success);
- Log(CozyCollectorConsts.CapabilityStore, "Purchased offer", offer.Name + " · " + offer.StoreSlug);
- await RefreshPurchasablesAsync();
- }
-
- // ---------------------------------------------------------------
- // Scenario store offer
- // ---------------------------------------------------------------
-
- public void BuyScenarioOffer()
- {
- _ = BuyScenarioOfferAsync();
- }
-
- private async Task BuyScenarioOfferAsync()
- {
- var session = _storeSession;
- var offerInfo = _currentOffer;
- if (session == null || offerInfo == null || offerInfo.Offers == null || offerInfo.Offers.Count == 0)
- return;
-
- // Mirror the Phaser OfferModal: prefer the configured offer, fall back to the first.
- var offer = offerInfo.Offers.Find(candidate => candidate.OfferId == CozyCollectorConsts.OfferId)
- ?? offerInfo.Offers[0];
-
- try
- {
- var response = await Rudder.Client.Stores.PurchaseAsync(
- offer.StoreSlug,
- offer.OfferId,
- "demo-offer-" + DateTimeOffset.UtcNow.ToUnixTimeMilliseconds());
-
- if (response != null && !response.Success)
- {
- Toast("Offer failed", response.Error ?? "The store rejected the purchase.", CozyToastTone.Error);
- Log(CozyCollectorConsts.CapabilityStore, "Offer purchase rejected", response.Error);
- return;
- }
-
- session.Purchase();
- }
- catch (Exception exception)
- {
- Toast("Offer failed", exception.Message, CozyToastTone.Error);
- Log(CozyCollectorConsts.CapabilityStore, "Offer purchase failed", exception.Message);
- return;
- }
-
- _storeSession = null;
- _currentOffer = null;
- OfferChanged?.Invoke();
- SetModal(CozyModal.None);
- Toast("Offer purchased", "Waiting for the scenario reward…", CozyToastTone.Success);
- Log(CozyCollectorConsts.CapabilityStore, "Scenario offer purchased", offer.Name);
- await RefreshPurchasablesAsync();
- }
-
- public void DeclineScenarioOffer()
- {
- var session = _storeSession;
- if (session == null)
- return;
-
- session.Decline();
- _storeSession = null;
- _currentOffer = null;
- OfferChanged?.Invoke();
- SetModal(CozyModal.None);
- Toast("Offer declined", "The camp merchant will return later.", CozyToastTone.Info);
- Log(CozyCollectorConsts.CapabilityStore, "Scenario offer declined", null);
- }
-
- // ---------------------------------------------------------------
- // Scenario leaderboard (dormant path, driven from the result modal)
- // ---------------------------------------------------------------
-
- public void ClaimScenarioLeaderboardReward()
- {
- if (_leaderboardSession == null)
- return;
-
- _leaderboardSession.RewardClaimed();
- _leaderboardSession = null;
- Log(CozyCollectorConsts.CapabilityLeaderboard, "Scenario reward claimed", null);
- }
-
- public void EndScenarioLeaderboard()
- {
- if (_leaderboardSession == null)
- return;
-
- _leaderboardSession.End();
- _leaderboardSession = null;
- Log(CozyCollectorConsts.CapabilityLeaderboard, "Scenario leaderboard ended", null);
- }
-
- // ---------------------------------------------------------------
- // Scenario handlers
- // ---------------------------------------------------------------
-
- private void RegisterScenarioHandlers()
- {
- if (_scenarioHandlersRegistered || Rudder.State != RudderState.Ready)
- return;
-
- Rudder.Client.Scenario.OnNotification += OnScenarioNotification;
- Rudder.Client.Scenario.OnWait += OnScenarioWait;
- Rudder.Client.Scenario.OnStoreOffer += OnScenarioStoreOffer;
- Rudder.Client.Scenario.OnConfigChanged += OnScenarioConfigChanged;
- Rudder.Client.Scenario.OnQuest += OnScenarioQuest;
- Rudder.Client.Scenario.OnLeaderboard += OnScenarioLeaderboard;
- Rudder.Client.Scenario.OnBattlePass += OnScenarioBattlePass;
- Rudder.Client.Scenario.OnBattlePassLevel += OnScenarioBattlePassLevel;
- Rudder.Client.Scenario.OnScenarioCompleted += OnScenarioCompleted;
- Rudder.Client.Scenario.OnScenarioFailed += OnScenarioFailed;
- _scenarioHandlersRegistered = true;
- }
-
- private void UnregisterScenarioHandlers()
- {
- if (!_scenarioHandlersRegistered || Rudder.State != RudderState.Ready)
- return;
-
- Rudder.Client.Scenario.OnNotification -= OnScenarioNotification;
- Rudder.Client.Scenario.OnWait -= OnScenarioWait;
- Rudder.Client.Scenario.OnStoreOffer -= OnScenarioStoreOffer;
- Rudder.Client.Scenario.OnConfigChanged -= OnScenarioConfigChanged;
- Rudder.Client.Scenario.OnQuest -= OnScenarioQuest;
- Rudder.Client.Scenario.OnLeaderboard -= OnScenarioLeaderboard;
- Rudder.Client.Scenario.OnBattlePass -= OnScenarioBattlePass;
- Rudder.Client.Scenario.OnBattlePassLevel -= OnScenarioBattlePassLevel;
- Rudder.Client.Scenario.OnScenarioCompleted -= OnScenarioCompleted;
- Rudder.Client.Scenario.OnScenarioFailed -= OnScenarioFailed;
- _scenarioHandlersRegistered = false;
- }
-
- private void OnScenarioNotification(NotificationSession session)
- {
- var title = session.Get("title", "");
- var message = session.Get("message", "");
- Log(CozyCollectorConsts.CapabilityScenario, "Notification effect", string.IsNullOrEmpty(title) ? message : title);
- Toast(string.IsNullOrEmpty(title) ? "LiveOps" : title, message, CozyToastTone.Info);
- StartCoroutine(CompleteNotificationAfterDelay(session));
- }
-
- private IEnumerator CompleteNotificationAfterDelay(NotificationSession session)
- {
- yield return new WaitForSeconds(NotificationAutoCompleteSeconds);
- session.Complete();
- _ = RefreshWalletsAfterNotificationAsync();
- }
-
- private async Task RefreshWalletsAfterNotificationAsync()
- {
- // Notification rewards may have landed on the wallet; pull fresh state.
- try
- {
- await RefreshWalletsAsync();
- }
- catch (Exception exception)
- {
- Log(CozyCollectorConsts.CapabilityWallet, "Wallet refresh failed", exception.Message);
- }
- }
-
- private void OnScenarioWait(WaitSession session)
- {
- Log(CozyCollectorConsts.CapabilityScenario, "Scenario wait", session.DeadlineUtc.ToString("O"));
- }
-
- private void OnScenarioStoreOffer(StoreOfferSession session)
- {
- var storeSlug = session.Get("storeSlug", CozyCollectorConsts.StoreSlug);
- Log(CozyCollectorConsts.CapabilityScenario, "Store-offer effect", storeSlug);
- _ = PresentStoreOfferAsync(session, storeSlug);
- }
-
- private async Task PresentStoreOfferAsync(StoreOfferSession session, string storeSlug)
- {
- try
- {
- var store = await Rudder.Client.Stores.GetAsync(storeSlug);
- var offers = new List();
- if (store?.Offers != null)
- {
- foreach (var offer in store.Offers)
- {
- offers.Add(MapOffer(store.Slug, offer));
- }
- }
-
- _storeSession = session;
- _currentOffer = new CozyOfferInfo
- {
- StoreSlug = store?.Slug ?? storeSlug,
- StoreName = store?.Name ?? storeSlug,
- Offers = offers
- };
- OfferChanged?.Invoke();
- OpenModal(CozyModal.Offer);
- }
- catch (Exception exception)
- {
- Log(CozyCollectorConsts.CapabilityStore, "Store offer unavailable", exception.Message);
- Toast("Offer unavailable", exception.Message, CozyToastTone.Error);
- session.Decline();
- }
- }
-
- private void OnScenarioConfigChanged(ConfigChangedSession session)
- {
- // The SDK dispatch already applied the patches to the remote-config cache.
- Log(CozyCollectorConsts.CapabilityScenario, "Remote config override applied", session.Context.NodeId);
- RefreshTuning(true);
- }
-
- private void OnScenarioQuest(QuestSession session)
- {
- Log(CozyCollectorConsts.CapabilityScenario, "Scenario quest node", session.Context.NodeId);
- }
-
- private void OnScenarioLeaderboard(LeaderboardSession session)
- {
- // Dormant until a scenario emits a leaderboard node; shares the round-result modal.
- _leaderboardSession = session;
- Log(CozyCollectorConsts.CapabilityLeaderboard, "Leaderboard effect (scenario)", session.Context.NodeId);
- _ = PresentScenarioLeaderboardAsync();
- }
-
- private async Task PresentScenarioLeaderboardAsync()
- {
- var entries = new List();
- try
- {
- entries = await ListLeaderboardAsync();
- }
- catch (Exception exception)
- {
- Log(CozyCollectorConsts.CapabilityLeaderboard, "List failed", exception.Message);
- }
-
- _roundResult = new CozyRoundResult
- {
- Score = _save.LastScore,
- Best = _save.BestScore,
- Collected = 0,
- TopEntries = entries
- };
- RoundResultChanged?.Invoke();
- SetModal(CozyModal.RoundResult);
- }
-
- private void OnScenarioBattlePass(BattlePassSession session)
- {
- Log(CozyCollectorConsts.CapabilityScenario, "Scenario battlepass node", session.Context.NodeId);
- }
-
- private void OnScenarioBattlePassLevel(BattlePassLevelSession session)
- {
- Log(CozyCollectorConsts.CapabilityScenario, "Scenario battlepass level node", session.Context.NodeId);
- }
-
- private void OnScenarioCompleted(PlanRun run)
- {
- Log(CozyCollectorConsts.CapabilityScenario, "Scenario run completed", run.RunId);
- }
-
- private void OnScenarioFailed(ScenarioFailedEvent failed)
- {
- Log(CozyCollectorConsts.CapabilityScenario, "Scenario run failed", failed.NodeId + ": " + failed.Exception.Message);
- }
-
- // ---------------------------------------------------------------
- // Inspector log / toasts
- // ---------------------------------------------------------------
-
- public void Log(string capability, string message, string detail = null)
- {
- _logEntries.Insert(0, new CozyLogEntry
- {
- Capability = capability,
- Message = message,
- Detail = detail,
- Timestamp = DateTime.Now
- });
- if (_logEntries.Count > MaxLogEntries)
- _logEntries.RemoveAt(_logEntries.Count - 1);
-
- LogAdded?.Invoke();
- }
-
- public void Toast(string title, string message, CozyToastTone tone)
- {
- ToastRequested?.Invoke(title, message, tone);
- }
-
- // ---------------------------------------------------------------
- // Helpers
- // ---------------------------------------------------------------
-
- private void SetPhase(CozyPhase phase, string statusMessage)
- {
- if (_phase == phase && _statusMessage == statusMessage)
- return;
-
- _phase = phase;
- _statusMessage = statusMessage;
- PhaseChanged?.Invoke();
- }
-
- private string WalletSummary()
- {
- if (_wallets.Count == 0)
- return "empty";
-
- var parts = new List();
- foreach (var wallet in _wallets)
- {
- parts.Add((wallet.Balance + " " + wallet.Currency).Trim());
- }
-
- return string.Join(" · ", parts);
- }
-
- private static CozyShopOffer MapOffer(string storeSlug, Offer offer)
- {
- return new CozyShopOffer
- {
- StoreSlug = storeSlug,
- OfferId = offer.Id,
- Name = string.IsNullOrEmpty(offer.Name) ? offer.Id : offer.Name,
- Price = offer.Price?.Amount ?? 0,
- Currency = offer.Price?.Currency ?? string.Empty
- };
- }
-
- private static string GetOrCreateNickname(string deviceId)
- {
- var existing = PlayerPrefs.GetString(CozyCollectorConsts.NicknamePrefsKey, string.Empty);
- if (!string.IsNullOrEmpty(existing))
- return existing;
-
- // Nickname is generated locally once and passed to LoginWithDeviceAsync.
- var compact = deviceId.Replace("-", string.Empty);
- var suffix = compact.Length > 4 ? compact.Substring(0, 4) : compact;
- var nickname = "Player-" + suffix;
- PlayerPrefs.SetString(CozyCollectorConsts.NicknamePrefsKey, nickname);
- PlayerPrefs.Save();
- return nickname;
- }
-
- private static string ShortId(string value)
- {
- return value != null && value.Length > 10 ? value.Substring(0, 8) + "…" : value;
- }
- }
-}
diff --git a/Assets/LiveOpsExamples/Scripts/CozyCollectorController.cs.meta b/Assets/LiveOpsExamples/Scripts/CozyCollectorController.cs.meta
deleted file mode 100644
index edb2657..0000000
--- a/Assets/LiveOpsExamples/Scripts/CozyCollectorController.cs.meta
+++ /dev/null
@@ -1,2 +0,0 @@
-fileFormatVersion: 2
-guid: 05ab47060c2ef4476800002c4a956b85
\ No newline at end of file
diff --git a/Assets/LiveOpsExamples/Scripts/CozyCollectorSpriteLibrary.cs b/Assets/LiveOpsExamples/Scripts/CozyCollectorSpriteLibrary.cs
deleted file mode 100644
index 5de8748..0000000
--- a/Assets/LiveOpsExamples/Scripts/CozyCollectorSpriteLibrary.cs
+++ /dev/null
@@ -1,42 +0,0 @@
-using UnityEngine;
-
-namespace LiveOpsExamples
-{
- ///
- /// Baked sprite references for the Cozy Collector demo. Mirrors the Phaser
- /// texture keys; falls back to the star sprite for
- /// unknown slugs, same as the Phaser backpack icon mapping.
- ///
- [CreateAssetMenu(menuName = "LiveOps Examples/Cozy Collector Sprite Library")]
- public class CozyCollectorSpriteLibrary : ScriptableObject
- {
- [SerializeField] private Sprite background;
- [SerializeField] private Sprite player;
- [SerializeField] private Sprite moonberry;
- [SerializeField] private Sprite acorn;
- [SerializeField] private Sprite star;
- [SerializeField] private Sprite snack;
-
- public Sprite Background => background;
- public Sprite Player => player;
- public Sprite Moonberry => moonberry;
- public Sprite Acorn => acorn;
- public Sprite Star => star;
- public Sprite Snack => snack;
-
- public Sprite ForSlug(string slug)
- {
- switch (slug)
- {
- case "background":
- case "camp-bg": return background;
- case "player": return player;
- case "moonberry": return moonberry;
- case "acorn": return acorn;
- case "snack": return snack;
- case "star":
- default: return star;
- }
- }
- }
-}
diff --git a/Assets/LiveOpsExamples/Scripts/CozyCollectorSpriteLibrary.cs.meta b/Assets/LiveOpsExamples/Scripts/CozyCollectorSpriteLibrary.cs.meta
deleted file mode 100644
index e1ab539..0000000
--- a/Assets/LiveOpsExamples/Scripts/CozyCollectorSpriteLibrary.cs.meta
+++ /dev/null
@@ -1,2 +0,0 @@
-fileFormatVersion: 2
-guid: 8cd851b86da394b9ca06595f889a49b3
\ No newline at end of file
diff --git a/Assets/LiveOpsExamples/Scripts/GameWorld.cs b/Assets/LiveOpsExamples/Scripts/GameWorld.cs
deleted file mode 100644
index 196f176..0000000
--- a/Assets/LiveOpsExamples/Scripts/GameWorld.cs
+++ /dev/null
@@ -1,149 +0,0 @@
-using System;
-using UnityEngine;
-
-namespace LiveOpsExamples
-{
- ///
- /// Gameplay world for the Cozy Collector demo — the Unity port of the Phaser
- /// GameScene.ts. Renders only the game world: player movement (WASD/arrows),
- /// round timer, spawn cadence and pickups. All chrome lives in the UI panels,
- /// all SDK calls in .
- ///
- /// The Phaser field is 1280×720 px at 100 PPU, i.e. 12.8×7.2 world units
- /// centered on the origin; tuning speeds/intervals stay in Phaser units
- /// (px/s, ms) and are converted here.
- ///
- public class GameWorld : MonoBehaviour
- {
- private const float PixelsPerUnit = 100f;
-
- [SerializeField] private SpriteRenderer player;
- [SerializeField] private SnackSpawner spawner;
- [SerializeField] private CozyCollectorController controller;
- [SerializeField] private ScorePopupView scorePopupPrefab;
- [SerializeField] private ParticleSystem collectBurstPrefab;
- [SerializeField] private Vector2 moveMin = new Vector2(-6.0f, -3.2f);
- [SerializeField] private Vector2 moveMax = new Vector2(6.0f, 3.2f);
-
- private bool _paused;
- private float _spawnElapsedMs;
- private int _lastSecond = -1;
- private bool _finishRaised;
-
- public int Score { get; private set; }
- public int Collected { get; private set; }
- public float TimeLeftSeconds { get; private set; }
- public bool RoundActive { get; private set; }
-
- public event Action StateChanged;
- public event Action RoundFinished;
-
- private void Awake()
- {
- spawner.Player = player;
- spawner.Collected += OnSnackCollected;
- }
-
- private void OnDestroy()
- {
- spawner.Collected -= OnSnackCollected;
- }
-
- private void Update()
- {
- MovePlayer(_paused || !RoundActive);
-
- if (!RoundActive || _paused)
- return;
-
- TimeLeftSeconds = Mathf.Max(0f, TimeLeftSeconds - Time.deltaTime);
- _spawnElapsedMs += Time.deltaTime * 1000f;
-
- if (_spawnElapsedMs >= controller.Tuning.SpawnIntervalMs)
- {
- _spawnElapsedMs = 0f;
- spawner.Spawn();
- }
-
- var second = Mathf.CeilToInt(TimeLeftSeconds);
- if (second != _lastSecond)
- {
- _lastSecond = second;
- StateChanged?.Invoke();
- }
-
- if (TimeLeftSeconds <= 0f)
- FinishRound();
- }
-
- public void SetPaused(bool paused)
- {
- _paused = paused;
- }
-
- public void RestartRound()
- {
- Score = 0;
- Collected = 0;
- TimeLeftSeconds = controller.Tuning.RoundSeconds;
- _spawnElapsedMs = 0f;
- _lastSecond = -1;
- _finishRaised = false;
- spawner.Clear();
- RoundActive = true;
- spawner.Spawn();
- StateChanged?.Invoke();
- }
-
- private void MovePlayer(bool frozen)
- {
- if (frozen)
- return;
-
- var vx = (Input.GetKey(KeyCode.LeftArrow) || Input.GetKey(KeyCode.A) ? -1 : 0) +
- (Input.GetKey(KeyCode.RightArrow) || Input.GetKey(KeyCode.D) ? 1 : 0);
- var vy = (Input.GetKey(KeyCode.DownArrow) || Input.GetKey(KeyCode.S) ? -1 : 0) +
- (Input.GetKey(KeyCode.UpArrow) || Input.GetKey(KeyCode.W) ? 1 : 0);
-
- if (vx == 0 && vy == 0)
- return;
-
- var direction = new Vector2(vx, vy).normalized;
- var speed = controller.Tuning.PlayerSpeed / PixelsPerUnit;
- var position = player.transform.position;
- position += (Vector3)(direction * speed * Time.deltaTime);
- position.x = Mathf.Clamp(position.x, moveMin.x, moveMax.x);
- position.y = Mathf.Clamp(position.y, moveMin.y, moveMax.y);
- player.transform.position = position;
-
- if (vx != 0)
- player.flipX = vx < 0;
- }
-
- private void OnSnackCollected(Snack snack)
- {
- var position = snack.transform.position;
- var gain = Mathf.RoundToInt(controller.Tuning.CollectibleScore);
- Score += gain;
- Collected += 1;
-
- var popup = Instantiate(scorePopupPrefab, position, Quaternion.identity);
- popup.Set(gain);
- Instantiate(collectBurstPrefab, position, Quaternion.identity);
-
- StateChanged?.Invoke();
- }
-
- private void FinishRound()
- {
- if (_finishRaised)
- return;
-
- _finishRaised = true;
- RoundActive = false;
- spawner.Clear();
- StateChanged?.Invoke();
- RoundFinished?.Invoke(Score, Collected);
- }
- }
-}
diff --git a/Assets/LiveOpsExamples/Scripts/GameWorld.cs.meta b/Assets/LiveOpsExamples/Scripts/GameWorld.cs.meta
deleted file mode 100644
index 444608e..0000000
--- a/Assets/LiveOpsExamples/Scripts/GameWorld.cs.meta
+++ /dev/null
@@ -1,2 +0,0 @@
-fileFormatVersion: 2
-guid: 952f52af0af8546eeab332b11e2e4bb7
\ No newline at end of file
diff --git a/Assets/LiveOpsExamples/Scripts/ScorePopupView.cs b/Assets/LiveOpsExamples/Scripts/ScorePopupView.cs
deleted file mode 100644
index 660816a..0000000
--- a/Assets/LiveOpsExamples/Scripts/ScorePopupView.cs
+++ /dev/null
@@ -1,43 +0,0 @@
-using System.Collections;
-using TMPro;
-using UnityEngine;
-
-namespace LiveOpsExamples
-{
- ///
- /// World-space "+N" score popup. Floats up ~0.5 world units and fades out over
- /// 0.7 s (Cubic.easeOut, like the Phaser floatScore tween), then destroys itself.
- ///
- public class ScorePopupView : MonoBehaviour
- {
- private const float FloatDistance = 0.5f;
- private const float LifetimeSeconds = 0.7f;
-
- [SerializeField] private TextMeshPro label;
-
- public void Set(int gain)
- {
- label.text = "+" + gain;
- StartCoroutine(Animate());
- }
-
- private IEnumerator Animate()
- {
- var start = transform.position;
- var color = label.color;
- var elapsed = 0f;
-
- while (elapsed < LifetimeSeconds)
- {
- elapsed += Time.deltaTime;
- var t = Mathf.Clamp01(elapsed / LifetimeSeconds);
- var eased = 1f - Mathf.Pow(1f - t, 3f);
- transform.position = start + new Vector3(0f, FloatDistance * eased, 0f);
- label.color = new Color(color.r, color.g, color.b, color.a * (1f - eased));
- yield return null;
- }
-
- Destroy(gameObject);
- }
- }
-}
diff --git a/Assets/LiveOpsExamples/Scripts/ScorePopupView.cs.meta b/Assets/LiveOpsExamples/Scripts/ScorePopupView.cs.meta
deleted file mode 100644
index dd4356f..0000000
--- a/Assets/LiveOpsExamples/Scripts/ScorePopupView.cs.meta
+++ /dev/null
@@ -1,2 +0,0 @@
-fileFormatVersion: 2
-guid: b1db4bf03192148bf95ea374d128f349
\ No newline at end of file
diff --git a/Assets/LiveOpsExamples/Scripts/Snack.cs b/Assets/LiveOpsExamples/Scripts/Snack.cs
deleted file mode 100644
index 93df104..0000000
--- a/Assets/LiveOpsExamples/Scripts/Snack.cs
+++ /dev/null
@@ -1,45 +0,0 @@
-using System;
-using UnityEngine;
-
-namespace LiveOpsExamples
-{
- ///
- /// A collectible snack. Bobs gently (sine, 0.08 world units amplitude, 650 ms
- /// half-period — mirrors the Phaser yoyo tween) and raises
- /// when the player overlaps its trigger, then destroys itself.
- ///
- [RequireComponent(typeof(SpriteRenderer))]
- public class Snack : MonoBehaviour
- {
- private const float BobAmplitude = 0.08f;
- private const float BobHalfPeriodSeconds = 0.65f;
-
- public SpriteRenderer Player { get; set; }
-
- public event Action Collected;
-
- private Vector3 _basePosition;
- private float _elapsed;
-
- private void Start()
- {
- _basePosition = transform.position;
- }
-
- private void Update()
- {
- _elapsed += Time.deltaTime;
- var offset = Mathf.Sin(_elapsed * Mathf.PI / BobHalfPeriodSeconds) * BobAmplitude;
- transform.position = _basePosition + new Vector3(0f, offset, 0f);
- }
-
- private void OnTriggerEnter2D(Collider2D other)
- {
- if (Player == null || other.gameObject != Player.gameObject)
- return;
-
- Collected?.Invoke(this);
- Destroy(gameObject);
- }
- }
-}
diff --git a/Assets/LiveOpsExamples/Scripts/Snack.cs.meta b/Assets/LiveOpsExamples/Scripts/Snack.cs.meta
deleted file mode 100644
index 9927319..0000000
--- a/Assets/LiveOpsExamples/Scripts/Snack.cs.meta
+++ /dev/null
@@ -1,2 +0,0 @@
-fileFormatVersion: 2
-guid: 36b117cefc78541b9b42188266102562
\ No newline at end of file
diff --git a/Assets/LiveOpsExamples/Scripts/SnackSpawner.cs b/Assets/LiveOpsExamples/Scripts/SnackSpawner.cs
deleted file mode 100644
index 8a198e7..0000000
--- a/Assets/LiveOpsExamples/Scripts/SnackSpawner.cs
+++ /dev/null
@@ -1,76 +0,0 @@
-using System;
-using System.Collections.Generic;
-using UnityEngine;
-
-namespace LiveOpsExamples
-{
- ///
- /// Spawns collectible snacks at random positions inside the configured bounds,
- /// picking a random collectible slug (moonberry/acorn/star/snack) and applying
- /// its sprite from the library. Mirrors GameScene.spawnCollectible.
- ///
- /// Phaser spawn margins x∈[115,1165], y∈[118,625] px on a 1280×720 field at
- /// 100 PPU map to x∈[-5.25,5.25], y∈[-2.65,2.42] world units (y is flipped).
- ///
- public class SnackSpawner : MonoBehaviour
- {
- private static readonly string[] CollectibleSlugs = { "moonberry", "acorn", "star", "snack" };
-
- [SerializeField] private Snack prefab;
- [SerializeField] private CozyCollectorSpriteLibrary library;
- [SerializeField] private Vector2 spawnMin = new Vector2(-5.25f, -2.65f);
- [SerializeField] private Vector2 spawnMax = new Vector2(5.25f, 2.42f);
- [SerializeField] private Transform parent;
-
- private readonly List _spawned = new List();
-
- public SpriteRenderer Player { get; set; }
-
- public event Action Collected;
-
- public Snack Spawn()
- {
- var slug = CollectibleSlugs[UnityEngine.Random.Range(0, CollectibleSlugs.Length)];
- var position = new Vector3(
- UnityEngine.Random.Range(spawnMin.x, spawnMax.x),
- UnityEngine.Random.Range(spawnMin.y, spawnMax.y),
- 0f);
-
- var snack = Instantiate(prefab, position, Quaternion.identity, parent);
- var sprite = library.ForSlug(slug);
- snack.GetComponent().sprite = sprite;
- // Phaser setDisplaySize(52, 52) at 100 PPU -> 0.52 x 0.52 world units.
- var spriteBounds = sprite.bounds.size;
- var scale = new Vector3(0.52f / spriteBounds.x, 0.52f / spriteBounds.y, 1f);
- snack.transform.localScale = scale;
- // The prefab collider radius is tuned to snack.png; a circle collider's
- // world radius scales by the largest transform axis, so retune per sprite.
- snack.GetComponent().radius = 0.22f / Mathf.Max(scale.x, scale.y);
- snack.Player = Player;
- snack.Collected += OnSnackCollected;
- _spawned.Add(snack);
- return snack;
- }
-
- public void Clear()
- {
- foreach (var snack in _spawned)
- {
- if (snack == null)
- continue;
-
- snack.Collected -= OnSnackCollected;
- Destroy(snack.gameObject);
- }
-
- _spawned.Clear();
- }
-
- private void OnSnackCollected(Snack snack)
- {
- snack.Collected -= OnSnackCollected;
- _spawned.Remove(snack);
- Collected?.Invoke(snack);
- }
- }
-}
diff --git a/Assets/LiveOpsExamples/Scripts/SnackSpawner.cs.meta b/Assets/LiveOpsExamples/Scripts/SnackSpawner.cs.meta
deleted file mode 100644
index c21de8b..0000000
--- a/Assets/LiveOpsExamples/Scripts/SnackSpawner.cs.meta
+++ /dev/null
@@ -1,2 +0,0 @@
-fileFormatVersion: 2
-guid: ec58b83d93d5b435abaaa64ecc05fe1a
\ No newline at end of file
diff --git a/Assets/LiveOpsExamples/Scripts/UI.meta b/Assets/LiveOpsExamples/Scripts/UI.meta
deleted file mode 100644
index 37c7f8f..0000000
--- a/Assets/LiveOpsExamples/Scripts/UI.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: c21c943a5e1bd4f79a2d6bcb2e3f30fb
-folderAsset: yes
-DefaultImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/LiveOpsExamples/Scripts/UI/BackpackModalPanel.cs b/Assets/LiveOpsExamples/Scripts/UI/BackpackModalPanel.cs
deleted file mode 100644
index 4669826..0000000
--- a/Assets/LiveOpsExamples/Scripts/UI/BackpackModalPanel.cs
+++ /dev/null
@@ -1,81 +0,0 @@
-using UnityEngine;
-using UnityEngine.UIElements;
-
-namespace LiveOpsExamples
-{
- public class BackpackModalPanel : MonoBehaviour
- {
- [SerializeField] private PanelRenderer panelRenderer;
- [SerializeField] private CozyCollectorController controller;
- [SerializeField] private VisualTreeAsset backpackItemRowTemplate;
- [SerializeField] private CozyCollectorSpriteLibrary spriteLibrary;
-
- private VisualElement _root;
- private ScrollView _itemsScroll;
- private VisualElement _emptyNote;
- private Button _closeButton;
-
- private void OnEnable()
- {
- panelRenderer.RegisterUIReloadCallback(OnUIReload);
- controller.ModalChanged += ApplyVisibility;
- controller.BackpackChanged += Rebuild;
- }
-
- private void OnDisable()
- {
- panelRenderer.UnregisterUIReloadCallback(OnUIReload);
- controller.ModalChanged -= ApplyVisibility;
- controller.BackpackChanged -= Rebuild;
- }
-
- private void OnUIReload(PanelRenderer renderer, VisualElement root)
- {
- _root = root.Q("backpack-modal");
- _itemsScroll = _root.Q("backpack-items-scroll");
- _emptyNote = _root.Q("backpack-empty");
- _closeButton = _root.Q