Files
UnrealEngineUWP/Engine/Source/Developer/FriendsAndChat/Private/FriendsAndChatModule.cpp
Nicholas Davies 8ae32577e2 Integrate from UE4-Fortnite - WIP of the Friends list
CL 2324173 2324229 2326391 2326513 2328472 2328553 2328645 2329942 2330214 2331529 2331572 2333308 2334384

[CL 2334394 by Nicholas Davies in Main branch]
2014-10-20 08:14:45 -04:00

80 lines
1.9 KiB
C++

// Copyright 1998-2014 Epic Games, Inc. All Rights Reserved.
#include "FriendsAndChatPrivatePCH.h"
/**
* Implements the FriendsAndChat module.
*/
class FFriendsAndChatModule
: public IFriendsAndChatModule
{
public:
// IFriendsAndChatModule interface
virtual void Init( bool bAllowJoinGame ) override
{
FFriendsAndChatManager::Get()->Init( FriendsListNotificationDelegate );
FFriendsMessageManager::Get()->Init( FriendsListNotificationDelegate, bAllowJoinGame );
}
virtual void SetUnhandledNotification( TSharedRef< FUniqueNetId > NetID ) override
{
FFriendsMessageManager::Get()->SetUnhandledNotification( NetID );
}
virtual FOnFriendsNotification& OnFriendsListNotification() override
{
return FriendsListNotificationDelegate;
}
virtual void CreateFriendsListWidget( TSharedPtr<const SWidget> ParentWidget, const FFriendsAndChatStyle* InStyle ) override
{
FFriendsAndChatManager::Get()->GenerateFriendsWindow( ParentWidget, InStyle );
}
virtual TSharedPtr< SWidget > GenerateFriendsListWidget( const struct FFriendsAndChatStyle* InStyle ) override
{
return FFriendsAndChatManager::Get()->GenerateFriendsListWidget( InStyle );
}
virtual void SetInSession( bool bInSession ) override
{
FFriendsAndChatManager::Get()->SetInSession( bInSession );
}
virtual void ClearGameInvites() override
{
FFriendsMessageManager::Get()->ClearGameInvites();
}
virtual void Logout() override
{
FFriendsAndChatManager::Get()->Logout();
FFriendsMessageManager::Get()->Logout();
}
public:
// IModuleInterface interface
virtual void StartupModule() override
{
FFriendsAndChatManager::Get();
}
virtual void ShutdownModule() override
{
FFriendsAndChatManager::Shutdown();
}
private:
/** Holds the Notification delegate. */
FOnFriendsNotification FriendsListNotificationDelegate;
};
IMPLEMENT_MODULE( FFriendsAndChatModule, FriendsAndChat );