initial commit

This commit is contained in:
Djalim Simaila 2023-10-22 19:29:46 +02:00
commit 4624c3fa1d
37 changed files with 2110 additions and 0 deletions

BIN
.DS_Store vendored Normal file

Binary file not shown.

6
.gitignore vendored Normal file
View File

@ -0,0 +1,6 @@
Saved
Content
Intermediate
Binaries
DerivedDataCache
.vscode

8
Config/DefaultEditor.ini Normal file
View File

@ -0,0 +1,8 @@
[UnrealEd.SimpleMap]
SimpleMapName=/Game/FirstPerson/Maps/FirstPersonExampleMap
[EditoronlyBP]
bAllowClassAndBlueprintPinMatching=true
bReplaceBlueprintWithClass= true
bDontLoadBlueprintOutsideEditor= true
bBlueprintIsNotBlueprintType= true

View File

@ -0,0 +1,2 @@
[ContentBrowser]
ContentBrowserTab1.SelectedPaths=/Game/FirstPerson

223
Config/DefaultEngine.ini Normal file
View File

@ -0,0 +1,223 @@
[/Script/Engine.CollisionProfile]
+Profiles=(Name="Projectile",CollisionEnabled=QueryOnly,ObjectTypeName="Projectile",CustomResponses=,HelpMessage="Preset for projectiles",bCanModify=True)
+DefaultChannelResponses=(Channel=ECC_GameTraceChannel1,Name="Projectile",DefaultResponse=ECR_Block,bTraceType=False,bStaticObject=False)
+EditProfiles=(Name="Trigger",CustomResponses=((Channel=Projectile, Response=ECR_Ignore)))
[/Script/EngineSettings.GameMapsSettings]
EditorStartupMap=/Game/FirstPerson/Maps/FirstPersonMap.FirstPersonMap
LocalMapOptions=
TransitionMap=
bUseSplitscreen=True
TwoPlayerSplitscreenLayout=Horizontal
ThreePlayerSplitscreenLayout=FavorTop
GameInstanceClass=/Script/Engine.GameInstance
GameDefaultMap=/Game/FirstPerson/Maps/FirstPersonMap.FirstPersonMap
ServerDefaultMap=/Engine/Maps/Entry
GlobalDefaultGameMode=/Game/FirstPerson/Blueprints/BP_FirstPersonGameMode.BP_FirstPersonGameMode_C
GlobalDefaultServerGameMode=None
[/Script/Engine.RendererSettings]
r.Mobile.ShadingPath=0
r.Mobile.AllowDeferredShadingOpenGL=False
r.Mobile.SupportGPUScene=False
r.Mobile.AntiAliasing=1
r.Mobile.FloatPrecisionMode=0
r.Mobile.AllowDitheredLODTransition=False
r.Mobile.VirtualTextures=False
r.DiscardUnusedQuality=False
r.AllowOcclusionQueries=True
r.MinScreenRadiusForLights=0.030000
r.MinScreenRadiusForDepthPrepass=0.030000
r.MinScreenRadiusForCSMDepth=0.010000
r.PrecomputedVisibilityWarning=False
r.TextureStreaming=True
Compat.UseDXT5NormalMaps=False
r.VirtualTextures=False
r.VT.EnableAutoImport=True
r.VirtualTexturedLightmaps=False
r.VT.AnisotropicFiltering=False
bEnableVirtualTextureOpacityMask=False
r.VT.TileSize=128
r.VT.TileBorderSize=4
r.vt.FeedbackFactor=16
WorkingColorSpaceChoice=sRGB
RedChromaticityCoordinate=(X=0.640000,Y=0.330000)
GreenChromaticityCoordinate=(X=0.300000,Y=0.600000)
BlueChromaticityCoordinate=(X=0.150000,Y=0.060000)
WhiteChromaticityCoordinate=(X=0.312700,Y=0.329000)
r.ClearCoatNormal=False
r.DynamicGlobalIlluminationMethod=1
r.ReflectionMethod=1
r.ReflectionCaptureResolution=128
r.ReflectionEnvironmentLightmapMixBasedOnRoughness=True
r.Lumen.HardwareRayTracing=False
r.Lumen.HardwareRayTracing.LightingMode=0
r.Lumen.TranslucencyReflections.FrontLayer.EnableForProject=False
r.Lumen.TraceMeshSDFs=1
r.Shadow.Virtual.Enable=1
r.RayTracing=False
r.RayTracing.Shadows=False
r.RayTracing.UseTextureLod=False
r.PathTracing=True
r.GenerateMeshDistanceFields=True
r.DistanceFields.DefaultVoxelDensity=0.200000
r.Nanite.ProjectEnabled=True
r.AllowStaticLighting=True
r.NormalMapsForStaticLighting=False
r.ForwardShading=False
r.VertexFoggingForOpaque=True
r.SeparateTranslucency=True
r.TranslucentSortPolicy=0
TranslucentSortAxis=(X=0.000000,Y=-1.000000,Z=0.000000)
xr.VRS.FoveationLevel=0
xr.VRS.DynamicFoveation=False
r.CustomDepth=1
r.CustomDepthTemporalAAJitter=True
r.PostProcessing.PropagateAlpha=0
r.DefaultFeature.Bloom=True
r.DefaultFeature.AmbientOcclusion=True
r.DefaultFeature.AmbientOcclusionStaticFraction=True
r.DefaultFeature.AutoExposure=False
r.DefaultFeature.AutoExposure.Method=0
r.DefaultFeature.AutoExposure.Bias=1.000000
r.DefaultFeature.AutoExposure.ExtendDefaultLuminanceRange=True
r.DefaultFeature.LocalExposure.HighlightContrastScale=0.800000
r.DefaultFeature.LocalExposure.ShadowContrastScale=0.800000
r.DefaultFeature.MotionBlur=False
r.DefaultFeature.LensFlare=False
r.TemporalAA.Upsampling=True
r.AntiAliasingMethod=0
r.MSAACount=4
r.DefaultFeature.LightUnits=1
r.DefaultBackBufferPixelFormat=4
r.ScreenPercentage.Default=100.000000
r.ScreenPercentage.Default.Desktop.Mode=1
r.ScreenPercentage.Default.Mobile.Mode=0
r.ScreenPercentage.Default.VR.Mode=0
r.ScreenPercentage.Default.PathTracer.Mode=0
r.Shadow.UnbuiltPreviewInGame=True
r.StencilForLODDither=False
r.EarlyZPass=3
r.EarlyZPassOnlyMaterialMasking=False
r.Shadow.CSMCaching=False
r.DBuffer=True
r.ClearSceneMethod=1
r.VelocityOutputPass=0
r.Velocity.EnableVertexDeformation=2
r.SelectiveBasePassOutputs=False
bDefaultParticleCutouts=False
fx.GPUSimulationTextureSizeX=1024
fx.GPUSimulationTextureSizeY=1024
r.AllowGlobalClipPlane=False
r.GBufferFormat=1
r.MorphTarget.Mode=True
r.GPUCrashDebugging=False
vr.InstancedStereo=False
r.MobileHDR=True
vr.MobileMultiView=False
r.Mobile.UseHWsRGBEncoding=False
vr.RoundRobinOcclusion=False
r.MeshStreaming=False
r.HeterogeneousVolumes=True
r.WireframeCullThreshold=5.000000
r.SupportStationarySkylight=True
r.SupportLowQualityLightmaps=True
r.SupportPointLightWholeSceneShadows=True
r.SupportSkyAtmosphere=True
r.SupportSkyAtmosphereAffectsHeightFog=True
r.SupportCloudShadowOnForwardLitTranslucent=False
r.Shadow.TranslucentPerObject.ProjectEnabled=False
r.Water.SingleLayerWater.SupportCloudShadow=False
r.Substrate=False
r.Substrate.OpaqueMaterialRoughRefraction=False
r.Substrate.Debug.AdvancedVisualizationShaders=False
r.Material.RoughDiffuse=False
r.Material.EnergyConservation=False
r.OIT.SortedPixels=False
r.SkinCache.CompileShaders=False
r.SkinCache.SkipCompilingGPUSkinVF=False
r.SkinCache.DefaultBehavior=1
r.SkinCache.SceneMemoryLimitInMB=128.000000
r.Mobile.EnableStaticAndCSMShadowReceivers=True
r.Mobile.EnableMovableLightCSMShaderCulling=True
r.Mobile.Forward.EnableLocalLights=True
r.Mobile.Forward.EnableClusteredReflections=False
r.Mobile.EnableNoPrecomputedLightingCSMShader=True
r.Mobile.AllowDistanceFieldShadows=True
r.Mobile.AllowMovableDirectionalLights=True
r.Mobile.EnableMovableSpotlightsShadow=False
r.GPUSkin.Support16BitBoneIndex=False
r.GPUSkin.Limit2BoneInfluences=False
r.SupportDepthOnlyIndexBuffers=True
r.SupportReversedIndexBuffers=True
r.Mobile.AmbientOcclusion=False
r.GPUSkin.UnlimitedBoneInfluences=False
r.GPUSkin.UnlimitedBoneInfluencesThreshold=8
DefaultBoneInfluenceLimit=(Default=0,PerPlatform=())
MaxSkinBones=(Default=65536,PerPlatform=(("Mobile", 256)))
r.Mobile.PlanarReflectionMode=0
r.Mobile.SupportsGen4TAA=True
bStreamSkeletalMeshLODs=(Default=False,PerPlatform=())
bDiscardSkeletalMeshOptionalLODs=(Default=False,PerPlatform=())
VisualizeCalibrationColorMaterialPath=/Engine/EngineMaterials/PPM_DefaultCalibrationColor.PPM_DefaultCalibrationColor
VisualizeCalibrationCustomMaterialPath=None
VisualizeCalibrationGrayscaleMaterialPath=/Engine/EngineMaterials/PPM_DefaultCalibrationGrayscale.PPM_DefaultCalibrationGrayscale
[/Script/WindowsTargetPlatform.WindowsTargetSettings]
DefaultGraphicsRHI=DefaultGraphicsRHI_DX12
-D3D12TargetedShaderFormats=PCD3D_SM5
+D3D12TargetedShaderFormats=PCD3D_SM6
-D3D11TargetedShaderFormats=PCD3D_SM5
+D3D11TargetedShaderFormats=PCD3D_SM5
Compiler=Default
AudioSampleRate=48000
AudioCallbackBufferFrameSize=1024
AudioNumBuffersToEnqueue=1
AudioMaxChannels=0
AudioNumSourceWorkers=4
SpatializationPlugin=
SourceDataOverridePlugin=
ReverbPlugin=
OcclusionPlugin=
CompressionOverrides=(bOverrideCompressionTimes=False,DurationThreshold=5.000000,MaxNumRandomBranches=0,SoundCueQualityIndex=0)
CacheSizeKB=65536
MaxChunkSizeOverrideKB=0
bResampleForDevice=False
MaxSampleRate=48000.000000
HighSampleRate=32000.000000
MedSampleRate=24000.000000
LowSampleRate=12000.000000
MinSampleRate=8000.000000
CompressionQualityModifier=1.000000
AutoStreamingThreshold=0.000000
SoundCueCookQualityIndex=-1
[/Script/AndroidFileServerEditor.AndroidFileServerRuntimeSettings]
bEnablePlugin=True
bAllowNetworkConnection=True
SecurityToken=73D7EAB348128FC7E708A79C30473B10
bIncludeInShipping=False
bAllowExternalStartInShipping=False
bCompileAFSProject=False
bUseCompression=False
bLogFiles=False
bReportStats=False
ConnectionType=USBOnly
bUseManualIPAddress=False
ManualIPAddress=
[/Script/HardwareTargeting.HardwareTargetingSettings]
TargetedHardwareClass=Desktop
AppliedTargetedHardwareClass=Desktop
DefaultGraphicsPerformance=Scalable
AppliedDefaultGraphicsPerformance=Scalable
[/Script/Engine.Engine]
+ActiveGameNameRedirects=(OldGameName="TP_FirstPerson",NewGameName="/Script/EncoreUnProjet")
+ActiveGameNameRedirects=(OldGameName="/Script/TP_FirstPerson",NewGameName="/Script/EncoreUnProjet")
+ActiveClassRedirects=(OldClassName="TP_FirstPersonPlayerController",NewClassName="EncoreUnProjetPlayerController")
+ActiveClassRedirects=(OldClassName="TP_FirstPersonCharacter",NewClassName="EncoreUnProjetCharacter")
+ActiveClassRedirects=(OldClassName="TP_FirstPersonProjectile",NewClassName="EncoreUnProjetProjectile")
+ActiveClassRedirects=(OldClassName="TP_FirstPersonGameMode",NewClassName="EncoreUnProjetGameMode")

10
Config/DefaultGame.ini Normal file
View File

@ -0,0 +1,10 @@
[ProjectSettings]
ProjectID=(A=1823396784,B=1298598689,C=1743498150,D=-2048051708)
ProjectName=First Person Template
[/Script/EngineSettings.GeneralProjectSettings]
ProjectID=92DD36BD22486C253A46B584D06F5984
[StartupActions]
bAddPacks=True
InsertPack=(PackSource="StarterContent.upack",PackName="StarterContent")

109
Config/DefaultInput.ini Normal file
View File

@ -0,0 +1,109 @@
[/Script/Engine.InputSettings]
-AxisConfig=(AxisKeyName="Gamepad_LeftX",AxisProperties=(DeadZone=0.25,Exponent=1.f,Sensitivity=1.f))
-AxisConfig=(AxisKeyName="Gamepad_LeftY",AxisProperties=(DeadZone=0.25,Exponent=1.f,Sensitivity=1.f))
-AxisConfig=(AxisKeyName="Gamepad_RightX",AxisProperties=(DeadZone=0.25,Exponent=1.f,Sensitivity=1.f))
-AxisConfig=(AxisKeyName="Gamepad_RightY",AxisProperties=(DeadZone=0.25,Exponent=1.f,Sensitivity=1.f))
-AxisConfig=(AxisKeyName="MouseX",AxisProperties=(DeadZone=0.f,Exponent=1.f,Sensitivity=0.07f))
-AxisConfig=(AxisKeyName="MouseY",AxisProperties=(DeadZone=0.f,Exponent=1.f,Sensitivity=0.07f))
-AxisConfig=(AxisKeyName="Mouse2D",AxisProperties=(DeadZone=0.f,Exponent=1.f,Sensitivity=0.07f))
+AxisConfig=(AxisKeyName="Mouse2D",AxisProperties=(DeadZone=0.000000,Sensitivity=0.070000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Gamepad_LeftX",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Gamepad_LeftY",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Gamepad_RightX",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Gamepad_RightY",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MouseX",AxisProperties=(DeadZone=0.000000,Sensitivity=0.070000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MouseY",AxisProperties=(DeadZone=0.000000,Sensitivity=0.070000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MouseWheelAxis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Gamepad_LeftTriggerAxis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Gamepad_RightTriggerAxis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Gamepad_Special_Left_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Gamepad_Special_Left_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Vive_Left_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Vive_Left_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Vive_Left_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Vive_Right_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Vive_Right_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Vive_Right_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MixedReality_Left_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MixedReality_Left_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MixedReality_Left_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MixedReality_Left_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MixedReality_Left_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MixedReality_Right_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MixedReality_Right_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MixedReality_Right_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MixedReality_Right_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MixedReality_Right_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="OculusTouch_Left_Grip_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="OculusTouch_Left_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="OculusTouch_Left_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="OculusTouch_Left_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="OculusTouch_Right_Grip_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="OculusTouch_Right_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="OculusTouch_Right_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="OculusTouch_Right_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Left_Grip_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Left_Grip_Force",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Left_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Left_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Left_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Left_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Left_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Left_Trackpad_Force",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Left_Trackpad_Touch",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Right_Grip_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Right_Grip_Force",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Right_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Right_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Right_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Right_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Right_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Right_Trackpad_Force",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="OculusTouch_Left_Thumbstick",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="OculusTouch_Left_FaceButton1",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="OculusTouch_Left_Trigger",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="OculusTouch_Left_FaceButton2",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="OculusTouch_Left_IndexPointing",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="OculusTouch_Left_ThumbUp",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="OculusTouch_Left_ThumbRest",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="OculusTouch_Right_Thumbstick",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="OculusTouch_Right_FaceButton1",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="OculusTouch_Right_Trigger",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="OculusTouch_Right_FaceButton2",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="OculusTouch_Right_IndexPointing",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="OculusTouch_Right_ThumbUp",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="OculusTouch_Right_ThumbRest",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="OculusHand_Left_ThumbPinchStrength",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="OculusHand_Left_IndexPinchStrength",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="OculusHand_Left_MiddlePinchStrength",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="OculusHand_Left_RingPinchStrength",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="OculusHand_Left_PinkPinchStrength",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="OculusHand_Right_ThumbPinchStrength",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="OculusHand_Right_IndexPinchStrength",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="OculusHand_Right_MiddlePinchStrength",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="OculusHand_Right_RingPinchStrength",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="OculusHand_Right_PinkPinchStrength",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
bAltEnterTogglesFullscreen=True
bF11TogglesFullscreen=True
bUseMouseForTouch=False
bEnableMouseSmoothing=True
bEnableFOVScaling=True
bCaptureMouseOnLaunch=True
bEnableLegacyInputScales=True
bEnableMotionControls=True
bFilterInputByPlatformUser=False
bShouldFlushPressedKeysOnViewportFocusLost=True
bAlwaysShowTouchInterface=False
bShowConsoleOnFourFingerTap=True
bEnableGestureRecognizer=False
bUseAutocorrect=False
DefaultViewportMouseCaptureMode=CapturePermanently_IncludingInitialMouseDown
DefaultViewportMouseLockMode=LockOnCapture
FOVScale=0.011110
DoubleClickTime=0.200000
DefaultPlayerInputClass=/Script/EnhancedInput.EnhancedPlayerInput
DefaultInputComponentClass=/Script/EnhancedInput.EnhancedInputComponent
DefaultTouchInterface=/Game/FirstPerson/Input/MobileControls.MobileControls
-ConsoleKeys=Tilde
+ConsoleKeys=Tilde

View File

@ -0,0 +1,577 @@
{
"folders": [
{
"name": "EncoreUnProjet",
"path": "."
},
{
"name": "UE5",
"path": "/Users/Shared/Epic Games/UE_5.3"
}
],
"settings": {
"typescript.tsc.autoDetect": "off",
"npm.autoDetect": "off"
},
"extensions": {
"recommendations": [
"ms-vscode.cpptools",
"ms-dotnettools.csharp",
"vadimcn.vscode-lldb",
"ms-vscode.mono-debug",
"dfarley1.file-picker"
]
},
"tasks": {
"version": "2.0.0",
"tasks": [
{
"label": "EncoreUnProjet Mac Debug Build",
"group": "build",
"command": "Engine/Build/BatchFiles/Mac/Build.sh",
"args": [
"EncoreUnProjet",
"Mac",
"Debug",
"/Users/kap/Documents/Unreal Projects/EncoreUnProjet/EncoreUnProjet.uproject",
"-waitmutex"
],
"problemMatcher": "$msCompile",
"type": "shell",
"options": {
"cwd": "/Users/Shared/Epic Games/UE_5.3"
}
},
{
"label": "EncoreUnProjet Mac Debug Rebuild",
"group": "build",
"command": "Engine/Build/BatchFiles/Mac/Build.sh",
"args": [
"EncoreUnProjet",
"Mac",
"Debug",
"/Users/kap/Documents/Unreal Projects/EncoreUnProjet/EncoreUnProjet.uproject",
"-waitmutex"
],
"problemMatcher": "$msCompile",
"dependsOn": [
"EncoreUnProjet Mac Debug Clean"
],
"type": "shell",
"options": {
"cwd": "/Users/Shared/Epic Games/UE_5.3"
}
},
{
"label": "EncoreUnProjet Mac Debug Clean",
"group": "build",
"command": "Engine/Build/BatchFiles/Mac/Build.sh",
"args": [
"EncoreUnProjet",
"Mac",
"Debug",
"/Users/kap/Documents/Unreal Projects/EncoreUnProjet/EncoreUnProjet.uproject",
"-waitmutex",
"-clean"
],
"problemMatcher": "$msCompile",
"type": "shell",
"options": {
"cwd": "/Users/Shared/Epic Games/UE_5.3"
}
},
{
"label": "EncoreUnProjet Mac DebugGame Build",
"group": "build",
"command": "Engine/Build/BatchFiles/Mac/Build.sh",
"args": [
"EncoreUnProjet",
"Mac",
"DebugGame",
"/Users/kap/Documents/Unreal Projects/EncoreUnProjet/EncoreUnProjet.uproject",
"-waitmutex"
],
"problemMatcher": "$msCompile",
"type": "shell",
"options": {
"cwd": "/Users/Shared/Epic Games/UE_5.3"
}
},
{
"label": "EncoreUnProjet Mac DebugGame Rebuild",
"group": "build",
"command": "Engine/Build/BatchFiles/Mac/Build.sh",
"args": [
"EncoreUnProjet",
"Mac",
"DebugGame",
"/Users/kap/Documents/Unreal Projects/EncoreUnProjet/EncoreUnProjet.uproject",
"-waitmutex"
],
"problemMatcher": "$msCompile",
"dependsOn": [
"EncoreUnProjet Mac DebugGame Clean"
],
"type": "shell",
"options": {
"cwd": "/Users/Shared/Epic Games/UE_5.3"
}
},
{
"label": "EncoreUnProjet Mac DebugGame Clean",
"group": "build",
"command": "Engine/Build/BatchFiles/Mac/Build.sh",
"args": [
"EncoreUnProjet",
"Mac",
"DebugGame",
"/Users/kap/Documents/Unreal Projects/EncoreUnProjet/EncoreUnProjet.uproject",
"-waitmutex",
"-clean"
],
"problemMatcher": "$msCompile",
"type": "shell",
"options": {
"cwd": "/Users/Shared/Epic Games/UE_5.3"
}
},
{
"label": "EncoreUnProjet Mac Development Build",
"group": "build",
"command": "Engine/Build/BatchFiles/Mac/Build.sh",
"args": [
"EncoreUnProjet",
"Mac",
"Development",
"/Users/kap/Documents/Unreal Projects/EncoreUnProjet/EncoreUnProjet.uproject",
"-waitmutex"
],
"problemMatcher": "$msCompile",
"type": "shell",
"options": {
"cwd": "/Users/Shared/Epic Games/UE_5.3"
}
},
{
"label": "EncoreUnProjet Mac Development Rebuild",
"group": "build",
"command": "Engine/Build/BatchFiles/Mac/Build.sh",
"args": [
"EncoreUnProjet",
"Mac",
"Development",
"/Users/kap/Documents/Unreal Projects/EncoreUnProjet/EncoreUnProjet.uproject",
"-waitmutex"
],
"problemMatcher": "$msCompile",
"dependsOn": [
"EncoreUnProjet Mac Development Clean"
],
"type": "shell",
"options": {
"cwd": "/Users/Shared/Epic Games/UE_5.3"
}
},
{
"label": "EncoreUnProjet Mac Development Clean",
"group": "build",
"command": "Engine/Build/BatchFiles/Mac/Build.sh",
"args": [
"EncoreUnProjet",
"Mac",
"Development",
"/Users/kap/Documents/Unreal Projects/EncoreUnProjet/EncoreUnProjet.uproject",
"-waitmutex",
"-clean"
],
"problemMatcher": "$msCompile",
"type": "shell",
"options": {
"cwd": "/Users/Shared/Epic Games/UE_5.3"
}
},
{
"label": "EncoreUnProjet Mac Test Build",
"group": "build",
"command": "Engine/Build/BatchFiles/Mac/Build.sh",
"args": [
"EncoreUnProjet",
"Mac",
"Test",
"/Users/kap/Documents/Unreal Projects/EncoreUnProjet/EncoreUnProjet.uproject",
"-waitmutex"
],
"problemMatcher": "$msCompile",
"type": "shell",
"options": {
"cwd": "/Users/Shared/Epic Games/UE_5.3"
}
},
{
"label": "EncoreUnProjet Mac Test Rebuild",
"group": "build",
"command": "Engine/Build/BatchFiles/Mac/Build.sh",
"args": [
"EncoreUnProjet",
"Mac",
"Test",
"/Users/kap/Documents/Unreal Projects/EncoreUnProjet/EncoreUnProjet.uproject",
"-waitmutex"
],
"problemMatcher": "$msCompile",
"dependsOn": [
"EncoreUnProjet Mac Test Clean"
],
"type": "shell",
"options": {
"cwd": "/Users/Shared/Epic Games/UE_5.3"
}
},
{
"label": "EncoreUnProjet Mac Test Clean",
"group": "build",
"command": "Engine/Build/BatchFiles/Mac/Build.sh",
"args": [
"EncoreUnProjet",
"Mac",
"Test",
"/Users/kap/Documents/Unreal Projects/EncoreUnProjet/EncoreUnProjet.uproject",
"-waitmutex",
"-clean"
],
"problemMatcher": "$msCompile",
"type": "shell",
"options": {
"cwd": "/Users/Shared/Epic Games/UE_5.3"
}
},
{
"label": "EncoreUnProjet Mac Shipping Build",
"group": "build",
"command": "Engine/Build/BatchFiles/Mac/Build.sh",
"args": [
"EncoreUnProjet",
"Mac",
"Shipping",
"/Users/kap/Documents/Unreal Projects/EncoreUnProjet/EncoreUnProjet.uproject",
"-waitmutex"
],
"problemMatcher": "$msCompile",
"type": "shell",
"options": {
"cwd": "/Users/Shared/Epic Games/UE_5.3"
}
},
{
"label": "EncoreUnProjet Mac Shipping Rebuild",
"group": "build",
"command": "Engine/Build/BatchFiles/Mac/Build.sh",
"args": [
"EncoreUnProjet",
"Mac",
"Shipping",
"/Users/kap/Documents/Unreal Projects/EncoreUnProjet/EncoreUnProjet.uproject",
"-waitmutex"
],
"problemMatcher": "$msCompile",
"dependsOn": [
"EncoreUnProjet Mac Shipping Clean"
],
"type": "shell",
"options": {
"cwd": "/Users/Shared/Epic Games/UE_5.3"
}
},
{
"label": "EncoreUnProjet Mac Shipping Clean",
"group": "build",
"command": "Engine/Build/BatchFiles/Mac/Build.sh",
"args": [
"EncoreUnProjet",
"Mac",
"Shipping",
"/Users/kap/Documents/Unreal Projects/EncoreUnProjet/EncoreUnProjet.uproject",
"-waitmutex",
"-clean"
],
"problemMatcher": "$msCompile",
"type": "shell",
"options": {
"cwd": "/Users/Shared/Epic Games/UE_5.3"
}
},
{
"label": "EncoreUnProjetEditor Mac Debug Build",
"group": "build",
"command": "Engine/Build/BatchFiles/Mac/Build.sh",
"args": [
"EncoreUnProjetEditor",
"Mac",
"Debug",
"/Users/kap/Documents/Unreal Projects/EncoreUnProjet/EncoreUnProjet.uproject",
"-waitmutex"
],
"problemMatcher": "$msCompile",
"type": "shell",
"options": {
"cwd": "/Users/Shared/Epic Games/UE_5.3"
}
},
{
"label": "EncoreUnProjetEditor Mac Debug Rebuild",
"group": "build",
"command": "Engine/Build/BatchFiles/Mac/Build.sh",
"args": [
"EncoreUnProjetEditor",
"Mac",
"Debug",
"/Users/kap/Documents/Unreal Projects/EncoreUnProjet/EncoreUnProjet.uproject",
"-waitmutex"
],
"problemMatcher": "$msCompile",
"dependsOn": [
"EncoreUnProjetEditor Mac Debug Clean"
],
"type": "shell",
"options": {
"cwd": "/Users/Shared/Epic Games/UE_5.3"
}
},
{
"label": "EncoreUnProjetEditor Mac Debug Clean",
"group": "build",
"command": "Engine/Build/BatchFiles/Mac/Build.sh",
"args": [
"EncoreUnProjetEditor",
"Mac",
"Debug",
"/Users/kap/Documents/Unreal Projects/EncoreUnProjet/EncoreUnProjet.uproject",
"-waitmutex",
"-clean"
],
"problemMatcher": "$msCompile",
"type": "shell",
"options": {
"cwd": "/Users/Shared/Epic Games/UE_5.3"
}
},
{
"label": "EncoreUnProjetEditor Mac DebugGame Build",
"group": "build",
"command": "Engine/Build/BatchFiles/Mac/Build.sh",
"args": [
"EncoreUnProjetEditor",
"Mac",
"DebugGame",
"/Users/kap/Documents/Unreal Projects/EncoreUnProjet/EncoreUnProjet.uproject",
"-waitmutex"
],
"problemMatcher": "$msCompile",
"type": "shell",
"options": {
"cwd": "/Users/Shared/Epic Games/UE_5.3"
}
},
{
"label": "EncoreUnProjetEditor Mac DebugGame Rebuild",
"group": "build",
"command": "Engine/Build/BatchFiles/Mac/Build.sh",
"args": [
"EncoreUnProjetEditor",
"Mac",
"DebugGame",
"/Users/kap/Documents/Unreal Projects/EncoreUnProjet/EncoreUnProjet.uproject",
"-waitmutex"
],
"problemMatcher": "$msCompile",
"dependsOn": [
"EncoreUnProjetEditor Mac DebugGame Clean"
],
"type": "shell",
"options": {
"cwd": "/Users/Shared/Epic Games/UE_5.3"
}
},
{
"label": "EncoreUnProjetEditor Mac DebugGame Clean",
"group": "build",
"command": "Engine/Build/BatchFiles/Mac/Build.sh",
"args": [
"EncoreUnProjetEditor",
"Mac",
"DebugGame",
"/Users/kap/Documents/Unreal Projects/EncoreUnProjet/EncoreUnProjet.uproject",
"-waitmutex",
"-clean"
],
"problemMatcher": "$msCompile",
"type": "shell",
"options": {
"cwd": "/Users/Shared/Epic Games/UE_5.3"
}
},
{
"label": "EncoreUnProjetEditor Mac Development Build",
"group": "build",
"command": "Engine/Build/BatchFiles/Mac/Build.sh",
"args": [
"EncoreUnProjetEditor",
"Mac",
"Development",
"/Users/kap/Documents/Unreal Projects/EncoreUnProjet/EncoreUnProjet.uproject",
"-waitmutex"
],
"problemMatcher": "$msCompile",
"type": "shell",
"options": {
"cwd": "/Users/Shared/Epic Games/UE_5.3"
}
},
{
"label": "EncoreUnProjetEditor Mac Development Rebuild",
"group": "build",
"command": "Engine/Build/BatchFiles/Mac/Build.sh",
"args": [
"EncoreUnProjetEditor",
"Mac",
"Development",
"/Users/kap/Documents/Unreal Projects/EncoreUnProjet/EncoreUnProjet.uproject",
"-waitmutex"
],
"problemMatcher": "$msCompile",
"dependsOn": [
"EncoreUnProjetEditor Mac Development Clean"
],
"type": "shell",
"options": {
"cwd": "/Users/Shared/Epic Games/UE_5.3"
}
},
{
"label": "EncoreUnProjetEditor Mac Development Clean",
"group": "build",
"command": "Engine/Build/BatchFiles/Mac/Build.sh",
"args": [
"EncoreUnProjetEditor",
"Mac",
"Development",
"/Users/kap/Documents/Unreal Projects/EncoreUnProjet/EncoreUnProjet.uproject",
"-waitmutex",
"-clean"
],
"problemMatcher": "$msCompile",
"type": "shell",
"options": {
"cwd": "/Users/Shared/Epic Games/UE_5.3"
}
}
]
},
"launch": {
"version": "0.2.0",
"configurations": [
{
"name": "Launch EncoreUnProjet (Debug)",
"request": "launch",
"program": "/Users/kap/Documents/Unreal Projects/EncoreUnProjet/Binaries/Mac/UnrealGame-Mac-Debug.app/Contents/MacOS/UnrealGame-Mac-Debug",
"preLaunchTask": "EncoreUnProjet Mac Debug Build",
"args": [
],
"cwd": "/Users/Shared/Epic Games/UE_5.3",
"type": "lldb"
},
{
"name": "Launch EncoreUnProjet (DebugGame)",
"request": "launch",
"program": "/Users/kap/Documents/Unreal Projects/EncoreUnProjet/Binaries/Mac/UnrealGame-Mac-DebugGame.app/Contents/MacOS/UnrealGame-Mac-DebugGame",
"preLaunchTask": "EncoreUnProjet Mac DebugGame Build",
"args": [
],
"cwd": "/Users/Shared/Epic Games/UE_5.3",
"type": "lldb"
},
{
"name": "Launch EncoreUnProjet (Development)",
"request": "launch",
"program": "/Users/kap/Documents/Unreal Projects/EncoreUnProjet/Binaries/Mac/UnrealGame.app/Contents/MacOS/UnrealGame",
"preLaunchTask": "EncoreUnProjet Mac Development Build",
"args": [
],
"cwd": "/Users/Shared/Epic Games/UE_5.3",
"type": "lldb"
},
{
"name": "Launch EncoreUnProjet (Test)",
"request": "launch",
"program": "/Users/kap/Documents/Unreal Projects/EncoreUnProjet/Binaries/Mac/UnrealGame-Mac-Test.app/Contents/MacOS/UnrealGame-Mac-Test",
"preLaunchTask": "EncoreUnProjet Mac Test Build",
"args": [
],
"cwd": "/Users/Shared/Epic Games/UE_5.3",
"type": "lldb"
},
{
"name": "Launch EncoreUnProjet (Shipping)",
"request": "launch",
"program": "/Users/kap/Documents/Unreal Projects/EncoreUnProjet/Binaries/Mac/UnrealGame-Mac-Shipping.app/Contents/MacOS/UnrealGame-Mac-Shipping",
"preLaunchTask": "EncoreUnProjet Mac Shipping Build",
"args": [
],
"cwd": "/Users/Shared/Epic Games/UE_5.3",
"type": "lldb"
},
{
"name": "Launch EncoreUnProjetEditor (Debug)",
"request": "launch",
"program": "/Users/Shared/Epic Games/UE_5.3/Engine/Binaries/Mac/UnrealEditor-Mac-Debug.app/Contents/MacOS/UnrealEditor-Mac-Debug",
"preLaunchTask": "EncoreUnProjetEditor Mac Debug Build",
"args": [
"/Users/kap/Documents/Unreal Projects/EncoreUnProjet/EncoreUnProjet.uproject"
],
"cwd": "/Users/Shared/Epic Games/UE_5.3",
"type": "lldb"
},
{
"name": "Launch EncoreUnProjetEditor (DebugGame)",
"request": "launch",
"program": "/Users/Shared/Epic Games/UE_5.3/Engine/Binaries/Mac/UnrealEditor-Mac-DebugGame.app/Contents/MacOS/UnrealEditor-Mac-DebugGame",
"preLaunchTask": "EncoreUnProjetEditor Mac DebugGame Build",
"args": [
"/Users/kap/Documents/Unreal Projects/EncoreUnProjet/EncoreUnProjet.uproject"
],
"cwd": "/Users/Shared/Epic Games/UE_5.3",
"type": "lldb"
},
{
"name": "Launch EncoreUnProjetEditor (Development)",
"request": "launch",
"program": "/Users/Shared/Epic Games/UE_5.3/Engine/Binaries/Mac/UnrealEditor.app/Contents/MacOS/UnrealEditor",
"preLaunchTask": "EncoreUnProjetEditor Mac Development Build",
"args": [
"/Users/kap/Documents/Unreal Projects/EncoreUnProjet/EncoreUnProjet.uproject"
],
"cwd": "/Users/Shared/Epic Games/UE_5.3",
"type": "lldb"
},
{
"name": "Generate Project Files",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "UnrealBuildTool Mac Development Build",
"program": "/Users/Shared/Epic Games/UE_5.3/Engine/Build/BatchFiles/RunUBT.bat",
"args": [
"-projectfiles",
"-vscode",
"-project=/Users/kap/Documents/Unreal Projects/EncoreUnProjet/EncoreUnProjet.uproject",
"-game",
"-engine",
"-dotnet"
],
"console": "internalConsole",
"internalConsoleOptions": "openOnSessionStart",
"stopAtEntry": false,
"cwd": "/Users/Shared/Epic Games/UE_5.3"
}
]
}
}

26
EncoreUnProjet.uproject Normal file
View File

@ -0,0 +1,26 @@
{
"FileVersion": 3,
"EngineAssociation": "5.3",
"Category": "",
"Description": "",
"Modules": [
{
"Name": "EncoreUnProjet",
"Type": "Runtime",
"LoadingPhase": "Default",
"AdditionalDependencies": [
"Engine",
"UMG"
]
}
],
"Plugins": [
{
"Name": "ModelingToolsEditorMode",
"Enabled": true,
"TargetAllowList": [
"Editor"
]
}
]
}

View File

@ -0,0 +1,15 @@
// Copyright Epic Games, Inc. All Rights Reserved.
using UnrealBuildTool;
using System.Collections.Generic;
public class EncoreUnProjetTarget : TargetRules
{
public EncoreUnProjetTarget(TargetInfo Target) : base(Target)
{
Type = TargetType.Game;
DefaultBuildSettings = BuildSettingsVersion.V4;
IncludeOrderVersion = EngineIncludeOrderVersion.Unreal5_3;
ExtraModuleNames.Add("EncoreUnProjet");
}
}

BIN
Source/EncoreUnProjet/.DS_Store vendored Normal file

Binary file not shown.

View File

@ -0,0 +1,13 @@
// Copyright Epic Games, Inc. All Rights Reserved.
using UnrealBuildTool;
public class EncoreUnProjet : ModuleRules
{
public EncoreUnProjet(ReadOnlyTargetRules Target) : base(Target)
{
PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;
PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "EnhancedInput" });
}
}

View File

@ -0,0 +1,7 @@
// Copyright Epic Games, Inc. All Rights Reserved.
#include "EncoreUnProjet.h"
#include "Modules/ModuleManager.h"
IMPLEMENT_PRIMARY_GAME_MODULE( FDefaultGameModuleImpl, EncoreUnProjet, "EncoreUnProjet" );

View File

@ -0,0 +1,5 @@
// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"

View File

@ -0,0 +1,123 @@
// Copyright Epic Games, Inc. All Rights Reserved.
#include "EncoreUnProjetCharacter.h"
#include "EncoreUnProjetProjectile.h"
#include "Animation/AnimInstance.h"
#include "Camera/CameraComponent.h"
#include "Components/CapsuleComponent.h"
#include "Components/SkeletalMeshComponent.h"
#include "EnhancedInputComponent.h"
#include "EnhancedInputSubsystems.h"
#include "InputActionValue.h"
#include "Engine/LocalPlayer.h"
#include "JournalWidget.h"
DEFINE_LOG_CATEGORY(LogTemplateCharacter);
//////////////////////////////////////////////////////////////////////////
// AEncoreUnProjetCharacter
AEncoreUnProjetCharacter::AEncoreUnProjetCharacter()
{
// Character doesnt have a rifle at start
bHasRifle = false;
// Set size for collision capsule
GetCapsuleComponent()->InitCapsuleSize(55.f, 96.0f);
// Create a CameraComponent
FirstPersonCameraComponent = CreateDefaultSubobject<UCameraComponent>(TEXT("FirstPersonCamera"));
FirstPersonCameraComponent->SetupAttachment(GetCapsuleComponent());
FirstPersonCameraComponent->SetRelativeLocation(FVector(-10.f, 0.f, 60.f)); // Position the camera
FirstPersonCameraComponent->bUsePawnControlRotation = true;
// Create a mesh component that will be used when being viewed from a '1st person' view (when controlling this pawn)
Mesh1P = CreateDefaultSubobject<USkeletalMeshComponent>(TEXT("CharacterMesh1P"));
Mesh1P->SetOnlyOwnerSee(true);
Mesh1P->SetupAttachment(FirstPersonCameraComponent);
Mesh1P->bCastDynamicShadow = false;
Mesh1P->CastShadow = false;
//Mesh1P->SetRelativeRotation(FRotator(0.9f, -19.19f, 5.2f));
Mesh1P->SetRelativeLocation(FVector(-30.f, 0.f, -150.f));
}
void AEncoreUnProjetCharacter::BeginPlay()
{
// Call the base class
Super::BeginPlay();
// Create the journal
//UJournalWidget* journal = CreateWidget<UJournalWidget>(GetWorld(), UJournalWidget::StaticClass());
//journal->AddToViewport();
// Add Input Mapping Context
if (APlayerController* PlayerController = Cast<APlayerController>(Controller))
{
if (UEnhancedInputLocalPlayerSubsystem* Subsystem = ULocalPlayer::GetSubsystem<UEnhancedInputLocalPlayerSubsystem>(PlayerController->GetLocalPlayer()))
{
Subsystem->AddMappingContext(DefaultMappingContext, 0);
}
}
}
//////////////////////////////////////////////////////////////////////////// Input
void AEncoreUnProjetCharacter::SetupPlayerInputComponent(UInputComponent* PlayerInputComponent)
{
// Set up action bindings
if (UEnhancedInputComponent* EnhancedInputComponent = Cast<UEnhancedInputComponent>(PlayerInputComponent))
{
// Jumping
EnhancedInputComponent->BindAction(JumpAction, ETriggerEvent::Started, this, &ACharacter::Jump);
EnhancedInputComponent->BindAction(JumpAction, ETriggerEvent::Completed, this, &ACharacter::StopJumping);
// Moving
EnhancedInputComponent->BindAction(MoveAction, ETriggerEvent::Triggered, this, &AEncoreUnProjetCharacter::Move);
// Looking
EnhancedInputComponent->BindAction(LookAction, ETriggerEvent::Triggered, this, &AEncoreUnProjetCharacter::Look);
}
else
{
UE_LOG(LogTemplateCharacter, Error, TEXT("'%s' Failed to find an Enhanced Input Component! This template is built to use the Enhanced Input system. If you intend to use the legacy system, then you will need to update this C++ file."), *GetNameSafe(this));
}
}
void AEncoreUnProjetCharacter::Move(const FInputActionValue& Value)
{
// input is a Vector2D
FVector2D MovementVector = Value.Get<FVector2D>();
if (Controller != nullptr)
{
// add movement
AddMovementInput(GetActorForwardVector(), MovementVector.Y);
AddMovementInput(GetActorRightVector(), MovementVector.X);
}
}
void AEncoreUnProjetCharacter::Look(const FInputActionValue& Value)
{
// input is a Vector2D
FVector2D LookAxisVector = Value.Get<FVector2D>();
if (Controller != nullptr)
{
// add yaw and pitch input to controller
AddControllerYawInput(LookAxisVector.X);
AddControllerPitchInput(LookAxisVector.Y);
}
}
void AEncoreUnProjetCharacter::SetHasRifle(bool bNewHasRifle)
{
bHasRifle = bNewHasRifle;
}
bool AEncoreUnProjetCharacter::GetHasRifle()
{
return bHasRifle;
}

View File

@ -0,0 +1,87 @@
// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "GameFramework/Character.h"
#include "Logging/LogMacros.h"
#include "EncoreUnProjetCharacter.generated.h"
class UInputComponent;
class USkeletalMeshComponent;
class UCameraComponent;
class UInputAction;
class UInputMappingContext;
struct FInputActionValue;
DECLARE_LOG_CATEGORY_EXTERN(LogTemplateCharacter, Log, All);
UCLASS(config=Game)
class AEncoreUnProjetCharacter : public ACharacter
{
GENERATED_BODY()
/** Pawn mesh: 1st person view (arms; seen only by self) */
UPROPERTY(VisibleDefaultsOnly, Category=Mesh)
USkeletalMeshComponent* Mesh1P;
/** First person camera */
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = Camera, meta = (AllowPrivateAccess = "true"))
UCameraComponent* FirstPersonCameraComponent;
/** MappingContext */
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category=Input, meta=(AllowPrivateAccess = "true"))
UInputMappingContext* DefaultMappingContext;
/** Jump Input Action */
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category=Input, meta=(AllowPrivateAccess = "true"))
UInputAction* JumpAction;
/** Move Input Action */
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category=Input, meta=(AllowPrivateAccess = "true"))
UInputAction* MoveAction;
public:
AEncoreUnProjetCharacter();
protected:
virtual void BeginPlay();
public:
/** Look Input Action */
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Input, meta = (AllowPrivateAccess = "true"))
class UInputAction* LookAction;
/** Bool for AnimBP to switch to another animation set */
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = Weapon)
bool bHasRifle;
/** Setter to set the bool */
UFUNCTION(BlueprintCallable, Category = Weapon)
void SetHasRifle(bool bNewHasRifle);
/** Getter for the bool */
UFUNCTION(BlueprintCallable, Category = Weapon)
bool GetHasRifle();
protected:
/** Called for movement input */
void Move(const FInputActionValue& Value);
/** Called for looking input */
void Look(const FInputActionValue& Value);
protected:
// APawn interface
virtual void SetupPlayerInputComponent(UInputComponent* InputComponent) override;
// End of APawn interface
public:
/** Returns Mesh1P subobject **/
USkeletalMeshComponent* GetMesh1P() const { return Mesh1P; }
/** Returns FirstPersonCameraComponent subobject **/
UCameraComponent* GetFirstPersonCameraComponent() const { return FirstPersonCameraComponent; }
};

View File

@ -0,0 +1,14 @@
// Copyright Epic Games, Inc. All Rights Reserved.
#include "EncoreUnProjetGameMode.h"
#include "EncoreUnProjetCharacter.h"
#include "UObject/ConstructorHelpers.h"
AEncoreUnProjetGameMode::AEncoreUnProjetGameMode()
: Super()
{
// set default pawn class to our Blueprinted character
static ConstructorHelpers::FClassFinder<APawn> PlayerPawnClassFinder(TEXT("/Game/FirstPerson/Blueprints/BP_FirstPersonCharacter"));
DefaultPawnClass = PlayerPawnClassFinder.Class;
}

View File

@ -0,0 +1,19 @@
// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "GameFramework/GameModeBase.h"
#include "EncoreUnProjetGameMode.generated.h"
UCLASS(minimalapi)
class AEncoreUnProjetGameMode : public AGameModeBase
{
GENERATED_BODY()
public:
AEncoreUnProjetGameMode();
};

View File

@ -0,0 +1,19 @@
// Copyright Epic Games, Inc. All Rights Reserved.
#include "EncoreUnProjetPlayerController.h"
#include "EnhancedInputSubsystems.h"
void AEncoreUnProjetPlayerController::BeginPlay()
{
Super::BeginPlay();
// get the enhanced input subsystem
if (UEnhancedInputLocalPlayerSubsystem* Subsystem = ULocalPlayer::GetSubsystem<UEnhancedInputLocalPlayerSubsystem>(GetLocalPlayer()))
{
// add the mapping context so we get controls
Subsystem->AddMappingContext(InputMappingContext, 0);
UE_LOG(LogTemp, Warning, TEXT("BeginPlay"));
}
}

View File

@ -0,0 +1,31 @@
// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "GameFramework/PlayerController.h"
#include "EncoreUnProjetPlayerController.generated.h"
class UInputMappingContext;
/**
*
*/
UCLASS()
class ENCOREUNPROJET_API AEncoreUnProjetPlayerController : public APlayerController
{
GENERATED_BODY()
protected:
/** Input Mapping Context to be used for player input */
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Input)
UInputMappingContext* InputMappingContext;
// Begin Actor interface
protected:
virtual void BeginPlay() override;
// End Actor interface
};

View File

@ -0,0 +1,43 @@
// Copyright Epic Games, Inc. All Rights Reserved.
#include "EncoreUnProjetProjectile.h"
#include "GameFramework/ProjectileMovementComponent.h"
#include "Components/SphereComponent.h"
AEncoreUnProjetProjectile::AEncoreUnProjetProjectile()
{
// Use a sphere as a simple collision representation
CollisionComp = CreateDefaultSubobject<USphereComponent>(TEXT("SphereComp"));
CollisionComp->InitSphereRadius(5.0f);
CollisionComp->BodyInstance.SetCollisionProfileName("Projectile");
CollisionComp->OnComponentHit.AddDynamic(this, &AEncoreUnProjetProjectile::OnHit); // set up a notification for when this component hits something blocking
// Players can't walk on it
CollisionComp->SetWalkableSlopeOverride(FWalkableSlopeOverride(WalkableSlope_Unwalkable, 0.f));
CollisionComp->CanCharacterStepUpOn = ECB_No;
// Set as root component
RootComponent = CollisionComp;
// Use a ProjectileMovementComponent to govern this projectile's movement
ProjectileMovement = CreateDefaultSubobject<UProjectileMovementComponent>(TEXT("ProjectileComp"));
ProjectileMovement->UpdatedComponent = CollisionComp;
ProjectileMovement->InitialSpeed = 3000.f;
ProjectileMovement->MaxSpeed = 3000.f;
ProjectileMovement->bRotationFollowsVelocity = true;
ProjectileMovement->bShouldBounce = true;
// Die after 3 seconds by default
InitialLifeSpan = 3.0f;
}
void AEncoreUnProjetProjectile::OnHit(UPrimitiveComponent* HitComp, AActor* OtherActor, UPrimitiveComponent* OtherComp, FVector NormalImpulse, const FHitResult& Hit)
{
// Only add impulse and destroy projectile if we hit a physics
if ((OtherActor != nullptr) && (OtherActor != this) && (OtherComp != nullptr) && OtherComp->IsSimulatingPhysics())
{
OtherComp->AddImpulseAtLocation(GetVelocity() * 100.0f, GetActorLocation());
Destroy();
}
}

View File

@ -0,0 +1,37 @@
// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "GameFramework/Actor.h"
#include "EncoreUnProjetProjectile.generated.h"
class USphereComponent;
class UProjectileMovementComponent;
UCLASS(config=Game)
class AEncoreUnProjetProjectile : public AActor
{
GENERATED_BODY()
/** Sphere collision component */
UPROPERTY(VisibleDefaultsOnly, Category=Projectile)
USphereComponent* CollisionComp;
/** Projectile movement component */
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = Movement, meta = (AllowPrivateAccess = "true"))
UProjectileMovementComponent* ProjectileMovement;
public:
AEncoreUnProjetProjectile();
/** called when projectile hits something */
UFUNCTION()
void OnHit(UPrimitiveComponent* HitComp, AActor* OtherActor, UPrimitiveComponent* OtherComp, FVector NormalImpulse, const FHitResult& Hit);
/** Returns CollisionComp subobject **/
USphereComponent* GetCollisionComp() const { return CollisionComp; }
/** Returns ProjectileMovement subobject **/
UProjectileMovementComponent* GetProjectileMovement() const { return ProjectileMovement; }
};

View File

@ -0,0 +1,53 @@
// Fill out your copyright notice in the Description page of Project Settings.
#include "Item.h"
#include "JournalWidget.h"
#include "Kismet/GameplayStatics.h"
// Sets default values
AItem::AItem()
{
// Set this actor to call Tick() every frame. You can turn this off to improve performance if you don't need it.
PrimaryActorTick.bCanEverTick = false;
}
// Called when the game starts or when spawned
void AItem::BeginPlay()
{
Super::BeginPlay();
}
// Called every frame
void AItem::Tick(float DeltaTime)
{
Super::Tick(DeltaTime);
}
FString AItem::get_item_name(){
return item_name;
}
FString AItem::get_item_description(){
return item_description;
}
void AItem::set_item_name(FString new_name){
item_name = new_name;
}
void AItem::set_item_description(FString new_description){
item_description = new_description;
}
void AItem::send_item_to_journal(){
TArray<AActor*> FoundActors;
UGameplayStatics::GetAllActorsOfClass(GetWorld(), UJournalWidget::StaticClass(), FoundActors);
if (FoundActors.Num() > 0){
UJournalWidget* journal_widget = Cast<UJournalWidget>(FoundActors[0]);
journal_widget->add_to_journal(item_name, item_description);
}
}

View File

@ -0,0 +1,47 @@
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
#include "GameFramework/Actor.h"
#include "Item.generated.h"
UCLASS(Blueprintable)
class ENCOREUNPROJET_API AItem : public AActor
{
GENERATED_BODY()
public:
// Sets default values for this actor's properties
AItem();
protected:
// Called when the game starts or when spawned
virtual void BeginPlay() override;
public:
// Called every frame
virtual void Tick(float DeltaTime) override;
UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "Item")
FString item_name = "Item name";
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Item")
FString item_description = "Item description";
UFUNCTION(BlueprintCallable,CallInEditor , Category = "Item")
FString get_item_name();
UFUNCTION(BlueprintCallable,CallInEditor, Category = "Item")
FString get_item_description();
UFUNCTION(BlueprintCallable,CallInEditor, Category = "Item")
void set_item_name(FString new_name);
UFUNCTION(BlueprintCallable,CallInEditor, Category = "Item")
void set_item_description(FString new_description);
UFUNCTION(BlueprintCallable,CallInEditor, Category = "Item")
void send_item_to_journal();
};

View File

@ -0,0 +1,23 @@
// Fill out your copyright notice in the Description page of Project Settings.
#include "ItemPickupComponent.h"
#include "utils_functions.h"
UItemPickupComponent::UItemPickupComponent()
{
PrimaryComponentTick.bCanEverTick = false;
}
void UItemPickupComponent::BeginPlay()
{
Super::BeginPlay();
OnComponentBeginOverlap.AddDynamic(this, &UItemPickupComponent::OnBoxBeginOverlap);
}
void UItemPickupComponent::OnBoxBeginOverlap(UPrimitiveComponent* OverlappedComponent, AActor* OtherActor,
UPrimitiveComponent* OtherComp, int32 OtherBodyIndex, bool bFromSweep,
const FHitResult& SweepResult)
{
}

View File

@ -0,0 +1,29 @@
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
#include "Components/SphereComponent.h"
#include "ItemPickupComponent.generated.h"
/**
*
*/
UCLASS(Blueprintable, BlueprintType, ClassGroup = (Custom), meta = (BlueprintSpawnableComponent))
class ENCOREUNPROJET_API UItemPickupComponent : public USphereComponent
{
GENERATED_BODY()
public:
// Sets default values for this component's properties
UItemPickupComponent();
protected:
void BeginPlay() override;
UFUNCTION()
void OnBoxBeginOverlap(UPrimitiveComponent* OverlappedComponent, AActor* OtherActor, UPrimitiveComponent* OtherComp, int32 OtherBodyIndex, bool bFromSweep, const FHitResult& SweepResult);
};

View File

@ -0,0 +1,75 @@
// Fill out your copyright notice in the Description page of Project Settings.
#include "JournalPage.h"
#include "utils_functions.h"
UJournalPage::UJournalPage()
{
max_page_entries = 10;
page_entries = TArray<FJournalEntry>();
}
void UJournalPage::add_entry(FString entry_name, FString entry_description)
{
if (page_entries.Num() < max_page_entries)
{
FJournalEntry entry;
entry.entry_name = entry_name;
entry.entry_description = entry_description;
page_entries.Add(entry);
}
return;
}
void UJournalPage::remove_entry(FString entry_name)
{
for (int i = 0; i < page_entries.Num(); i++)
{
if (page_entries[i].entry_name == entry_name)
{
page_entries.RemoveAt(i);
return;
}
}
return;
}
TArray<FString> UJournalPage::get_all_entries_names()
{
TArray<FString> entries_names;
for (const auto& entry : page_entries)
{
entries_names.Add(entry.entry_name);
}
return entries_names;
}
TArray<FString> UJournalPage::get_all_entries_descriptions()
{
TArray<FString> entries_descriptions;
for (const auto& entry : page_entries)
{
entries_descriptions.Add(entry.entry_description);
}
return entries_descriptions;
}
FString UJournalPage::get_entry_description(FString entry_name)
{
for (const auto& entry : page_entries)
{
if (entry.entry_name == entry_name)
{
return entry.entry_description;
}
}
return FString("No description found");
}
int UJournalPage::get_number_of_entries()
{
return page_entries.Num();
}

View File

@ -0,0 +1,45 @@
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
#include "JournalPage.generated.h"
USTRUCT(BlueprintType)
struct FJournalEntry
{
GENERATED_BODY()
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Journal")
FString entry_name;
FString entry_description;
};
/**
*
*/
UCLASS()
class ENCOREUNPROJET_API UJournalPage : public UObject
{
GENERATED_BODY()
public:
UJournalPage();
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Journal")
TArray<FJournalEntry> page_entries;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Journal")
int32 max_page_entries;
void add_entry(FString entry_name, FString entry_description);
void remove_entry(FString entry_name);
TArray<FString> get_all_entries_names();
TArray<FString> get_all_entries_descriptions();
int32 get_number_of_entries();
FString get_entry_description(FString entry_name);
};

View File

@ -0,0 +1,118 @@
// Fill out your copyright notice in the Description page of Project Settings.
#include "JournalWidget.h"
#include "JournalPage.h"
#include "utils_functions.h"
void UJournalWidget::NativeConstruct()
{
Super::NativeConstruct();
UJournalPage* page = NewObject<UJournalPage>();
journal_pages.Add(page);
current_number_of_pages = journal_pages.Num();
current_page_number = 0;
}
void UJournalWidget::next_page()
{
if (current_page_number + 1 < max_pages)
{
current_page_number++;
}
}
void UJournalWidget::previous_page()
{
if (current_page_number - 1 >= 0)
{
current_page_number--;
}
}
void UJournalWidget::go_to_page(int page_number)
{
current_page_number = page_number;
}
void UJournalWidget::remove_page(int page_number)
{
if (page_number < current_number_of_pages)
{
journal_pages.RemoveAt(page_number);
current_number_of_pages = journal_pages.Num();
}
}
TArray<FString> UJournalWidget::get_current_page_entries_names()
{
if (current_page_number < current_number_of_pages)
{
return journal_pages[current_page_number]->get_all_entries_names();
}
return TArray<FString>();
}
FString UJournalWidget::get_entry_description(FString entry_name)
{
if (current_page_number < current_number_of_pages)
{
return journal_pages[current_page_number]->get_entry_description(entry_name);
}
return FString();
}
void UJournalWidget::clear_journal()
{
journal_pages.Empty();
UJournalPage page = UJournalPage();
journal_pages.Add(&page);
current_number_of_pages = journal_pages.Num();
}
void UJournalWidget::add_to_journal(FString item_name, FString item_description)
{
for (int i = 0; i < current_number_of_pages; i++)
{
if (journal_pages[i]->get_number_of_entries() < journal_pages[i]->max_page_entries)
{
//utils_functions::debug_print("added item to page");
journal_pages[i]->add_entry(item_name, item_description);
return;
}
}
UJournalPage* page = NewObject<UJournalPage>();
page->add_entry(item_name, item_description);
journal_pages.Add(page);
current_number_of_pages = journal_pages.Num();
return;
}
void UJournalWidget::print_current_page()
{
if (current_page_number < current_number_of_pages)
{
for (FString entry_name : journal_pages[current_page_number]->get_all_entries_names())
{
utils_functions::debug_print(TCHAR_TO_ANSI(*entry_name));
FString entry_description = journal_pages[current_page_number]->get_entry_description(entry_name);
utils_functions::debug_print(TCHAR_TO_ANSI(*entry_description));
}
}
return;
}
int UJournalWidget::add_page()
{
UJournalPage* page = NewObject<UJournalPage>();
journal_pages.Add(page);
current_number_of_pages = journal_pages.Num();
return current_number_of_pages;
}
int UJournalWidget::get_current_page_number()
{
return current_page_number;
}

View File

@ -0,0 +1,68 @@
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
#include "Blueprint/UserWidget.h"
#include "JournalPage.h"
#include "JournalWidget.generated.h"
/**
*
*/
UCLASS(Blueprintable)
class ENCOREUNPROJET_API UJournalWidget : public UUserWidget
{
GENERATED_BODY()
public:
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Journal")
TArray<UJournalPage*> journal_pages;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Journal")
int max_pages = 10;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Journal")
int current_number_of_pages = 0;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Journal")
int current_page_number = 0;
UFUNCTION(BlueprintCallable, CallInEditor, Category = "Journal")
void next_page();
UFUNCTION(BlueprintCallable, CallInEditor, Category = "Journal")
void previous_page();
UFUNCTION(BlueprintCallable, CallInEditor, Category = "Journal")
void go_to_page(int page_number);
UFUNCTION(BlueprintCallable, CallInEditor, Category = "Journal")
void remove_page(int page_number);
UFUNCTION(BlueprintCallable, CallInEditor, Category = "Journal")
TArray<FString> get_current_page_entries_names();
UFUNCTION(BlueprintCallable, CallInEditor, Category = "Journal")
FString get_entry_description(FString entry_name);
UFUNCTION(BlueprintCallable, CallInEditor, Category = "Journal")
int add_page();
UFUNCTION(BlueprintCallable, CallInEditor, Category = "Journal")
void add_to_journal(FString item_name, FString item_description);
UFUNCTION(BlueprintCallable, CallInEditor, Category = "Journal")
void clear_journal();
UFUNCTION(BlueprintCallable, CallInEditor, Category = "Journal")
void print_current_page();
UFUNCTION(BlueprintCallable, CallInEditor, Category = "Journal")
int get_current_page_number();
virtual void NativeConstruct() override;
};

View File

@ -0,0 +1,31 @@
// Copyright Epic Games, Inc. All Rights Reserved.
#include "TP_PickUpComponent.h"
UTP_PickUpComponent::UTP_PickUpComponent()
{
// Setup the Sphere Collision
SphereRadius = 32.f;
}
void UTP_PickUpComponent::BeginPlay()
{
Super::BeginPlay();
// Register our Overlap Event
OnComponentBeginOverlap.AddDynamic(this, &UTP_PickUpComponent::OnSphereBeginOverlap);
}
void UTP_PickUpComponent::OnSphereBeginOverlap(UPrimitiveComponent* OverlappedComponent, AActor* OtherActor, UPrimitiveComponent* OtherComp, int32 OtherBodyIndex, bool bFromSweep, const FHitResult& SweepResult)
{
// Checking if it is a First Person Character overlapping
AEncoreUnProjetCharacter* Character = Cast<AEncoreUnProjetCharacter>(OtherActor);
if(Character != nullptr)
{
// Notify that the actor is being picked up
OnPickUp.Broadcast(Character);
// Unregister from the Overlap Event so it is no longer triggered
OnComponentBeginOverlap.RemoveAll(this);
}
}

View File

@ -0,0 +1,34 @@
// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "Components/SphereComponent.h"
#include "EncoreUnProjetCharacter.h"
#include "TP_PickUpComponent.generated.h"
// Declaration of the delegate that will be called when someone picks this up
// The character picking this up is the parameter sent with the notification
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnPickUp, AEncoreUnProjetCharacter*, PickUpCharacter);
UCLASS(Blueprintable, BlueprintType, ClassGroup = (Custom), meta = (BlueprintSpawnableComponent))
class ENCOREUNPROJET_API UTP_PickUpComponent : public USphereComponent
{
GENERATED_BODY()
public:
/** Delegate to whom anyone can subscribe to receive this event */
UPROPERTY(BlueprintAssignable, Category = "Interaction")
FOnPickUp OnPickUp;
UTP_PickUpComponent();
protected:
/** Called when the game starts */
virtual void BeginPlay() override;
/** Code for when something overlaps this component */
UFUNCTION()
void OnSphereBeginOverlap(UPrimitiveComponent* OverlappedComponent, AActor* OtherActor, UPrimitiveComponent* OtherComp, int32 OtherBodyIndex, bool bFromSweep, const FHitResult& SweepResult);
};

View File

@ -0,0 +1,114 @@
// Copyright Epic Games, Inc. All Rights Reserved.
#include "TP_WeaponComponent.h"
#include "EncoreUnProjetCharacter.h"
#include "EncoreUnProjetProjectile.h"
#include "GameFramework/PlayerController.h"
#include "Camera/PlayerCameraManager.h"
#include "Kismet/GameplayStatics.h"
#include "EnhancedInputComponent.h"
#include "EnhancedInputSubsystems.h"
// Sets default values for this component's properties
UTP_WeaponComponent::UTP_WeaponComponent()
{
// Default offset from the character location for projectiles to spawn
MuzzleOffset = FVector(100.0f, 0.0f, 10.0f);
}
void UTP_WeaponComponent::Fire()
{
if (Character == nullptr || Character->GetController() == nullptr)
{
return;
}
// Try and fire a projectile
if (ProjectileClass != nullptr)
{
UWorld* const World = GetWorld();
if (World != nullptr)
{
APlayerController* PlayerController = Cast<APlayerController>(Character->GetController());
const FRotator SpawnRotation = PlayerController->PlayerCameraManager->GetCameraRotation();
// MuzzleOffset is in camera space, so transform it to world space before offsetting from the character location to find the final muzzle position
const FVector SpawnLocation = GetOwner()->GetActorLocation() + SpawnRotation.RotateVector(MuzzleOffset);
//Set Spawn Collision Handling Override
FActorSpawnParameters ActorSpawnParams;
ActorSpawnParams.SpawnCollisionHandlingOverride = ESpawnActorCollisionHandlingMethod::AdjustIfPossibleButDontSpawnIfColliding;
// Spawn the projectile at the muzzle
World->SpawnActor<AEncoreUnProjetProjectile>(ProjectileClass, SpawnLocation, SpawnRotation, ActorSpawnParams);
}
}
// Try and play the sound if specified
if (FireSound != nullptr)
{
UGameplayStatics::PlaySoundAtLocation(this, FireSound, Character->GetActorLocation());
}
// Try and play a firing animation if specified
if (FireAnimation != nullptr)
{
// Get the animation object for the arms mesh
UAnimInstance* AnimInstance = Character->GetMesh1P()->GetAnimInstance();
if (AnimInstance != nullptr)
{
AnimInstance->Montage_Play(FireAnimation, 1.f);
}
}
}
void UTP_WeaponComponent::AttachWeapon(AEncoreUnProjetCharacter* TargetCharacter)
{
Character = TargetCharacter;
// Check that the character is valid, and has no rifle yet
if (Character == nullptr || Character->GetHasRifle())
{
return;
}
// Attach the weapon to the First Person Character
FAttachmentTransformRules AttachmentRules(EAttachmentRule::SnapToTarget, true);
AttachToComponent(Character->GetMesh1P(), AttachmentRules, FName(TEXT("GripPoint")));
// switch bHasRifle so the animation blueprint can switch to another animation set
Character->SetHasRifle(true);
// Set up action bindings
if (APlayerController* PlayerController = Cast<APlayerController>(Character->GetController()))
{
if (UEnhancedInputLocalPlayerSubsystem* Subsystem = ULocalPlayer::GetSubsystem<UEnhancedInputLocalPlayerSubsystem>(PlayerController->GetLocalPlayer()))
{
// Set the priority of the mapping to 1, so that it overrides the Jump action with the Fire action when using touch input
Subsystem->AddMappingContext(FireMappingContext, 1);
}
if (UEnhancedInputComponent* EnhancedInputComponent = Cast<UEnhancedInputComponent>(PlayerController->InputComponent))
{
// Fire
EnhancedInputComponent->BindAction(FireAction, ETriggerEvent::Triggered, this, &UTP_WeaponComponent::Fire);
}
}
}
void UTP_WeaponComponent::EndPlay(const EEndPlayReason::Type EndPlayReason)
{
if (Character == nullptr)
{
return;
}
if (APlayerController* PlayerController = Cast<APlayerController>(Character->GetController()))
{
if (UEnhancedInputLocalPlayerSubsystem* Subsystem = ULocalPlayer::GetSubsystem<UEnhancedInputLocalPlayerSubsystem>(PlayerController->GetLocalPlayer()))
{
Subsystem->RemoveMappingContext(FireMappingContext);
}
}
}

View File

@ -0,0 +1,60 @@
// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "Components/SkeletalMeshComponent.h"
#include "TP_WeaponComponent.generated.h"
class AEncoreUnProjetCharacter;
UCLASS(Blueprintable, BlueprintType, ClassGroup=(Custom), meta=(BlueprintSpawnableComponent) )
class ENCOREUNPROJET_API UTP_WeaponComponent : public USkeletalMeshComponent
{
GENERATED_BODY()
public:
/** Projectile class to spawn */
UPROPERTY(EditDefaultsOnly, Category=Projectile)
TSubclassOf<class AEncoreUnProjetProjectile> ProjectileClass;
/** Sound to play each time we fire */
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=Gameplay)
USoundBase* FireSound;
/** AnimMontage to play each time we fire */
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Gameplay)
UAnimMontage* FireAnimation;
/** Gun muzzle's offset from the characters location */
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=Gameplay)
FVector MuzzleOffset;
/** MappingContext */
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category=Input, meta=(AllowPrivateAccess = "true"))
class UInputMappingContext* FireMappingContext;
/** Fire Input Action */
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category=Input, meta=(AllowPrivateAccess = "true"))
class UInputAction* FireAction;
/** Sets default values for this component's properties */
UTP_WeaponComponent();
/** Attaches the actor to a FirstPersonCharacter */
UFUNCTION(BlueprintCallable, Category="Weapon")
void AttachWeapon(AEncoreUnProjetCharacter* TargetCharacter);
/** Make the weapon Fire a Projectile */
UFUNCTION(BlueprintCallable, Category="Weapon")
void Fire();
protected:
/** Ends gameplay for this component. */
UFUNCTION()
virtual void EndPlay(const EEndPlayReason::Type EndPlayReason) override;
private:
/** The Character holding this weapon*/
AEncoreUnProjetCharacter* Character;
};

View File

@ -0,0 +1,9 @@
// Fill out your copyright notice in the Description page of Project Settings.
#include "utils_functions.h"
void utils_functions::debug_print(const char* str, float duration)
{
if (GEngine)GEngine->AddOnScreenDebugMessage(-1, duration, FColor::Red, FString(str));
}

View File

@ -0,0 +1,15 @@
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
/**
*
*/
class ENCOREUNPROJET_API utils_functions
{
public:
static void debug_print(const char*, float duration = 5.f);
};

View File

@ -0,0 +1,15 @@
// Copyright Epic Games, Inc. All Rights Reserved.
using UnrealBuildTool;
using System.Collections.Generic;
public class EncoreUnProjetEditorTarget : TargetRules
{
public EncoreUnProjetEditorTarget(TargetInfo Target) : base(Target)
{
Type = TargetType.Editor;
DefaultBuildSettings = BuildSettingsVersion.V4;
IncludeOrderVersion = EngineIncludeOrderVersion.Unreal5_3;
ExtraModuleNames.Add("EncoreUnProjet");
}
}