virtual void SendGameInviteNotification(const TSharedPtr<IFriendItem>& Invite, IChatNotificationService::FOnNotificationResponseDelegate ResponceDelegate) override
	{
		FString MessageString = FString::Printf(*LOCTEXT("GameInvite", "Game invite from %s").ToString(), *Invite->GetName());
		TSharedPtr< FFriendsAndChatMessage > NotificationMessage = MakeShareable(new FFriendsAndChatMessage(MessageString, Invite->GetUniqueID()));
		NotificationMessage->SetButtonCallback(FOnClicked::CreateSP(this, &FChatNotificationServiceImpl::HandleMessageResponse, NotificationMessage, EResponseType::Response_Accept, ResponceDelegate));
		NotificationMessage->SetButtonCallback(FOnClicked::CreateSP(this, &FChatNotificationServiceImpl::HandleMessageResponse, NotificationMessage, EResponseType::Response_Reject, ResponceDelegate));
		NotificationMessage->SetButtonDescription(LOCTEXT("JoinGame", "Join Game"));
		NotificationMessage->SetButtonDescription(LOCTEXT("Reject", "Reject"));
		NotificationMessage->SetButtonResponseType(EResponseType::Response_Accept);
		NotificationMessage->SetButtonResponseType(EResponseType::Response_Reject);
		NotificationMessage->SetButtonStyle(TEXT("FriendsListEmphasisButton"));
		NotificationMessage->SetButtonStyle(TEXT("FriendsListCriticalButton"));
		NotificationMessage->SetMessageType(EMessageType::GameInvite);
		OnSendNotification().Broadcast(NotificationMessage.ToSharedRef());
	}
예제 #2
0
		// Called when a message is received for this asynchronous socket instance.
		virtual void OnMessage(WPARAM sock, LPARAM lParam)
		{
			if(GetHandle() != static_cast<SOCKET>(sock))
				return;

			AsyncResult result;
			result.Error = WSAGETSELECTERROR(lParam);
			result.Success = result.Error == 0;

			switch(WSAGETSELECTEVENT(lParam))
			{
			case FD_ACCEPT:
				OnAcceptNotification(result);
				break;

			case FD_CONNECT:
				OnConnectNotification(result);
				break;

			case FD_CLOSE:
				OnDisconnectNotification(result);
				break;

			case FD_OOB:
				OnOutOfBandDataNotification(result);
				break;

			case FD_READ:
				OnReceiveNotification(result);
				break;

			case FD_WRITE:
				OnSendNotification(result);
				break;
			}
		}
	virtual void SendNotification(const FString& InMessage, EMessageType::Type MessageType) override
	{
		TSharedPtr< FFriendsAndChatMessage > NotificationMessage = MakeShareable(new FFriendsAndChatMessage(InMessage));
		NotificationMessage->SetMessageType(MessageType);
		OnSendNotification().Broadcast(NotificationMessage.ToSharedRef());
	}