private CheckChangePermissions ( |
||
p | ||
return | bool |
private bool CheckChangePermissions( Player p )
{
if ( string.IsNullOrWhiteSpace( _life.CreatorName ) || p.Name == _life.CreatorName )
return true;
if ( string.IsNullOrWhiteSpace( _life.MinRankToChange ) )
return true;
Rank r;
if ( !RankManager.RanksByName.TryGetValue( _life.MinRankToChange, out r ) ) {
string prevRank = _life.MinRankToChange;
r = RankManager.LowestRank.NextRankUp ?? RankManager.LowestRank;
_life.MinRankToChange = r.Name;
p.Message( "&WRank " + prevRank + " couldn't be found. Updated to " + r.Name );
}
if ( p.Info.Rank >= r )
return true;
p.Message( "&WYour rank is too low to change this life." );
return false;
}
private static void OnStop(Player p, Command cmd) { LifeHandler handler = GetCheckedLifeHandler(p, cmd); if (null == handler) { return; } if (!handler.CheckChangePermissions(p)) { return; } handler._life.Stop(); p.Message("&yLife " + handler._life.Name + " is stopped"); }