Access refactor

Access is now done through a list of access lists, instead of the necessary/sufficient system that was extremely confusing.

Added a "deny" list so you can screw over sec.

Cleaned the API up so it all uses sets and such.

PDA now relays access read-only to fix edge cases.
This commit is contained in:
Pieter-Jan Briers
2020-06-03 11:46:59 +02:00
parent 49d96e3575
commit 0f43e5e6ad
11 changed files with 424 additions and 151 deletions

View File

@@ -647,8 +647,8 @@ namespace Content.Server.GameTicking
card.JobTitle = jobPrototype.Name;
var access = card.Owner.GetComponent<AccessComponent>();
var accessTags = access.GetTags();
accessTags.AddRange(jobPrototype.Access);
var accessTags = access.Tags;
accessTags.UnionWith(jobPrototype.Access);
access.SetTags(accessTags);
pdaComponent.SetPDAOwner(mob);
var mindComponent = mob.GetComponent<MindComponent>();