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?


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();

25

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

using Rng = System.Random;

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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.