From 93b047dcfa294b77cf1939d05036777a1d6c6b7b Mon Sep 17 00:00:00 2001 From: Foxim Date: Thu, 13 Feb 2025 19:44:57 +0100 Subject: [PATCH] feat: add basic player setup, enemy class, and movement input Added initial player settings, including movement logic. Created Enemy class with basic structure. Implemented input handling for movement and camera control. --- Config/DefaultEngine.ini | 4 ++-- .../Characters/Enemy/BP_ExoEnemy.uasset | Bin 0 -> 22209 bytes .../Player/BP_ExoPlayerCharacter.uasset | Bin 0 -> 22321 bytes Content/Blueprints/Game/BP_ExoGameMode.uasset | Bin 19705 -> 19936 bytes .../Player/BP_ExoPlayerController.uasset | Bin 18766 -> 19960 bytes .../Inputs/IMC_ExoMappingContext.uasset | Bin 0 -> 7255 bytes .../Player/Inputs/Inputs/AI_Look.uasset | Bin 0 -> 1513 bytes .../Player/Inputs/Inputs/AI_Move.uasset | Bin 0 -> 1513 bytes .../Private/Characters/ExoCharacterBase.cpp | 21 +++++------------- Source/Exo/Private/Characters/ExoEnemy.cpp | 5 +++++ .../Private/Characters/ExoPlayerCharacter.cpp | 20 +++++++++++++++++ .../Exo/Public/Characters/ExoCharacterBase.h | 12 +++------- Source/Exo/Public/Characters/ExoEnemy.h | 17 ++++++++++++++ .../Public/Characters/ExoPlayerCharacter.h | 21 ++++++++++++++++++ 14 files changed, 73 insertions(+), 27 deletions(-) create mode 100644 Content/Blueprints/Characters/Enemy/BP_ExoEnemy.uasset create mode 100644 Content/Blueprints/Characters/Player/BP_ExoPlayerCharacter.uasset create mode 100644 Content/Blueprints/Player/Inputs/IMC_ExoMappingContext.uasset create mode 100644 Content/Blueprints/Player/Inputs/Inputs/AI_Look.uasset create mode 100644 Content/Blueprints/Player/Inputs/Inputs/AI_Move.uasset create mode 100644 Source/Exo/Private/Characters/ExoEnemy.cpp create mode 100644 Source/Exo/Private/Characters/ExoPlayerCharacter.cpp create mode 100644 Source/Exo/Public/Characters/ExoEnemy.h create mode 100644 Source/Exo/Public/Characters/ExoPlayerCharacter.h diff --git a/Config/DefaultEngine.ini b/Config/DefaultEngine.ini index f08eb52..c1d5b98 100644 --- a/Config/DefaultEngine.ini +++ b/Config/DefaultEngine.ini @@ -49,7 +49,7 @@ bUseManualIPAddress=False ManualIPAddress= [/Script/EngineSettings.GameMapsSettings] -EditorStartupMap=/Game/Blueprints/Levels/TestMap.TestMap +EditorStartupMap=/Game/Levels/TestMap.TestMap LocalMapOptions= TransitionMap=None bUseSplitscreen=True @@ -58,7 +58,7 @@ ThreePlayerSplitscreenLayout=FavorTop FourPlayerSplitscreenLayout=Grid bOffsetPlayerGamepadIds=False GameInstanceClass=/Script/Engine.GameInstance -GameDefaultMap=/Game/Blueprints/Levels/TestMap.TestMap +GameDefaultMap=/Game/Levels/TestMap.TestMap ServerDefaultMap=/Engine/Maps/Entry.Entry GlobalDefaultGameMode=/Game/Blueprints/Game/BP_ExoGameMode.BP_ExoGameMode_C GlobalDefaultServerGameMode=None diff --git a/Content/Blueprints/Characters/Enemy/BP_ExoEnemy.uasset b/Content/Blueprints/Characters/Enemy/BP_ExoEnemy.uasset new file mode 100644 index 0000000000000000000000000000000000000000..085438db826c1774dab82bdd16be9a41b83cdbe1 GIT binary patch literal 22209 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 JJgFDx{|^yRW99$= literal 0 HcmV?d00001 diff --git a/Content/Blueprints/Characters/Player/BP_ExoPlayerCharacter.uasset b/Content/Blueprints/Characters/Player/BP_ExoPlayerCharacter.uasset new file mode 100644 index 0000000000000000000000000000000000000000..d181a5d40463499fa6ec12cf57577b8716fa700d GIT binary patch literal 22321 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 delta 3431 zcmcIndu)?c6u;kG)o#oDx^-JS%h-F}*v1gqqhGgn?bg!A7zp!)3OH~Zn-ffoF~*GW zGEqY?hmaUS;SUlM(n6&~&8Q5wKuG?#2pX#V&son{;^5R|`PxAbz0j)4Y z*O{On@O%v@z16T=EvdO_axWXDbPK6e%)hBL3ybK zmvmdD!hvF^UQ~2Upb6Z zar|b!zL&Q7c(0d7j$8;j>>OscEEGx)h`(qjMX(lrXfG*{BHbEkb`x9i!c4n+u$49w z(a{v^Gvk(sDqd6l5b^PeQBJ$j|H%^xlFU{HErBzt!&#;)z(eIxMi@n@%h|g?s`7e0 zrqbON;uYT-eBun+<&*a%l>x^R@+GB_=8TLiW5Ztf*3)W}u}E*5C{plfYE(K!aM|eEyJ-nG~i*OJaTfD$P1r&o1Kk`g>jmA1_!z;Dwp!Al1B+E=e4MSE8UtE zf9~iMgKxTqo$b6zS{b&zh2gXN>#IYjXWxTem(F~w!5*Kcbi%P7J6sD|ta|T44H^bv zw~(&^tpAnJG;Co?e0l{UXHg@%fXx3sUvNI4Vtf|^ zsdE&R8GxyvJAIzu#U8hEKW5W!?dIreIg=H(DyZr0b<&$aBu{Z(ac%l{#U&q2S;VO; zWp?MOU*7-vy8n~cU-+nJPHWMiDx{^44YM^Ha>G55K#406f}qDEux)5$eC^nlm&7XA z9I03O;k8Jsg>Lq0Xbg8L%`h5%(@H&jKJQETJQ6ODn&=(fFfur5C<#U{D=u)ymMT*1 z^ReAZ7fi=Otujp9qZ2)NM2l|ZG*)?0LWaF%XWXUq!GZWH=R?esXK=g2P&@b|t~M`c o#G-rbV1e0(9_}>JKKF9zgZ>`oBAEU)A(8^4U64?N<9)t=01Wcjx&QzG diff --git a/Content/Blueprints/Player/BP_ExoPlayerController.uasset b/Content/Blueprints/Player/BP_ExoPlayerController.uasset index 8ff1a750753eaae790a99bbe773e17d630f4fcac..2eff983004b71cf9896efe1dcfdb87a345e845a8 100644 GIT binary patch delta 4877 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 diff --git a/Content/Blueprints/Player/Inputs/IMC_ExoMappingContext.uasset b/Content/Blueprints/Player/Inputs/IMC_ExoMappingContext.uasset new file mode 100644 index 0000000000000000000000000000000000000000..22ef621bac220e9ed40b79fe805d219ea9438ce4 GIT binary patch literal 7255 zcmeHMYitx%6uyO0-iinc^00_l3Us?qcD9Yk%#pin48{9$0a4DH(O&Sqy?+9oOw zF$7~G0X0G32O{w;DhY`YkpMryXkvUtQKEo?Mq|{b@~-FHxpzC=ZnKrX_~A)*@9W&} zo_k*R-rb`cXY9Vz+Sn0diR7c&;17eb7BQoGocu9dF;F-$ymFzg*N}}lU*xcMnO?7vt;g#>fi;MjOsb9L zNj;$@%|;U5e=dsaSB4GC45)XtGNzHD2H%^gBT3g|DfUsh`?uigLGngk{isn`iy8^A zpRAf%m7Z)QJ5K)8GNP@25!jkEJ^!;b9{QAcwHl9Tt1XEaXpPLs!W(oAXRnKcFpM$Ye`8sUacjgCc`j7Nxhb7FnMtC zgj_&@707`HS8PY^L7i^liHbxncnx6^8|3?=b!%vcW~!@IQzhruoxF(7Ri>|wu8C?O z)s*k5YtTStdYz%IAe*kV97{DHA?^#?_6~wk3LlsxP=~}uN&y@G8Zw`9=y8oS4?Hmv zT!AdEd`yd&DIW3k`@c?t?s7F!qgH7P^@tjaHmT?lh-DQIhKQ(?_if&Os&OBTGB)UbKiO8HiCz?_G3Nu+}6W>X8 zUPHq#gBVZk>3E5G5LLS@8Lg^9MV_5o`x?SOOa@#XeDS7p$mcIje$D|f*%FYIhj<+2 ziHBzYr&%=G#ymCt${1X$B9e?I%wkzjYRfI#kxSvCIjBoM#>0XpK=S3=AO8l)jmR<8 zFo?OfVJq@x&Wg>ar->MBbSCrS(c@N)z?ErVS{7{)9y-@H#vFB#Rt3RJp59ccpp#hh z*jUBdXj4;66C0ui*%GzAEHRz_P6SPY8 zgKa!7Fo%mFujCT_F0a?`kv*Y+==2HBpcoQFS@tTjpKJi8Y(~p;YB(}#&B0@Mx~ni% zceIZU=GYFF-Dr%mlLut62t}7eey134hP*+a6bJ=80hjD{yQPpzm@Ru`m(XjXd%7*U zB)UY&FNM55pVKM11g95HPG>-nf?mO+xaD3G-P(w4?fCdUiY*BGeLt()@iOsE>mnbYn+=c4Z0EZH za@#~Bg{(0g${m<)k?=6*rJt;n3FyuorGUUiW0$$(VLV)tIFNk|@4I1}#_7!$q}G7^90@d;ZP z7hcaZ(jBaK94omvv^kb_qH>Y&#E3pGB-%XUm?LnPkGnaCCJSLQQ>YpBrTCA^sy z5JKu}@8Ij%*Y3$WVxbE0Ct{>2@X7k;+fn$7@Wqx_);UU#e}*=gh%;?ee@0l6d+JCb If59UEzy3GxVE_OC literal 0 HcmV?d00001 diff --git a/Content/Blueprints/Player/Inputs/Inputs/AI_Look.uasset b/Content/Blueprints/Player/Inputs/Inputs/AI_Look.uasset new file mode 100644 index 0000000000000000000000000000000000000000..e24eb794f5115675551ce870aec885f77980f269 GIT binary patch literal 1513 zcmb7ET}V_x6rOF>%D+M^dg#vxtkm7r>xvrvT<@;3Xxo}uk2&3j++6Qn_Fm1c7r}>w zg2;j(Fi5J09x|fH5|V}Lq3|J0f&?LwKq@GZ@FCsKxqI(AZY$D(nRCvZZ_b%H=gh?V z_T8S3$K!2wLbBHo@(VbU4aSf5M>Df^H|BCal@E!d^^QHTb|{k&2XJQt?PSinP!|hF zf{Ly=10fn^5vNZHcY$Uy(RZpzRXYGr$Oaf1x&`_Mk&1u|LZ#pqC84HXESIW1b%Lw1 zN~o?7D{CaT*CTn7V8D~haI_3_b0Z2sEx>WeFzi2v-;588NCWx3&+c3uzgRd`^K$yu zSO3W4;i1^hsTUX<{op||i5=v{#xYv~XeA}BUU$hc7GhLmWp0OH*a>-1I<$fvHW^eJ z|FQ#xOA!Alq=qNRY8=y*1&hx)+h)+cMuJ3H530%u3RyfJ4KuPZIq`Y>O4iz1u_vfi zc*ySA`&aT1rF3-$B5IgL^eAcmICvOi_*I3GIs5CpZJ-3G+(FN>CRL`P;021o{7^P6 zOl3w2^k{!JfR@7BC;DCgU)wBkw5kyNI9udMFswTzHNskto<7H9oy_~n4&rq!n^$S4 zip$6+ljvi7F)$K&wK zNIY&4;v`lRGhP%4W4jG0@%&8jABO#HzAplRP_(0pEmZ$~xDlyg$>NWU0QA zhBN~DNi8H__LJ~-1T!vTdD||~(>9NTZwtJ^@>a$=n9l`6`=R%{S)#8Fa4xxCbr{y- zRf829e~{HfR=V&6NLF1F8q9bhB)-tRj5fqT4h$-SdDUMr2A}rL-}ibQ`(M4s$XgS8 TlXLfUb#unsvAr&H1@V6Y&4xAl literal 0 HcmV?d00001 diff --git a/Content/Blueprints/Player/Inputs/Inputs/AI_Move.uasset b/Content/Blueprints/Player/Inputs/Inputs/AI_Move.uasset new file mode 100644 index 0000000000000000000000000000000000000000..d61575b302c3434f8f41c1772b3078fc25945251 GIT binary patch literal 1513 zcmX@utTpe)|Ns9Jm>C$jm>3v70%;In1md?D8=ky$n(~GFmf<4D-EMjsKrwq(1_nJK zt?!(l$lpjtRIk*SeaU+@0nLn3gkg4N6&cQ{IXP_dIko5AT94H0H&+8ABS#Z6GZ%Abb2C#nOCv`&Cl^;&xMHAshHjwKSfHA{K@1=W z2GSs$48*On&y)-uYJ&%m%sXAus0pe8Wj`QZN(#ApZFzZDoX$N(6s z|3SgU1{BXg41*r^wuU>vAhfCJV%CRD|*vN%J<>j&- zUXZH1(%gWe{DRb?l1hfa>vJ7IcKGGzr80bBKFTW#kz5uiEx!O2CL1tt2<`9-Or{z+M>$t4Uw zJaz3r-i67z=4B-2C8wrGzk0!#t+B> z5P+t7FdJRnAD}vJuncx}ptyhmm|kq=A*%zq83d5k{R7$q5rvQ-kAeWmZc{J|lKr4e z3<{LKq4|peXcUTBAjRlnd{7fWdBPFOE}tY>*sC4KNJAKoLk1EENv|3+?IOmNw{FAGrv!Sq7pP TPL|!X2xK|6U(*080#XkEGio#$ literal 0 HcmV?d00001 diff --git a/Source/Exo/Private/Characters/ExoCharacterBase.cpp b/Source/Exo/Private/Characters/ExoCharacterBase.cpp index eb7bb80..7a8e85c 100644 --- a/Source/Exo/Private/Characters/ExoCharacterBase.cpp +++ b/Source/Exo/Private/Characters/ExoCharacterBase.cpp @@ -3,32 +3,21 @@ #include "Characters/ExoCharacterBase.h" -// Sets default values AExoCharacterBase::AExoCharacterBase() { - // Set this character to call Tick() every frame. You can turn this off to improve performance if you don't need it. - PrimaryActorTick.bCanEverTick = true; + PrimaryActorTick.bCanEverTick = false; + + Weapon = CreateDefaultSubobject("Weapon"); + Weapon->SetupAttachment(GetMesh(), FName("WeaponHandSocket")); + Weapon->SetCollisionEnabled(ECollisionEnabled::NoCollision); } -// Called when the game starts or when spawned void AExoCharacterBase::BeginPlay() { Super::BeginPlay(); } -// Called every frame -void AExoCharacterBase::Tick(float DeltaTime) -{ - Super::Tick(DeltaTime); -} - -// Called to bind functionality to input -void AExoCharacterBase::SetupPlayerInputComponent(UInputComponent* PlayerInputComponent) -{ - Super::SetupPlayerInputComponent(PlayerInputComponent); - -} diff --git a/Source/Exo/Private/Characters/ExoEnemy.cpp b/Source/Exo/Private/Characters/ExoEnemy.cpp new file mode 100644 index 0000000..9e3e8c5 --- /dev/null +++ b/Source/Exo/Private/Characters/ExoEnemy.cpp @@ -0,0 +1,5 @@ +// Fill out your copyright notice in the Description page of Project Settings. + + +#include "Characters/ExoEnemy.h" + diff --git a/Source/Exo/Private/Characters/ExoPlayerCharacter.cpp b/Source/Exo/Private/Characters/ExoPlayerCharacter.cpp new file mode 100644 index 0000000..3bdcc61 --- /dev/null +++ b/Source/Exo/Private/Characters/ExoPlayerCharacter.cpp @@ -0,0 +1,20 @@ +// Fill out your copyright notice in the Description page of Project Settings. + + +#include "Characters/ExoPlayerCharacter.h" +#include "GameFramework/CharacterMovementComponent.h" + +AExoPlayerCharacter::AExoPlayerCharacter() +{ + GetCharacterMovement()->bSnapToPlaneAtStart = true; + + bUseControllerRotationPitch = true; + bUseControllerRotationYaw = true; + bUseControllerRotationRoll = false; +} + +void AExoPlayerCharacter::BeginPlay() +{ + Super::BeginPlay(); + +} diff --git a/Source/Exo/Public/Characters/ExoCharacterBase.h b/Source/Exo/Public/Characters/ExoCharacterBase.h index 4a0a2ea..446a9e3 100644 --- a/Source/Exo/Public/Characters/ExoCharacterBase.h +++ b/Source/Exo/Public/Characters/ExoCharacterBase.h @@ -12,18 +12,12 @@ class EXO_API AExoCharacterBase : public ACharacter GENERATED_BODY() public: - // Sets default values for this character's properties AExoCharacterBase(); 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; - + UPROPERTY(EditAnywhere, Category = "Combat") + TObjectPtr Weapon; + }; diff --git a/Source/Exo/Public/Characters/ExoEnemy.h b/Source/Exo/Public/Characters/ExoEnemy.h new file mode 100644 index 0000000..f6559c1 --- /dev/null +++ b/Source/Exo/Public/Characters/ExoEnemy.h @@ -0,0 +1,17 @@ +// Fill out your copyright notice in the Description page of Project Settings. + +#pragma once + +#include "CoreMinimal.h" +#include "Characters/ExoCharacterBase.h" +#include "ExoEnemy.generated.h" + +/** + * + */ +UCLASS() +class EXO_API AExoEnemy : public AExoCharacterBase +{ + GENERATED_BODY() + +}; diff --git a/Source/Exo/Public/Characters/ExoPlayerCharacter.h b/Source/Exo/Public/Characters/ExoPlayerCharacter.h new file mode 100644 index 0000000..d694ee0 --- /dev/null +++ b/Source/Exo/Public/Characters/ExoPlayerCharacter.h @@ -0,0 +1,21 @@ +// Fill out your copyright notice in the Description page of Project Settings. + +#pragma once + +#include "CoreMinimal.h" +#include "Characters/ExoCharacterBase.h" +#include "ExoPlayerCharacter.generated.h" + +UCLASS() +class EXO_API AExoPlayerCharacter : public AExoCharacterBase +{ + GENERATED_BODY() + +public: + AExoPlayerCharacter(); + +protected: + virtual void BeginPlay() override; + + +};