nea game doesntdoesn't allow me to present and click on sprites
hey so im makingI'm creating a game for my nea and iI have tried multiple times to make me as a user of the game to press on documents that my charecter pressentscharacter presents, and theto be able to interact with it i. I have checkchecked with chatgpt and it says my code is ok, but the clicks on the sprite do not render and now the sprites dontdon't even show up.
pleasePlease help
theThis is my code:
using System.Collections.Generic;
using UnityEngine;
public class DocumentManager : MonoBehaviour
{
[Header("Assign document prefabs (different ID cards, etc.)")]
public GameObject[] documentPrefabs;
[Header("Parent for spawned docs (optional)")]
public Transform container;
[Header("How many to spawn (will clamp to number of prefabs)")]
public int spawnCount = 3;
// Keep references so we don't spawn duplicates
private readonly List<GameObject> spawned = new List<GameObject>();
// Call this when character reaches center
public void ShowDocuments()
{
if (spawned.Count > 0) return; // already spawned
if (documentPrefabs == null || documentPrefabs.Length == 0) return;
Camera cam = Camera.main;
if (cam == null)
{
Debug.LogError("No main camera found.");
return;
}
// center world point — using a z that is the same plane as your docs (0)
Vector3 screenCenter = new Vector3(Screen.width / 2f, Screen.height / 2f, Mathf.Abs(cam.transform.position.z));
Vector3 worldCenter = cam.ScreenToWorldPoint(screenCenter);
worldCenter.z = 0f;
// choose how wide the documents spread (units)
float spread = 1.2f;
int toSpawn = Mathf.Clamp(spawnCount, 1, documentPrefabs.Length);
// spawn evenly around center
int midIndex = toSpawn / 2;
for (int i = 0; i < toSpawn; i++)
{
int prefabIndex = i % documentPrefabs.Length;
Vector3 pos = worldCenter + new Vector3((i - midIndex) * spread, 0f, 0f);
GameObject prefab = documentPrefabs[prefabIndex];
GameObject go = Instantiate(prefab, pos, Quaternion.identity, container);
spawned.Add(go);
}
}
// Removes and destroys spawned documents
public void ClearDocuments()
{
foreach (var g in spawned) if (g != null) Destroy(g);
spawned.Clear();
}
// Convenience: spawn from inspector
#if UNITY_EDITOR
[UnityEditor.MenuItem("Tools/SpawnDocs_Debug")]
private static void DebugSpawn() { }
#endif
}
nea game doesnt allow me to present and click on sprites
hey so im making a game for my nea and i have tried multiple times to make me as a user of the game to press on documents that my charecter pressents and the be able to interact with it i have check with chatgpt and it says my code is ok but the clicks on the sprite do not render and now the sprites dont even show
please help
the code:
using System.Collections.Generic;
using UnityEngine;
public class DocumentManager : MonoBehaviour
{
[Header("Assign document prefabs (different ID cards, etc.)")]
public GameObject[] documentPrefabs;
[Header("Parent for spawned docs (optional)")]
public Transform container;
[Header("How many to spawn (will clamp to number of prefabs)")]
public int spawnCount = 3;
// Keep references so we don't spawn duplicates
private readonly List<GameObject> spawned = new List<GameObject>();
// Call this when character reaches center
public void ShowDocuments()
{
if (spawned.Count > 0) return; // already spawned
if (documentPrefabs == null || documentPrefabs.Length == 0) return;
Camera cam = Camera.main;
if (cam == null)
{
Debug.LogError("No main camera found.");
return;
}
// center world point — using a z that is the same plane as your docs (0)
Vector3 screenCenter = new Vector3(Screen.width / 2f, Screen.height / 2f, Mathf.Abs(cam.transform.position.z));
Vector3 worldCenter = cam.ScreenToWorldPoint(screenCenter);
worldCenter.z = 0f;
// choose how wide the documents spread (units)
float spread = 1.2f;
int toSpawn = Mathf.Clamp(spawnCount, 1, documentPrefabs.Length);
// spawn evenly around center
int midIndex = toSpawn / 2;
for (int i = 0; i < toSpawn; i++)
{
int prefabIndex = i % documentPrefabs.Length;
Vector3 pos = worldCenter + new Vector3((i - midIndex) * spread, 0f, 0f);
GameObject prefab = documentPrefabs[prefabIndex];
GameObject go = Instantiate(prefab, pos, Quaternion.identity, container);
spawned.Add(go);
}
}
// Removes and destroys spawned documents
public void ClearDocuments()
{
foreach (var g in spawned) if (g != null) Destroy(g);
spawned.Clear();
}
// Convenience: spawn from inspector
#if UNITY_EDITOR
[UnityEditor.MenuItem("Tools/SpawnDocs_Debug")]
private static void DebugSpawn() { }
#endif
}
nea game doesn't allow me to present and click on sprites
I'm creating a game for my nea and I have tried multiple times to make me as a user of the game to press on documents that my character presents, and to be able to interact with it. I have checked with chatgpt and it says my code is ok, but the clicks on the sprite do not render and now the sprites don't even show up.
Please help
This is my code:
using System.Collections.Generic;
using UnityEngine;
public class DocumentManager : MonoBehaviour
{
[Header("Assign document prefabs (different ID cards, etc.)")]
public GameObject[] documentPrefabs;
[Header("Parent for spawned docs (optional)")]
public Transform container;
[Header("How many to spawn (will clamp to number of prefabs)")]
public int spawnCount = 3;
// Keep references so we don't spawn duplicates
private readonly List<GameObject> spawned = new List<GameObject>();
// Call this when character reaches center
public void ShowDocuments()
{
if (spawned.Count > 0) return; // already spawned
if (documentPrefabs == null || documentPrefabs.Length == 0) return;
Camera cam = Camera.main;
if (cam == null)
{
Debug.LogError("No main camera found.");
return;
}
// center world point — using a z that is the same plane as your docs (0)
Vector3 screenCenter = new Vector3(Screen.width / 2f, Screen.height / 2f, Mathf.Abs(cam.transform.position.z));
Vector3 worldCenter = cam.ScreenToWorldPoint(screenCenter);
worldCenter.z = 0f;
// choose how wide the documents spread (units)
float spread = 1.2f;
int toSpawn = Mathf.Clamp(spawnCount, 1, documentPrefabs.Length);
// spawn evenly around center
int midIndex = toSpawn / 2;
for (int i = 0; i < toSpawn; i++)
{
int prefabIndex = i % documentPrefabs.Length;
Vector3 pos = worldCenter + new Vector3((i - midIndex) * spread, 0f, 0f);
GameObject prefab = documentPrefabs[prefabIndex];
GameObject go = Instantiate(prefab, pos, Quaternion.identity, container);
spawned.Add(go);
}
}
// Removes and destroys spawned documents
public void ClearDocuments()
{
foreach (var g in spawned) if (g != null) Destroy(g);
spawned.Clear();
}
// Convenience: spawn from inspector
#if UNITY_EDITOR
[UnityEditor.MenuItem("Tools/SpawnDocs_Debug")]
private static void DebugSpawn() { }
#endif
}
nea game doesnt allow me to present and click on sprites
hey so im making a game for my nea and i have tried multiple times to make me as a user of the game to press on documents that my charecter pressents and the be able to interact with it i have check with chatgpt and it says my code is ok but the clicks on the sprite do not render and now the sprites dont even show
please help
the code:
using System.Collections.Generic;
using UnityEngine;
public class DocumentManager : MonoBehaviour
{
[Header("Assign document prefabs (different ID cards, etc.)")]
public GameObject[] documentPrefabs;
[Header("Parent for spawned docs (optional)")]
public Transform container;
[Header("How many to spawn (will clamp to number of prefabs)")]
public int spawnCount = 3;
// Keep references so we don't spawn duplicates
private readonly List<GameObject> spawned = new List<GameObject>();
// Call this when character reaches center
public void ShowDocuments()
{
if (spawned.Count > 0) return; // already spawned
if (documentPrefabs == null || documentPrefabs.Length == 0) return;
Camera cam = Camera.main;
if (cam == null)
{
Debug.LogError("No main camera found.");
return;
}
// center world point — using a z that is the same plane as your docs (0)
Vector3 screenCenter = new Vector3(Screen.width / 2f, Screen.height / 2f, Mathf.Abs(cam.transform.position.z));
Vector3 worldCenter = cam.ScreenToWorldPoint(screenCenter);
worldCenter.z = 0f;
// choose how wide the documents spread (units)
float spread = 1.2f;
int toSpawn = Mathf.Clamp(spawnCount, 1, documentPrefabs.Length);
// spawn evenly around center
int midIndex = toSpawn / 2;
for (int i = 0; i < toSpawn; i++)
{
int prefabIndex = i % documentPrefabs.Length;
Vector3 pos = worldCenter + new Vector3((i - midIndex) * spread, 0f, 0f);
GameObject prefab = documentPrefabs[prefabIndex];
GameObject go = Instantiate(prefab, pos, Quaternion.identity, container);
spawned.Add(go);
}
}
// Removes and destroys spawned documents
public void ClearDocuments()
{
foreach (var g in spawned) if (g != null) Destroy(g);
spawned.Clear();
}
// Convenience: spawn from inspector
#if UNITY_EDITOR
[UnityEditor.MenuItem("Tools/SpawnDocs_Debug")]
private static void DebugSpawn() { }
#endif
}