Jump to content
Unity Insider Forum

enum Mehrfachauswahl


erixx

Recommended Posts

Hi! Ich würde gerne mehrere enum states in einem enum per script auswählen.

Hier wäre das enum:

	public enum NpcType{
		Human,
		Animal,
		Orc,
		Undead,
		Ghost,
		Goblin,
		Demon,
		Misc,
		Friendly
			
	}

Und nun hat jeder NPC mindestens einen NpcType.

NPCs mit dem gleichen Typen greifen sich nicht an und unterstützen sich gegenseitig.

Nun möchte ich aber in bestimmten Fällen, dass ein NPC Typ zB. Animal UND Friendly is, sodass dann andere NPC Typen es nicht angreifen (wegen Friendly), es aber auch nicht unterstüzten.

Geht das so mit einem enum? Oder müsste ich mehrere verwenden, bzw es anders lösen ( zB Human, HumanFriendly, Animal, AnimalFriendly, usw.)?

 

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Es gibt verschiedene Möglichkeiten, aber ich würde es so machen:

public enum Type{
		Human,
		Animal,
		Orc,
		Undead,
		Ghost,
		Goblin,
		Demon,
		Undefined
	}

public enum Faction{
		Friendly,	
		Enemy,
		Neutral			
}


 public class NPC
 {
     public Type m_Type = Type.Human;
     public Faction m_Faction = Faction.Friendly;
     ...
 }

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi, grüß dich.

Danke dir, das scheint auch mir so die simpelste Lösung zu sein.

Nun hab ich hier noch was gefunden, wie man es "bitwise"  mit flags machen könnte: http://www.alanzucconi.com/2015/07/26/enum-flags-and-bitwise-operators/

Werd mich da ein wenig reinarbeiten müssen, doch vielleicht bietet sich das ja an und vereinfacht spätere Mehrfachabfragen.

 

 

 

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...