A modded EditSaber for making beat saber maps.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

72 lines
2.5 KiB

/*
By Rama
*/
#pragma once
//HTTP
#include "Http.h"
#include "Runtime/Engine/Classes/GameFramework/PlayerController.h"
#include "VictoryPC.generated.h"
DECLARE_LOG_CATEGORY_EXTERN(VictoryPCLog, Log, All);
//Exposing the UE4 Subtitle system for Solus
// <3 Rama
USTRUCT(BlueprintType)
struct FVictorySubtitleCue
{
GENERATED_USTRUCT_BODY()
/** The text to appear in the subtitle. */
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=SubtitleCue)
FText SubtitleText;
/** The time at which the subtitle is to be displayed, in seconds relative to the beginning of the line. */
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=SubtitleCue)
float Time;
FVictorySubtitleCue()
: Time(0)
{ }
FVictorySubtitleCue(const FText& InText, float InTime)
: SubtitleText(InText)
, Time(InTime)
{}
};
UCLASS()
class VICTORYBPLIBRARY_API AVictoryPC : public APlayerController
{
GENERATED_BODY()
public:
AVictoryPC(const FObjectInitializer& ObjectInitializer);
/**
* When the sound is played OnVictorySubtitlesQueued will be called with the subtitles!
* You can bind an event off of the audio component for OnAudioFinished to know hwen the sound is done!
*/
UFUNCTION(Category="Victory Subtitles", BlueprintCallable, BlueprintCosmetic, meta=( UnsafeDuringActorConstruction = "true", Keywords = "play" ))
UAudioComponent* VictoryPlaySpeechSound(class USoundBase* Sound, float VolumeMultiplier = 1.f, float PitchMultiplier = 1.f, float StartTime = 0.f);
UFUNCTION(Category="Victory Subtitles", BlueprintImplementableEvent)
void OnVictorySubtitlesQueued(const TArray<struct FVictorySubtitleCue>& VictorySubtitles, float CueDuration);
UFUNCTION()
void Subtitles_CPPDelegate(const TArray<struct FSubtitleCue>& VictorySubtitles, float CueDuration);
public:
/** This node relies on http://api.ipify.org, so if this node ever stops working, check out http://api.ipify.org. Returns false if the operation could not occur because HTTP module was not loaded or unable to process request. */
UFUNCTION(BlueprintCallable, Category="Victory PC")
bool VictoryPC_GetMyIP_SendRequest();
/** Implement this event to receive your IP once the request is processed! This requires that your computer has a live internet connection */
UFUNCTION(BlueprintImplementableEvent, Category = "Victory PC", meta = (DisplayName = "Victory PC ~ GetMyIP ~ Data Received!"))
void VictoryPC_GetMyIP_DataReceived(const FString& YourIP);
void HTTPOnResponseReceived(FHttpRequestPtr Request, FHttpResponsePtr Response, bool bWasSuccessful);
};