public RocketPermissionsProviderResult SaveGroup(RocketPermissionsGroup group)
 {
     return(helper.SaveGroup(group));
 }
 public RocketPermissionsProviderResult AddGroup(RocketPermissionsGroup group)
 {
     return(_defaultProvider.AddGroup(group));
 }
예제 #3
0
        public void GoHome(Vector3 bedPos, byte bedRot, UnturnedPlayer player)
        {
            Rocket.Core.Logging.Logger.Log("starting gohome");
            this.waitrestricted     = HomeCommand.Instance.Configuration.Instance.TeleportWait;
            this.movementrestricted = HomeCommand.Instance.Configuration.Instance.MovementRestriction;
            this.p      = player;
            this.bedPos = Vector3.up + bedPos;
            this.bedRot = bedRot;

            if (this.waitrestricted)
            {
                // We have to wait to teleport now find out how long
                this.LastCalledHomeCommand = DateTime.Now;
                if (HomeCommand.Instance.WaitGroups.ContainsKey("all"))
                {
                    HomeCommand.Instance.WaitGroups.TryGetValue("all", out this.waittime);
                }
                else
                {
                    if (player.IsAdmin && HomeCommand.Instance.WaitGroups.ContainsKey("admin"))
                    {
                        HomeCommand.Instance.WaitGroups.TryGetValue("admin", out this.waittime);
                    }
                    else
                    {
                        // Either not an admin or they don't get special wait restrictions.
                        List <RocketPermissionsGroup> hg = R.Permissions.GetGroups(player, true);
                        if (hg.Count <= 0)
                        {
                            Rocket.Core.Logging.Logger.Log("There was an error as a player has no groups!");
                        }
                        byte[] time2 = new byte[hg.Count];
                        for (byte g = 0; g < hg.Count; g++)
                        {
                            RocketPermissionsGroup hgr = hg[g];
                            HomeCommand.Instance.WaitGroups.TryGetValue(hgr.Id, out time2[g]);
                            if (time2[g] <= 0)
                            {
                                time2[g] = 60;
                            }
                        }
                        Array.Sort(time2);
                        // Take the lowest time.
                        this.waittime = time2[0];
                    }
                }
                if (this.movementrestricted)
                {
                    this.LastCalledHomePos = this.transform.position;
                    UnturnedChat.Say(player, String.Format(HomeCommand.Instance.Configuration.Instance.FoundBedWaitNoMoveMsg, player.CharacterName, this.waittime));
                }
                else
                {
                    UnturnedChat.Say(player, String.Format(HomeCommand.Instance.Configuration.Instance.FoundBedNowWaitMsg, player.CharacterName, this.waittime));
                }
            }
            else
            {
                this.cangohome = true;
            }
            this.GoingHome = true;
            this.DoGoHome();
        }
 public RocketPermissionsProviderResult DeleteGroup(RocketPermissionsGroup group)
 {
     return(helper.DeleteGroup(group.Id));
 }
예제 #5
0
 public RocketPermissionsProviderResult SaveGroup(RocketPermissionsGroup group)
 {
     return(Underlying.SaveGroup(group));
 }
 public RocketPermissionsProviderResult AddGroup(RocketPermissionsGroup group)
 {
     return(RocketPermissionsProviderResult.UnspecifiedError);
 }
예제 #7
0
 private IPermissionRole ConvertToGroup(RocketPermissionsGroup group)
 {
     return(new RocketPermissionRoleWrapper(group));
 }
        public RocketPermissionsProviderResult AddGroup(RocketPermissionsGroup group)
        {
            PointBlankGroupManager.AddGroup(group.Id, group.DisplayName, false, Color.white);

            return(RocketPermissionsProviderResult.Success);
        }
 public RocketPermissionsProviderResult SaveGroup(RocketPermissionsGroup group)
 {
     // Yea f*****g sure
     return(RocketPermissionsProviderResult.Success);
 }
        public RocketPermissionsProviderResult DeleteGroup(RocketPermissionsGroup group)
        {
            PointBlankGroupManager.RemoveGroup(group.Id);

            return(RocketPermissionsProviderResult.Success);
        }
예제 #11
0
        //Updates the UI
        public void UpdateUI(UnturnedPlayer p, bool firstsend = false)
        {
            short effectshortID = (short)Configuration.Instance.UIEffectID;

            if (firstsend)
            {
                EffectManager.sendUIEffect(Configuration.Instance.UIEffectID, effectshortID, p.CSteamID, true);
            }

            int admin_members_integer    = 0;
            int police_members_integer   = 0;
            int mechanic_members_integer = 0;
            int medic_members_integer    = 0;

            string admin_members_string    = null;
            string police_members_string   = null;
            string mechanic_members_string = null;
            string medic_members_string    = null;

            var config = Configuration.Instance;

            RocketPermissionsManager Permissions = R.Instance.GetComponent <RocketPermissionsManager>();
            RocketPermissionsGroup   group_pol   = R.Permissions.GetGroup(config.PoliceGroup);
            RocketPermissionsGroup   group_med   = R.Permissions.GetGroup(config.MedicGroup);
            RocketPermissionsGroup   group_mec   = R.Permissions.GetGroup(config.MechanicGroup);
            RocketPermissionsGroup   group_ad    = R.Permissions.GetGroup(config.PoliceGroup);

            Provider.clients.ForEach(client =>
            {
                string clientid = client.playerID.steamID.m_SteamID.ToString();
                if (group_pol.Members.Contains(clientid))
                {
                    police_members_integer = police_members_integer + 1;
                }
                else if (group_med.Members.Contains(clientid))
                {
                    medic_members_integer = medic_members_integer + 1;
                }
                else if (group_mec.Members.Contains(clientid))
                {
                    mechanic_members_integer = mechanic_members_integer + 1;
                }
                else if (group_ad.Members.Contains(clientid) || client.isAdmin)
                {
                    admin_members_integer = admin_members_integer + 1;
                }
            });

            if (config.ShowOfflineMembersFromtheGroup)
            {
                police_members_string   = police_members_integer.ToString() + "/" + group_pol.Members.Count;
                medic_members_string    = medic_members_integer.ToString() + "/" + group_med.Members.Count;
                mechanic_members_string = mechanic_members_integer.ToString() + "/" + group_mec.Members.Count;
                admin_members_string    = admin_members_integer.ToString() + "/" + group_ad.Members.Count;
            }
            else
            {
                police_members_string   = police_members_integer.ToString();
                medic_members_string    = medic_members_integer.ToString();
                mechanic_members_string = mechanic_members_integer.ToString();
                admin_members_string    = admin_members_integer.ToString();
            }

            EffectManager.sendUIEffectText(effectshortID, p.CSteamID, true, "police_members_count_text", Translate("ui_text", Translate("police"), police_members_string));
            EffectManager.sendUIEffectText(effectshortID, p.CSteamID, true, "medic_members_count_text", Translate("ui_text", Translate("medic"), medic_members_string));
            EffectManager.sendUIEffectText(effectshortID, p.CSteamID, true, "mechanic_members_count_text", Translate("ui_text", Translate("mechanic"), mechanic_members_string));
            EffectManager.sendUIEffectText(effectshortID, p.CSteamID, true, "admin_members_count_text", Translate("ui_text", Translate("admin"), admin_members_string));
        }