Hallo,
ich setze mich gerade das erste Mal so richtig mit etwas eigentlich fundamentalen in der Programmierung auseinander, stehe aber gerade auf'm Schlauch.
Folgende Situation: Ich möchte ein "Rollen-System" basteln das auf einer Enumeration basiert.
Folgende Rollen existieren aktuell: Spieler, Wächter, Turniergewinner, Spender, Moderator, Administrator.
Da ich jetzt eigentlich in der Unreal Engine 4 arbeite und mein Problem aber grundsätzlich nicht anzugehen verstehe, machte ich erstmal Versuche in C# da ich dort mehr zuhause bin.
Ausgangssituation: Jeder Spieler hat einen
Jetzt habe ich im Spiel z.B. einen Händler mit dem der Spieler interagieren kann. Jeder Händler hat auch einen Integer (RequiredRoles) der beschreibt, welche Rollen ein Spieler haben muss, um dort einkaufen zu dürfen.
Dabei ist es mir aber egal ob der Spieler noch zusätzliche Rollen hat die eigentlich nicht benötigt werden. Es sollen einfach nur die Bits, die in RequiredRoles gesetzt sind, mit den Bits im Integer vom Spieler verglichen werden und wenn alle gesetzten Bits in RequiredRoles auch im Spieler UserRoles gesetzt sind (und optional noch andere), dann ist der Zugriff auf den Händler gestattet.
Gibt es dafür eine einfache Lösung durch irgendwelche Operatoren? Oder muss ich wirklich hingehen und in einer Schleife jedes einzelne Bit abfragen und vergleichen?
Ich hoffe ich konnte so in etwas erklären was mein Vorhaben und meine Frage ist..
Danke im Voraus
Mfg seh
ich setze mich gerade das erste Mal so richtig mit etwas eigentlich fundamentalen in der Programmierung auseinander, stehe aber gerade auf'm Schlauch.
Folgende Situation: Ich möchte ein "Rollen-System" basteln das auf einer Enumeration basiert.
Folgende Rollen existieren aktuell: Spieler, Wächter, Turniergewinner, Spender, Moderator, Administrator.
Da ich jetzt eigentlich in der Unreal Engine 4 arbeite und mein Problem aber grundsätzlich nicht anzugehen verstehe, machte ich erstmal Versuche in C# da ich dort mehr zuhause bin.
Ausgangssituation: Jeder Spieler hat einen
Integer
(UserRoles) zugewiesen welcher beschreibt welche Rollen der Spieler besitzt. Ja genau, ein Spieler kann mehrere Rollen haben.Jetzt habe ich im Spiel z.B. einen Händler mit dem der Spieler interagieren kann. Jeder Händler hat auch einen Integer (RequiredRoles) der beschreibt, welche Rollen ein Spieler haben muss, um dort einkaufen zu dürfen.
Dabei ist es mir aber egal ob der Spieler noch zusätzliche Rollen hat die eigentlich nicht benötigt werden. Es sollen einfach nur die Bits, die in RequiredRoles gesetzt sind, mit den Bits im Integer vom Spieler verglichen werden und wenn alle gesetzten Bits in RequiredRoles auch im Spieler UserRoles gesetzt sind (und optional noch andere), dann ist der Zugriff auf den Händler gestattet.
Gibt es dafür eine einfache Lösung durch irgendwelche Operatoren? Oder muss ich wirklich hingehen und in einer Schleife jedes einzelne Bit abfragen und vergleichen?
Ich hoffe ich konnte so in etwas erklären was mein Vorhaben und meine Frage ist..
Danke im Voraus
Mfg seh