static void GuessRankChangeType( [NotNull] PlayerInfo info ) {
if( info == null ) throw new ArgumentNullException( "info" );
if( info.PreviousRank != null ) {
if( info.RankChangeReason == "~AutoRank" || info.RankChangeReason == "~AutoRankAll" || info.RankChangeReason == "~MassRank" ) {
if( info.PreviousRank > info.Rank ) {
info.RankChangeType = RankChangeType.AutoDemoted;
} else if( info.PreviousRank < info.Rank ) {
info.RankChangeType = RankChangeType.AutoPromoted;
}
} else {
if( info.PreviousRank > info.Rank ) {
info.RankChangeType = RankChangeType.Demoted;
} else if( info.PreviousRank < info.Rank ) {
info.RankChangeType = RankChangeType.Promoted;
}
}
} else {
info.RankChangeType = RankChangeType.Default;
}
}