fCraft.MaintenanceCommands.SetPlayerInfoField C# (CSharp) Method

SetPlayerInfoField() private static method

private static SetPlayerInfoField ( [ player, [ fieldName, [ info, [ oldValue, [ newValue ) : bool
player [
fieldName [
info [
oldValue [
newValue [
return bool
        private static bool SetPlayerInfoField( [NotNull] Player player, [NotNull] string fieldName, [NotNull] IClassy info,
            [CanBeNull] string oldValue, [CanBeNull] string newValue)
        {
            if ( player == null )
                throw new ArgumentNullException( "player" );
            if ( fieldName == null )
                throw new ArgumentNullException( "fieldName" );
            if ( info == null )
                throw new ArgumentNullException( "info" );
            if ( newValue == oldValue ) {
                if ( newValue == null ) {
                    player.Message( "SetInfo: {0} for {1}&S is not set.",
                                    fieldName, info.ClassyName );
                } else {
                    player.Message( "SetInfo: {0} for {1}&S is already set to \"{2}&S\"",
                                    fieldName, info.ClassyName, oldValue );
                }
                return false;
            }

            if ( oldValue == null ) {
                player.Message( "SetInfo: {0} for {1}&S set to \"{2}&S\"",
                                fieldName, info.ClassyName, newValue );
            } else if ( newValue == null ) {
                player.Message( "SetInfo: {0} for {1}&S was reset (was \"{2}&S\")",
                                fieldName, info.ClassyName, oldValue );
            } else {
                player.Message( "SetInfo: {0} for {1}&S changed from \"{2}&S\" to \"{3}&S\"",
                                fieldName, info.ClassyName,
                                oldValue, newValue );
            }
            return true;
        }