Ho un problema. Sto facendo un'utilità per fare mappe generate procedurali. Ho una piscina in camera e ogni camera è sistemata in un tavolo della stanza. Ho un metodo per collegare tutte le stanze insieme che camminano sul tavolo e collegano le stanze adiacenti.Se la proposizione è sempre vera con enum nel confronto
Ho un enum
che contiene il tipo di camere:
public enum RoomType
{
Default = 0,
Building,
Boss,
Item,
Standard,
Start,
}
Nel metodo di connessione Controllo il quartiere per vedere che tipo di camera che è:
if (neighbourhood[2, 1] != null)
{
if (firstLevel.isOn)
{
if (neighbourhood[2,1].TypeOfRoom == RoomType.Start)
{
roomGrid[x, y].AddConnection(neighbourhood[2, 1], Location.RIGHT)
}
}
else if (neighbourhood[2,1].TypeOfRoom != RoomType.Boss)
roomGrid[x, y].AddConnection(neighbourhood[2, 1], Location.RIGHT);
}
Ma quando controllo se il tipo di camera è Start
, è sempre true
e la connessione viene aggiunta.
Non so il motivo per cui questo accade.
in cui ho impostato il TypeOfRoom: img3
Hai provato il debug?Guarda a cosa sono impostati i valori e vedi se il codice va dove ti aspetti. –
L'unica spiegazione è che qualcosa ha cambiato 'TypeOfRoom' * dopo * il confronto. – CodingGorilla
Come appare 'TypeOfRoom'? È una proprietà? Avete più di un thread per accedere a "vicini"? – Sinatr