Files
UnrealEngineUWP/Engine/Source/Developer/FriendsAndChat/Private/Models/ChatItemViewModel.cpp
Nicholas Davies 5f8d8799bb Chat updates merging from Fortnite
[CL 2358966 by Nicholas Davies in Main branch]
2014-11-13 16:15:33 -05:00

81 lines
1.8 KiB
C++

// Copyright 1998-2014 Epic Games, Inc. All Rights Reserved.
#include "FriendsAndChatPrivatePCH.h"
#include "ChatItemViewModel.h"
#include "ChatViewModel.h"
class FChatItemViewModelImpl
: public FChatItemViewModel
{
public:
virtual FText GetMessage() override
{
return ChatMessage->Message;
}
virtual const EChatMessageType::Type GetMessageType() const override
{
return ChatMessage->MessageType;
}
virtual FText GetMessageTypeText() override
{
return EChatMessageType::ToText(ChatMessage->MessageType);
}
virtual FText GetFriendID() override
{
FFormatNamedArguments Args;
Args.Add(TEXT("Username"), ChatMessage->FromName);
const FText DisplayName = FText::Format(NSLOCTEXT("FChatItemViewModel", "DisplayName", "{Username}: "), Args);
return DisplayName;
}
virtual FText GetMessageTime() override
{
return ChatMessage->MessageTimeText;
}
const bool IsFromSelf() const override
{
return ChatMessage->bIsFromSelf;
}
virtual const float GetFadeAmountColor() const override
{
return Owner->GetTimeTransparency();
}
virtual const bool UseOverrideColor() const override
{
return Owner->GetOverrideColorSet();
}
virtual const FSlateColor GetOverrideColor() const override
{
return Owner->GetFontOverrideColor();
}
private:
FChatItemViewModelImpl(TSharedRef<FFriendChatMessage> ChatMessage, TSharedPtr<FChatViewModel> Owner)
: ChatMessage(ChatMessage)
, Owner(Owner)
{
}
private:
TSharedRef<FFriendChatMessage> ChatMessage;
TSharedPtr<FChatViewModel> Owner;
private:
friend FChatItemViewModelFactory;
};
TSharedRef< FChatItemViewModel > FChatItemViewModelFactory::Create(
const TSharedRef<FFriendChatMessage>& ChatMessage
, TSharedRef<FChatViewModel> Owner)
{
TSharedRef< FChatItemViewModelImpl > ViewModel(new FChatItemViewModelImpl(ChatMessage, Owner));
return ViewModel;
}