From 2a7759228f9b201e4ace4abf8915ce190ba89f03 Mon Sep 17 00:00:00 2001 From: Mausham Date: Wed, 17 Dec 2025 15:50:28 -0800 Subject: [PATCH] generic pool made --- AGENTS.md | 4 - .../Code/App/Installers/GameLifetimeScope.cs | 6 +- .../Code/Core/Contracts/ILeaderBoardData.cs | 9 + .../Core/Contracts/ILeaderBoardData.cs.meta | 2 + .../Code/Core/Contracts/IPoolable.cs | 10 + .../Code/Core/Contracts/IPoolable.cs.meta | 2 + .../Domain/LeaderBoard/LeaderboardData.cs | 13 -- .../LeaderBoard/LeaderboardData.cs.meta | 2 - ...{FirstPlatform.cs => FirstPlatformRule.cs} | 5 +- ...form.cs.meta => FirstPlatformRule.cs.meta} | 0 ...{OtherPlatform.cs => OtherPlatformRule.cs} | 5 +- ...form.cs.meta => OtherPlatformRule.cs.meta} | 0 .../Presentation/Platforms/LeaderBoardData.cs | 25 ++ .../Platforms/LeaderBoardData.cs.meta | 2 + .../Code/Presentation/Platforms/Platform.cs | 11 +- .../Presentation/Platforms/PlatformManager.cs | 13 ++ .../Presentation/Platforms/PlatformPool.cs | 63 ----- Assets/DarkMatter/Code/Presentation/Pool.meta | 8 + .../Presentation/Pool/LeaderBoardDataPool.cs | 6 + .../Pool/LeaderBoardDataPool.cs.meta | 2 + .../Code/Presentation/Pool/ObjectPool.cs | 60 +++++ .../Code/Presentation/Pool/ObjectPool.cs.meta | 2 + .../Code/Presentation/Pool/PlatformPool.cs | 9 + .../{Platforms => Pool}/PlatformPool.cs.meta | 0 .../Code/Presentation/UI/LeaderBoardView.cs | 4 +- Assets/Resources/Materials/death.mat | 2 +- Assets/Resources/Materials/safe.mat | 2 +- Assets/Resources/PlatformPrefabs/Data.prefab | 8 +- Assets/Scenes/GameScene.unity | 217 +++++++----------- 29 files changed, 265 insertions(+), 227 deletions(-) create mode 100644 Assets/DarkMatter/Code/Core/Contracts/ILeaderBoardData.cs create mode 100644 Assets/DarkMatter/Code/Core/Contracts/ILeaderBoardData.cs.meta create mode 100644 Assets/DarkMatter/Code/Core/Contracts/IPoolable.cs create mode 100644 Assets/DarkMatter/Code/Core/Contracts/IPoolable.cs.meta delete mode 100644 Assets/DarkMatter/Code/Domain/LeaderBoard/LeaderboardData.cs delete mode 100644 Assets/DarkMatter/Code/Domain/LeaderBoard/LeaderboardData.cs.meta rename Assets/DarkMatter/Code/Domain/Platforms/{FirstPlatform.cs => FirstPlatformRule.cs} (85%) rename Assets/DarkMatter/Code/Domain/Platforms/{FirstPlatform.cs.meta => FirstPlatformRule.cs.meta} (100%) rename Assets/DarkMatter/Code/Domain/Platforms/{OtherPlatform.cs => OtherPlatformRule.cs} (90%) rename Assets/DarkMatter/Code/Domain/Platforms/{OtherPlatform.cs.meta => OtherPlatformRule.cs.meta} (100%) create mode 100644 Assets/DarkMatter/Code/Presentation/Platforms/LeaderBoardData.cs create mode 100644 Assets/DarkMatter/Code/Presentation/Platforms/LeaderBoardData.cs.meta delete mode 100644 Assets/DarkMatter/Code/Presentation/Platforms/PlatformPool.cs create mode 100644 Assets/DarkMatter/Code/Presentation/Pool.meta create mode 100644 Assets/DarkMatter/Code/Presentation/Pool/LeaderBoardDataPool.cs create mode 100644 Assets/DarkMatter/Code/Presentation/Pool/LeaderBoardDataPool.cs.meta create mode 100644 Assets/DarkMatter/Code/Presentation/Pool/ObjectPool.cs create mode 100644 Assets/DarkMatter/Code/Presentation/Pool/ObjectPool.cs.meta create mode 100644 Assets/DarkMatter/Code/Presentation/Pool/PlatformPool.cs rename Assets/DarkMatter/Code/Presentation/{Platforms => Pool}/PlatformPool.cs.meta (100%) diff --git a/AGENTS.md b/AGENTS.md index 4cd885c..3f0b681 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -1,8 +1,4 @@ - Project name: Ultimate-HelixJump - Unity version: Unity 6000.3.0f1 -- Active game object: - - Name: PlatformPool - - Tag: Untagged - - Layer: Default \ No newline at end of file diff --git a/Assets/DarkMatter/Code/App/Installers/GameLifetimeScope.cs b/Assets/DarkMatter/Code/App/Installers/GameLifetimeScope.cs index 0812ec1..f1cbd71 100644 --- a/Assets/DarkMatter/Code/App/Installers/GameLifetimeScope.cs +++ b/Assets/DarkMatter/Code/App/Installers/GameLifetimeScope.cs @@ -9,7 +9,8 @@ namespace Darkmatter.App { public class GameLifetimeScope : LifetimeScope { - [SerializeField] private PlatformPool pool; + [SerializeField] private PlatformPool platformPool; + [SerializeField] private LeaderBoardDataPool leaderBoardDataPool; [SerializeField] private PlatformManager manager; [SerializeField] private InputReaderSO inputReader; [SerializeField] private GameSessionSO gameSession; @@ -24,7 +25,8 @@ namespace Darkmatter.App [SerializeField] private LeaderBoardView leaderBoardView; protected override void Configure(IContainerBuilder builder) { - builder.RegisterComponent(pool).As>(); + builder.RegisterComponent(platformPool).As>(); + builder.RegisterComponent(leaderBoardDataPool).As>(); builder.RegisterComponent(manager).As(); builder.RegisterInstance(inputReader).As(); builder.Register(Lifetime.Singleton).As(); diff --git a/Assets/DarkMatter/Code/Core/Contracts/ILeaderBoardData.cs b/Assets/DarkMatter/Code/Core/Contracts/ILeaderBoardData.cs new file mode 100644 index 0000000..6bf278a --- /dev/null +++ b/Assets/DarkMatter/Code/Core/Contracts/ILeaderBoardData.cs @@ -0,0 +1,9 @@ +using UnityEngine; + +namespace Darkmatter.Core +{ + public interface ILeaderBoardData + { + + } +} diff --git a/Assets/DarkMatter/Code/Core/Contracts/ILeaderBoardData.cs.meta b/Assets/DarkMatter/Code/Core/Contracts/ILeaderBoardData.cs.meta new file mode 100644 index 0000000..6aaa15c --- /dev/null +++ b/Assets/DarkMatter/Code/Core/Contracts/ILeaderBoardData.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 940dab863760a4c4da63c6c64697fd4d \ No newline at end of file diff --git a/Assets/DarkMatter/Code/Core/Contracts/IPoolable.cs b/Assets/DarkMatter/Code/Core/Contracts/IPoolable.cs new file mode 100644 index 0000000..ea8fdd8 --- /dev/null +++ b/Assets/DarkMatter/Code/Core/Contracts/IPoolable.cs @@ -0,0 +1,10 @@ +using UnityEngine; + +namespace Darkmatter.Core +{ + public interface IPoolable + { + void OnSpawn(); + void OnDespawn(); + } +} diff --git a/Assets/DarkMatter/Code/Core/Contracts/IPoolable.cs.meta b/Assets/DarkMatter/Code/Core/Contracts/IPoolable.cs.meta new file mode 100644 index 0000000..95bb9e4 --- /dev/null +++ b/Assets/DarkMatter/Code/Core/Contracts/IPoolable.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: bae72f3bdf0337048826015fe234b8f3 \ No newline at end of file diff --git a/Assets/DarkMatter/Code/Domain/LeaderBoard/LeaderboardData.cs b/Assets/DarkMatter/Code/Domain/LeaderBoard/LeaderboardData.cs deleted file mode 100644 index 8e6c0e9..0000000 --- a/Assets/DarkMatter/Code/Domain/LeaderBoard/LeaderboardData.cs +++ /dev/null @@ -1,13 +0,0 @@ -using TMPro; -using UnityEngine; - -namespace Darkmatter.Domain -{ - - public class LeaderboardData : MonoBehaviour - { - public TextMeshProUGUI posNumber; - public TextMeshProUGUI playerName; - public TextMeshProUGUI playerScore; - } -} diff --git a/Assets/DarkMatter/Code/Domain/LeaderBoard/LeaderboardData.cs.meta b/Assets/DarkMatter/Code/Domain/LeaderBoard/LeaderboardData.cs.meta deleted file mode 100644 index d23f4c4..0000000 --- a/Assets/DarkMatter/Code/Domain/LeaderBoard/LeaderboardData.cs.meta +++ /dev/null @@ -1,2 +0,0 @@ -fileFormatVersion: 2 -guid: a6ab63c7177ea94478032cb825071368 \ No newline at end of file diff --git a/Assets/DarkMatter/Code/Domain/Platforms/FirstPlatform.cs b/Assets/DarkMatter/Code/Domain/Platforms/FirstPlatformRule.cs similarity index 85% rename from Assets/DarkMatter/Code/Domain/Platforms/FirstPlatform.cs rename to Assets/DarkMatter/Code/Domain/Platforms/FirstPlatformRule.cs index 73c887d..e080efb 100644 --- a/Assets/DarkMatter/Code/Domain/Platforms/FirstPlatform.cs +++ b/Assets/DarkMatter/Code/Domain/Platforms/FirstPlatformRule.cs @@ -3,15 +3,14 @@ using UnityEngine; namespace Darkmatter.Domain { - public class FirstPlatform : IPlatformRule + public class FirstPlatformRule : IPlatformRule { public void Execute(IPlatform platform) { foreach (var piece in platform.platformPiece) { - piece.SetActive(true); - piece.GetComponent().material = platform.safeMaterial; piece.gameObject.SetActive(true); + piece.GetComponent().material = platform.safeMaterial; piece.tag = "Safe"; } platform.platformPiece[Random.Range(1, platform.platformPiece.Count)].gameObject.SetActive(false); diff --git a/Assets/DarkMatter/Code/Domain/Platforms/FirstPlatform.cs.meta b/Assets/DarkMatter/Code/Domain/Platforms/FirstPlatformRule.cs.meta similarity index 100% rename from Assets/DarkMatter/Code/Domain/Platforms/FirstPlatform.cs.meta rename to Assets/DarkMatter/Code/Domain/Platforms/FirstPlatformRule.cs.meta diff --git a/Assets/DarkMatter/Code/Domain/Platforms/OtherPlatform.cs b/Assets/DarkMatter/Code/Domain/Platforms/OtherPlatformRule.cs similarity index 90% rename from Assets/DarkMatter/Code/Domain/Platforms/OtherPlatform.cs rename to Assets/DarkMatter/Code/Domain/Platforms/OtherPlatformRule.cs index cec171d..1ba30cd 100644 --- a/Assets/DarkMatter/Code/Domain/Platforms/OtherPlatform.cs +++ b/Assets/DarkMatter/Code/Domain/Platforms/OtherPlatformRule.cs @@ -3,16 +3,15 @@ using UnityEngine; namespace Darkmatter.Domain { - public class OtherPlatform : IPlatformRule + public class OtherPlatformRule : IPlatformRule { int danger = 2; public void Execute(IPlatform platform) { foreach (var piece in platform.platformPiece) { - piece.SetActive(true); - piece.GetComponent().material = platform.safeMaterial; piece.gameObject.SetActive(true); + piece.GetComponent().material = platform.safeMaterial; piece.tag = "Safe"; } diff --git a/Assets/DarkMatter/Code/Domain/Platforms/OtherPlatform.cs.meta b/Assets/DarkMatter/Code/Domain/Platforms/OtherPlatformRule.cs.meta similarity index 100% rename from Assets/DarkMatter/Code/Domain/Platforms/OtherPlatform.cs.meta rename to Assets/DarkMatter/Code/Domain/Platforms/OtherPlatformRule.cs.meta diff --git a/Assets/DarkMatter/Code/Presentation/Platforms/LeaderBoardData.cs b/Assets/DarkMatter/Code/Presentation/Platforms/LeaderBoardData.cs new file mode 100644 index 0000000..6cc312e --- /dev/null +++ b/Assets/DarkMatter/Code/Presentation/Platforms/LeaderBoardData.cs @@ -0,0 +1,25 @@ +using Darkmatter.Core; +using TMPro; +using UnityEngine; +using VContainer; + +namespace Darkmatter.Presentation +{ + + public class LeaderBoardData : MonoBehaviour,IPoolable, ILeaderBoardData + { + public TextMeshProUGUI posNumber; + public TextMeshProUGUI playerName; + public TextMeshProUGUI playerScore; + + public void OnDespawn() + { + Debug.Log("LB data Despawnned"); + } + + public void OnSpawn() + { + Debug.Log("LB data spawnned"); + } + } +} diff --git a/Assets/DarkMatter/Code/Presentation/Platforms/LeaderBoardData.cs.meta b/Assets/DarkMatter/Code/Presentation/Platforms/LeaderBoardData.cs.meta new file mode 100644 index 0000000..71ccfc2 --- /dev/null +++ b/Assets/DarkMatter/Code/Presentation/Platforms/LeaderBoardData.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 19899d49b8ee4db41a4ca8dd590ad4a1 \ No newline at end of file diff --git a/Assets/DarkMatter/Code/Presentation/Platforms/Platform.cs b/Assets/DarkMatter/Code/Presentation/Platforms/Platform.cs index 2aa8fc9..5ab0fbf 100644 --- a/Assets/DarkMatter/Code/Presentation/Platforms/Platform.cs +++ b/Assets/DarkMatter/Code/Presentation/Platforms/Platform.cs @@ -4,13 +4,14 @@ using System.Collections.Generic; using UnityEngine; using VContainer; -public class Platform : MonoBehaviour, IPlatform +public class Platform : MonoBehaviour, IPlatform , IPoolable { [SerializeField] private List _platformPiece = new List(); [SerializeField] private Material _safeMaterial; [SerializeField] private Material _deathMaterial; [SerializeField] private ParticleSystem _particleSystem; + //for selecting random color [SerializeField]private Color[] safeMaterialColors; [SerializeField] private Color[] deathMaterialColors; @@ -75,7 +76,15 @@ public class Platform : MonoBehaviour, IPlatform } } + public void OnSpawn() + { + hasAchievedScore = false; + } + public void OnDespawn() + { + + } } diff --git a/Assets/DarkMatter/Code/Presentation/Platforms/PlatformManager.cs b/Assets/DarkMatter/Code/Presentation/Platforms/PlatformManager.cs index c679751..f50909b 100644 --- a/Assets/DarkMatter/Code/Presentation/Platforms/PlatformManager.cs +++ b/Assets/DarkMatter/Code/Presentation/Platforms/PlatformManager.cs @@ -1,4 +1,5 @@ using Darkmatter.Core; +using Darkmatter.Domain; using UnityEngine; using VContainer; @@ -11,6 +12,7 @@ public class PlatformManager : MonoBehaviour,IPlatformManager [SerializeField] private float inputScale = 360f; float rotAmount = 0; + public bool hasFirstPlatformBuilt = false; private void Start() @@ -47,6 +49,15 @@ public class PlatformManager : MonoBehaviour,IPlatformManager { foreach (Platform platform in pool.All) { + if (!hasFirstPlatformBuilt) + { + platform.SetPlatformRule(new FirstPlatformRule()); + hasFirstPlatformBuilt=true; + } + else + { + platform.SetPlatformRule(new OtherPlatformRule()); + } platform.gameObject.SetActive(true); platform.transform.position = new Vector3(0, yPos, 0); yPos--; @@ -56,6 +67,8 @@ public class PlatformManager : MonoBehaviour,IPlatformManager public void BuildNewPlatform() { Platform platform = pool.GetFromPool(); + platform.SetPlatformRule(new OtherPlatformRule()); + platform.gameObject.SetActive(true); platform.transform.position = new Vector3(0, yPos, 0); yPos--; } diff --git a/Assets/DarkMatter/Code/Presentation/Platforms/PlatformPool.cs b/Assets/DarkMatter/Code/Presentation/Platforms/PlatformPool.cs deleted file mode 100644 index ec196e3..0000000 --- a/Assets/DarkMatter/Code/Presentation/Platforms/PlatformPool.cs +++ /dev/null @@ -1,63 +0,0 @@ -using Darkmatter.Core; -using Darkmatter.Domain; -using System.Collections.Generic; -using UnityEngine; -using VContainer; - -public class PlatformPool : MonoBehaviour, IPool -{ - [SerializeField] private Platform platformPrefab; - [SerializeField] private Transform platformParent; - [SerializeField] private int poolSize = 10; - - private Queue _queue = new Queue(); - - public IReadOnlyCollection All => _queue; - - [Inject] IObjectResolver resolver; - - private void Awake() - { - SetupPool(); - } - - void SetupPool() - { - Platform instance = null; - for(int i = 0; i < poolSize; i++) - { - instance = Instantiate(platformPrefab,platformParent); - resolver.Inject(instance); - if (i == 0) instance.SetPlatformRule(new FirstPlatform()); - else instance.SetPlatformRule(new OtherPlatform()); - instance.gameObject.SetActive(false); - _queue.Enqueue(instance); - } - } - - public Platform GetFromPool() - { - if(_queue.Count == 0) - { - Platform newObj = Instantiate(platformPrefab,platformParent); - newObj.SetPlatformRule(new OtherPlatform()); - _queue.Enqueue(newObj); - return newObj; - } - Platform pooledObj = _queue.Dequeue(); - pooledObj.SetPlatformRule(new OtherPlatform()); - pooledObj.gameObject.SetActive(true); - return pooledObj; - } - - public void ReturnToPool(Platform obj) - { - obj.gameObject.SetActive(false); - _queue.Enqueue(obj); - } - -} - - - - diff --git a/Assets/DarkMatter/Code/Presentation/Pool.meta b/Assets/DarkMatter/Code/Presentation/Pool.meta new file mode 100644 index 0000000..cd2f952 --- /dev/null +++ b/Assets/DarkMatter/Code/Presentation/Pool.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f2ae9fae8b6113648a92ce517dda7dd9 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/DarkMatter/Code/Presentation/Pool/LeaderBoardDataPool.cs b/Assets/DarkMatter/Code/Presentation/Pool/LeaderBoardDataPool.cs new file mode 100644 index 0000000..b9651a8 --- /dev/null +++ b/Assets/DarkMatter/Code/Presentation/Pool/LeaderBoardDataPool.cs @@ -0,0 +1,6 @@ +using Darkmatter.Domain; + +namespace Darkmatter.Presentation +{ + public class LeaderBoardDataPool : ObjectPool { } +} diff --git a/Assets/DarkMatter/Code/Presentation/Pool/LeaderBoardDataPool.cs.meta b/Assets/DarkMatter/Code/Presentation/Pool/LeaderBoardDataPool.cs.meta new file mode 100644 index 0000000..1ae8cce --- /dev/null +++ b/Assets/DarkMatter/Code/Presentation/Pool/LeaderBoardDataPool.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: c15c9d815e963334384a40fbc8e84f23 \ No newline at end of file diff --git a/Assets/DarkMatter/Code/Presentation/Pool/ObjectPool.cs b/Assets/DarkMatter/Code/Presentation/Pool/ObjectPool.cs new file mode 100644 index 0000000..97eb66b --- /dev/null +++ b/Assets/DarkMatter/Code/Presentation/Pool/ObjectPool.cs @@ -0,0 +1,60 @@ +using Darkmatter.Core; +using System.Collections.Generic; +using System.Runtime.InteropServices.WindowsRuntime; +using UnityEngine; +using VContainer; +using VContainer.Unity; + +namespace Darkmatter.Presentation +{ + public class ObjectPool : MonoBehaviour,IPool where T : MonoBehaviour, IPoolable + { + [SerializeField] T prefab; + [SerializeField] private Transform prefabParent; + [SerializeField] private int poolSize = 15; + + public Queue pool = new Queue(); + [Inject] IObjectResolver resolver; + + public IReadOnlyCollection All => pool; + + private void Awake() + { + CreateObjectPool(); + } + + private void CreateObjectPool() + { + for(int i=0;i { } + + + + + diff --git a/Assets/DarkMatter/Code/Presentation/Platforms/PlatformPool.cs.meta b/Assets/DarkMatter/Code/Presentation/Pool/PlatformPool.cs.meta similarity index 100% rename from Assets/DarkMatter/Code/Presentation/Platforms/PlatformPool.cs.meta rename to Assets/DarkMatter/Code/Presentation/Pool/PlatformPool.cs.meta diff --git a/Assets/DarkMatter/Code/Presentation/UI/LeaderBoardView.cs b/Assets/DarkMatter/Code/Presentation/UI/LeaderBoardView.cs index 614faac..ebb4472 100644 --- a/Assets/DarkMatter/Code/Presentation/UI/LeaderBoardView.cs +++ b/Assets/DarkMatter/Code/Presentation/UI/LeaderBoardView.cs @@ -10,7 +10,7 @@ namespace Darkmatter.Presentation public GameObject leaderBoardScreen; public Button ExitButton; public Transform LBDataContainer; - public LeaderboardData LBplayerData; + public LeaderBoardData LBplayerData; public void Show() { @@ -19,7 +19,7 @@ namespace Darkmatter.Presentation public void UpdateData(int rank,string name, string score) { - LeaderboardData data = Instantiate(LBplayerData, LBDataContainer); + LeaderBoardData data = Instantiate(LBplayerData, LBDataContainer); data.posNumber.text = rank.ToString(); data.playerName.text = name; data.playerScore.text = score; diff --git a/Assets/Resources/Materials/death.mat b/Assets/Resources/Materials/death.mat index 0421cc0..9cb9efc 100644 --- a/Assets/Resources/Materials/death.mat +++ b/Assets/Resources/Materials/death.mat @@ -116,7 +116,7 @@ Material: - _XRMotionVectorsPass: 1 - _ZWrite: 1 m_Colors: - - _BaseColor: {r: 0.17342028, g: 0.754717, b: 0.0747597, a: 0} + - _BaseColor: {r: 0.8679245, g: 0.8474546, b: 0.8474546, a: 0} - _Color: {r: 0.17342025, g: 0.75471693, b: 0.07475967, a: 0} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} diff --git a/Assets/Resources/Materials/safe.mat b/Assets/Resources/Materials/safe.mat index b825e64..7e1552f 100644 --- a/Assets/Resources/Materials/safe.mat +++ b/Assets/Resources/Materials/safe.mat @@ -116,7 +116,7 @@ Material: - _XRMotionVectorsPass: 1 - _ZWrite: 1 m_Colors: - - _BaseColor: {r: 0.122641504, g: 0.12090601, b: 0.12090601, a: 0} + - _BaseColor: {r: 0.7924528, g: 0.7552929, b: 0.063545756, a: 1} - _Color: {r: 0.8113207, g: 0.53379685, b: 0.042096816, a: 1} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} diff --git a/Assets/Resources/PlatformPrefabs/Data.prefab b/Assets/Resources/PlatformPrefabs/Data.prefab index 9a921b8..c8356c4 100644 --- a/Assets/Resources/PlatformPrefabs/Data.prefab +++ b/Assets/Resources/PlatformPrefabs/Data.prefab @@ -146,7 +146,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 6295715214915275273} - - component: {fileID: 501012132923561755} + - component: {fileID: 6369205413707127148} m_Layer: 5 m_Name: Data m_TagString: Untagged @@ -177,7 +177,7 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 817.4707, y: 120} m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &501012132923561755 +--- !u!114 &6369205413707127148 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -186,9 +186,9 @@ MonoBehaviour: m_GameObject: {fileID: 340109946359880583} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: a6ab63c7177ea94478032cb825071368, type: 3} + m_Script: {fileID: 11500000, guid: 19899d49b8ee4db41a4ca8dd590ad4a1, type: 3} m_Name: - m_EditorClassIdentifier: DomainAssembly::Darkmatter.Domain.LeaderboardData + m_EditorClassIdentifier: PresentationAssembly::Darkmatter.Presentation.LeaderboardData posNumber: {fileID: 8966731343238371749} playerName: {fileID: 7140963729975583955} playerScore: {fileID: 7199945981426735824} diff --git a/Assets/Scenes/GameScene.unity b/Assets/Scenes/GameScene.unity index 9d246d1..fc89cc1 100644 --- a/Assets/Scenes/GameScene.unity +++ b/Assets/Scenes/GameScene.unity @@ -256,6 +256,53 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 21876040} m_CullTransparentMesh: 1 +--- !u!1 &62404196 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 62404197} + - component: {fileID: 62404198} + m_Layer: 0 + m_Name: LBDataPool + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &62404197 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 62404196} + 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: 1111723450} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &62404198 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 62404196} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c15c9d815e963334384a40fbc8e84f23, type: 3} + m_Name: + m_EditorClassIdentifier: PresentationAssembly::Darkmatter.Presentation.LeaderBoardDataPool + prefab: {fileID: 6369205413707127148, guid: b16e394676a0f3e4dbf81cd523bf2325, type: 3} + prefabParent: {fileID: 1836214634} + poolSize: 15 --- !u!1 &63427161 GameObject: m_ObjectHideFlags: 0 @@ -516,7 +563,6 @@ RectTransform: m_ConstrainProportionsScale: 0 m_Children: - {fileID: 1926046908} - - {fileID: 903232249} m_Father: {fileID: 861211732} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} @@ -10421,7 +10467,6 @@ Transform: m_ConstrainProportionsScale: 0 m_Children: - {fileID: 1850425825} - - {fileID: 1073116392} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &269796309 @@ -10937,7 +10982,8 @@ MonoBehaviour: TypeName: autoRun: 1 autoInjectGameObjects: [] - pool: {fileID: 1073116393} + platformPool: {fileID: 1073116393} + leaderBoardDataPool: {fileID: 62404198} manager: {fileID: 1850425826} inputReader: {fileID: 11400000, guid: dfe12148dc4d7ea46b49e490c1b1aad5, type: 2} gameSession: {fileID: 11400000, guid: 166236fc288d5a343ba6dd8ab704e653, type: 2} @@ -12619,127 +12665,7 @@ MonoBehaviour: leaderBoardScreen: {fileID: 155034150} ExitButton: {fileID: 501358099} LBDataContainer: {fileID: 1836214634} - LBplayerData: {fileID: 501012132923561755, guid: b16e394676a0f3e4dbf81cd523bf2325, type: 3} ---- !u!1 &903232248 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 903232249} - - component: {fileID: 903232252} - - component: {fileID: 903232251} - - component: {fileID: 903232250} - m_Layer: 5 - m_Name: PauseButton - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!224 &903232249 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 903232248} - 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: 155034151} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 1, y: 1} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: -88, y: -73} - m_SizeDelta: {x: 150, y: 150} - m_Pivot: {x: 1, y: 1} ---- !u!114 &903232250 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 903232248} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} - m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Button - m_Navigation: - m_Mode: 3 - m_WrapAround: 0 - m_SelectOnUp: {fileID: 0} - m_SelectOnDown: {fileID: 0} - m_SelectOnLeft: {fileID: 0} - m_SelectOnRight: {fileID: 0} - m_Transition: 1 - m_Colors: - m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} - m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} - m_ColorMultiplier: 1 - m_FadeDuration: 0.1 - m_SpriteState: - m_HighlightedSprite: {fileID: 0} - m_PressedSprite: {fileID: 0} - m_SelectedSprite: {fileID: 0} - m_DisabledSprite: {fileID: 0} - m_AnimationTriggers: - m_NormalTrigger: Normal - m_HighlightedTrigger: Highlighted - m_PressedTrigger: Pressed - m_SelectedTrigger: Selected - m_DisabledTrigger: Disabled - m_Interactable: 1 - m_TargetGraphic: {fileID: 903232251} - m_OnClick: - m_PersistentCalls: - m_Calls: [] ---- !u!114 &903232251 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 903232248} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: -2031289094, guid: 156ec492e516ccb4099add479601d65e, type: 3} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 ---- !u!222 &903232252 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 903232248} - m_CullTransparentMesh: 1 + LBplayerData: {fileID: 0} --- !u!1 &926831878 GameObject: m_ObjectHideFlags: 0 @@ -13209,7 +13135,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] - m_Father: {fileID: 268692280} + m_Father: {fileID: 1111723450} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &1073116393 MonoBehaviour: @@ -13222,9 +13148,9 @@ MonoBehaviour: m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 4977d8686efb09b40a678a0fb6037eee, type: 3} m_Name: - m_EditorClassIdentifier: Assembly-CSharp::PlatformPool - platformPrefab: {fileID: 7976989308632488510, guid: e8873770c9532bc4a9fd735810830ed5, type: 3} - platformParent: {fileID: 1850425825} + m_EditorClassIdentifier: PresentationAssembly::PlatformPool + prefab: {fileID: 7976989308632488510, guid: e8873770c9532bc4a9fd735810830ed5, type: 3} + prefabParent: {fileID: 1850425825} poolSize: 15 --- !u!1 &1088536451 GameObject: @@ -13339,6 +13265,39 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1090159332} m_CullTransparentMesh: 1 +--- !u!1 &1111723449 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1111723450} + m_Layer: 0 + m_Name: POOL + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1111723450 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1111723449} + 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: 1073116392} + - {fileID: 62404197} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1148039065 GameObject: m_ObjectHideFlags: 0 @@ -15161,6 +15120,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: Assembly-CSharp::PlatformManager inputScale: 360 + hasFirstPlatformBuilt: 0 --- !u!1 &1865876172 GameObject: m_ObjectHideFlags: 0 @@ -15931,3 +15891,4 @@ SceneRoots: - {fileID: 1783072554} - {fileID: 1398296651} - {fileID: 1741932666} + - {fileID: 1111723450}