public void SetPlayerPrivilege(IServerPlayer owningPlayer, int chatGroupId, string forPlayerUid, EnumBlockAccessFlags access) { ReinforcedPrivilegeGrants grants; if (!privGrantsByOwningPlayerUid.TryGetValue(owningPlayer.PlayerUID, out grants)) { grants = new ReinforcedPrivilegeGrants(); privGrantsByOwningPlayerUid[owningPlayer.PlayerUID] = grants; } if (access == EnumBlockAccessFlags.None) { if (grants.PlayerGrants.Remove(forPlayerUid)) { owningPlayer.SendMessage(chatGroupId, Lang.Get("Ok, privilege revoked from player."), EnumChatType.CommandSuccess); } else { owningPlayer.SendMessage(chatGroupId, Lang.Get("No action taken. Player does not have any privilege to your reinforced blocks."), EnumChatType.CommandSuccess); } } else { grants.PlayerGrants[forPlayerUid] = access; owningPlayer.SendMessage(chatGroupId, Lang.Get("Ok, Privilege for player set."), EnumChatType.CommandSuccess); } SyncPrivData(); }
public void SetGroupPrivilege(IServerPlayer owningPlayer, int chatGroupId, string forGroupName, EnumBlockAccessFlags access) { ReinforcedPrivilegeGrants grants; if (!privGrantsByOwningPlayerUid.TryGetValue(owningPlayer.PlayerUID, out grants)) { grants = new ReinforcedPrivilegeGrants(); privGrantsByOwningPlayerUid[owningPlayer.PlayerUID] = grants; } PlayerGroup group = (api as ICoreServerAPI).Groups.GetPlayerGroupByName(forGroupName); if (group == null) { owningPlayer.SendMessage(chatGroupId, Lang.Get("No such group found"), EnumChatType.CommandError); return; } if (access == EnumBlockAccessFlags.None) { if (grants.GroupGrants.Remove(group.Uid)) { owningPlayer.SendMessage(chatGroupId, Lang.Get("Ok, privilege revoked from group."), EnumChatType.CommandSuccess); } else { owningPlayer.SendMessage(chatGroupId, Lang.Get("No action taken. Group does not have any privilege to your reinforced blocks."), EnumChatType.CommandSuccess); } } else { grants.GroupGrants[group.Uid] = access; owningPlayer.SendMessage(chatGroupId, Lang.Get("Ok, Privilege for group set."), EnumChatType.CommandSuccess); } SyncPrivData(); }