Gere número aleatório no Unity sem ambiguidade de classe

10

Eu tenho um problema no Unity (C #) onde gostaria de criar um número aleatório. Eu queria usar System.Random(referência: usando System), mas o Unity reclama que é ambíguo ao seu próprio UnityEngine.Random. Não posso especificar a referência (usando System.Random) como randomnão é um espaço para nome. Como especifico que quero usar o sistema aleatoriamente e não o Unity?

Sandra
fonte
Parece-me que o título da pergunta não reflete realmente a questão. A maneira mais fácil de fazer o que o bloco diz é simplesmente usar o RNG da Unity, que geralmente pode ser um bom conselho. Obviamente, se você não estiver usando nada do namespace do UnityEngine (improvável), poderá omitir essa instrução using.
Zeus

Respostas:

31

Você pode especificar o espaço para nome explicitamente:

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

Você pode usar uma diretiva usando alias para dar ao System.Random um novo nome também:

using Rng = System.Random;

fonte
5
using Random = System.Random;é muito fina
trollingchar
8
using LiterallyAnyOldString = System.Random;também é bom, você pode usar o que quiser, as mesmas regras aplicam-se para as variáveis
MindSwipe
6
@MindSwipe Acho que o argumento do trollingchar era Randombom e inequívoco, mesmo em contextos onde UnityEngine.Randomestá disponível.
Alexander - Restabelece Monica