FossilOrigin-Name: eac9e3d9480c641e752bce15f24de48bbb77705cd44ef2bb9a04603ca04c67e1
42 lines
791 B
Objective-C
42 lines
791 B
Objective-C
#import "ServerInfo.h"
|
|
|
|
#include "cube.h"
|
|
|
|
@implementation ServerInfo
|
|
+ (instancetype)infoWithName:(OFString *)name;
|
|
{
|
|
return [[self alloc] initWithName:name];
|
|
}
|
|
|
|
- (instancetype)initWithName:(OFString *)name
|
|
{
|
|
self = [super init];
|
|
|
|
_name = [name copy];
|
|
_full = @"";
|
|
_mode = 0;
|
|
_numplayers = 0;
|
|
_ping = 9999;
|
|
_protocol = 0;
|
|
_minremain = 0;
|
|
_map = @"";
|
|
_sdesc = @"";
|
|
_address.host = ENET_HOST_ANY;
|
|
_address.port = CUBE_SERVINFO_PORT;
|
|
|
|
return self;
|
|
}
|
|
|
|
- (OFComparisonResult)compare:(id)otherObject
|
|
{
|
|
if (![otherObject isKindOfClass:ServerInfo.class])
|
|
@throw [OFInvalidArgumentException exception];
|
|
|
|
if (_ping > [otherObject ping])
|
|
return OFOrderedDescending;
|
|
if (_ping < [otherObject ping])
|
|
return OFOrderedAscending;
|
|
|
|
return [_name compare:[otherObject name]];
|
|
}
|
|
@end
|