Générer un nombre aléatoire dans Unity sans ambiguïté de classe

10

J'ai un problème dans Unity (C #) où je voudrais créer un nombre aléatoire. Je voulais utiliser System.Random(référence: utilisation System) mais Unity se plaint que c'est ambigu pour eux UnityEngine.Random. Je ne peux pas spécifier la référence (en utilisant System.Random) car ce randomn'est pas un espace de noms. Comment puis-je spécifier que je souhaite utiliser le système de manière aléatoire et non celui de Unity?

Sandra
la source
Il me semble que le titre de la question ne reflète pas vraiment la question. La façon la plus simple de faire ce que dit la tuile est simplement d'utiliser le RNG d'Unity, qui peut être généralement de bons conseils de toute façon. Bien sûr, si vous n'utilisez rien de l'espace de noms UnityEngine (peu probable), vous pouvez simplement omettre cette instruction using.
Zeus

Réponses:

31

Vous pouvez spécifier explicitement l'espace de noms:

System.Random random = new System.Random(seed);
random.Next();
Iggy
la source
25

Vous pouvez également utiliser une directive using alias pour donner un nouveau nom à System.Random:

using Rng = System.Random;

la source
5
using Random = System.Random;va bien aussi
trollingchar
8
using LiterallyAnyOldString = System.Random;est également très bien, vous pouvez utiliser tout ce que vous voulez, les mêmes règles s'appliquent que pour les variables
MindSwipe
6
@MindSwipe Je pense que le point de trollingchar était que Randomc'est bien et sans ambiguïté, même dans les contextes où il UnityEngine.Randomest disponible.
Alexander - Reinstate Monica