You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
#friends ui - more explicit presence states FORT-2202 Player status appears as Away when choosing Offline in the Friends Menu [CL 2359481 by Sam Zamani in Main branch]
54 lines
1.5 KiB
C++
54 lines
1.5 KiB
C++
// Copyright 1998-2014 Epic Games, Inc. All Rights Reserved.
|
|
|
|
#include "FriendsAndChatPrivatePCH.h"
|
|
#include "FriendsStatusViewModel.h"
|
|
|
|
class FFriendsStatusViewModelImpl
|
|
: public FFriendsStatusViewModel
|
|
{
|
|
public:
|
|
virtual bool GetOnlineStatus() const override
|
|
{
|
|
return FriendsAndChatManager.Pin()->GetUserIsOnline();
|
|
}
|
|
|
|
virtual void SetOnlineStatus(EOnlinePresenceState::Type OnlineState) override
|
|
{
|
|
FriendsAndChatManager.Pin()->SetUserIsOnline(OnlineState);
|
|
}
|
|
|
|
virtual TArray<TSharedRef<FText> > GetStatusList() const override
|
|
{
|
|
return OnlineStateArray;
|
|
}
|
|
|
|
virtual FText GetStatusText() const override
|
|
{
|
|
return FriendsAndChatManager.Pin()->GetUserIsOnline() ? FText::FromString("Online") : FText::FromString("Away");
|
|
}
|
|
|
|
private:
|
|
FFriendsStatusViewModelImpl(
|
|
const TSharedRef<FFriendsAndChatManager>& FriendsAndChatManager
|
|
)
|
|
: FriendsAndChatManager(FriendsAndChatManager)
|
|
{
|
|
OnlineStateArray.Add(MakeShareable(new FText(NSLOCTEXT("OnlineState", "OnlineState_Online", "Online"))));
|
|
OnlineStateArray.Add(MakeShareable(new FText(NSLOCTEXT("OnlineState", "OnlineState_Away", "Away"))));
|
|
}
|
|
|
|
private:
|
|
TWeakPtr<FFriendsAndChatManager> FriendsAndChatManager;
|
|
TArray<TSharedRef<FText> > OnlineStateArray;
|
|
|
|
private:
|
|
friend FFriendsStatusViewModelFactory;
|
|
};
|
|
|
|
TSharedRef< FFriendsStatusViewModel > FFriendsStatusViewModelFactory::Create(
|
|
const TSharedRef<FFriendsAndChatManager>& FriendsAndChatManager
|
|
)
|
|
{
|
|
TSharedRef< FFriendsStatusViewModelImpl > ViewModel(new FFriendsStatusViewModelImpl(FriendsAndChatManager));
|
|
return ViewModel;
|
|
} |