Error CS0305

guidounefff Messages postés 1 Date d'inscription jeudi 11 juillet 2024 Statut Membre Dernière intervention 11 juillet 2024 - Modifié le 11 juil. 2024 à 12:19
 Utilisateur anonyme - 11 juil. 2024 à 12:35

Bonjour, J'ai un code pour générer des vague de zombies. Unity me dis qu'il y'a une erreur ; (error CS0305: Using the generic type 'List<T>' requires 1 type arguments). J'apprend par moi-même mais là je suis bloqué. 

Si quelqun pouvait m'aider ça serait cool. Mon code est le suivant :                                                                                                                                                            

using UnityEngine;

using System.Collections;

using System.Collections.Generic;

public class ZombieWaveManager : MonoBehaviour

{

[System.Serializable]

public class ZombieWave

{

public GameObject zombiePrefab;

public int zombieCount;

public float spawnDelay = 1f;

}

public List zombieWaves;

public Transform[] spawnPoints;

[Header("Wave Settings")]

public float timeBetweenWaves = 5f;

[Header("Spawn Delay Multiplier")]

[Range(0.1f, 2f)]

public float spawnDelayMultiplier = 1f;

private int currentWave = 0;

private void Start()

{

StartCoroutine(SpawnWaves());

}

private IEnumerator SpawnWaves()

{

while (currentWave < zombieWaves.Count)

{

yield return StartCoroutine(SpawnWave(zombieWaves[currentWave]));

currentWave++;

if (currentWave < zombieWaves.Count)

{

yield return new WaitForSeconds(timeBetweenWaves);

}

}

Debug.Log("Toutes les vagues de zombies ont été lancées!");

}

private IEnumerator SpawnWave(ZombieWave wave)

{

for (int i = 0; i < wave.zombieCount; i++)

{

SpawnZombie(wave.zombiePrefab);

yield return new WaitForSeconds(wave.spawnDelay * spawnDelayMultiplier);

}

}

private void SpawnZombie(GameObject zombiePrefab)

{

if (spawnPoints.Length == 0)

{

Debug.LogError("Aucun point d'apparition défini!");

return;

}

Transform spawnPoint = spawnPoints[Random.Range(0, spawnPoints.Length)];

Instantiate(zombiePrefab, spawnPoint.position, spawnPoint.rotation);

}

}

Merci !


Windows / Chrome 126.0.0.0

1 réponse

Utilisateur anonyme
11 juil. 2024 à 12:35

Bonjour

avoir des bases en C# avant de commencer unity serait un plus, je ne saurais trop te conseiller de laisser ton projet quelques jours le temps de suivre un cours en ligne (celui de Tahé sur développer.com est très bien) et d'y revenir ensuite.

La déclaration d'une liste fait partie de ces bases. Elles doit comporter un type.

En C#, c'est pas une liste de "on verra bien" comme en Python par exemple, c'est une liste de int, de double ou ce que tu veux.

Pour une liste de int c'est 

List<int> mesInts = new List<int>();

0