initial commit
This commit is contained in:
commit
4624c3fa1d
6
.gitignore
vendored
Normal file
6
.gitignore
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
Saved
|
||||
Content
|
||||
Intermediate
|
||||
Binaries
|
||||
DerivedDataCache
|
||||
.vscode
|
8
Config/DefaultEditor.ini
Normal file
8
Config/DefaultEditor.ini
Normal file
@ -0,0 +1,8 @@
|
||||
[UnrealEd.SimpleMap]
|
||||
SimpleMapName=/Game/FirstPerson/Maps/FirstPersonExampleMap
|
||||
|
||||
[EditoronlyBP]
|
||||
bAllowClassAndBlueprintPinMatching=true
|
||||
bReplaceBlueprintWithClass= true
|
||||
bDontLoadBlueprintOutsideEditor= true
|
||||
bBlueprintIsNotBlueprintType= true
|
2
Config/DefaultEditorPerProjectUserSettings.ini
Normal file
2
Config/DefaultEditorPerProjectUserSettings.ini
Normal file
@ -0,0 +1,2 @@
|
||||
[ContentBrowser]
|
||||
ContentBrowserTab1.SelectedPaths=/Game/FirstPerson
|
223
Config/DefaultEngine.ini
Normal file
223
Config/DefaultEngine.ini
Normal 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
10
Config/DefaultGame.ini
Normal 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
109
Config/DefaultInput.ini
Normal 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
|
||||
|
577
EncoreUnProjet.code-workspace
Normal file
577
EncoreUnProjet.code-workspace
Normal 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
26
EncoreUnProjet.uproject
Normal 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"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
15
Source/EncoreUnProjet.Target.cs
Normal file
15
Source/EncoreUnProjet.Target.cs
Normal 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
BIN
Source/EncoreUnProjet/.DS_Store
vendored
Normal file
Binary file not shown.
13
Source/EncoreUnProjet/EncoreUnProjet.Build.cs
Normal file
13
Source/EncoreUnProjet/EncoreUnProjet.Build.cs
Normal 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" });
|
||||
}
|
||||
}
|
7
Source/EncoreUnProjet/EncoreUnProjet.cpp
Normal file
7
Source/EncoreUnProjet/EncoreUnProjet.cpp
Normal 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" );
|
||||
|
5
Source/EncoreUnProjet/EncoreUnProjet.h
Normal file
5
Source/EncoreUnProjet/EncoreUnProjet.h
Normal file
@ -0,0 +1,5 @@
|
||||
// Copyright Epic Games, Inc. All Rights Reserved.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "CoreMinimal.h"
|
123
Source/EncoreUnProjet/EncoreUnProjetCharacter.cpp
Normal file
123
Source/EncoreUnProjet/EncoreUnProjetCharacter.cpp
Normal 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;
|
||||
}
|
87
Source/EncoreUnProjet/EncoreUnProjetCharacter.h
Normal file
87
Source/EncoreUnProjet/EncoreUnProjetCharacter.h
Normal 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; }
|
||||
|
||||
};
|
||||
|
14
Source/EncoreUnProjet/EncoreUnProjetGameMode.cpp
Normal file
14
Source/EncoreUnProjet/EncoreUnProjetGameMode.cpp
Normal 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;
|
||||
|
||||
}
|
19
Source/EncoreUnProjet/EncoreUnProjetGameMode.h
Normal file
19
Source/EncoreUnProjet/EncoreUnProjetGameMode.h
Normal 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();
|
||||
};
|
||||
|
||||
|
||||
|
19
Source/EncoreUnProjet/EncoreUnProjetPlayerController.cpp
Normal file
19
Source/EncoreUnProjet/EncoreUnProjetPlayerController.cpp
Normal 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"));
|
||||
}
|
||||
}
|
31
Source/EncoreUnProjet/EncoreUnProjetPlayerController.h
Normal file
31
Source/EncoreUnProjet/EncoreUnProjetPlayerController.h
Normal 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
|
||||
};
|
43
Source/EncoreUnProjet/EncoreUnProjetProjectile.cpp
Normal file
43
Source/EncoreUnProjet/EncoreUnProjetProjectile.cpp
Normal 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();
|
||||
}
|
||||
}
|
37
Source/EncoreUnProjet/EncoreUnProjetProjectile.h
Normal file
37
Source/EncoreUnProjet/EncoreUnProjetProjectile.h
Normal 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; }
|
||||
};
|
||||
|
53
Source/EncoreUnProjet/Item.cpp
Normal file
53
Source/EncoreUnProjet/Item.cpp
Normal 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);
|
||||
}
|
||||
|
||||
}
|
47
Source/EncoreUnProjet/Item.h
Normal file
47
Source/EncoreUnProjet/Item.h
Normal 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();
|
||||
|
||||
};
|
23
Source/EncoreUnProjet/ItemPickupComponent.cpp
Normal file
23
Source/EncoreUnProjet/ItemPickupComponent.cpp
Normal 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)
|
||||
{
|
||||
}
|
29
Source/EncoreUnProjet/ItemPickupComponent.h
Normal file
29
Source/EncoreUnProjet/ItemPickupComponent.h
Normal 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);
|
||||
|
||||
|
||||
};
|
75
Source/EncoreUnProjet/JournalPage.cpp
Normal file
75
Source/EncoreUnProjet/JournalPage.cpp
Normal 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();
|
||||
}
|
45
Source/EncoreUnProjet/JournalPage.h
Normal file
45
Source/EncoreUnProjet/JournalPage.h
Normal 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);
|
||||
|
||||
|
||||
|
||||
};
|
118
Source/EncoreUnProjet/JournalWidget.cpp
Normal file
118
Source/EncoreUnProjet/JournalWidget.cpp
Normal 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;
|
||||
}
|
68
Source/EncoreUnProjet/JournalWidget.h
Normal file
68
Source/EncoreUnProjet/JournalWidget.h
Normal 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;
|
||||
|
||||
};
|
31
Source/EncoreUnProjet/TP_PickUpComponent.cpp
Normal file
31
Source/EncoreUnProjet/TP_PickUpComponent.cpp
Normal 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);
|
||||
}
|
||||
}
|
34
Source/EncoreUnProjet/TP_PickUpComponent.h
Normal file
34
Source/EncoreUnProjet/TP_PickUpComponent.h
Normal 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);
|
||||
};
|
114
Source/EncoreUnProjet/TP_WeaponComponent.cpp
Normal file
114
Source/EncoreUnProjet/TP_WeaponComponent.cpp
Normal 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);
|
||||
}
|
||||
}
|
||||
}
|
60
Source/EncoreUnProjet/TP_WeaponComponent.h
Normal file
60
Source/EncoreUnProjet/TP_WeaponComponent.h
Normal 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;
|
||||
};
|
9
Source/EncoreUnProjet/utils_functions.cpp
Normal file
9
Source/EncoreUnProjet/utils_functions.cpp
Normal 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));
|
||||
}
|
15
Source/EncoreUnProjet/utils_functions.h
Normal file
15
Source/EncoreUnProjet/utils_functions.h
Normal 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);
|
||||
};
|
15
Source/EncoreUnProjetEditor.Target.cs
Normal file
15
Source/EncoreUnProjetEditor.Target.cs
Normal 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");
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user