Generuj losową liczbę w Unity bez dwuznaczności klasowej

10

Mam problem w Unity (C #), w którym chciałbym utworzyć liczbę losową. Chciałem użyć System.Random(odniesienie: używanie System), ale Unity narzeka, że ​​jest to niejednoznaczne UnityEngine.Random. Nie mogę określić odwołania (za pomocą System.Random), ponieważ randomnie jest to przestrzeń nazw. Jak określić, że chcę używać systemu losowo, a nie Unity?

Sandra
źródło
Wydaje mi się, że tytuł pytania tak naprawdę nie odzwierciedla pytania. Najłatwiejszym sposobem na zrobienie tego, co mówi kafelek, jest po prostu skorzystanie z RNG Unity, co i tak może być ogólnie dobrą radą. Oczywiście, jeśli nie używasz niczego z przestrzeni nazw UnityEngine (mało prawdopodobne), możesz po prostu pominąć tę instrukcję.
Zeus,

Odpowiedzi:

31

Możesz jawnie określić przestrzeń nazw:

System.Random random = new System.Random(seed);
random.Next();
Iggy
źródło
25

Możesz użyć dyrektywy using alias, aby nadać System.Random również nową nazwę:

using Rng = System.Random;

źródło
5
using Random = System.Random;też jest w porządku
trollingchar
8
using LiterallyAnyOldString = System.Random;jest również w porządku, możesz użyć wszystkiego, co chcesz, obowiązują te same zasady, co w przypadku zmiennych
MindSwipe
6
@MindSwipe Myślę, że trollingchar miał rację, że Randomjest w porządku i jednoznaczny, nawet w kontekstach, w których UnityEngine.Randomjest dostępny.
Alexander - Przywróć Monikę