public virtual IList<Error> SetMemberPrivilageAndTitle(Player player, TribePermission permission, string title, ISession session)
        {
            IList<Error> lstError = new List<Error>();
            if (this.Group != player.Group)
            {
                lstError.Add(new Error("Không có quyền truy cập chức năng này"));
                return lstError;
            }
            if ((this.TribePermission & TribePermission.Baron) != TribePermission.Baron)
            {
                lstError.Add(new Error("Không có quyền truy cập chức năng này"));
                return lstError;
            }

            if ((int)player.TribePermission > (int)this.TribePermission)
            {
                lstError.Add(new Error("Không có quyền thay đổi thông tin thành viên này"));
                return lstError;
            }
            if (permission == beans.TribePermission.Duke && this.TribePermission != beans.TribePermission.Duke)
            {
                lstError.Add(new Error("Không có quyền truy cập chức năng này"));
                return lstError;
            }

            player.TribePermission = permission;
            player.TribeTitle = title;

            return lstError;
        }
示例#2
0
        public void CreateRank(byte id, string name, TribePermission permission)
        {
            var rank = new TribeRank(id)
            {
                Name = name, Permission = permission
            };

            ranks[rank.Id] = rank;
        }
示例#3
0
        public bool HasRight(uint playerId, TribePermission permission)
        {
            ITribesman tribesman;

            if (!TryGetTribesman(playerId, out tribesman))
            {
                return(false);
            }
            return(tribesman.Rank.Permission.HasFlag(TribePermission.All) ||
                   tribesman.Rank.Permission.HasFlag(permission));
        }
示例#4
0
        public Error UpdateRank(byte rank, string name, TribePermission permission)
        {
            ITribeRank tribeRank;

            if (!ranks.TryGetValue(rank, out tribeRank))
            {
                return(Error.TribeRankNotFound);
            }

            if (!TribeRank.IsNameValid(name))
            {
                return(Error.TribeRankInvalidName);
            }

            tribeRank.Name = name;
            if (tribeRank != ChiefRank)
            {
                tribeRank.Permission = permission;
            }
            dbManager.Save(this);
            SendRanksUpdate();
            return(Error.Ok);
        }
 public virtual bool CheckPrivilage(TribePermission privilage)
 {
     return ((this.TribePermission & privilage) == privilage);
 }