generic pool made

This commit is contained in:
Mausham
2025-12-17 15:50:28 -08:00
parent ff062d4c3d
commit 2a7759228f
29 changed files with 265 additions and 227 deletions

View File

@@ -1,8 +1,4 @@
<!-- UNITY CODE ASSIST INSTRUCTIONS START --> <!-- UNITY CODE ASSIST INSTRUCTIONS START -->
- Project name: Ultimate-HelixJump - Project name: Ultimate-HelixJump
- Unity version: Unity 6000.3.0f1 - Unity version: Unity 6000.3.0f1
- Active game object:
- Name: PlatformPool
- Tag: Untagged
- Layer: Default
<!-- UNITY CODE ASSIST INSTRUCTIONS END --> <!-- UNITY CODE ASSIST INSTRUCTIONS END -->

View File

@@ -9,7 +9,8 @@ namespace Darkmatter.App
{ {
public class GameLifetimeScope : LifetimeScope public class GameLifetimeScope : LifetimeScope
{ {
[SerializeField] private PlatformPool pool; [SerializeField] private PlatformPool platformPool;
[SerializeField] private LeaderBoardDataPool leaderBoardDataPool;
[SerializeField] private PlatformManager manager; [SerializeField] private PlatformManager manager;
[SerializeField] private InputReaderSO inputReader; [SerializeField] private InputReaderSO inputReader;
[SerializeField] private GameSessionSO gameSession; [SerializeField] private GameSessionSO gameSession;
@@ -24,7 +25,8 @@ namespace Darkmatter.App
[SerializeField] private LeaderBoardView leaderBoardView; [SerializeField] private LeaderBoardView leaderBoardView;
protected override void Configure(IContainerBuilder builder) protected override void Configure(IContainerBuilder builder)
{ {
builder.RegisterComponent(pool).As<IPool<Platform>>(); builder.RegisterComponent(platformPool).As<IPool<Platform>>();
builder.RegisterComponent(leaderBoardDataPool).As<IPool<LeaderBoardData>>();
builder.RegisterComponent(manager).As<IPlatformManager>(); builder.RegisterComponent(manager).As<IPlatformManager>();
builder.RegisterInstance(inputReader).As<IInputReader>(); builder.RegisterInstance(inputReader).As<IInputReader>();
builder.Register<ScoreService>(Lifetime.Singleton).As<IScoreService>(); builder.Register<ScoreService>(Lifetime.Singleton).As<IScoreService>();

View File

@@ -0,0 +1,9 @@
using UnityEngine;
namespace Darkmatter.Core
{
public interface ILeaderBoardData
{
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 940dab863760a4c4da63c6c64697fd4d

View File

@@ -0,0 +1,10 @@
using UnityEngine;
namespace Darkmatter.Core
{
public interface IPoolable
{
void OnSpawn();
void OnDespawn();
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: bae72f3bdf0337048826015fe234b8f3

View File

@@ -1,13 +0,0 @@
using TMPro;
using UnityEngine;
namespace Darkmatter.Domain
{
public class LeaderboardData : MonoBehaviour
{
public TextMeshProUGUI posNumber;
public TextMeshProUGUI playerName;
public TextMeshProUGUI playerScore;
}
}

View File

@@ -1,2 +0,0 @@
fileFormatVersion: 2
guid: a6ab63c7177ea94478032cb825071368

View File

@@ -3,15 +3,14 @@ using UnityEngine;
namespace Darkmatter.Domain namespace Darkmatter.Domain
{ {
public class FirstPlatform : IPlatformRule public class FirstPlatformRule : IPlatformRule
{ {
public void Execute(IPlatform platform) public void Execute(IPlatform platform)
{ {
foreach (var piece in platform.platformPiece) foreach (var piece in platform.platformPiece)
{ {
piece.SetActive(true);
piece.GetComponent<Renderer>().material = platform.safeMaterial;
piece.gameObject.SetActive(true); piece.gameObject.SetActive(true);
piece.GetComponent<Renderer>().material = platform.safeMaterial;
piece.tag = "Safe"; piece.tag = "Safe";
} }
platform.platformPiece[Random.Range(1, platform.platformPiece.Count)].gameObject.SetActive(false); platform.platformPiece[Random.Range(1, platform.platformPiece.Count)].gameObject.SetActive(false);

View File

@@ -3,16 +3,15 @@ using UnityEngine;
namespace Darkmatter.Domain namespace Darkmatter.Domain
{ {
public class OtherPlatform : IPlatformRule public class OtherPlatformRule : IPlatformRule
{ {
int danger = 2; int danger = 2;
public void Execute(IPlatform platform) public void Execute(IPlatform platform)
{ {
foreach (var piece in platform.platformPiece) foreach (var piece in platform.platformPiece)
{ {
piece.SetActive(true);
piece.GetComponent<Renderer>().material = platform.safeMaterial;
piece.gameObject.SetActive(true); piece.gameObject.SetActive(true);
piece.GetComponent<Renderer>().material = platform.safeMaterial;
piece.tag = "Safe"; piece.tag = "Safe";
} }

View File

@@ -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");
}
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 19899d49b8ee4db41a4ca8dd590ad4a1

View File

@@ -4,13 +4,14 @@ using System.Collections.Generic;
using UnityEngine; using UnityEngine;
using VContainer; using VContainer;
public class Platform : MonoBehaviour, IPlatform public class Platform : MonoBehaviour, IPlatform , IPoolable
{ {
[SerializeField] private List<GameObject> _platformPiece = new List<GameObject>(); [SerializeField] private List<GameObject> _platformPiece = new List<GameObject>();
[SerializeField] private Material _safeMaterial; [SerializeField] private Material _safeMaterial;
[SerializeField] private Material _deathMaterial; [SerializeField] private Material _deathMaterial;
[SerializeField] private ParticleSystem _particleSystem; [SerializeField] private ParticleSystem _particleSystem;
//for selecting random color
[SerializeField]private Color[] safeMaterialColors; [SerializeField]private Color[] safeMaterialColors;
[SerializeField] private Color[] deathMaterialColors; [SerializeField] private Color[] deathMaterialColors;
@@ -75,7 +76,15 @@ public class Platform : MonoBehaviour, IPlatform
} }
} }
public void OnSpawn()
{
hasAchievedScore = false;
}
public void OnDespawn()
{
}
} }

View File

@@ -1,4 +1,5 @@
using Darkmatter.Core; using Darkmatter.Core;
using Darkmatter.Domain;
using UnityEngine; using UnityEngine;
using VContainer; using VContainer;
@@ -11,6 +12,7 @@ public class PlatformManager : MonoBehaviour,IPlatformManager
[SerializeField] private float inputScale = 360f; [SerializeField] private float inputScale = 360f;
float rotAmount = 0; float rotAmount = 0;
public bool hasFirstPlatformBuilt = false;
private void Start() private void Start()
@@ -47,6 +49,15 @@ public class PlatformManager : MonoBehaviour,IPlatformManager
{ {
foreach (Platform platform in pool.All) foreach (Platform platform in pool.All)
{ {
if (!hasFirstPlatformBuilt)
{
platform.SetPlatformRule(new FirstPlatformRule());
hasFirstPlatformBuilt=true;
}
else
{
platform.SetPlatformRule(new OtherPlatformRule());
}
platform.gameObject.SetActive(true); platform.gameObject.SetActive(true);
platform.transform.position = new Vector3(0, yPos, 0); platform.transform.position = new Vector3(0, yPos, 0);
yPos--; yPos--;
@@ -56,6 +67,8 @@ public class PlatformManager : MonoBehaviour,IPlatformManager
public void BuildNewPlatform() public void BuildNewPlatform()
{ {
Platform platform = pool.GetFromPool(); Platform platform = pool.GetFromPool();
platform.SetPlatformRule(new OtherPlatformRule());
platform.gameObject.SetActive(true);
platform.transform.position = new Vector3(0, yPos, 0); platform.transform.position = new Vector3(0, yPos, 0);
yPos--; yPos--;
} }

View File

@@ -1,63 +0,0 @@
using Darkmatter.Core;
using Darkmatter.Domain;
using System.Collections.Generic;
using UnityEngine;
using VContainer;
public class PlatformPool : MonoBehaviour, IPool<Platform>
{
[SerializeField] private Platform platformPrefab;
[SerializeField] private Transform platformParent;
[SerializeField] private int poolSize = 10;
private Queue<Platform> _queue = new Queue<Platform>();
public IReadOnlyCollection<Platform> 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);
}
}

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: f2ae9fae8b6113648a92ce517dda7dd9
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,6 @@
using Darkmatter.Domain;
namespace Darkmatter.Presentation
{
public class LeaderBoardDataPool : ObjectPool<LeaderBoardData> { }
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: c15c9d815e963334384a40fbc8e84f23

View File

@@ -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<T> : MonoBehaviour,IPool<T> where T : MonoBehaviour, IPoolable
{
[SerializeField] T prefab;
[SerializeField] private Transform prefabParent;
[SerializeField] private int poolSize = 15;
public Queue<T> pool = new Queue<T>();
[Inject] IObjectResolver resolver;
public IReadOnlyCollection<T> All => pool;
private void Awake()
{
CreateObjectPool();
}
private void CreateObjectPool()
{
for(int i=0;i<poolSize; i++)
{
T obj = Instantiate(prefab, prefabParent);
resolver.InjectGameObject(obj.gameObject);
obj.OnSpawn();
obj.gameObject.SetActive(false);
pool.Enqueue(obj);
}
}
public T GetFromPool()
{
if(pool.Count == 0)
{
T obj = Instantiate(prefab, prefabParent);
resolver.InjectGameObject(obj.gameObject);
obj.OnSpawn();
obj.gameObject.SetActive(true);
pool.Enqueue(obj);
return obj;
}
T returningObj = pool.Dequeue();
return returningObj;
}
public void ReturnToPool(T obj)
{
obj.OnDespawn();
obj.gameObject.SetActive(false);
pool.Enqueue(obj);
}
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 6751a0040c85b7441a706516d36a4762

View File

@@ -0,0 +1,9 @@
using Darkmatter.Presentation;
public class PlatformPool : ObjectPool<Platform> { }

View File

@@ -10,7 +10,7 @@ namespace Darkmatter.Presentation
public GameObject leaderBoardScreen; public GameObject leaderBoardScreen;
public Button ExitButton; public Button ExitButton;
public Transform LBDataContainer; public Transform LBDataContainer;
public LeaderboardData LBplayerData; public LeaderBoardData LBplayerData;
public void Show() public void Show()
{ {
@@ -19,7 +19,7 @@ namespace Darkmatter.Presentation
public void UpdateData(int rank,string name, string score) 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.posNumber.text = rank.ToString();
data.playerName.text = name; data.playerName.text = name;
data.playerScore.text = score; data.playerScore.text = score;

View File

@@ -116,7 +116,7 @@ Material:
- _XRMotionVectorsPass: 1 - _XRMotionVectorsPass: 1
- _ZWrite: 1 - _ZWrite: 1
m_Colors: 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} - _Color: {r: 0.17342025, g: 0.75471693, b: 0.07475967, a: 0}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}

View File

@@ -116,7 +116,7 @@ Material:
- _XRMotionVectorsPass: 1 - _XRMotionVectorsPass: 1
- _ZWrite: 1 - _ZWrite: 1
m_Colors: 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} - _Color: {r: 0.8113207, g: 0.53379685, b: 0.042096816, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}

View File

@@ -146,7 +146,7 @@ GameObject:
serializedVersion: 6 serializedVersion: 6
m_Component: m_Component:
- component: {fileID: 6295715214915275273} - component: {fileID: 6295715214915275273}
- component: {fileID: 501012132923561755} - component: {fileID: 6369205413707127148}
m_Layer: 5 m_Layer: 5
m_Name: Data m_Name: Data
m_TagString: Untagged m_TagString: Untagged
@@ -177,7 +177,7 @@ RectTransform:
m_AnchoredPosition: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 817.4707, y: 120} m_SizeDelta: {x: 817.4707, y: 120}
m_Pivot: {x: 0.5, y: 0.5} m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &501012132923561755 --- !u!114 &6369205413707127148
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0} m_CorrespondingSourceObject: {fileID: 0}
@@ -186,9 +186,9 @@ MonoBehaviour:
m_GameObject: {fileID: 340109946359880583} m_GameObject: {fileID: 340109946359880583}
m_Enabled: 1 m_Enabled: 1
m_EditorHideFlags: 0 m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: a6ab63c7177ea94478032cb825071368, type: 3} m_Script: {fileID: 11500000, guid: 19899d49b8ee4db41a4ca8dd590ad4a1, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: DomainAssembly::Darkmatter.Domain.LeaderboardData m_EditorClassIdentifier: PresentationAssembly::Darkmatter.Presentation.LeaderboardData
posNumber: {fileID: 8966731343238371749} posNumber: {fileID: 8966731343238371749}
playerName: {fileID: 7140963729975583955} playerName: {fileID: 7140963729975583955}
playerScore: {fileID: 7199945981426735824} playerScore: {fileID: 7199945981426735824}

View File

@@ -256,6 +256,53 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 21876040} m_GameObject: {fileID: 21876040}
m_CullTransparentMesh: 1 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 --- !u!1 &63427161
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -516,7 +563,6 @@ RectTransform:
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: m_Children:
- {fileID: 1926046908} - {fileID: 1926046908}
- {fileID: 903232249}
m_Father: {fileID: 861211732} m_Father: {fileID: 861211732}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0} m_AnchorMin: {x: 0, y: 0}
@@ -10421,7 +10467,6 @@ Transform:
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: m_Children:
- {fileID: 1850425825} - {fileID: 1850425825}
- {fileID: 1073116392}
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &269796309 --- !u!1 &269796309
@@ -10937,7 +10982,8 @@ MonoBehaviour:
TypeName: TypeName:
autoRun: 1 autoRun: 1
autoInjectGameObjects: [] autoInjectGameObjects: []
pool: {fileID: 1073116393} platformPool: {fileID: 1073116393}
leaderBoardDataPool: {fileID: 62404198}
manager: {fileID: 1850425826} manager: {fileID: 1850425826}
inputReader: {fileID: 11400000, guid: dfe12148dc4d7ea46b49e490c1b1aad5, type: 2} inputReader: {fileID: 11400000, guid: dfe12148dc4d7ea46b49e490c1b1aad5, type: 2}
gameSession: {fileID: 11400000, guid: 166236fc288d5a343ba6dd8ab704e653, type: 2} gameSession: {fileID: 11400000, guid: 166236fc288d5a343ba6dd8ab704e653, type: 2}
@@ -12619,127 +12665,7 @@ MonoBehaviour:
leaderBoardScreen: {fileID: 155034150} leaderBoardScreen: {fileID: 155034150}
ExitButton: {fileID: 501358099} ExitButton: {fileID: 501358099}
LBDataContainer: {fileID: 1836214634} LBDataContainer: {fileID: 1836214634}
LBplayerData: {fileID: 501012132923561755, guid: b16e394676a0f3e4dbf81cd523bf2325, type: 3} LBplayerData: {fileID: 0}
--- !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
--- !u!1 &926831878 --- !u!1 &926831878
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -13209,7 +13135,7 @@ Transform:
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: [] m_Children: []
m_Father: {fileID: 268692280} m_Father: {fileID: 1111723450}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &1073116393 --- !u!114 &1073116393
MonoBehaviour: MonoBehaviour:
@@ -13222,9 +13148,9 @@ MonoBehaviour:
m_EditorHideFlags: 0 m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4977d8686efb09b40a678a0fb6037eee, type: 3} m_Script: {fileID: 11500000, guid: 4977d8686efb09b40a678a0fb6037eee, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: Assembly-CSharp::PlatformPool m_EditorClassIdentifier: PresentationAssembly::PlatformPool
platformPrefab: {fileID: 7976989308632488510, guid: e8873770c9532bc4a9fd735810830ed5, type: 3} prefab: {fileID: 7976989308632488510, guid: e8873770c9532bc4a9fd735810830ed5, type: 3}
platformParent: {fileID: 1850425825} prefabParent: {fileID: 1850425825}
poolSize: 15 poolSize: 15
--- !u!1 &1088536451 --- !u!1 &1088536451
GameObject: GameObject:
@@ -13339,6 +13265,39 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1090159332} m_GameObject: {fileID: 1090159332}
m_CullTransparentMesh: 1 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 --- !u!1 &1148039065
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -15161,6 +15120,7 @@ MonoBehaviour:
m_Name: m_Name:
m_EditorClassIdentifier: Assembly-CSharp::PlatformManager m_EditorClassIdentifier: Assembly-CSharp::PlatformManager
inputScale: 360 inputScale: 360
hasFirstPlatformBuilt: 0
--- !u!1 &1865876172 --- !u!1 &1865876172
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -15931,3 +15891,4 @@ SceneRoots:
- {fileID: 1783072554} - {fileID: 1783072554}
- {fileID: 1398296651} - {fileID: 1398296651}
- {fileID: 1741932666} - {fileID: 1741932666}
- {fileID: 1111723450}