void OnAuthGroupShowCommand(BasePlayer player, string groupName) { AuthGroup group = Groups.GetByOwnerOrManager(player, groupName); if (group == null) { SendReply(player, Messages.YouAreNotOwnerOrManagerOfGroup, groupName); return; } var sb = new StringBuilder(); sb.Append($"Auth group <color=#ffd479>{group.Name}</color> "); if (group.Entities.Count == 0) { sb.AppendLine("isn't managing any items."); } else { sb.AppendLine($"is managing <color=#ffd479>{group.Entities.Count}</color> items:"); } var cupboards = group.GetAllManagedEntitiesOfType <ManagedToolCupboard>(); if (cupboards.Length > 0) { sb.AppendLine($" <color=#ffd479>{cupboards.Length}</color> tool cupboard(s)"); } var turrets = group.GetAllManagedEntitiesOfType <ManagedAutoTurret>(); if (turrets.Length > 0) { sb.AppendLine($" <color=#ffd479>{turrets.Length}</color> turret(s)"); } var codeLocks = group.GetAllManagedEntitiesOfType <ManagedCodeLock>(); if (codeLocks.Length > 0) { sb.AppendLine($" <color=#ffd479>{codeLocks.Length}</color> code lock(s)"); } sb.AppendLine($"Owner: {FormatPlayerName(group.OwnerId)}"); if (group.ManagerIds.Count > 0) { sb.Append($"<color=#ffd479>{group.ManagerIds.Count}</color> managers: "); sb.AppendLine(String.Join(", ", group.ManagerIds.Select(FormatPlayerName).ToArray())); } sb.Append($"<color=#ffd479>{group.MemberIds.Count}</color> members: "); sb.AppendLine(String.Join(", ", group.MemberIds.Select(FormatPlayerName).ToArray())); SendReply(player, sb.ToString()); }
void OnAuthGroupCodeLocksCommand(BasePlayer player, string groupName, string[] args) { string command = (args.Length == 0) ? null : args[0].ToLowerInvariant(); if (command == null) { OnAuthGroupCodeLocksHelpCommand(player); return; } AuthGroup group = Groups.GetByOwnerOrManager(player, groupName); if (group == null) { SendReply(player, Messages.YouAreNotOwnerOrManagerOfGroup, groupName); return; } var codeLocks = group.GetAllManagedEntitiesOfType <ManagedCodeLock>(); if (codeLocks.Length == 0) { SendReply(player, Messages.CannotSendLocksCommandNoLocksInGroup, group.Name); return; } string code = (args.Length < 2) ? null : args[1].Trim(); switch (command) { case "code": if (code == null || code.Length != 4) { OnAuthGroupCodeLocksHelpCommand(player); break; } foreach (ManagedCodeLock codeLock in codeLocks) { codeLock.SetCode(code); } SendReply(player, Messages.AllLocksCodeChanged, group.Name); break; case "guestcode": if (code == null || code.Length != 4) { OnAuthGroupCodeLocksHelpCommand(player); break; } foreach (ManagedCodeLock codeLock in codeLocks) { codeLock.SetGuestCode(code); } SendReply(player, Messages.AllLocksGuestCodeChanged, group.Name); break; case "lock": foreach (ManagedCodeLock codeLock in codeLocks) { codeLock.SetIsLocked(true); } SendReply(player, Messages.AllLocksLocked, group.Name); break; case "unlock": foreach (ManagedCodeLock codeLock in codeLocks) { codeLock.SetIsLocked(false); } SendReply(player, Messages.AllLocksUnlocked, group.Name); break; default: OnAuthGroupTurretsHelpCommand(player); break; } }