fix: first clicks now are properly detected

This commit is contained in:
Gerard Gascón 2024-04-20 12:22:05 +02:00
parent db839ea96d
commit 2cddb7a7b9
13 changed files with 99 additions and 30 deletions

View file

@ -6,6 +6,7 @@ using Random = UnityEngine.Random;
namespace View {
public class RoseSpawner : MonoBehaviour, IRoseSpawner {
[SerializeField] private Rect spawnerRegion;
[SerializeField] private float initialSpawnerAvoidedRegion;
[SerializeField] private GameObject rose;
public void SpawnRose() {
@ -14,11 +15,35 @@ namespace View {
spawnerRegion.position.y + Random.Range(-spawnerRegion.size.y / 2f, spawnerRegion.size.y / 2f)
);
Instantiate(rose, spawnPos, Quaternion.identity);
Spawn(spawnPos);
}
public void SpawnInitialRose() {
bool spawnOnRight = Random.Range(0, 2) == 0;
Vector2 spawnPos;
if (spawnOnRight) {
spawnPos = new Vector2(
spawnerRegion.position.x + Random.Range(initialSpawnerAvoidedRegion / 2f, spawnerRegion.size.x / 2f),
spawnerRegion.position.y + Random.Range(-spawnerRegion.size.y / 2f, spawnerRegion.size.y / 2f)
);
} else {
spawnPos = new Vector2(
spawnerRegion.position.x + Random.Range(-spawnerRegion.size.x / 2f, -initialSpawnerAvoidedRegion / 2f),
spawnerRegion.position.y + Random.Range(-spawnerRegion.size.y / 2f, spawnerRegion.size.y / 2f)
);
}
Spawn(spawnPos);
}
private void Spawn(Vector2 pos) {
Instantiate(rose, pos, Quaternion.identity);
}
private void OnDrawGizmos() {
Gizmos.DrawWireCube(spawnerRegion.position, spawnerRegion.size);
Gizmos.color = Color.red;
Gizmos.DrawWireCube(spawnerRegion.position, new Vector2(initialSpawnerAvoidedRegion, spawnerRegion.size.y));
}
}
}