//
//  SFSEvent.m
//  SFS2X
//
//  Original development by Infosfer Game Technologies Ltd. | http://www.infosfer.com.
//
//  Maintained and developed by A51 Integrated.
//  Copyright 2012 A51 Integrated | http://a51integrated.com. All rights reserved.
//

#import "SFSEvent.h"


NSString * const SFSEvent_HANDSHAKE = @"handshake";
NSString * const SFSEvent_CONNECTION = @"connection";
NSString * const SFSEvent_CONNECTION_LOST = @"connectionLost";
NSString * const SFSEvent_CONNECTION_RETRY = @"connectionRetry";
NSString * const SFSEvent_CONNECTION_ATTEMPT_HTTP = @"connectionAttemptHttp";
NSString * const SFSEvent_CONNECTION_RESUME = @"connectionResume";
NSString * const SFSEvent_CONFIG_LOAD_SUCCESS = @"configLoadSuccess";
NSString * const SFSEvent_CONFIG_LOAD_FAILURE = @"configLoadFailure";
NSString * const SFSEvent_UDP_INIT = @"udpInit";
NSString * const SFSEvent_LOGIN = @"login";
NSString * const SFSEvent_LOGIN_ERROR = @"loginError";
NSString * const SFSEvent_LOGOUT = @"logout";
NSString * const SFSEvent_ROOM_ADD = @"roomAdd";
NSString * const SFSEvent_ROOM_REMOVE = @"roomRemove";
NSString * const SFSEvent_ROOM_CREATION_ERROR = @"roomCreationError";
NSString * const SFSEvent_ROOM_JOIN = @"roomJoin";
NSString * const SFSEvent_ROOM_JOIN_ERROR = @"roomJoinError";
NSString * const SFSEvent_USER_ENTER_ROOM = @"userEnterRoom";
NSString * const SFSEvent_USER_EXIT_ROOM = @"userExitRoom";
NSString * const SFSEvent_USER_COUNT_CHANGE = @"userCountChange";
NSString * const SFSEvent_PUBLIC_MESSAGE = @"publicMessage";
NSString * const SFSEvent_PRIVATE_MESSAGE = @"privateMessage";
NSString * const SFSEvent_MODERATOR_MESSAGE = @"moderatorMessage";
NSString * const SFSEvent_ADMIN_MESSAGE = @"adminMessage";
NSString * const SFSEvent_OBJECT_MESSAGE = @"objectMessage";
NSString * const SFSEvent_EXTENSION_RESPONSE = @"extensionResponse";
NSString * const SFSEvent_ROOM_VARIABLES_UPDATE = @"roomVariablesUpdate";
NSString * const SFSEvent_USER_VARIABLES_UPDATE = @"userVariablesUpdate";
NSString * const SFSEvent_ROOM_GROUP_SUBSCRIBE = @"roomGroupSubscribe";
NSString * const SFSEvent_ROOM_GROUP_UNSUBSCRIBE = @"roomGroupUnsubscribe";
NSString * const SFSEvent_ROOM_GROUP_SUBSCRIBE_ERROR = @"roomGroupSubscribeError";
NSString * const SFSEvent_ROOM_GROUP_UNSUBSCRIBE_ERROR = @"roomGroupUnsubscribeError";
NSString * const SFSEvent_SPECTATOR_TO_PLAYER = @"spectatorToPlayer";
NSString * const SFSEvent_PLAYER_TO_SPECTATOR = @"playerToSpectator";
NSString * const SFSEvent_SPECTATOR_TO_PLAYER_ERROR = @"spectatorToPlayerError";
NSString * const SFSEvent_PLAYER_TO_SPECTATOR_ERROR = @"playerToSpectatorError";
NSString * const SFSEvent_ROOM_NAME_CHANGE = @"roomNameChange";
NSString * const SFSEvent_ROOM_NAME_CHANGE_ERROR = @"roomNameChangeError";
NSString * const SFSEvent_ROOM_PASSWORD_STATE_CHANGE = @"roomPasswordStateChange";
NSString * const SFSEvent_ROOM_PASSWORD_STATE_CHANGE_ERROR = @"roomPasswordStateChangeError";
NSString * const SFSEvent_ROOM_CAPACITY_CHANGE = @"roomCapacityChange";
NSString * const SFSEvent_ROOM_CAPACITY_CHANGE_ERROR = @"roomCapacityChangeError";
NSString * const SFSEvent_ROOM_FIND_RESULT = @"roomFindResult";
NSString * const SFSEvent_USER_FIND_RESULT = @"userFindResult";
NSString * const SFSEvent_INVITATION = @"invitation";
NSString * const SFSEvent_INVITATION_REPLY = @"invitationReply";
NSString * const SFSEvent_INVITATION_REPLY_ERROR = @"invitationReplyError";
NSString * const SFSEvent_PING_PONG = @"pingPong";
NSString * const SFSEvent_PROXIMITY_LIST_UPDATE = @"proximityListUpdate";
NSString * const SFSEvent_MMOITEM_VARIABLES_UPDATE = @"mmoItemVariablesUpdate";
NSString * const SFSEvent_CRYPTO_INIT = @"cryptoInit";

@implementation SFSEvent


-(id)initWithType:(NSString *)type params:(NSDictionary *)params {
	if ((self = [super initWithType:type params:params])) {
		
	}
	
	return self;
}

-(id)clone {
	NSDictionary *clonedParams = [NSDictionary dictionaryWithDictionary:_params];
	NSString *clonedType = [NSString stringWithString:_type];
	
	SFSEvent *clone = [[SFSEvent alloc] initWithType:clonedType params:clonedParams];
	
	return clone;
}

-(NSString *)description {
	
	return [NSString stringWithString:_type];
}

@end
