From 15011e81b7061495dba45e28b4d3f4efb10d7f40 Mon Sep 17 00:00:00 2001 From: badlogic Date: Tue, 4 Jul 2017 11:21:12 +0200 Subject: [PATCH] [ue4] Added simple C++ example --- .gitignore | 2 + spine-ue4/Content/GettingStarted/06-cpp.umap | Bin 0 -> 20039 bytes spine-ue4/Source/SpineUE4/SpineUE4.Build.cs | 3 +- spine-ue4/Source/SpineUE4/SpineboyCppPawn.cpp | 37 ++++++++++++++++++ spine-ue4/Source/SpineUE4/SpineboyCppPawn.h | 31 +++++++++++++++ 5 files changed, 72 insertions(+), 1 deletion(-) create mode 100644 spine-ue4/Content/GettingStarted/06-cpp.umap create mode 100644 spine-ue4/Source/SpineUE4/SpineboyCppPawn.cpp create mode 100644 spine-ue4/Source/SpineUE4/SpineboyCppPawn.h diff --git a/.gitignore b/.gitignore index 0669d7ecb..cd1357110 100644 --- a/.gitignore +++ b/.gitignore @@ -107,3 +107,5 @@ spine-ue4/SpineUE4.VC.opendb spine-ue4/SpineUE4.VC.db spine-ue4/SpineUE4.sln spine-ue4/SpineUE4.VC.db +spine-ue4/.vs/ +spine-ue4/SpineUE4.VC.VC.opendb diff --git a/spine-ue4/Content/GettingStarted/06-cpp.umap b/spine-ue4/Content/GettingStarted/06-cpp.umap new file mode 100644 index 0000000000000000000000000000000000000000..fddce8eb580b694b74ba38551b9f0a1ad4174c6f GIT binary patch literal 20039 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 + animation->SetAnimation(0, FString("walk"), true); +} + +// Called every frame +void ASpineboyCppPawn::Tick(float DeltaTime) +{ + Super::Tick(DeltaTime); + +} + +// Called to bind functionality to input +void ASpineboyCppPawn::SetupPlayerInputComponent(UInputComponent* PlayerInputComponent) +{ + Super::SetupPlayerInputComponent(PlayerInputComponent); + +} + diff --git a/spine-ue4/Source/SpineUE4/SpineboyCppPawn.h b/spine-ue4/Source/SpineUE4/SpineboyCppPawn.h new file mode 100644 index 000000000..d79fe6798 --- /dev/null +++ b/spine-ue4/Source/SpineUE4/SpineboyCppPawn.h @@ -0,0 +1,31 @@ +// Fill out your copyright notice in the Description page of Project Settings. + +#pragma once + +#include "CoreMinimal.h" +#include "GameFramework/Pawn.h" +#include "SpineboyCppPawn.generated.h" + +UCLASS() +class SPINEUE4_API ASpineboyCppPawn : public APawn +{ + GENERATED_BODY() + +public: + // Sets default values for this pawn's properties + ASpineboyCppPawn(); + +protected: + // Called when the game starts or when spawned + virtual void BeginPlay() override; + +public: + // Called every frame + virtual void Tick(float DeltaTime) override; + + // Called to bind functionality to input + virtual void SetupPlayerInputComponent(class UInputComponent* PlayerInputComponent) override; + + + +};