ffffffuuuuuuuuuu

This commit is contained in:
Dron
2023-06-19 17:13:11 +05:00
commit 3fffad5317
89 changed files with 4872 additions and 0 deletions
+91
View File
@@ -0,0 +1,91 @@
# ---> UnrealEngine
# Visual Studio 2015 user specific files
.vs/
# Visual Studio 2015 database file
*.VC.db
# Compiled Object files
#*.slo
#*.lo
#*.o
*.obj
# Precompiled Headers
#*.gch
#*.pch
# Compiled Dynamic libraries
#*.so
#*.dylib
*.dll
#plugins exception
*.pdb
*.exp
*.response
*.modules
# Fortran module files
#*.mod
# Compiled Static libraries
#*.lai
#*.la
#*.a
*.lib
# Executables
#*.exe
#*.out
#*.app
#*.ipa
# These project files can be generated by the engine
*.xcodeproj
*.xcworkspace
*.sln
*.suo
*.opensdf
*.sdf
*.VC.db
*.VC.opendb
# Precompiled Assets
SourceArt/**/*.png
SourceArt/**/*.tga
# Binary Files
Binaries/*
# Builds
Build/*
# Plugins
Plugins/*
Plugins/
# Don't ignore icon files in Build
!Build/**/*.ico
# Built data for maps
*_BuiltData.uasset
# Configuration files generated by the Editor
Saved/*
# Compiled source files for the engine to use
Intermediate/*
# Cache files for the editor to use
DerivedDataCache/*
# Custom files
StatisticsData.txt
# Application folders
Offers/
Users/
# UnrealCLR
Managed/
+17
View File
@@ -0,0 +1,17 @@
{
"version": "1.0",
"components": [
"Microsoft.Net.Component.4.6.2.TargetingPack",
"Microsoft.VisualStudio.Component.VC.14.33.17.3.ARM64",
"Microsoft.VisualStudio.Component.VC.14.33.17.3.x86.x64",
"Microsoft.VisualStudio.Component.VC.Tools.ARM64",
"Microsoft.VisualStudio.Component.VC.Tools.x86.x64",
"Microsoft.VisualStudio.Component.Windows10SDK",
"Microsoft.VisualStudio.Workload.CoreEditor",
"Microsoft.VisualStudio.Workload.ManagedDesktop",
"Microsoft.VisualStudio.Workload.NativeCrossPlat",
"Microsoft.VisualStudio.Workload.NativeDesktop",
"Microsoft.VisualStudio.Workload.NativeGame",
"Microsoft.VisualStudio.Workload.Universal"
]
}
+11
View File
@@ -0,0 +1,11 @@
[/Script/CryptoKeys.CryptoKeysSettings]
EncryptionKey=
bEncryptPakIniFiles=False
bEncryptPakIndex=False
bEncryptUAssetFiles=False
bEncryptAllAssetFiles=False
SigningPublicExponent=
SigningModulus=
SigningPrivateExponent=
bEnablePakSigning=False
+53
View File
@@ -0,0 +1,53 @@
[WindowsNoEditor DeviceProfile]
DeviceType=Windows
BaseProfileName=Windows
+TextureLODGroups=(Group=TEXTUREGROUP_World,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=512,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=512,MinMagFilter="aniso",MipFilter="point",MipLoadOptions=AllMips,HighPriorityLoad=False,DuplicateNonOptionalMips=False,Downscale=1.000000,DownscaleOptions=SimpleAverage,VirtualTextureTileCountBias=0,VirtualTextureTileSizeBias=0,LossyCompressionAmount=TLCA_Default)
+TextureLODGroups=(Group=TEXTUREGROUP_WorldNormalMap,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=512,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=512,MinMagFilter="aniso",MipFilter="point",MipLoadOptions=AllMips,HighPriorityLoad=False,DuplicateNonOptionalMips=False,Downscale=1.000000,DownscaleOptions=SimpleAverage,VirtualTextureTileCountBias=0,VirtualTextureTileSizeBias=0,LossyCompressionAmount=TLCA_Default)
+TextureLODGroups=(Group=TEXTUREGROUP_WorldSpecular,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=512,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=512,MinMagFilter="aniso",MipFilter="point",MipLoadOptions=AllMips,HighPriorityLoad=False,DuplicateNonOptionalMips=False,Downscale=1.000000,DownscaleOptions=SimpleAverage,VirtualTextureTileCountBias=0,VirtualTextureTileSizeBias=0,LossyCompressionAmount=TLCA_Default)
+TextureLODGroups=(Group=TEXTUREGROUP_Character,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=512,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=512,MinMagFilter="aniso",MipFilter="point",MipLoadOptions=AllMips,HighPriorityLoad=False,DuplicateNonOptionalMips=False,Downscale=1.000000,DownscaleOptions=SimpleAverage,VirtualTextureTileCountBias=0,VirtualTextureTileSizeBias=0,LossyCompressionAmount=TLCA_Default)
+TextureLODGroups=(Group=TEXTUREGROUP_CharacterNormalMap,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=512,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=512,MinMagFilter="aniso",MipFilter="point",MipLoadOptions=AllMips,HighPriorityLoad=False,DuplicateNonOptionalMips=False,Downscale=1.000000,DownscaleOptions=SimpleAverage,VirtualTextureTileCountBias=0,VirtualTextureTileSizeBias=0,LossyCompressionAmount=TLCA_Default)
+TextureLODGroups=(Group=TEXTUREGROUP_CharacterSpecular,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=512,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=512,MinMagFilter="aniso",MipFilter="point",MipLoadOptions=AllMips,HighPriorityLoad=False,DuplicateNonOptionalMips=False,Downscale=1.000000,DownscaleOptions=SimpleAverage,VirtualTextureTileCountBias=0,VirtualTextureTileSizeBias=0,LossyCompressionAmount=TLCA_Default)
+TextureLODGroups=(Group=TEXTUREGROUP_Weapon,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=512,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=512,MinMagFilter="aniso",MipFilter="point",MipLoadOptions=AllMips,HighPriorityLoad=False,DuplicateNonOptionalMips=False,Downscale=1.000000,DownscaleOptions=SimpleAverage,VirtualTextureTileCountBias=0,VirtualTextureTileSizeBias=0,LossyCompressionAmount=TLCA_Default)
+TextureLODGroups=(Group=TEXTUREGROUP_WeaponNormalMap,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=512,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=512,MinMagFilter="aniso",MipFilter="point",MipLoadOptions=AllMips,HighPriorityLoad=False,DuplicateNonOptionalMips=False,Downscale=1.000000,DownscaleOptions=SimpleAverage,VirtualTextureTileCountBias=0,VirtualTextureTileSizeBias=0,LossyCompressionAmount=TLCA_Default)
+TextureLODGroups=(Group=TEXTUREGROUP_WeaponSpecular,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=512,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=512,MinMagFilter="aniso",MipFilter="point",MipLoadOptions=AllMips,HighPriorityLoad=False,DuplicateNonOptionalMips=False,Downscale=1.000000,DownscaleOptions=SimpleAverage,VirtualTextureTileCountBias=0,VirtualTextureTileSizeBias=0,LossyCompressionAmount=TLCA_Default)
+TextureLODGroups=(Group=TEXTUREGROUP_Vehicle,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=512,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=512,MinMagFilter="aniso",MipFilter="point",MipLoadOptions=AllMips,HighPriorityLoad=False,DuplicateNonOptionalMips=False,Downscale=1.000000,DownscaleOptions=SimpleAverage,VirtualTextureTileCountBias=0,VirtualTextureTileSizeBias=0,LossyCompressionAmount=TLCA_Default)
+TextureLODGroups=(Group=TEXTUREGROUP_VehicleNormalMap,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=512,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=512,MinMagFilter="aniso",MipFilter="point",MipLoadOptions=AllMips,HighPriorityLoad=False,DuplicateNonOptionalMips=False,Downscale=1.000000,DownscaleOptions=SimpleAverage,VirtualTextureTileCountBias=0,VirtualTextureTileSizeBias=0,LossyCompressionAmount=TLCA_Default)
+TextureLODGroups=(Group=TEXTUREGROUP_VehicleSpecular,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=512,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=512,MinMagFilter="aniso",MipFilter="point",MipLoadOptions=AllMips,HighPriorityLoad=False,DuplicateNonOptionalMips=False,Downscale=1.000000,DownscaleOptions=SimpleAverage,VirtualTextureTileCountBias=0,VirtualTextureTileSizeBias=0,LossyCompressionAmount=TLCA_Default)
+TextureLODGroups=(Group=TEXTUREGROUP_Cinematic,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=512,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=512,MinMagFilter="aniso",MipFilter="point",MipLoadOptions=AllMips,HighPriorityLoad=False,DuplicateNonOptionalMips=False,Downscale=1.000000,DownscaleOptions=SimpleAverage,VirtualTextureTileCountBias=0,VirtualTextureTileSizeBias=0,LossyCompressionAmount=TLCA_Default)
+TextureLODGroups=(Group=TEXTUREGROUP_Effects,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=512,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=512,MinMagFilter="linear",MipFilter="point",MipLoadOptions=AllMips,HighPriorityLoad=False,DuplicateNonOptionalMips=False,Downscale=1.000000,DownscaleOptions=SimpleAverage,VirtualTextureTileCountBias=0,VirtualTextureTileSizeBias=0,LossyCompressionAmount=TLCA_Default)
+TextureLODGroups=(Group=TEXTUREGROUP_EffectsNotFiltered,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=512,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=512,MinMagFilter="aniso",MipFilter="point",MipLoadOptions=AllMips,HighPriorityLoad=False,DuplicateNonOptionalMips=False,Downscale=1.000000,DownscaleOptions=SimpleAverage,VirtualTextureTileCountBias=0,VirtualTextureTileSizeBias=0,LossyCompressionAmount=TLCA_Default)
+TextureLODGroups=(Group=TEXTUREGROUP_Skybox,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=8192,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=8192,MinMagFilter="aniso",MipFilter="point",MipLoadOptions=AllMips,HighPriorityLoad=False,DuplicateNonOptionalMips=False,Downscale=1.000000,DownscaleOptions=SimpleAverage,VirtualTextureTileCountBias=0,VirtualTextureTileSizeBias=0,LossyCompressionAmount=TLCA_Default)
+TextureLODGroups=(Group=TEXTUREGROUP_UI,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_NoMipmaps,MinLODSize=1,MaxLODSize=512,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=512,MinMagFilter="aniso",MipFilter="point",MipLoadOptions=AllMips,HighPriorityLoad=False,DuplicateNonOptionalMips=False,Downscale=1.000000,DownscaleOptions=SimpleAverage,VirtualTextureTileCountBias=0,VirtualTextureTileSizeBias=0,LossyCompressionAmount=TLCA_Default)
+TextureLODGroups=(Group=TEXTUREGROUP_Lightmap,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=512,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=512,MinMagFilter="aniso",MipFilter="point",MipLoadOptions=AllMips,HighPriorityLoad=False,DuplicateNonOptionalMips=False,Downscale=1.000000,DownscaleOptions=SimpleAverage,VirtualTextureTileCountBias=0,VirtualTextureTileSizeBias=0,LossyCompressionAmount=TLCA_Default)
+TextureLODGroups=(Group=TEXTUREGROUP_RenderTarget,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=512,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=512,MinMagFilter="aniso",MipFilter="point",MipLoadOptions=AllMips,HighPriorityLoad=False,DuplicateNonOptionalMips=False,Downscale=1.000000,DownscaleOptions=SimpleAverage,VirtualTextureTileCountBias=0,VirtualTextureTileSizeBias=0,LossyCompressionAmount=TLCA_Default)
+TextureLODGroups=(Group=TEXTUREGROUP_MobileFlattened,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=512,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=512,MinMagFilter="aniso",MipFilter="point",MipLoadOptions=AllMips,HighPriorityLoad=False,DuplicateNonOptionalMips=False,Downscale=1.000000,DownscaleOptions=SimpleAverage,VirtualTextureTileCountBias=0,VirtualTextureTileSizeBias=0,LossyCompressionAmount=TLCA_Default)
+TextureLODGroups=(Group=TEXTUREGROUP_ProcBuilding_Face,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=512,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=512,MinMagFilter="Aniso",MipFilter="Point",MipLoadOptions=AllMips,HighPriorityLoad=False,DuplicateNonOptionalMips=False,Downscale=1.000000,DownscaleOptions=SimpleAverage,VirtualTextureTileCountBias=0,VirtualTextureTileSizeBias=0,LossyCompressionAmount=TLCA_Default)
+TextureLODGroups=(Group=TEXTUREGROUP_ProcBuilding_LightMap,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=512,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=512,MinMagFilter="Aniso",MipFilter="Point",MipLoadOptions=AllMips,HighPriorityLoad=False,DuplicateNonOptionalMips=False,Downscale=1.000000,DownscaleOptions=SimpleAverage,VirtualTextureTileCountBias=0,VirtualTextureTileSizeBias=0,LossyCompressionAmount=TLCA_Default)
+TextureLODGroups=(Group=TEXTUREGROUP_Shadowmap,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=3,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=512,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=512,MinMagFilter="aniso",MipFilter="point",MipLoadOptions=AllMips,HighPriorityLoad=False,DuplicateNonOptionalMips=False,Downscale=1.000000,DownscaleOptions=SimpleAverage,VirtualTextureTileCountBias=0,VirtualTextureTileSizeBias=0,LossyCompressionAmount=TLCA_Default)
+TextureLODGroups=(Group=TEXTUREGROUP_ColorLookupTable,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=512,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=512,MinMagFilter="Aniso",MipFilter="Point",MipLoadOptions=AllMips,HighPriorityLoad=False,DuplicateNonOptionalMips=False,Downscale=1.000000,DownscaleOptions=SimpleAverage,VirtualTextureTileCountBias=0,VirtualTextureTileSizeBias=0,LossyCompressionAmount=TLCA_Default)
+TextureLODGroups=(Group=TEXTUREGROUP_Terrain_Heightmap,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=512,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=512,MinMagFilter="aniso",MipFilter="point",MipLoadOptions=AllMips,HighPriorityLoad=False,DuplicateNonOptionalMips=False,Downscale=1.000000,DownscaleOptions=SimpleAverage,VirtualTextureTileCountBias=0,VirtualTextureTileSizeBias=0,LossyCompressionAmount=TLCA_Default)
+TextureLODGroups=(Group=TEXTUREGROUP_Terrain_Weightmap,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=512,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=512,MinMagFilter="aniso",MipFilter="point",MipLoadOptions=AllMips,HighPriorityLoad=False,DuplicateNonOptionalMips=False,Downscale=1.000000,DownscaleOptions=SimpleAverage,VirtualTextureTileCountBias=0,VirtualTextureTileSizeBias=0,LossyCompressionAmount=TLCA_Default)
+TextureLODGroups=(Group=TEXTUREGROUP_Bokeh,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=512,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=512,MinMagFilter="linear",MipFilter="linear",MipLoadOptions=AllMips,HighPriorityLoad=False,DuplicateNonOptionalMips=False,Downscale=1.000000,DownscaleOptions=SimpleAverage,VirtualTextureTileCountBias=0,VirtualTextureTileSizeBias=0,LossyCompressionAmount=TLCA_Default)
+TextureLODGroups=(Group=TEXTUREGROUP_IESLightProfile,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=512,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=512,MinMagFilter="Aniso",MipFilter="Point",MipLoadOptions=AllMips,HighPriorityLoad=False,DuplicateNonOptionalMips=False,Downscale=1.000000,DownscaleOptions=SimpleAverage,VirtualTextureTileCountBias=0,VirtualTextureTileSizeBias=0,LossyCompressionAmount=TLCA_Default)
+TextureLODGroups=(Group=TEXTUREGROUP_Pixels2D,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=512,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=512,MinMagFilter="point",MipFilter="point",MipLoadOptions=AllMips,HighPriorityLoad=False,DuplicateNonOptionalMips=False,Downscale=1.000000,DownscaleOptions=SimpleAverage,VirtualTextureTileCountBias=0,VirtualTextureTileSizeBias=0,LossyCompressionAmount=TLCA_Default)
+TextureLODGroups=(Group=TEXTUREGROUP_HierarchicalLOD,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=512,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=512,MinMagFilter="Aniso",MipFilter="Point",MipLoadOptions=AllMips,HighPriorityLoad=False,DuplicateNonOptionalMips=False,Downscale=1.000000,DownscaleOptions=SimpleAverage,VirtualTextureTileCountBias=0,VirtualTextureTileSizeBias=0,LossyCompressionAmount=TLCA_Default)
+TextureLODGroups=(Group=TEXTUREGROUP_Impostor,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=512,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=512,MinMagFilter="Aniso",MipFilter="Point",MipLoadOptions=AllMips,HighPriorityLoad=False,DuplicateNonOptionalMips=False,Downscale=1.000000,DownscaleOptions=SimpleAverage,VirtualTextureTileCountBias=0,VirtualTextureTileSizeBias=0,LossyCompressionAmount=TLCA_Default)
+TextureLODGroups=(Group=TEXTUREGROUP_ImpostorNormalDepth,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=512,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=512,MinMagFilter="Aniso",MipFilter="Point",MipLoadOptions=AllMips,HighPriorityLoad=False,DuplicateNonOptionalMips=False,Downscale=1.000000,DownscaleOptions=SimpleAverage,VirtualTextureTileCountBias=0,VirtualTextureTileSizeBias=0,LossyCompressionAmount=TLCA_Default)
+TextureLODGroups=(Group=TEXTUREGROUP_8BitData,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_NoMipmaps,MinLODSize=1,MaxLODSize=512,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=512,MinMagFilter="point",MipFilter="point",MipLoadOptions=AllMips,HighPriorityLoad=False,DuplicateNonOptionalMips=False,Downscale=1.000000,DownscaleOptions=SimpleAverage,VirtualTextureTileCountBias=0,VirtualTextureTileSizeBias=0,LossyCompressionAmount=TLCA_Default)
+TextureLODGroups=(Group=TEXTUREGROUP_16BitData,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_NoMipmaps,MinLODSize=1,MaxLODSize=512,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=512,MinMagFilter="point",MipFilter="point",MipLoadOptions=AllMips,HighPriorityLoad=False,DuplicateNonOptionalMips=False,Downscale=1.000000,DownscaleOptions=SimpleAverage,VirtualTextureTileCountBias=0,VirtualTextureTileSizeBias=0,LossyCompressionAmount=TLCA_Default)
+TextureLODGroups=(Group=TEXTUREGROUP_Project01,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=512,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=512,MinMagFilter="Aniso",MipFilter="Point",MipLoadOptions=AllMips,HighPriorityLoad=False,DuplicateNonOptionalMips=False,Downscale=1.000000,DownscaleOptions=SimpleAverage,VirtualTextureTileCountBias=0,VirtualTextureTileSizeBias=0,LossyCompressionAmount=TLCA_Default)
+TextureLODGroups=(Group=TEXTUREGROUP_Project02,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=512,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=512,MinMagFilter="Aniso",MipFilter="Point",MipLoadOptions=AllMips,HighPriorityLoad=False,DuplicateNonOptionalMips=False,Downscale=1.000000,DownscaleOptions=SimpleAverage,VirtualTextureTileCountBias=0,VirtualTextureTileSizeBias=0,LossyCompressionAmount=TLCA_Default)
+TextureLODGroups=(Group=TEXTUREGROUP_Project03,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=512,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=512,MinMagFilter="Aniso",MipFilter="Point",MipLoadOptions=AllMips,HighPriorityLoad=False,DuplicateNonOptionalMips=False,Downscale=1.000000,DownscaleOptions=SimpleAverage,VirtualTextureTileCountBias=0,VirtualTextureTileSizeBias=0,LossyCompressionAmount=TLCA_Default)
+TextureLODGroups=(Group=TEXTUREGROUP_Project04,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=512,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=512,MinMagFilter="Aniso",MipFilter="Point",MipLoadOptions=AllMips,HighPriorityLoad=False,DuplicateNonOptionalMips=False,Downscale=1.000000,DownscaleOptions=SimpleAverage,VirtualTextureTileCountBias=0,VirtualTextureTileSizeBias=0,LossyCompressionAmount=TLCA_Default)
+TextureLODGroups=(Group=TEXTUREGROUP_Project05,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=512,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=512,MinMagFilter="Aniso",MipFilter="Point",MipLoadOptions=AllMips,HighPriorityLoad=False,DuplicateNonOptionalMips=False,Downscale=1.000000,DownscaleOptions=SimpleAverage,VirtualTextureTileCountBias=0,VirtualTextureTileSizeBias=0,LossyCompressionAmount=TLCA_Default)
+TextureLODGroups=(Group=TEXTUREGROUP_Project06,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=512,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=512,MinMagFilter="Aniso",MipFilter="Point",MipLoadOptions=AllMips,HighPriorityLoad=False,DuplicateNonOptionalMips=False,Downscale=1.000000,DownscaleOptions=SimpleAverage,VirtualTextureTileCountBias=0,VirtualTextureTileSizeBias=0,LossyCompressionAmount=TLCA_Default)
+TextureLODGroups=(Group=TEXTUREGROUP_Project07,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=512,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=512,MinMagFilter="Aniso",MipFilter="Point",MipLoadOptions=AllMips,HighPriorityLoad=False,DuplicateNonOptionalMips=False,Downscale=1.000000,DownscaleOptions=SimpleAverage,VirtualTextureTileCountBias=0,VirtualTextureTileSizeBias=0,LossyCompressionAmount=TLCA_Default)
+TextureLODGroups=(Group=TEXTUREGROUP_Project08,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=512,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=512,MinMagFilter="Aniso",MipFilter="Point",MipLoadOptions=AllMips,HighPriorityLoad=False,DuplicateNonOptionalMips=False,Downscale=1.000000,DownscaleOptions=SimpleAverage,VirtualTextureTileCountBias=0,VirtualTextureTileSizeBias=0,LossyCompressionAmount=TLCA_Default)
+TextureLODGroups=(Group=TEXTUREGROUP_Project09,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=512,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=512,MinMagFilter="Aniso",MipFilter="Point",MipLoadOptions=AllMips,HighPriorityLoad=False,DuplicateNonOptionalMips=False,Downscale=1.000000,DownscaleOptions=SimpleAverage,VirtualTextureTileCountBias=0,VirtualTextureTileSizeBias=0,LossyCompressionAmount=TLCA_Default)
+TextureLODGroups=(Group=TEXTUREGROUP_Project10,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=512,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=512,MinMagFilter="Aniso",MipFilter="Point",MipLoadOptions=AllMips,HighPriorityLoad=False,DuplicateNonOptionalMips=False,Downscale=1.000000,DownscaleOptions=SimpleAverage,VirtualTextureTileCountBias=0,VirtualTextureTileSizeBias=0,LossyCompressionAmount=TLCA_Default)
+TextureLODGroups=(Group=TEXTUREGROUP_Project11,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=512,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=512,MinMagFilter="Aniso",MipFilter="Point",MipLoadOptions=AllMips,HighPriorityLoad=False,DuplicateNonOptionalMips=False,Downscale=1.000000,DownscaleOptions=SimpleAverage,VirtualTextureTileCountBias=0,VirtualTextureTileSizeBias=0,LossyCompressionAmount=TLCA_Default)
+TextureLODGroups=(Group=TEXTUREGROUP_Project12,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=512,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=512,MinMagFilter="Aniso",MipFilter="Point",MipLoadOptions=AllMips,HighPriorityLoad=False,DuplicateNonOptionalMips=False,Downscale=1.000000,DownscaleOptions=SimpleAverage,VirtualTextureTileCountBias=0,VirtualTextureTileSizeBias=0,LossyCompressionAmount=TLCA_Default)
+TextureLODGroups=(Group=TEXTUREGROUP_Project13,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=512,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=512,MinMagFilter="Aniso",MipFilter="Point",MipLoadOptions=AllMips,HighPriorityLoad=False,DuplicateNonOptionalMips=False,Downscale=1.000000,DownscaleOptions=SimpleAverage,VirtualTextureTileCountBias=0,VirtualTextureTileSizeBias=0,LossyCompressionAmount=TLCA_Default)
+TextureLODGroups=(Group=TEXTUREGROUP_Project14,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=512,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=512,MinMagFilter="Aniso",MipFilter="Point",MipLoadOptions=AllMips,HighPriorityLoad=False,DuplicateNonOptionalMips=False,Downscale=1.000000,DownscaleOptions=SimpleAverage,VirtualTextureTileCountBias=0,VirtualTextureTileSizeBias=0,LossyCompressionAmount=TLCA_Default)
+TextureLODGroups=(Group=TEXTUREGROUP_Project15,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=512,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=512,MinMagFilter="Aniso",MipFilter="Point",MipLoadOptions=AllMips,HighPriorityLoad=False,DuplicateNonOptionalMips=False,Downscale=1.000000,DownscaleOptions=SimpleAverage,VirtualTextureTileCountBias=0,VirtualTextureTileSizeBias=0,LossyCompressionAmount=TLCA_Default)
+24
View File
@@ -0,0 +1,24 @@
[/Script/UMGEditor.UMGEditorProjectSettings]
DefaultCompilerOptions=(bAllowBlueprintTick=True,bAllowBlueprintPaint=True,PropertyBindingRule=Allow,Rules=)
bShowWidgetsFromEngineContent=False
bShowWidgetsFromDeveloperContent=True
bUseWidgetTemplateSelector=False
DefaultRootWidget=Class'/Script/UMG.CanvasPanel'
DefaultWidgetParentClass=/Script/UMG.UserWidget
-DebugResolutions=(Width=3840,Height=2160,Description="",Color=(R=0.745404,G=0.904661,B=1.000000,A=1.000000))
-DebugResolutions=(Width=3440,Height=1440,Description="",Color=(R=0.439657,G=0.783538,B=0.982251,A=1.000000))
-DebugResolutions=(Width=2560,Height=1440,Description="",Color=(R=0.208637,G=0.644480,B=0.973445,A=1.000000))
-DebugResolutions=(Width=1440,Height=2560,Description="",Color=(R=0.215861,G=0.651406,B=0.973445,A=1.000000))
-DebugResolutions=(Width=2560,Height=1080,Description="",Color=(R=0.064803,G=0.539479,B=0.955973,A=1.000000))
-DebugResolutions=(Width=2048,Height=1536,Description="",Color=(R=0.009134,G=0.462077,B=0.947307,A=1.000000))
-DebugResolutions=(Width=1536,Height=2048,Description="",Color=(R=0.009134,G=0.462077,B=0.947307,A=1.000000))
-DebugResolutions=(Width=1920,Height=1080,Description="",Color=(R=0.000000,G=0.386429,B=0.930111,A=1.000000))
-DebugResolutions=(Width=1080,Height=1920,Description="",Color=(R=0.000000,G=0.386429,B=0.930111,A=1.000000))
-DebugResolutions=(Width=1280,Height=720,Description="",Color=(R=0.000000,G=0.318547,B=0.806952,A=1.000000))
-DebugResolutions=(Width=720,Height=1280,Description="",Color=(R=0.000000,G=0.318547,B=0.806952,A=1.000000))
-DebugResolutions=(Width=1136,Height=640,Description="",Color=(R=0.000000,G=0.238398,B=0.658375,A=1.000000))
-DebugResolutions=(Width=640,Height=1136,Description="",Color=(R=0.000000,G=0.238398,B=0.658375,A=1.000000))
+DebugResolutions=(Width=3840,Height=2160,Description="",Color=(R=0.125704,G=0.131394,B=0.395833,A=0.428000))
+DebugResolutions=(Width=1920,Height=1080,Description="",Color=(R=0.411458,G=0.142297,B=0.109484,A=0.478000))
Version=1
+196
View File
@@ -0,0 +1,196 @@
[/Script/EngineSettings.GameMapsSettings]
EditorStartupMap=/Game/Maps/L_Startup.L_Startup
LocalMapOptions=
TransitionMap=None
bUseSplitscreen=True
TwoPlayerSplitscreenLayout=Horizontal
ThreePlayerSplitscreenLayout=FavorTop
FourPlayerSplitscreenLayout=Grid
bOffsetPlayerGamepadIds=False
GameInstanceClass=/Game/Blueprints/Managers/BP_GameInstance.BP_GameInstance_C
GameDefaultMap=/Game/Maps/L_Startup.L_Startup
ServerDefaultMap=/Engine/Maps/Entry.Entry
GlobalDefaultGameMode=None
GlobalDefaultServerGameMode=None
[/Script/HardwareTargeting.HardwareTargetingSettings]
TargetedHardwareClass=Desktop
AppliedTargetedHardwareClass=Desktop
DefaultGraphicsPerformance=Maximum
AppliedDefaultGraphicsPerformance=Maximum
[/Script/Engine.Engine]
+ActiveGameNameRedirects=(OldGameName="TP_BlankBP",NewGameName="/Script/FORTIS_Taktika")
+ActiveGameNameRedirects=(OldGameName="/Script/TP_BlankBP",NewGameName="/Script/FORTIS_Taktika")
MaximumLoopIterationCount=2147483647
[/Script/Engine.RendererSettings]
r.SkinCache.CompileShaders=True
r.RayTracing=True
r.GenerateMeshDistanceFields=False
r.GenerateLandscapeGIData=True
r.Mobile.AllowDistanceFieldShadows=False
r.VirtualTextures=True
r.VirtualTexturedLightmaps=False
r.MinScreenRadiusForLights=0.010000
r.ReflectionCaptureResolution=256
r.CustomDepth=3
r.SSGI.Enable=False
r.MinScreenRadiusForDepthPrepass=0.030000
r.DefaultFeature.AmbientOcclusionStaticFraction=False
r.DefaultFeature.MotionBlur=False
r.TessellationAdaptivePixelsPerTriangle=48.000000
r.SeparateTranslucency=False
r.MobileHDR=False
vr.InstancedStereo=True
vr.RoundRobinOcclusion=True
r.Shadow.UnbuiltPreviewInGame=False
r.RayTracing.UseTextureLod=True
r.SupportStationarySkylight=False
r.SupportLowQualityLightmaps=False
r.DefaultFeature.AntiAliasing=1
[/Script/Engine.CollisionProfile]
-Profiles=(Name="NoCollision",CollisionEnabled=NoCollision,ObjectTypeName="WorldStatic",CustomResponses=((Channel="Visibility",Response=ECR_Ignore),(Channel="Camera",Response=ECR_Ignore)),HelpMessage="No collision",bCanModify=False)
-Profiles=(Name="BlockAll",CollisionEnabled=QueryAndPhysics,ObjectTypeName="WorldStatic",CustomResponses=,HelpMessage="WorldStatic object that blocks all actors by default. All new custom channels will use its own default response. ",bCanModify=False)
-Profiles=(Name="OverlapAll",CollisionEnabled=QueryOnly,ObjectTypeName="WorldStatic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Overlap),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldStatic object that overlaps all actors by default. All new custom channels will use its own default response. ",bCanModify=False)
-Profiles=(Name="BlockAllDynamic",CollisionEnabled=QueryAndPhysics,ObjectTypeName="WorldDynamic",CustomResponses=,HelpMessage="WorldDynamic object that blocks all actors by default. All new custom channels will use its own default response. ",bCanModify=False)
-Profiles=(Name="OverlapAllDynamic",CollisionEnabled=QueryOnly,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Overlap),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldDynamic object that overlaps all actors by default. All new custom channels will use its own default response. ",bCanModify=False)
-Profiles=(Name="IgnoreOnlyPawn",CollisionEnabled=QueryOnly,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="Pawn",Response=ECR_Ignore),(Channel="Vehicle",Response=ECR_Ignore)),HelpMessage="WorldDynamic object that ignores Pawn and Vehicle. All other channels will be set to default.",bCanModify=False)
-Profiles=(Name="OverlapOnlyPawn",CollisionEnabled=QueryOnly,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="Pawn",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Ignore)),HelpMessage="WorldDynamic object that overlaps Pawn, Camera, and Vehicle. All other channels will be set to default. ",bCanModify=False)
-Profiles=(Name="Pawn",CollisionEnabled=QueryAndPhysics,ObjectTypeName="Pawn",CustomResponses=((Channel="Visibility",Response=ECR_Ignore)),HelpMessage="Pawn object. Can be used for capsule of any playerable character or AI. ",bCanModify=False)
-Profiles=(Name="Spectator",CollisionEnabled=QueryOnly,ObjectTypeName="Pawn",CustomResponses=((Channel="WorldStatic",Response=ECR_Block),(Channel="Pawn",Response=ECR_Ignore),(Channel="Visibility",Response=ECR_Ignore),(Channel="WorldDynamic",Response=ECR_Ignore),(Channel="Camera",Response=ECR_Ignore),(Channel="PhysicsBody",Response=ECR_Ignore),(Channel="Vehicle",Response=ECR_Ignore),(Channel="Destructible",Response=ECR_Ignore)),HelpMessage="Pawn object that ignores all other actors except WorldStatic.",bCanModify=False)
-Profiles=(Name="CharacterMesh",CollisionEnabled=QueryOnly,ObjectTypeName="Pawn",CustomResponses=((Channel="Pawn",Response=ECR_Ignore),(Channel="Vehicle",Response=ECR_Ignore),(Channel="Visibility",Response=ECR_Ignore)),HelpMessage="Pawn object that is used for Character Mesh. All other channels will be set to default.",bCanModify=False)
-Profiles=(Name="PhysicsActor",CollisionEnabled=QueryAndPhysics,ObjectTypeName="PhysicsBody",CustomResponses=,HelpMessage="Simulating actors",bCanModify=False)
-Profiles=(Name="Destructible",CollisionEnabled=QueryAndPhysics,ObjectTypeName="Destructible",CustomResponses=,HelpMessage="Destructible actors",bCanModify=False)
-Profiles=(Name="InvisibleWall",CollisionEnabled=QueryAndPhysics,ObjectTypeName="WorldStatic",CustomResponses=((Channel="Visibility",Response=ECR_Ignore)),HelpMessage="WorldStatic object that is invisible.",bCanModify=False)
-Profiles=(Name="InvisibleWallDynamic",CollisionEnabled=QueryAndPhysics,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="Visibility",Response=ECR_Ignore)),HelpMessage="WorldDynamic object that is invisible.",bCanModify=False)
-Profiles=(Name="Trigger",CollisionEnabled=QueryOnly,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Ignore),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldDynamic object that is used for trigger. All other channels will be set to default.",bCanModify=False)
-Profiles=(Name="Ragdoll",CollisionEnabled=QueryAndPhysics,ObjectTypeName="PhysicsBody",CustomResponses=((Channel="Pawn",Response=ECR_Ignore),(Channel="Visibility",Response=ECR_Ignore)),HelpMessage="Simulating Skeletal Mesh Component. All other channels will be set to default.",bCanModify=False)
-Profiles=(Name="Vehicle",CollisionEnabled=QueryAndPhysics,ObjectTypeName="Vehicle",CustomResponses=,HelpMessage="Vehicle object that blocks Vehicle, WorldStatic, and WorldDynamic. All other channels will be set to default.",bCanModify=False)
-Profiles=(Name="UI",CollisionEnabled=QueryOnly,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Block),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldStatic object that overlaps all actors by default. All new custom channels will use its own default response. ",bCanModify=False)
+Profiles=(Name="NoCollision",CollisionEnabled=NoCollision,bCanModify=False,ObjectTypeName="WorldStatic",CustomResponses=((Channel="Visibility",Response=ECR_Ignore),(Channel="Camera",Response=ECR_Ignore)),HelpMessage="No collision")
+Profiles=(Name="BlockAll",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="WorldStatic",CustomResponses=,HelpMessage="WorldStatic object that blocks all actors by default. All new custom channels will use its own default response. ")
+Profiles=(Name="OverlapAll",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="WorldStatic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Overlap),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldStatic object that overlaps all actors by default. All new custom channels will use its own default response. ")
+Profiles=(Name="BlockAllDynamic",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=,HelpMessage="WorldDynamic object that blocks all actors by default. All new custom channels will use its own default response. ")
+Profiles=(Name="OverlapAllDynamic",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Overlap),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldDynamic object that overlaps all actors by default. All new custom channels will use its own default response. ")
+Profiles=(Name="IgnoreOnlyPawn",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="Pawn",Response=ECR_Ignore),(Channel="Vehicle",Response=ECR_Ignore)),HelpMessage="WorldDynamic object that ignores Pawn and Vehicle. All other channels will be set to default.")
+Profiles=(Name="OverlapOnlyPawn",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="Pawn",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Ignore)),HelpMessage="WorldDynamic object that overlaps Pawn, Camera, and Vehicle. All other channels will be set to default. ")
+Profiles=(Name="Pawn",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="Pawn",CustomResponses=((Channel="Visibility",Response=ECR_Ignore)),HelpMessage="Pawn object. Can be used for capsule of any playerable character or AI. ")
+Profiles=(Name="Spectator",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="Pawn",CustomResponses=((Channel="WorldStatic"),(Channel="Pawn",Response=ECR_Ignore),(Channel="Visibility",Response=ECR_Ignore),(Channel="WorldDynamic",Response=ECR_Ignore),(Channel="Camera",Response=ECR_Ignore),(Channel="PhysicsBody",Response=ECR_Ignore),(Channel="Vehicle",Response=ECR_Ignore),(Channel="Destructible",Response=ECR_Ignore)),HelpMessage="Pawn object that ignores all other actors except WorldStatic.")
+Profiles=(Name="CharacterMesh",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="Pawn",CustomResponses=((Channel="Pawn",Response=ECR_Ignore),(Channel="Vehicle",Response=ECR_Ignore),(Channel="Visibility",Response=ECR_Ignore)),HelpMessage="Pawn object that is used for Character Mesh. All other channels will be set to default.")
+Profiles=(Name="PhysicsActor",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="PhysicsBody",CustomResponses=,HelpMessage="Simulating actors")
+Profiles=(Name="Destructible",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="Destructible",CustomResponses=,HelpMessage="Destructible actors")
+Profiles=(Name="InvisibleWall",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="WorldStatic",CustomResponses=((Channel="Visibility",Response=ECR_Ignore)),HelpMessage="WorldStatic object that is invisible.")
+Profiles=(Name="InvisibleWallDynamic",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="Visibility",Response=ECR_Ignore)),HelpMessage="WorldDynamic object that is invisible.")
+Profiles=(Name="Trigger",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Ignore),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldDynamic object that is used for trigger. All other channels will be set to default.")
+Profiles=(Name="Ragdoll",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="PhysicsBody",CustomResponses=((Channel="Pawn",Response=ECR_Ignore),(Channel="Visibility",Response=ECR_Ignore)),HelpMessage="Simulating Skeletal Mesh Component. All other channels will be set to default.")
+Profiles=(Name="Vehicle",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="Vehicle",CustomResponses=,HelpMessage="Vehicle object that blocks Vehicle, WorldStatic, and WorldDynamic. All other channels will be set to default.")
+Profiles=(Name="UI",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility"),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldStatic object that overlaps all actors by default. All new custom channels will use its own default response. ")
+Profiles=(Name="WaterBodyCollision",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="",CustomResponses=((Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Ignore),(Channel="Camera",Response=ECR_Ignore),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="Default Water Collision Profile (Created by Water Plugin)")
-ProfileRedirects=(OldName="BlockingVolume",NewName="InvisibleWall")
-ProfileRedirects=(OldName="InterpActor",NewName="IgnoreOnlyPawn")
-ProfileRedirects=(OldName="StaticMeshComponent",NewName="BlockAllDynamic")
-ProfileRedirects=(OldName="SkeletalMeshActor",NewName="PhysicsActor")
-ProfileRedirects=(OldName="InvisibleActor",NewName="InvisibleWallDynamic")
+ProfileRedirects=(OldName="BlockingVolume",NewName="InvisibleWall")
+ProfileRedirects=(OldName="InterpActor",NewName="IgnoreOnlyPawn")
+ProfileRedirects=(OldName="StaticMeshComponent",NewName="BlockAllDynamic")
+ProfileRedirects=(OldName="SkeletalMeshActor",NewName="PhysicsActor")
+ProfileRedirects=(OldName="InvisibleActor",NewName="InvisibleWallDynamic")
-CollisionChannelRedirects=(OldName="Static",NewName="WorldStatic")
-CollisionChannelRedirects=(OldName="Dynamic",NewName="WorldDynamic")
-CollisionChannelRedirects=(OldName="VehicleMovement",NewName="Vehicle")
-CollisionChannelRedirects=(OldName="PawnMovement",NewName="Pawn")
+CollisionChannelRedirects=(OldName="Static",NewName="WorldStatic")
+CollisionChannelRedirects=(OldName="Dynamic",NewName="WorldDynamic")
+CollisionChannelRedirects=(OldName="VehicleMovement",NewName="Vehicle")
+CollisionChannelRedirects=(OldName="PawnMovement",NewName="Pawn")
[/Script/LuminRuntimeSettings.LuminRuntimeSettings]
IconModelPath=(Path="")
IconPortalPath=(Path="")
[/Script/NavigationSystem.NavigationSystemV1]
DefaultAgentName=None
CrowdManagerClass=/Script/AIModule.CrowdManager
bAutoCreateNavigationData=True
bSpawnNavDataInNavBoundsLevel=True
bAllowClientSideNavigation=False
bShouldDiscardSubLevelNavData=False
bTickWhilePaused=False
bInitialBuildingLocked=False
bSkipAgentHeightCheckWhenPickingNavData=True
bGenerateNavigationOnlyAroundNavigationInvokers=False
ActiveTilesUpdateInterval=1.000000
DataGatheringMode=Instant
DirtyAreaWarningSizeThreshold=-1.000000
+SupportedAgents=(Name="Default",Color=(B=0,G=255,R=140,A=164),DefaultQueryExtent=(X=50.000000,Y=50.000000,Z=250.000000),NavDataClass=/Script/NavigationSystem.RecastNavMesh,AgentRadius=10.000000,AgentHeight=144.000000,AgentStepHeight=-1.000000,NavWalkingSearchHeightScale=0.500000,PreferredNavData=/Script/NavigationSystem.RecastNavMesh,bCanCrouch=False,bCanJump=False,bCanWalk=False,bCanSwim=False,bCanFly=False)
SupportedAgentsMask=(bSupportsAgent0=True,bSupportsAgent1=True,bSupportsAgent2=True,bSupportsAgent3=True,bSupportsAgent4=True,bSupportsAgent5=True,bSupportsAgent6=True,bSupportsAgent7=True,bSupportsAgent8=True,bSupportsAgent9=True,bSupportsAgent10=True,bSupportsAgent11=True,bSupportsAgent12=True,bSupportsAgent13=True,bSupportsAgent14=True,bSupportsAgent15=True)
DirtyAreasUpdateFreq=60.000000
[/Script/NavigationSystem.RecastNavMesh]
RuntimeGeneration=Dynamic
bAutoDestroyWhenNoNavigation=False
ObservedPathsTickInterval=10.000000
AgentRadius=10.000000
CellSize=10.000000
[/Script/Engine.UserInterfaceSettings]
UIScaleCurve=(EditorCurveData=(Keys=((Time=540.000000,Value=0.250000),(Time=2160.000000,Value=1.000000)),DefaultValue=340282346638528859811704183484516925440.000000,PreInfinityExtrap=RCCE_Constant,PostInfinityExtrap=RCCE_Constant),ExternalCurve=None)
[ConsoleVariables]
fx.Niagara.ForceLastTickGroup=1
[/Script/Engine.StreamingSettings]
s.UseBackgroundLevelStreaming=True
[/Script/Engine.VirtualTexturePoolConfig]
DefaultSizeInMegabyte=512
+Pools=(SizeInMegabyte=64,MinTileSize=0,MaxTileSize=9999,Formats=(PF_DXTI,PF_DXT5))
+Pools=(SizeInMegabyte=512,MinTileSize=0,MaxTileSize=9999,Formats=(PF_A32B32G32R32F))
[/Script/OculusHMD.OculusHMDRuntimeSettings]
bAutoEnabled=True
bEnableSpecificColorGamut=False
ColorSpace=Quest
bSupportsDash=True
bCompositesDepth=True
bHQDistortion=False
PixelDensityMin=0.250000
PixelDensityMax=1.000000
CPULevel=2
GPULevel=3
FFRLevel=FFR_Off
FFRDynamic=False
bChromaCorrection=False
bRecenterHMDWithController=True
bFocusAware=True
bLateLatching=False
bRequiresSystemKeyboard=False
HandTrackingSupport=ControllersOnly
bPhaseSync=False
[/Script/Engine.NetworkSettings]
MaxRepArraySize=2048
[/Script/UnrealEd.CookerSettings]
bIterativeCookingForFileCookContent=True
bIterativeCookingForLaunchOn=True
[/Script/AndroidFileServerEditor.AndroidFileServerRuntimeSettings]
bEnablePlugin=True
bAllowNetworkConnection=True
SecurityToken=136DD5434C948D276CDD5797EC78C532
bIncludeInShipping=False
bAllowExternalStartInShipping=False
bCompileAFSProject=False
bUseCompression=False
bLogFiles=False
bReportStats=False
ConnectionType=USBOnly
bUseManualIPAddress=False
ManualIPAddress=
+78
View File
@@ -0,0 +1,78 @@
[/Script/EngineSettings.GeneralProjectSettings]
ProjectID=F58CF58249FB6CF654B46CA3DB0FE64D
[/Script/UnrealEd.ProjectPackagingSettings]
Build=IfProjectHasCode
BuildConfiguration=PPBC_Development
BuildTarget=
StagingDirectory=(Path="E:/tempBuilds/fortis")
FullRebuild=False
ForDistribution=False
IncludeDebugFiles=False
BlueprintNativizationMethod=Disabled
bIncludeNativizedAssetsInProjectGeneration=False
bExcludeMonolithicEngineHeadersInNativizedCode=False
UsePakFile=True
bUseIoStore=False
bMakeBinaryConfig=False
bGenerateChunks=False
bGenerateNoChunks=False
bChunkHardReferencesOnly=False
bForceOneChunkPerFile=False
MaxChunkSize=0
bBuildHttpChunkInstallData=False
HttpChunkInstallDataDirectory=(Path="")
bCompressed=True
PakFileCompressionFormats=Oodle
bForceUseProjectCompressionFormatIgnoreHardwareOverride=False
PakFileAdditionalCompressionOptions=-compressionblocksize=256KB
PakFileCompressionMethod=Kraken
PakFileCompressionLevel_DebugDevelopment=2
PakFileCompressionLevel_TestShipping=3
PakFileCompressionLevel_Distribution=7
HttpChunkInstallDataVersion=
IncludePrerequisites=True
IncludeAppLocalPrerequisites=False
bShareMaterialShaderCode=True
bDeterministicShaderCodeOrder=False
bSharedMaterialNativeLibraries=True
ApplocalPrerequisitesDirectory=(Path="")
IncludeCrashReporter=False
InternationalizationPreset=English
-CulturesToStage=en
+CulturesToStage=en
LocalizationTargetCatchAllChunkId=0
bCookAll=False
bCookMapsOnly=False
bSkipEditorContent=True
bSkipMovies=False
-IniKeyBlacklist=KeyStorePassword
-IniKeyBlacklist=KeyPassword
-IniKeyBlacklist=rsa.privateexp
-IniKeyBlacklist=rsa.modulus
-IniKeyBlacklist=rsa.publicexp
-IniKeyBlacklist=aes.key
-IniKeyBlacklist=SigningPublicExponent
-IniKeyBlacklist=SigningModulus
-IniKeyBlacklist=SigningPrivateExponent
-IniKeyBlacklist=EncryptionKey
-IniKeyBlacklist=IniKeyBlacklist
-IniKeyBlacklist=IniSectionBlacklist
+IniKeyBlacklist=KeyStorePassword
+IniKeyBlacklist=KeyPassword
+IniKeyBlacklist=rsa.privateexp
+IniKeyBlacklist=rsa.modulus
+IniKeyBlacklist=rsa.publicexp
+IniKeyBlacklist=aes.key
+IniKeyBlacklist=SigningPublicExponent
+IniKeyBlacklist=SigningModulus
+IniKeyBlacklist=SigningPrivateExponent
+IniKeyBlacklist=EncryptionKey
+IniKeyBlacklist=IniKeyBlacklist
+IniKeyBlacklist=IniSectionBlacklist
+DirectoriesToAlwaysStageAsUFS=(Path="Script")
+DirectoriesToAlwaysStageAsNonUFS=(Path="Script")
+DirectoriesToAlwaysStageAsNonUFS=(Path="Txt")
+200
View File
@@ -0,0 +1,200 @@
[/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="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="Mouse2D",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="Daydream_Left_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Daydream_Left_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Daydream_Right_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Daydream_Right_Trackpad_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="MotionController_Left_Thumbstick_Z",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MagicLeap_Left_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MagicLeap_Left_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MagicLeap_Left_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MagicLeap_Left_Trackpad_Force",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MagicLeap_Left_Touch1_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MagicLeap_Left_Touch1_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MagicLeap_Left_Touch1_Force",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MotionController_Right_Thumbstick_Z",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MagicLeap_Right_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MagicLeap_Right_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MagicLeap_Right_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MagicLeap_Right_Trackpad_Force",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MagicLeap_Right_Touch1_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MagicLeap_Right_Touch1_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MagicLeap_Right_Touch1_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_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="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=True
bEnableMouseSmoothing=True
bEnableFOVScaling=True
bCaptureMouseOnLaunch=True
bEnableLegacyInputScales=True
bEnableMotionControls=True
bFilterInputByPlatformUser=False
bShouldFlushPressedKeysOnViewportFocusLost=True
bEnableDynamicComponentInputBinding=True
bAlwaysShowTouchInterface=True
bShowConsoleOnFourFingerTap=True
bEnableGestureRecognizer=False
bUseAutocorrect=False
DefaultViewportMouseCaptureMode=CapturePermanently_IncludingInitialMouseDown
DefaultViewportMouseLockMode=LockOnCapture
FOVScale=0.011110
DoubleClickTime=0.200000
+ActionMappings=(ActionName="GrabLeft",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=OculusTouch_Left_Grip_Click)
+ActionMappings=(ActionName="GrabRight",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=OculusTouch_Right_Grip_Click)
+ActionMappings=(ActionName="TriggerLeft",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=OculusTouch_Left_Trigger_Click)
+ActionMappings=(ActionName="TriggerRight",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=OculusTouch_Right_Trigger_Click)
+ActionMappings=(ActionName="GrabLeft",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=ValveIndex_Left_Grip_Axis)
+ActionMappings=(ActionName="GrabLeft",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=MixedReality_Left_Grip_Click)
+ActionMappings=(ActionName="GrabLeft",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Vive_Left_Grip_Click)
+ActionMappings=(ActionName="GrabRight",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=ValveIndex_Right_Grip_Axis)
+ActionMappings=(ActionName="GrabRight",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=MixedReality_Right_Grip_Click)
+ActionMappings=(ActionName="GrabRight",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Vive_Right_Grip_Click)
+ActionMappings=(ActionName="TriggerLeft",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=ValveIndex_Left_Trigger_Click)
+ActionMappings=(ActionName="TriggerLeft",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=MixedReality_Left_Trigger_Click)
+ActionMappings=(ActionName="TriggerLeft",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Vive_Left_Trigger_Click)
+ActionMappings=(ActionName="TriggerRight",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=ValveIndex_Right_Trigger_Click)
+ActionMappings=(ActionName="TriggerRight",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=MixedReality_Right_Trigger_Click)
+ActionMappings=(ActionName="TriggerRight",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Vive_Right_Trigger_Click)
+ActionMappings=(ActionName="SpectatorResetFOV",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=MiddleMouseButton)
+ActionMappings=(ActionName="SpectatorFadeToggle",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=F)
+ActionMappings=(ActionName="SpectatorActiveToggle",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Tab)
+ActionMappings=(ActionName="SpectatorResetRotation",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=R)
+ActionMappings=(ActionName="MenuToggleLeft",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=OculusTouch_Left_Menu_Click)
+ActionMappings=(ActionName="MenuToggleLeft",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=ValveIndex_Left_System_Click)
+ActionMappings=(ActionName="MenuToggleLeft",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=MixedReality_Left_Menu_Click)
+ActionMappings=(ActionName="MenuToggleLeft",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Vive_Left_Menu_Click)
+ActionMappings=(ActionName="MenuToggleRight",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=ValveIndex_Right_System_Click)
+ActionMappings=(ActionName="MenuToggleRight",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=MixedReality_Right_Menu_Click)
+ActionMappings=(ActionName="MenuToggleRight",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Vive_Right_Menu_Click)
+ActionMappings=(ActionName="EXIT_APPLICATION",bShift=True,bCtrl=True,bAlt=True,bCmd=False,Key=None)
+ActionMappings=(ActionName="GrabRight",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=K)
+AxisMappings=(AxisName="MovementAxisLeft_X",Scale=1.000000,Key=OculusTouch_Left_Thumbstick_X)
+AxisMappings=(AxisName="GrabAxisLeft",Scale=1.000000,Key=OculusTouch_Left_Grip_Axis)
+AxisMappings=(AxisName="MovementAxisLeft_Y",Scale=1.000000,Key=OculusTouch_Left_Thumbstick_Y)
+AxisMappings=(AxisName="TriggerAxisLeft",Scale=1.000000,Key=OculusTouch_Left_Trigger_Axis)
+AxisMappings=(AxisName="TriggerAxisRight",Scale=1.000000,Key=OculusTouch_Right_Trigger_Axis)
+AxisMappings=(AxisName="MovementAxisLeft_X",Scale=1.000000,Key=ValveIndex_Left_Thumbstick_X)
+AxisMappings=(AxisName="MovementAxisLeft_X",Scale=1.000000,Key=MixedReality_Left_Thumbstick_X)
+AxisMappings=(AxisName="MovementAxisLeft_X",Scale=1.000000,Key=Vive_Left_Trackpad_X)
+AxisMappings=(AxisName="GrabAxisLeft",Scale=1.000000,Key=ValveIndex_Left_Grip_Axis)
+AxisMappings=(AxisName="GrabAxisLeft",Scale=1.000000,Key=MixedReality_Left_Grip_Click)
+AxisMappings=(AxisName="GrabAxisLeft",Scale=1.000000,Key=Vive_Left_Grip_Click)
+AxisMappings=(AxisName="GrabAxisRight",Scale=1.000000,Key=OculusTouch_Right_Grip_Axis)
+AxisMappings=(AxisName="GrabAxisRight",Scale=1.000000,Key=ValveIndex_Right_Grip_Axis)
+AxisMappings=(AxisName="GrabAxisRight",Scale=1.000000,Key=MixedReality_Right_Grip_Click)
+AxisMappings=(AxisName="GrabAxisRight",Scale=1.000000,Key=Vive_Right_Grip_Click)
+AxisMappings=(AxisName="TriggerAxisLeft",Scale=1.000000,Key=ValveIndex_Left_Trigger_Axis)
+AxisMappings=(AxisName="TriggerAxisLeft",Scale=1.000000,Key=MixedReality_Left_Trigger_Axis)
+AxisMappings=(AxisName="TriggerAxisLeft",Scale=1.000000,Key=Vive_Left_Trigger_Axis)
+AxisMappings=(AxisName="TriggerAxisRight",Scale=1.000000,Key=ValveIndex_Right_Trigger_Axis)
+AxisMappings=(AxisName="TriggerAxisRight",Scale=1.000000,Key=MixedReality_Right_Trigger_Axis)
+AxisMappings=(AxisName="TriggerAxisRight",Scale=1.000000,Key=Vive_Right_Trigger_Axis)
+AxisMappings=(AxisName="MovementAxisLeft_Y",Scale=1.000000,Key=ValveIndex_Left_Thumbstick_Y)
+AxisMappings=(AxisName="MovementAxisLeft_Y",Scale=1.000000,Key=MixedReality_Left_Thumbstick_Y)
+AxisMappings=(AxisName="MovementAxisLeft_Y",Scale=1.000000,Key=Vive_Left_Trackpad_Y)
+AxisMappings=(AxisName="SpectatorYaw",Scale=1.000000,Key=MouseX)
+AxisMappings=(AxisName="SpectatorPitch",Scale=1.000000,Key=MouseY)
+AxisMappings=(AxisName="SpectatorFOV",Scale=1.000000,Key=MouseWheelAxis)
+AxisMappings=(AxisName="SpectatorMoveForward",Scale=1.000000,Key=W)
+AxisMappings=(AxisName="SpectatorMoveRight",Scale=1.000000,Key=D)
+AxisMappings=(AxisName="SpectatorMoveForward",Scale=-1.000000,Key=S)
+AxisMappings=(AxisName="SpectatorMoveRight",Scale=-1.000000,Key=A)
+AxisMappings=(AxisName="SpectatorMoveUp",Scale=1.000000,Key=SpaceBar)
+AxisMappings=(AxisName="SpectatorMoveUp",Scale=1.000000,Key=E)
+AxisMappings=(AxisName="SpectatorMoveUp",Scale=-1.000000,Key=Q)
+AxisMappings=(AxisName="MovementAxisRight_X",Scale=1.000000,Key=OculusTouch_Right_Thumbstick_X)
+AxisMappings=(AxisName="MovementAxisRight_X",Scale=1.000000,Key=ValveIndex_Right_Thumbstick_X)
+AxisMappings=(AxisName="MovementAxisRight_X",Scale=1.000000,Key=MixedReality_Right_Thumbstick_X)
+AxisMappings=(AxisName="MovementAxisRight_X",Scale=1.000000,Key=Vive_Right_Trackpad_X)
+AxisMappings=(AxisName="MovementAxisRight_Y",Scale=1.000000,Key=OculusTouch_Right_Thumbstick_Y)
+AxisMappings=(AxisName="MovementAxisRight_Y",Scale=1.000000,Key=ValveIndex_Right_Thumbstick_Y)
+AxisMappings=(AxisName="MovementAxisRight_Y",Scale=1.000000,Key=MixedReality_Right_Thumbstick_Y)
+AxisMappings=(AxisName="MovementAxisRight_Y",Scale=1.000000,Key=Vive_Right_Trackpad_Y)
+AxisMappings=(AxisName="MovementAxisRight_Y",Scale=1.000000,Key=OculusTouch_Right_A_Click)
DefaultPlayerInputClass=/Script/EnhancedInput.EnhancedPlayerInput
DefaultInputComponentClass=/Script/EnhancedInput.EnhancedInputComponent
DefaultTouchInterface=None
-ConsoleKeys=Tilde
+ConsoleKeys=Tilde
+5
View File
@@ -0,0 +1,5 @@
[/Script/PixelStreaming.PixelStreamingSettings]
bPixelStreamerMouseAlwaysAttached=False
+13
View File
@@ -0,0 +1,13 @@
{
"name": "Default bindings for Gamepads",
"controller_type": "gamepad",
"last_edited_by": "UnrealEngine",
"bindings":
{
"/actions/main":
{
"sources": []
}
},
"description": "FORTIS_Taktika-18319896"
}
@@ -0,0 +1,177 @@
{
"name": "Default bindings for MixedReality",
"controller_type": "holographic_controller",
"last_edited_by": "UnrealEngine",
"bindings":
{
"/actions/main":
{
"sources": [
{
"mode": "button",
"path": "/user/hand/left/input/grip",
"inputs":
{
"click":
{
"output": "/actions/main/in/GrabLeft"
}
}
},
{
"mode": "button",
"path": "/user/hand/right/input/grip",
"inputs":
{
"click":
{
"output": "/actions/main/in/GrabRight"
}
}
},
{
"mode": "trigger",
"path": "/user/hand/left/input/trigger",
"inputs":
{
"click":
{
"output": "/actions/main/in/TriggerLeft"
}
}
},
{
"mode": "trigger",
"path": "/user/hand/right/input/trigger",
"inputs":
{
"click":
{
"output": "/actions/main/in/TriggerRight"
}
}
},
{
"mode": "button",
"path": "/user/hand/left/input/application_menu",
"inputs":
{
"click":
{
"output": "/actions/main/in/MenuToggleLeft"
}
}
},
{
"mode": "button",
"path": "/user/hand/right/input/application_menu",
"inputs":
{
"click":
{
"output": "/actions/main/in/MenuToggleRight"
}
}
},
{
"mode": "joystick",
"path": "/user/hand/left/input/joystick",
"inputs":
{
"position":
{
"output": "/actions/main/in/MovementAxisLeft_X,MovementAxisLeft_Y X Y_axis2d"
}
}
},
{
"mode": "scalar_constant",
"path": "/user/hand/left/input/grip",
"inputs":
{
"value":
{
"output": "/actions/main/in/GrabAxisLeft axis"
}
}
},
{
"mode": "trigger",
"path": "/user/hand/left/input/trigger",
"inputs":
{
"pull":
{
"output": "/actions/main/in/TriggerAxisLeft axis"
}
}
},
{
"mode": "trigger",
"path": "/user/hand/right/input/trigger",
"inputs":
{
"pull":
{
"output": "/actions/main/in/TriggerAxisRight axis"
}
}
},
{
"mode": "scalar_constant",
"path": "/user/hand/right/input/grip",
"inputs":
{
"value":
{
"output": "/actions/main/in/GrabAxisRight axis"
}
}
},
{
"mode": "joystick",
"path": "/user/hand/right/input/joystick",
"inputs":
{
"position":
{
"output": "/actions/main/in/MovementAxisRight_X,MovementAxisRight_Y X Y_axis2d"
}
}
}
],
"poses": [
{
"output": "/actions/main/in/controllerleft",
"path": "/user/hand/left/pose/raw",
"requirement": "optional"
},
{
"output": "/actions/main/in/controllerright",
"path": "/user/hand/right/pose/raw"
}
],
"skeleton": [
{
"output": "/actions/main/in/skeletonleft",
"path": "/user/hand/left/input/skeleton/left"
},
{
"output": "/actions/main/in/skeletonright",
"path": "/user/hand/right/input/skeleton/right"
}
],
"haptics": [
{
"output": "/actions/main/out/vibrateleft",
"path": "/user/hand/left/output/haptic"
},
{
"output": "/actions/main/out/vibrateright",
"path": "/user/hand/right/output/haptic"
}
]
}
},
"description": "FORTIS_Taktika-18319896"
}
@@ -0,0 +1,177 @@
{
"name": "Default bindings for HPMixedRealityController",
"controller_type": "hpmotioncontroller",
"last_edited_by": "UnrealEngine",
"bindings":
{
"/actions/main":
{
"sources": [
{
"mode": "button",
"path": "/user/hand/left/input/grip",
"inputs":
{
"click":
{
"output": "/actions/main/in/GrabLeft"
}
}
},
{
"mode": "button",
"path": "/user/hand/right/input/grip",
"inputs":
{
"click":
{
"output": "/actions/main/in/GrabRight"
}
}
},
{
"mode": "trigger",
"path": "/user/hand/left/input/trigger",
"inputs":
{
"click":
{
"output": "/actions/main/in/TriggerLeft"
}
}
},
{
"mode": "trigger",
"path": "/user/hand/right/input/trigger",
"inputs":
{
"click":
{
"output": "/actions/main/in/TriggerRight"
}
}
},
{
"mode": "button",
"path": "/user/hand/left/input/application_menu",
"inputs":
{
"click":
{
"output": "/actions/main/in/MenuToggleLeft"
}
}
},
{
"mode": "button",
"path": "/user/hand/right/input/application_menu",
"inputs":
{
"click":
{
"output": "/actions/main/in/MenuToggleRight"
}
}
},
{
"mode": "joystick",
"path": "/user/hand/left/input/joystick",
"inputs":
{
"position":
{
"output": "/actions/main/in/MovementAxisLeft_X,MovementAxisLeft_Y X Y_axis2d"
}
}
},
{
"mode": "scalar_constant",
"path": "/user/hand/left/input/grip",
"inputs":
{
"value":
{
"output": "/actions/main/in/GrabAxisLeft axis"
}
}
},
{
"mode": "trigger",
"path": "/user/hand/left/input/trigger",
"inputs":
{
"pull":
{
"output": "/actions/main/in/TriggerAxisLeft axis"
}
}
},
{
"mode": "trigger",
"path": "/user/hand/right/input/trigger",
"inputs":
{
"pull":
{
"output": "/actions/main/in/TriggerAxisRight axis"
}
}
},
{
"mode": "scalar_constant",
"path": "/user/hand/right/input/grip",
"inputs":
{
"value":
{
"output": "/actions/main/in/GrabAxisRight axis"
}
}
},
{
"mode": "joystick",
"path": "/user/hand/right/input/joystick",
"inputs":
{
"position":
{
"output": "/actions/main/in/MovementAxisRight_X,MovementAxisRight_Y X Y_axis2d"
}
}
}
],
"poses": [
{
"output": "/actions/main/in/controllerleft",
"path": "/user/hand/left/pose/raw",
"requirement": "optional"
},
{
"output": "/actions/main/in/controllerright",
"path": "/user/hand/right/pose/raw"
}
],
"skeleton": [
{
"output": "/actions/main/in/skeletonleft",
"path": "/user/hand/left/input/skeleton/left"
},
{
"output": "/actions/main/in/skeletonright",
"path": "/user/hand/right/input/skeleton/right"
}
],
"haptics": [
{
"output": "/actions/main/out/vibrateleft",
"path": "/user/hand/left/output/haptic"
},
{
"output": "/actions/main/out/vibrateright",
"path": "/user/hand/right/output/haptic"
}
]
}
},
"description": "FORTIS_Taktika-18319896"
}
+13
View File
@@ -0,0 +1,13 @@
{
"name": "Default bindings for Valve Index Headset",
"controller_type": "indexhmd",
"last_edited_by": "UnrealEngine",
"bindings":
{
"/actions/main":
{
"sources": []
}
},
"description": "FORTIS_Taktika-18319896"
}
+155
View File
@@ -0,0 +1,155 @@
{
"name": "Default bindings for ValveIndex",
"controller_type": "knuckles",
"last_edited_by": "UnrealEngine",
"bindings":
{
"/actions/main":
{
"sources": [
{
"mode": "button",
"path": "/user/hand/left/input/grip",
"inputs":
{
"touch":
{
"output": "/actions/main/in/GrabLeft"
}
}
},
{
"mode": "button",
"path": "/user/hand/right/input/grip",
"inputs":
{
"touch":
{
"output": "/actions/main/in/GrabRight"
}
}
},
{
"mode": "trigger",
"path": "/user/hand/left/input/trigger",
"inputs":
{
"click":
{
"output": "/actions/main/in/TriggerLeft"
}
}
},
{
"mode": "trigger",
"path": "/user/hand/right/input/trigger",
"inputs":
{
"click":
{
"output": "/actions/main/in/TriggerRight"
}
}
},
{
"mode": "joystick",
"path": "/user/hand/left/input/thumbstick",
"inputs":
{
"position":
{
"output": "/actions/main/in/MovementAxisLeft_X,MovementAxisLeft_Y X Y_axis2d"
}
}
},
{
"mode": "force_sensor",
"path": "/user/hand/left/input/grip",
"inputs":
{
"force":
{
"output": "/actions/main/in/GrabAxisLeft axis"
}
}
},
{
"mode": "trigger",
"path": "/user/hand/left/input/trigger",
"inputs":
{
"pull":
{
"output": "/actions/main/in/TriggerAxisLeft axis"
}
}
},
{
"mode": "trigger",
"path": "/user/hand/right/input/trigger",
"inputs":
{
"pull":
{
"output": "/actions/main/in/TriggerAxisRight axis"
}
}
},
{
"mode": "force_sensor",
"path": "/user/hand/right/input/grip",
"inputs":
{
"force":
{
"output": "/actions/main/in/GrabAxisRight axis"
}
}
},
{
"mode": "joystick",
"path": "/user/hand/right/input/thumbstick",
"inputs":
{
"position":
{
"output": "/actions/main/in/MovementAxisRight_X,MovementAxisRight_Y X Y_axis2d"
}
}
}
],
"poses": [
{
"output": "/actions/main/in/controllerleft",
"path": "/user/hand/left/pose/raw",
"requirement": "optional"
},
{
"output": "/actions/main/in/controllerright",
"path": "/user/hand/right/pose/raw"
}
],
"skeleton": [
{
"output": "/actions/main/in/skeletonleft",
"path": "/user/hand/left/input/skeleton/left"
},
{
"output": "/actions/main/in/skeletonright",
"path": "/user/hand/right/input/skeleton/right"
}
],
"haptics": [
{
"output": "/actions/main/out/vibrateleft",
"path": "/user/hand/left/output/haptic"
},
{
"output": "/actions/main/out/vibrateright",
"path": "/user/hand/right/output/haptic"
}
]
}
},
"description": "FORTIS_Taktika-18319896"
}
+177
View File
@@ -0,0 +1,177 @@
{
"name": "Default bindings for OculusTouch",
"controller_type": "oculus_touch",
"last_edited_by": "UnrealEngine",
"bindings":
{
"/actions/main":
{
"sources": [
{
"mode": "trigger",
"path": "/user/hand/left/input/grip",
"inputs":
{
"click":
{
"output": "/actions/main/in/GrabLeft"
}
}
},
{
"mode": "trigger",
"path": "/user/hand/right/input/grip",
"inputs":
{
"click":
{
"output": "/actions/main/in/GrabRight"
}
}
},
{
"mode": "trigger",
"path": "/user/hand/left/input/trigger",
"inputs":
{
"click":
{
"output": "/actions/main/in/TriggerLeft"
}
}
},
{
"mode": "trigger",
"path": "/user/hand/right/input/trigger",
"inputs":
{
"click":
{
"output": "/actions/main/in/TriggerRight"
}
}
},
{
"mode": "button",
"path": "/user/hand/left/input/application_menu",
"inputs":
{
"click":
{
"output": "/actions/main/in/MenuToggleLeft"
}
}
},
{
"mode": "joystick",
"path": "/user/hand/left/input/joystick",
"inputs":
{
"position":
{
"output": "/actions/main/in/MovementAxisLeft_X,MovementAxisLeft_Y X Y_axis2d"
}
}
},
{
"mode": "trigger",
"path": "/user/hand/left/input/grip",
"inputs":
{
"pull":
{
"output": "/actions/main/in/GrabAxisLeft axis"
}
}
},
{
"mode": "trigger",
"path": "/user/hand/left/input/trigger",
"inputs":
{
"pull":
{
"output": "/actions/main/in/TriggerAxisLeft axis"
}
}
},
{
"mode": "trigger",
"path": "/user/hand/right/input/trigger",
"inputs":
{
"pull":
{
"output": "/actions/main/in/TriggerAxisRight axis"
}
}
},
{
"mode": "trigger",
"path": "/user/hand/right/input/grip",
"inputs":
{
"pull":
{
"output": "/actions/main/in/GrabAxisRight axis"
}
}
},
{
"mode": "joystick",
"path": "/user/hand/right/input/joystick",
"inputs":
{
"position":
{
"output": "/actions/main/in/MovementAxisRight_X,MovementAxisRight_Y X Y_axis2d"
}
}
},
{
"mode": "button",
"path": "/user/hand/right/input/a",
"inputs":
{
"pull":
{
"output": "/actions/main/in/MovementAxisRight_Y axis"
}
}
}
],
"poses": [
{
"output": "/actions/main/in/controllerleft",
"path": "/user/hand/left/pose/raw",
"requirement": "optional"
},
{
"output": "/actions/main/in/controllerright",
"path": "/user/hand/right/pose/raw"
}
],
"skeleton": [
{
"output": "/actions/main/in/skeletonleft",
"path": "/user/hand/left/input/skeleton/left"
},
{
"output": "/actions/main/in/skeletonright",
"path": "/user/hand/right/input/skeleton/right"
}
],
"haptics": [
{
"output": "/actions/main/out/vibrateleft",
"path": "/user/hand/left/output/haptic"
},
{
"output": "/actions/main/out/vibrateright",
"path": "/user/hand/right/output/haptic"
}
]
}
},
"description": "FORTIS_Taktika-18319896"
}
+13
View File
@@ -0,0 +1,13 @@
{
"name": "Default bindings for Rift Headset",
"controller_type": "rift",
"last_edited_by": "UnrealEngine",
"bindings":
{
"/actions/main":
{
"sources": []
}
},
"description": "FORTIS_Taktika-18319896"
}
@@ -0,0 +1,389 @@
{
"actions": [
{
"name": "/actions/main/in/controllerleft",
"type": "pose",
"requirement": "optional"
},
{
"name": "/actions/main/in/controllerright",
"type": "pose",
"requirement": "optional"
},
{
"name": "/actions/main/in/tracker_camera",
"type": "pose",
"requirement": "optional"
},
{
"name": "/actions/main/in/tracker_chest",
"type": "pose",
"requirement": "optional"
},
{
"name": "/actions/main/in/tracker_shoulder_left",
"type": "pose",
"requirement": "optional"
},
{
"name": "/actions/main/in/tracker_shoulder_right",
"type": "pose",
"requirement": "optional"
},
{
"name": "/actions/main/in/tracker_elbow_left",
"type": "pose",
"requirement": "optional"
},
{
"name": "/actions/main/in/tracker_elbow_right",
"type": "pose",
"requirement": "optional"
},
{
"name": "/actions/main/in/tracker_knee_left",
"type": "pose",
"requirement": "optional"
},
{
"name": "/actions/main/in/tracker_knee_right",
"type": "pose",
"requirement": "optional"
},
{
"name": "/actions/main/in/tracker_waist",
"type": "pose",
"requirement": "optional"
},
{
"name": "/actions/main/in/tracker_foot_left",
"type": "pose",
"requirement": "optional"
},
{
"name": "/actions/main/in/tracker_foot_right",
"type": "pose",
"requirement": "optional"
},
{
"name": "/actions/main/in/tracker_keyboard",
"type": "pose",
"requirement": "optional"
},
{
"name": "/actions/main/in/tracker_handed_pose_left",
"type": "pose",
"requirement": "optional"
},
{
"name": "/actions/main/in/tracker_handed_pose_right",
"type": "pose",
"requirement": "optional"
},
{
"name": "/actions/main/in/tracker_handed_back_left",
"type": "pose",
"requirement": "optional"
},
{
"name": "/actions/main/in/tracker_handed_back_right",
"type": "pose",
"requirement": "optional"
},
{
"name": "/actions/main/in/tracker_handed_front_left",
"type": "pose",
"requirement": "optional"
},
{
"name": "/actions/main/in/tracker_handed_front_right",
"type": "pose",
"requirement": "optional"
},
{
"name": "/actions/main/in/tracker_handed_frontr_left",
"type": "pose",
"requirement": "optional"
},
{
"name": "/actions/main/in/tracker_handed_frontr_right",
"type": "pose",
"requirement": "optional"
},
{
"name": "/actions/main/in/tracker_handed_grip_left",
"type": "pose",
"requirement": "optional"
},
{
"name": "/actions/main/in/tracker_handed_grip_right",
"type": "pose",
"requirement": "optional"
},
{
"name": "/actions/main/in/skeletonleft",
"type": "skeleton",
"skeleton": "/skeleton/hand/left",
"requirement": "optional"
},
{
"name": "/actions/main/in/skeletonright",
"type": "skeleton",
"skeleton": "/skeleton/hand/right",
"requirement": "optional"
},
{
"name": "/actions/main/out/vibrateleft",
"type": "vibration",
"requirement": "optional"
},
{
"name": "/actions/main/out/vibrateright",
"type": "vibration",
"requirement": "optional"
},
{
"name": "/actions/main/in/open_console",
"type": "boolean",
"requirement": "optional"
},
{
"name": "/actions/main/in/GrabLeft",
"type": "boolean"
},
{
"name": "/actions/main/in/GrabRight",
"type": "boolean"
},
{
"name": "/actions/main/in/TriggerLeft",
"type": "boolean"
},
{
"name": "/actions/main/in/TriggerRight",
"type": "boolean"
},
{
"name": "/actions/main/in/MenuToggleLeft",
"type": "boolean"
},
{
"name": "/actions/main/in/MenuToggleRight",
"type": "boolean"
},
{
"name": "/actions/main/in/MovementAxisLeft_X,MovementAxisLeft_Y X Y_axis2d",
"type": "vector2"
},
{
"name": "/actions/main/in/GrabAxisLeft axis",
"type": "vector1"
},
{
"name": "/actions/main/in/TriggerAxisLeft axis",
"type": "vector1"
},
{
"name": "/actions/main/in/TriggerAxisRight axis",
"type": "vector1"
},
{
"name": "/actions/main/in/GrabAxisRight axis",
"type": "vector1"
},
{
"name": "/actions/main/in/SpectatorYaw axis",
"type": "vector1"
},
{
"name": "/actions/main/in/SpectatorPitch axis",
"type": "vector1"
},
{
"name": "/actions/main/in/SpectatorFOV axis",
"type": "vector1"
},
{
"name": "/actions/main/in/SpectatorMoveForward axis",
"type": "vector1"
},
{
"name": "/actions/main/in/SpectatorMoveRight axis",
"type": "vector1"
},
{
"name": "/actions/main/in/SpectatorMoveUp axis",
"type": "vector1"
},
{
"name": "/actions/main/in/MovementAxisRight_X,MovementAxisRight_Y X Y_axis2d",
"type": "vector2"
},
{
"name": "/actions/main/in/MovementAxisRight_Y axis",
"type": "vector1"
}
],
"action_sets": [
{
"name": "/actions/main",
"usage": "leftright"
}
],
"default_bindings": [
{
"controller_type": "gamepad",
"binding_url": "gamepad.json"
},
{
"controller_type": "holographic_controller",
"binding_url": "holographic_controller.json"
},
{
"controller_type": "hpmotioncontroller",
"binding_url": "hpmotioncontroller.json"
},
{
"controller_type": "indexhmd",
"binding_url": "indexhmd.json"
},
{
"controller_type": "knuckles",
"binding_url": "knuckles.json"
},
{
"controller_type": "oculus_touch",
"binding_url": "oculus_touch.json"
},
{
"controller_type": "rift",
"binding_url": "rift.json"
},
{
"controller_type": "vive",
"binding_url": "vive.json"
},
{
"controller_type": "vive_controller",
"binding_url": "vive_controller.json"
},
{
"controller_type": "vive_cosmos_controller",
"binding_url": "vive_cosmos_controller.json"
},
{
"controller_type": "vive_pro",
"binding_url": "vive_pro.json"
},
{
"controller_type": "vive_tracker",
"binding_url": "vive_tracker.json"
},
{
"controller_type": "vive_tracker_camera",
"binding_url": "vive_tracker_camera.json"
},
{
"controller_type": "vive_tracker_chest",
"binding_url": "vive_tracker_chest.json"
},
{
"controller_type": "vive_tracker_handed",
"binding_url": "vive_tracker_handed.json"
},
{
"controller_type": "vive_tracker_keyboard",
"binding_url": "vive_tracker_keyboard.json"
},
{
"controller_type": "vive_tracker_left_elbow",
"binding_url": "vive_tracker_left_elbow.json"
},
{
"controller_type": "vive_tracker_left_foot",
"binding_url": "vive_tracker_left_foot.json"
},
{
"controller_type": "vive_tracker_left_knee",
"binding_url": "vive_tracker_left_knee.json"
},
{
"controller_type": "vive_tracker_left_shoulder",
"binding_url": "vive_tracker_left_shoulder.json"
},
{
"controller_type": "vive_tracker_right_elbow",
"binding_url": "vive_tracker_right_elbow.json"
},
{
"controller_type": "vive_tracker_right_foot",
"binding_url": "vive_tracker_right_foot.json"
},
{
"controller_type": "vive_tracker_right_knee",
"binding_url": "vive_tracker_right_knee.json"
},
{
"controller_type": "vive_tracker_right_shoulder",
"binding_url": "vive_tracker_right_shoulder.json"
},
{
"controller_type": "vive_tracker_waist",
"binding_url": "vive_tracker_waist.json"
}
],
"localization": [
{
"language_tag": "en_us",
"/actions/main/in/controllerleft": "Left Controller [Pose]",
"/actions/main/in/controllerright": "Right Controller [Pose]",
"/actions/main/in/tracker_camera": "Camera [Tracker]",
"/actions/main/in/tracker_chest": "Chest [Tracker]",
"/actions/main/in/tracker_shoulder_left": "Shoulder Left [Tracker]",
"/actions/main/in/tracker_shoulder_right": "Shoulder Right [Tracker]",
"/actions/main/in/tracker_elbow_left": "Elbow Left [Tracker]",
"/actions/main/in/tracker_elbow_right": "Elbow Right [Tracker]",
"/actions/main/in/tracker_knee_left": "Knee Left [Tracker]",
"/actions/main/in/tracker_knee_right": "Knee Right [Tracker]",
"/actions/main/in/tracker_waist": "Waist [Tracker]",
"/actions/main/in/tracker_foot_left": "Foot Left [Tracker]",
"/actions/main/in/tracker_foot_right": "Foot Right [Tracker]",
"/actions/main/in/tracker_keyboard": "Keyboard [Tracker]",
"/actions/main/in/tracker_handed_pose_left": "Raw Pose Left [Tracker]",
"/actions/main/in/tracker_handed_pose_right": "Raw Pose Right [Tracker]",
"/actions/main/in/tracker_handed_back_left": "Handed Back Left [Tracker]",
"/actions/main/in/tracker_handed_back_right": "Handed Back Right [Tracker]",
"/actions/main/in/tracker_handed_front_left": "Handed Front Left [Tracker]",
"/actions/main/in/tracker_handed_front_right": "Handed Front Right [Tracker]",
"/actions/main/in/tracker_handed_frontr_left": "Handed Front Rolled Left [Tracker]",
"/actions/main/in/tracker_handed_frontr_right": "Handed Front Rolled Right [Tracker]",
"/actions/main/in/tracker_handed_grip_left": "Handed Pistol Grip Left [Tracker]",
"/actions/main/in/tracker_handed_grip_right": "Handed Pistol Grip Right [Tracker]",
"/actions/main/in/skeletonleft": "Skeleton (Left)",
"/actions/main/in/skeletonright": "Skeleton (Right)",
"/actions/main/out/vibrateleft": "Haptic (Left)",
"/actions/main/out/vibrateright": "Haptic (Right)",
"/actions/main/in/open_console": "Open Console",
"/actions/main/in/GrabLeft": "GrabLeft",
"/actions/main/in/GrabRight": "GrabRight",
"/actions/main/in/TriggerLeft": "TriggerLeft",
"/actions/main/in/TriggerRight": "TriggerRight",
"/actions/main/in/MenuToggleLeft": "MenuToggleLeft",
"/actions/main/in/MenuToggleRight": "MenuToggleRight",
"/actions/main/in/MovementAxisLeft_X,MovementAxisLeft_Y X Y_axis2d": "MovementAxisLeft",
"/actions/main/in/GrabAxisLeft axis": "GrabAxisLeft",
"/actions/main/in/TriggerAxisLeft axis": "TriggerAxisLeft",
"/actions/main/in/TriggerAxisRight axis": "TriggerAxisRight",
"/actions/main/in/GrabAxisRight axis": "GrabAxisRight",
"/actions/main/in/SpectatorYaw axis": "SpectatorYaw",
"/actions/main/in/SpectatorPitch axis": "SpectatorPitch",
"/actions/main/in/SpectatorFOV axis": "SpectatorFOV",
"/actions/main/in/SpectatorMoveForward axis": "SpectatorMoveForward",
"/actions/main/in/SpectatorMoveRight axis": "SpectatorMoveRight",
"/actions/main/in/SpectatorMoveUp axis": "SpectatorMoveUp",
"/actions/main/in/MovementAxisRight_X,MovementAxisRight_Y X Y_axis2d": "MovementAxisRight",
"/actions/main/in/MovementAxisRight_Y axis": "MovementAxisRight_Y",
"/actions/main": "Main Game Actions"
}
]
}
+13
View File
@@ -0,0 +1,13 @@
{
"name": "Default bindings for Vive Headset",
"controller_type": "vive",
"last_edited_by": "UnrealEngine",
"bindings":
{
"/actions/main":
{
"sources": []
}
},
"description": "FORTIS_Taktika-18319896"
}
+177
View File
@@ -0,0 +1,177 @@
{
"name": "Default bindings for Vive",
"controller_type": "vive_controller",
"last_edited_by": "UnrealEngine",
"bindings":
{
"/actions/main":
{
"sources": [
{
"mode": "button",
"path": "/user/hand/left/input/grip",
"inputs":
{
"click":
{
"output": "/actions/main/in/GrabLeft"
}
}
},
{
"mode": "button",
"path": "/user/hand/right/input/grip",
"inputs":
{
"click":
{
"output": "/actions/main/in/GrabRight"
}
}
},
{
"mode": "trigger",
"path": "/user/hand/left/input/trigger",
"inputs":
{
"click":
{
"output": "/actions/main/in/TriggerLeft"
}
}
},
{
"mode": "trigger",
"path": "/user/hand/right/input/trigger",
"inputs":
{
"click":
{
"output": "/actions/main/in/TriggerRight"
}
}
},
{
"mode": "button",
"path": "/user/hand/left/input/application_menu",
"inputs":
{
"click":
{
"output": "/actions/main/in/MenuToggleLeft"
}
}
},
{
"mode": "button",
"path": "/user/hand/right/input/application_menu",
"inputs":
{
"click":
{
"output": "/actions/main/in/MenuToggleRight"
}
}
},
{
"mode": "trackpad",
"path": "/user/hand/left/input/trackpad",
"inputs":
{
"position":
{
"output": "/actions/main/in/MovementAxisLeft_X,MovementAxisLeft_Y X Y_axis2d"
}
}
},
{
"mode": "scalar_constant",
"path": "/user/hand/left/input/grip",
"inputs":
{
"value":
{
"output": "/actions/main/in/GrabAxisLeft axis"
}
}
},
{
"mode": "trigger",
"path": "/user/hand/left/input/trigger",
"inputs":
{
"pull":
{
"output": "/actions/main/in/TriggerAxisLeft axis"
}
}
},
{
"mode": "trigger",
"path": "/user/hand/right/input/trigger",
"inputs":
{
"pull":
{
"output": "/actions/main/in/TriggerAxisRight axis"
}
}
},
{
"mode": "scalar_constant",
"path": "/user/hand/right/input/grip",
"inputs":
{
"value":
{
"output": "/actions/main/in/GrabAxisRight axis"
}
}
},
{
"mode": "trackpad",
"path": "/user/hand/right/input/trackpad",
"inputs":
{
"position":
{
"output": "/actions/main/in/MovementAxisRight_X,MovementAxisRight_Y X Y_axis2d"
}
}
}
],
"poses": [
{
"output": "/actions/main/in/controllerleft",
"path": "/user/hand/left/pose/raw",
"requirement": "optional"
},
{
"output": "/actions/main/in/controllerright",
"path": "/user/hand/right/pose/raw"
}
],
"skeleton": [
{
"output": "/actions/main/in/skeletonleft",
"path": "/user/hand/left/input/skeleton/left"
},
{
"output": "/actions/main/in/skeletonright",
"path": "/user/hand/right/input/skeleton/right"
}
],
"haptics": [
{
"output": "/actions/main/out/vibrateleft",
"path": "/user/hand/left/output/haptic"
},
{
"output": "/actions/main/out/vibrateright",
"path": "/user/hand/right/output/haptic"
}
]
}
},
"description": "FORTIS_Taktika-18319896"
}
@@ -0,0 +1,44 @@
{
"name": "Default bindings for Cosmos",
"controller_type": "vive_cosmos_controller",
"last_edited_by": "UnrealEngine",
"bindings":
{
"/actions/main":
{
"sources": [],
"poses": [
{
"output": "/actions/main/in/controllerleft",
"path": "/user/hand/left/pose/raw",
"requirement": "optional"
},
{
"output": "/actions/main/in/controllerright",
"path": "/user/hand/right/pose/raw"
}
],
"skeleton": [
{
"output": "/actions/main/in/skeletonleft",
"path": "/user/hand/left/input/skeleton/left"
},
{
"output": "/actions/main/in/skeletonright",
"path": "/user/hand/right/input/skeleton/right"
}
],
"haptics": [
{
"output": "/actions/main/out/vibrateleft",
"path": "/user/hand/left/output/haptic"
},
{
"output": "/actions/main/out/vibrateright",
"path": "/user/hand/right/output/haptic"
}
]
}
},
"description": "FORTIS_Taktika-18319896"
}
+13
View File
@@ -0,0 +1,13 @@
{
"name": "Default bindings for Vive Pro Headset",
"controller_type": "vive_pro",
"last_edited_by": "UnrealEngine",
"bindings":
{
"/actions/main":
{
"sources": []
}
},
"description": "FORTIS_Taktika-18319896"
}
+64
View File
@@ -0,0 +1,64 @@
{
"name": "Default bindings for Vive Tracker",
"controller_type": "vive_tracker",
"last_edited_by": "UnrealEngine",
"bindings":
{
"/actions/main":
{
"poses": [
{
"output": "/actions/main/in/tracker_handed_pose_left",
"path": "/user/hand/left/pose/raw",
"requirement": "optional"
},
{
"output": "/actions/main/in/tracker_handed_pose_right",
"path": "/user/hand/right/pose/raw",
"requirement": "optional"
},
{
"output": "/actions/main/in/tracker_handed_back_left",
"path": "/user/hand/left/pose/back",
"requirement": "optional"
},
{
"output": "/actions/main/in/tracker_handed_back_right",
"path": "/user/hand/right/pose/back",
"requirement": "optional"
},
{
"output": "/actions/main/in/tracker_handed_front_left",
"path": "/user/hand/left/pose/front",
"requirement": "optional"
},
{
"output": "/actions/main/in/tracker_handed_front_right",
"path": "/actions/main/in/tracker_handed_front_right",
"requirement": "optional"
},
{
"output": "/actions/main/in/tracker_handed_frontr_left",
"path": "/user/hand/left/pose/front_rolled",
"requirement": "optional"
},
{
"output": "/actions/main/in/tracker_handed_frontr_right",
"path": "/user/hand/right/pose/front_rolled",
"requirement": "optional"
},
{
"output": "/actions/main/in/tracker_handed_grip_left",
"path": "/user/hand/left/pose/pistol",
"requirement": "optional"
},
{
"output": "/actions/main/in/tracker_handed_grip_right",
"path": "/user/hand/right/pose/pistol",
"requirement": "optional"
}
]
}
},
"description": "FORTIS_Taktika-18319896"
}
@@ -0,0 +1,19 @@
{
"name": "Default bindings for Vive Tracker (Camera)",
"controller_type": "vive_tracker_camera",
"last_edited_by": "UnrealEngine",
"bindings":
{
"/actions/main":
{
"poses": [
{
"output": "/actions/main/in/tracker_camera",
"path": "/user/camera/pose/raw",
"requirement": "optional"
}
]
}
},
"description": "FORTIS_Taktika-18319896"
}
@@ -0,0 +1,19 @@
{
"name": "Default bindings for Vive Tracker (Chest)",
"controller_type": "vive_tracker_chest",
"last_edited_by": "UnrealEngine",
"bindings":
{
"/actions/main":
{
"poses": [
{
"output": "/actions/main/in/tracker_chest",
"path": "/user/chest/pose/raw",
"requirement": "optional"
}
]
}
},
"description": "FORTIS_Taktika-18319896"
}
@@ -0,0 +1,64 @@
{
"name": "Default bindings for Vive Tracker (Handed)",
"controller_type": "vive_tracker_handed",
"last_edited_by": "UnrealEngine",
"bindings":
{
"/actions/main":
{
"poses": [
{
"output": "/actions/main/in/tracker_handed_pose_left",
"path": "/user/hand/left/pose/raw",
"requirement": "optional"
},
{
"output": "/actions/main/in/tracker_handed_pose_right",
"path": "/user/hand/right/pose/raw",
"requirement": "optional"
},
{
"output": "/actions/main/in/tracker_handed_back_left",
"path": "/user/hand/left/pose/back",
"requirement": "optional"
},
{
"output": "/actions/main/in/tracker_handed_back_right",
"path": "/user/hand/right/pose/back",
"requirement": "optional"
},
{
"output": "/actions/main/in/tracker_handed_front_left",
"path": "/user/hand/left/pose/front",
"requirement": "optional"
},
{
"output": "/actions/main/in/tracker_handed_front_right",
"path": "/actions/main/in/tracker_handed_front_right",
"requirement": "optional"
},
{
"output": "/actions/main/in/tracker_handed_frontr_left",
"path": "/user/hand/left/pose/front_rolled",
"requirement": "optional"
},
{
"output": "/actions/main/in/tracker_handed_frontr_right",
"path": "/user/hand/right/pose/front_rolled",
"requirement": "optional"
},
{
"output": "/actions/main/in/tracker_handed_grip_left",
"path": "/user/hand/left/pose/pistol",
"requirement": "optional"
},
{
"output": "/actions/main/in/tracker_handed_grip_right",
"path": "/user/hand/right/pose/pistol",
"requirement": "optional"
}
]
}
},
"description": "FORTIS_Taktika-18319896"
}
@@ -0,0 +1,19 @@
{
"name": "Default bindings for Vive Tracker (Keyboard)",
"controller_type": "vive_tracker_keyboard",
"last_edited_by": "UnrealEngine",
"bindings":
{
"/actions/main":
{
"poses": [
{
"output": "/actions/main/in/tracker_keyboard",
"path": "/user/keyboard/pose/raw",
"requirement": "optional"
}
]
}
},
"description": "FORTIS_Taktika-18319896"
}
@@ -0,0 +1,19 @@
{
"name": "Default bindings for Vive Tracker (Left Elbow)",
"controller_type": "vive_tracker_left_elbow",
"last_edited_by": "UnrealEngine",
"bindings":
{
"/actions/main":
{
"poses": [
{
"output": "/actions/main/in/tracker_elbow_left",
"path": "/user/elbow/left/pose/raw",
"requirement": "optional"
}
]
}
},
"description": "FORTIS_Taktika-18319896"
}
@@ -0,0 +1,19 @@
{
"name": "Default bindings for Vive Tracker (Left Foot)",
"controller_type": "vive_tracker_left_foot",
"last_edited_by": "UnrealEngine",
"bindings":
{
"/actions/main":
{
"poses": [
{
"output": "/actions/main/in/tracker_foot_left",
"path": "/user/foot/left/pose/raw",
"requirement": "optional"
}
]
}
},
"description": "FORTIS_Taktika-18319896"
}
@@ -0,0 +1,19 @@
{
"name": "Default bindings for Vive Tracker (Left knee)",
"controller_type": "vive_tracker_left_knee",
"last_edited_by": "UnrealEngine",
"bindings":
{
"/actions/main":
{
"poses": [
{
"output": "/actions/main/in/tracker_knee_left",
"path": "/user/knee/left/pose/raw",
"requirement": "optional"
}
]
}
},
"description": "FORTIS_Taktika-18319896"
}
@@ -0,0 +1,19 @@
{
"name": "Default bindings for Vive Tracker (Left Shoulder)",
"controller_type": "vive_tracker_left_shoulder",
"last_edited_by": "UnrealEngine",
"bindings":
{
"/actions/main":
{
"poses": [
{
"output": "/actions/main/in/tracker_shoulder_left",
"path": "/user/shoulder/left/pose/raw",
"requirement": "optional"
}
]
}
},
"description": "FORTIS_Taktika-18319896"
}
@@ -0,0 +1,19 @@
{
"name": "Default bindings for Vive Tracker (Right Elbow)",
"controller_type": "vive_tracker_right_elbow",
"last_edited_by": "UnrealEngine",
"bindings":
{
"/actions/main":
{
"poses": [
{
"output": "/actions/main/in/tracker_elbow_right",
"path": "/user/elbow/right/pose/raw",
"requirement": "optional"
}
]
}
},
"description": "FORTIS_Taktika-18319896"
}
@@ -0,0 +1,19 @@
{
"name": "Default bindings for Vive Tracker (Right Foot)",
"controller_type": "vive_tracker_right_foot",
"last_edited_by": "UnrealEngine",
"bindings":
{
"/actions/main":
{
"poses": [
{
"output": "/actions/main/in/tracker_foot_right",
"path": "/user/foot/right/pose/raw",
"requirement": "optional"
}
]
}
},
"description": "FORTIS_Taktika-18319896"
}
@@ -0,0 +1,19 @@
{
"name": "Default bindings for Vive Tracker (Right Knee)",
"controller_type": "vive_tracker_right_knee",
"last_edited_by": "UnrealEngine",
"bindings":
{
"/actions/main":
{
"poses": [
{
"output": "/actions/main/in/tracker_knee_right",
"path": "/user/knee/right/pose/raw",
"requirement": "optional"
}
]
}
},
"description": "FORTIS_Taktika-18319896"
}
@@ -0,0 +1,19 @@
{
"name": "Default bindings for Vive Tracker (Right Shoulder)",
"controller_type": "vive_tracker_right_shoulder",
"last_edited_by": "UnrealEngine",
"bindings":
{
"/actions/main":
{
"poses": [
{
"output": "/actions/main/in/tracker_shoulder_right",
"path": "/user/shoulder/right/pose/raw",
"requirement": "optional"
}
]
}
},
"description": "FORTIS_Taktika-18319896"
}
@@ -0,0 +1,19 @@
{
"name": "Default bindings for Vive Tracker (Waist)",
"controller_type": "vive_tracker_waist",
"last_edited_by": "UnrealEngine",
"bindings":
{
"/actions/main":
{
"poses": [
{
"output": "/actions/main/in/tracker_waist",
"path": "/user/waist/pose/raw",
"requirement": "optional"
}
]
}
},
"description": "FORTIS_Taktika-18319896"
}
+18
View File
@@ -0,0 +1,18 @@
{
"source": "UE",
"applications": [
{
"app_key": "application.generated.ue.fortis_taktika-18319896.ue4editor.exe",
"launch_type": "url",
"url": "steam://launch/",
"action_manifest_path": "E:/Projects/Fortis/Config/SteamVRBindings/steamvr_manifest.json",
"strings":
{
"en_us":
{
"name": "FORTIS_Taktika-18319896 [UE Editor]"
}
}
}
]
}
+130
View File
@@ -0,0 +1,130 @@
{
"FileVersion": 3,
"EngineAssociation": "5.1",
"Category": "",
"Description": "",
"Plugins": [
{
"Name": "Water",
"Enabled": true
},
{
"Name": "Landmass",
"Enabled": true
},
{
"Name": "OpenXREyeTracker",
"Enabled": false,
"SupportedTargetPlatforms": [
"Win32",
"Win64",
"Linux",
"HoloLens",
"Android"
]
},
{
"Name": "OpenXRHandTracking",
"Enabled": false,
"SupportedTargetPlatforms": [
"Win32",
"Win64",
"Linux",
"HoloLens",
"Android"
]
},
{
"Name": "Prefabricator",
"Enabled": false,
"MarketplaceURL": "com.epicgames.launcher://ue/marketplace/content/39ccbbf668e84847890992df9922e355"
},
{
"Name": "ChaosEditor",
"Enabled": false
},
{
"Name": "PhysXVehicles",
"Enabled": false
},
{
"Name": "ChaosNiagara",
"Enabled": false
},
{
"Name": "ChaosSolverPlugin",
"Enabled": false
},
{
"Name": "ChaosClothEditor",
"Enabled": false
},
{
"Name": "ChaosCloth",
"Enabled": false
},
{
"Name": "GPULightmass",
"Enabled": true
},
{
"Name": "RTXGI",
"Enabled": false
},
{
"Name": "HairStrands",
"Enabled": true
},
{
"Name": "DLSS",
"Enabled": true,
"MarketplaceURL": "https://www.unrealengine.com/marketplace/en-US/product/nvidia-dlss"
},
{
"Name": "EasyXMLParser",
"Enabled": true,
"MarketplaceURL": "com.epicgames.launcher://ue/marketplace/content/af98110080a4411a8eaf3b8e931b8655"
},
{
"Name": "VaRest",
"Enabled": true,
"MarketplaceURL": "com.epicgames.launcher://ue/marketplace/content/e47be161e7a24e928560290abd5dcc4f"
},
{
"Name": "RuntimeFilesDownloader",
"Enabled": true,
"MarketplaceURL": "com.epicgames.launcher://ue/marketplace/product/e7e6df6d6e9c46f0ae35163eab67ff9a"
},
{
"Name": "EasyJsonParser",
"Enabled": false,
"MarketplaceURL": "com.epicgames.launcher://ue/marketplace/content/22108e274b5d4e5ab92c0a7b961caf13"
},
{
"Name": "JPrinter",
"Enabled": true
},
{
"Name": "PixelStreaming",
"Enabled": true
},
{
"Name": "manageTextFile",
"Enabled": true
},
{
"Name": "OodleNetwork",
"Enabled": false
},
{
"Name": "OculusVR",
"Enabled": false,
"SupportedTargetPlatforms": [
"Win32",
"Win64",
"Android"
]
}
]
}
@@ -0,0 +1,32 @@
[/Script/HoloLensPlatformEditor.HoloLensTargetSettings]
bBuildForEmulation=False
bBuildForDevice=True
bUseNameForLogo=True
bBuildForRetailWindowsStore=False
bAutoIncrementVersion=False
bShouldCreateAppInstaller=False
AppInstallerInstallationURL=
HoursBetweenUpdateChecks=0
bEnablePIXProfiling=False
TileBackgroundColor=(B=64,G=0,R=0,A=255)
SplashScreenBackgroundColor=(B=64,G=0,R=0,A=255)
+PerCultureResources=(CultureId="",Strings=(PackageDisplayName="",PublisherDisplayName="",PackageDescription="",ApplicationDisplayName="",ApplicationDescription=""),Images=())
TargetDeviceFamily=Windows.Holographic
MinimumPlatformVersion=
MaximumPlatformVersionTested=10.0.18362.0
MaxTrianglesPerCubicMeter=500.000000
SpatialMeshingVolumeSize=20.000000
CompilerVersion=Default
Windows10SDKVersion=10.0.18362.0
+CapabilityList=internetClientServer
+CapabilityList=privateNetworkClientServer
+Uap2CapabilityList=spatialPerception
bSetDefaultCapabilities=False
SpatializationPlugin=
SourceDataOverridePlugin=
ReverbPlugin=
OcclusionPlugin=
SoundCueCookQualityIndex=-1
@@ -0,0 +1,172 @@
// Fill out your copyright notice in the Description page of Project Settings.
#include "CPPFunctionLibrary.h"
#include <chrono>
#include <cstdio>
#include <iostream>
#include <sstream>
#include <vector>
#include <memory>
#include <stdexcept>
#include <string>
#include <array>
void UCPPFunctionLibrary::CreateTxt(FString Path, FString FileName, FString text)
{
if (Path == "") {
Path = FPaths::ProjectSavedDir();
}
FString fullpath(Path + FileName);
FFileHelper::SaveStringToFile(text, *fullpath, FFileHelper::EEncodingOptions::ForceUTF8);
}
bool UCPPFunctionLibrary::AppendStringToFile(FString DirPath, FString FileName, FString Data)
{
// get file path
FString FilePath;
if (!DirPath.Len())
{
// default documents directory path + FileName
FilePath = FPlatformProcess::UserDir() + FileName;
}
else
{
FilePath = DirPath + FileName;
}
UE_LOG(LogTemp, Log, TEXT("File path: %s"), *FilePath);
// check file existence and write data to a file
FString OldData;
bool append_result;
if (FPaths::FileExists(FilePath))
{
UE_LOG(LogTemp, Log, TEXT("File exists: true"));
FFileHelper::LoadFileToString(OldData, *FilePath);
OldData += Data;
append_result = FFileHelper::SaveStringToFile(Data, *FilePath, FFileHelper::EEncodingOptions::ForceUTF8, &IFileManager::Get(), FILEWRITE_Append);
}
else
{
UE_LOG(LogTemp, Warning, TEXT("File exists: false"));
append_result = FFileHelper::SaveStringToFile(Data, *FilePath, FFileHelper::EEncodingOptions::ForceUTF8);
}
// return append result
if (append_result)
{
UE_LOG(LogTemp, Log, TEXT("Append: complete"));
return true;
}
else
{
UE_LOG(LogTemp, Error, TEXT("Append: not complete"));
return false;
}
}
void UCPPFunctionLibrary::RunSystemCommand(FString Command)
{
system(TCHAR_TO_ANSI(*Command));
}
void UCPPFunctionLibrary::GetExcelData(FString Command)
{
}
void UCPPFunctionLibrary::GetContentHTTP(FString Verb, FString Payload, FString Url)
{
/*TSharedPtr<IHttpRequest, ESPMode::ThreadSafe> Request = FHttpModule::Get().CreateRequest();
Request->SetURL(Url);
if (Payload.Len() > 0)
{
Request->SetContentAsString(Payload);
}
Request->SetVerb(Verb);
Request->ProcessRequest();*/
}
int32 UCPPFunctionLibrary::GetUnixTimestamp()
{
return std::chrono::duration_cast<std::chrono::seconds>(std::chrono::system_clock::now().time_since_epoch()).count();
}
void UCPPFunctionLibrary::CreateProc(FString PathToExec, TArray<FString> Args, bool Detach, bool Hidden, int32 Priority, FString OptionalWorkDir)
{
FString StrArgs("");
/*if (Args.Num())
for (auto arg : Args)
StrArgs += " " + arg;*/
if (Args.Num() > 1)
{
StrArgs = Args[0];
for (int32 v = 1; v < Args.Num(); v++)
{
StrArgs += " " + Args[v];
}
}
else if (Args.Num() > 0)
{
StrArgs = Args[0];
}
FProcHandle PHandle = FPlatformProcess::CreateProc(
*PathToExec,
*StrArgs,
Detach,
Hidden,
Hidden,
nullptr,
Priority,
(OptionalWorkDir != "") ? *OptionalWorkDir : nullptr,
nullptr
);
if (PHandle.IsValid())
{
UE_LOG(LogTemp, Warning, TEXT("ProcInfo: Valid"))
}
else
{
UE_LOG(LogTemp, Warning, TEXT("ProcInfo: NotValid"))
}
}
FString UCPPFunctionLibrary::GetDataFromFile(FString FileName)
{
FString FileData("");
if (FPaths::FileExists(FileName))
FFileHelper::LoadFileToString(FileData, *FileName);
return FileData;
}
TArray<FString> UCPPFunctionLibrary::GetHardDisksSerialNumbers()
{
TArray<FString> lines;
std::string executeCommand = "wmic path win32_physicalmedia get SerialNumber";
std::array<char, 128> buffer;
std::string result;
std::unique_ptr<FILE, decltype(&_pclose)> pipe(_popen(executeCommand.c_str(), "r"), _pclose);
if (!pipe) {
throw std::runtime_error("popen() failed!");
}
while (fgets(buffer.data(), buffer.size(), pipe.get()) != nullptr) {
result += buffer.data();
}
std::cout << result << std::endl;
std::istringstream istream(result);
std::string line;
int lineNum = 0;
while (std::getline(istream, line))
{
if (!lineNum)
{
++lineNum;
continue;
}
lines.Push(line.c_str());
}
return lines;
}
@@ -0,0 +1,50 @@
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
//#include "HttpModule.h"
#include <string>
#include <functional>
#include "CoreMinimal.h"
#include "Misc/FileHelper.h"
#include "Kismet/BlueprintFunctionLibrary.h"
#include "CPPFunctionLibrary.generated.h"
/**
*
*/
UCLASS()
class FORTIS_TAKTIKA_API UCPPFunctionLibrary : public UBlueprintFunctionLibrary
{
GENERATED_BODY()
public:
UFUNCTION(BlueprintCallable, Category = "TextMaker")
static void CreateTxt(FString Path, FString FileName, FString text);
UFUNCTION(BlueprintCallable, Category = "File")
static bool AppendStringToFile(FString DirPath, FString FileName, FString Data);
UFUNCTION(BlueprintCallable, Category = "File")
static FString GetDataFromFile(FString FileName);
UFUNCTION(BlueprintCallable, Category = "System")
static void RunSystemCommand(FString Command);
UFUNCTION(BlueprintCallable, Category = "System")
static void GetExcelData(FString Command);
UFUNCTION(BlueprintCallable, Category = "HTTP")
static void GetContentHTTP(FString Verb, FString Payload, FString Url);
UFUNCTION(BlueprintCallable, BlueprintPure, Category = "Time")
static int32 GetUnixTimestamp();
UFUNCTION(BlueprintCallable, Category = "System")
static void CreateProc(FString PathToExec, TArray<FString> Args, bool Detach = false, bool Hidden = true, int32 Priority = 0, FString OptionalWorkDir = "");
UFUNCTION(BlueprintCallable, Category = "System")
static TArray<FString> GetHardDisksSerialNumbers();
};
@@ -0,0 +1,23 @@
// Fill out your copyright notice in the Description page of Project Settings.
using UnrealBuildTool;
public class FORTIS_Taktika : ModuleRules
{
public FORTIS_Taktika(ReadOnlyTargetRules Target) : base(Target)
{
PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;
PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "Http", "Json", "JsonUtilities" });
PrivateDependencyModuleNames.AddRange(new string[] { "Slate", "SlateCore" });
// Uncomment if you are using Slate UI
// PrivateDependencyModuleNames.AddRange(new string[] { "Slate", "SlateCore" });
// Uncomment if you are using online features
// PrivateDependencyModuleNames.Add("OnlineSubsystem");
// To include OnlineSubsystemSteam, add it to the plugins section in your uproject file with the Enabled attribute set to true
}
}
+6
View File
@@ -0,0 +1,6 @@
// Fill out your copyright notice in the Description page of Project Settings.
#include "FORTIS_Taktika.h"
#include "Modules/ModuleManager.h"
IMPLEMENT_PRIMARY_GAME_MODULE( FDefaultGameModuleImpl, FORTIS_Taktika, "FORTIS_Taktika" );
+6
View File
@@ -0,0 +1,6 @@
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
@@ -0,0 +1,66 @@
// Fill out your copyright notice in the Description page of Project Settings.
#include "BuildingProcedural.h"
// Sets default values
ABuildingProcedural::ABuildingProcedural()
{
// Set this actor to call Tick() every frame. You can turn this off to improve performance if you don't need it.
PrimaryActorTick.bCanEverTick = true;
RootComponent = CreateDefaultSubobject<USceneComponent>(TEXT("RootComponent"));
}
// Called when the game starts or when spawned
void ABuildingProcedural::BeginPlay()
{
Super::BeginPlay();
}
// Called every frame
void ABuildingProcedural::Tick(float DeltaTime)
{
Super::Tick(DeltaTime);
}
void ABuildingProcedural::ShowCurrentIndex(int32 Index, TArray<UProceduralMeshComponent*> ProceduralMeshes)
{
int32 i;
for (i = 0; i < ProceduralMeshes.Num(); ++i)
{
if (i <= Index)
{
ProceduralMeshes[i]->SetHiddenInGame(false);
}
}
for (i = 0; i < ProceduralMeshes.Num(); ++i)
{
if (i >= Index)
{
ProceduralMeshes[i]->SetHiddenInGame(true);
}
}
}
void ABuildingProcedural::ResetMeshSections(TArray<UProceduralMeshComponent*> ProceduralMeshes)
{
//ProceduralMeshes[i]->GetProcMeshSection(0);
for (auto& ProcMesh : ProceduralMeshes)
{
for (int i = 0; i < ProcMesh->GetNumSections(); ++i)
{
ProcMesh->GetProcMeshSection(i)->Reset();
//ProcMesh->GetProcMeshSection(i)->
//ProcMesh->SetProcMeshSection
//ProcMesh->SetProcMeshSection();
//FProcMeshSection ProcMeshSection;
//StaticMesh
}
}
}
@@ -0,0 +1,66 @@
// Fill out your copyright notice in the Description page of Project Settings.
#include "CppAnimation.h"
CppAnimation::CppAnimation()
{
}
CppAnimation::~CppAnimation()
{
}
CppAnimation::CppAnimation(UUserWidget* owner, UWidgetAnimation* animation, TArray<FCppStruct_AnimModeDirection>* modes, TEnumAsByte<Enum_AnimMode>* lastMode, int32* priority)
: WidgetOwner(owner),
WidgetAnimation(animation),
AnimModes(*modes),
lastMode(*lastMode),
priorityIndex(*priority)
{
}
void CppAnimation::PlayAnimationMode(TEnumAsByte<Enum_AnimMode>* mode, int32* priority)
{
if (!CanMode(mode))
return;
if (!CanPlayAnimation(mode))
return;
if (priorityIndex > *priority)
return;
lastMode = *mode;
WidgetOwner->PlayAnimation(WidgetAnimation, 0.0f, 1, GetDirection(mode), 1.0f, false);
}
TEnumAsByte<EUMGSequencePlayMode::Type> CppAnimation::GetDirection(TEnumAsByte<Enum_AnimMode>* mode)
{
for (auto anim : AnimModes)
{
if (anim.mode == *mode)
return anim.direction;
}
return EUMGSequencePlayMode::Type::Forward;
}
bool CppAnimation::CanMode(TEnumAsByte<Enum_AnimMode>* mode)
{
bool canMode = false;
for (int32 i = 0; i < AnimModes.Num(); ++i)
{
if (AnimModes[i].mode == *mode)
{
canMode = true;
}
}
return canMode;
}
bool CppAnimation::CanPlayAnimation(TEnumAsByte<Enum_AnimMode>* mode)
{
if (!CanMode(mode))
return false;
return lastMode != *mode;
}
@@ -0,0 +1,50 @@
// Fill out your copyright notice in the Description page of Project Settings.
#include "CppBaseWidget.h"
void UCppBaseWidget::NativeConstruct()
{
Super::NativeConstruct();
}
void UCppBaseWidget::NativeTick(const FGeometry& MyGeometry, float DeltaTime)
{
Super::NativeTick(MyGeometry, DeltaTime);
}
bool UCppBaseWidget::CanTick(float interval)
{
if ((GetWorld()->GetTimeSeconds() - timeLastTick) > interval)
{
timeLastTick = GetWorld()->GetTimeSeconds();
return true;
}
return false;
}
void UCppBaseWidget::PlayAnimationMode(TEnumAsByte<Enum_AnimMode> mode, int32 priorityIndex)
{
CppAnimation* animation = GetAnimationWithMode(&mode);
if (!animation)
return;
animation->PlayAnimationMode(&mode, &priorityIndex);
}
CppAnimation* UCppBaseWidget::GetAnimationWithMode(TEnumAsByte<Enum_AnimMode>* mode)
{
for (int32 i = 0; i < Animations.Num(); ++i)
{
if (Animations[i].CanMode(mode))
return &Animations[i];
}
return nullptr;
}
void UCppBaseWidget::AddAnimation(UUserWidget* owner, UWidgetAnimation* animation, TArray<FCppStruct_AnimModeDirection> modes, TEnumAsByte<Enum_AnimMode> modeAtCreation, int32 priorityIndex)
{
Animations.Add(CppAnimation(owner, animation, &modes, &modeAtCreation, &priorityIndex));
}
@@ -0,0 +1,12 @@
// Fill out your copyright notice in the Description page of Project Settings.
#include "CppEnums.h"
CppEnums::CppEnums()
{
}
CppEnums::~CppEnums()
{
}
@@ -0,0 +1,5 @@
// Fill out your copyright notice in the Description page of Project Settings.
#include "CppStruct_AnimModeDirection.h"
@@ -0,0 +1,12 @@
// Fill out your copyright notice in the Description page of Project Settings.
#include "CppStructures.h"
CppStructures::CppStructures()
{
}
CppStructures::~CppStructures()
{
}
@@ -0,0 +1,40 @@
// Fill out your copyright notice in the Description page of Project Settings.
#include "LevelManager.h"
// Sets default values
ALevelManager::ALevelManager()
{
// Set this actor to call Tick() every frame. You can turn this off to improve performance if you don't need it.
PrimaryActorTick.bCanEverTick = true;
}
// Called when the game starts or when spawned
void ALevelManager::BeginPlay()
{
Super::BeginPlay();
}
// Called every frame
void ALevelManager::Tick(float DeltaTime)
{
Super::Tick(DeltaTime);
}
bool ALevelManager::LoadLevel(FString LevelName, bool bVisible, bool bLoad)
{
ULevelStreaming* Level = UGameplayStatics::GetStreamingLevel(GetWorld(), *LevelName);
if (!Level)
return false;
Level->SetShouldBeLoaded(bLoad);
Level->SetShouldBeVisible(bVisible);
while (Level->IsLevelVisible() ^ bVisible && Level->IsLevelLoaded() ^ bLoad)
{
}
return true;
}
@@ -0,0 +1,70 @@
// Fill out your copyright notice in the Description page of Project Settings.
#include "ResComApartmentManager.h"
// Sets default values
UResComApartmentManager::UResComApartmentManager()
{
}
void UResComApartmentManager::Push(FApartment apartment)
{
apartments.Push(apartment);
}
void UResComApartmentManager::ClearFavorites()
{
for (auto& ap : apartments)
ap.favorite = false;
}
bool UResComApartmentManager::IsValid(FApartment apartment) const
{
return !(apartment.id == FApartment().id);
}
FApartment& UResComApartmentManager::GetByID(int32 id)
{
for (auto& ap : apartments)
{
if (ap.id == id)
return ap;
}
return notValid;
}
FApartment& UResComApartmentManager::GetByLoc(FApartmentLocation loc)
{
for (auto& ap : apartments)
{
if (ap.loc == loc)
return ap;
}
return notValid;
}
TArray<FApartment> UResComApartmentManager::GetFavorites()
{
TArray<FApartment> favorites;
for (auto& ap : apartments)
if (ap.favorite)
favorites.Push(ap);
return favorites;
}
void UResComApartmentManager::SortByLoc()
{
apartments.Sort([](const FApartment& apa1, const FApartment& apa2)
{
return apa1.loc.AsNum() > apa2.loc.AsNum();
});
}
void UResComApartmentManager::SortByID()
{
apartments.Sort([](const FApartment& apa1, const FApartment& apa2)
{
return apa1.id > apa2.id;
});
}
@@ -0,0 +1,174 @@
// Fill out your copyright notice in the Description page of Project Settings.
#include "ResComFloorManager.h"
// Sets default values
AResComFloorManager::AResComFloorManager()
{
// Set this actor to call Tick() every frame. You can turn this off to improve performance if you don't need it.
PrimaryActorTick.bCanEverTick = true;
}
// Called when the game starts or when spawned
void AResComFloorManager::BeginPlay()
{
Super::BeginPlay();
}
// Called every frame
void AResComFloorManager::Tick(float DeltaTime)
{
Super::Tick(DeltaTime);
}
void AResComFloorManager::AddPack(const FFloorPack& pack)
{
packs.Add(pack);
}
void AResComFloorManager::AddLevelToPack(FApartmentLocation loc, FFloorLevelStreaming level)
{
FFloorPack pack;
if (GetPack(loc, pack))
{
UE_LOG(LogTemp, Warning, TEXT("COUNT: %d"), pack.levels.Num());
pack.levels.Add(level);
}
else
{
pack.location = loc;
pack.levels.Add(level);
AddPack(pack);
}
}
bool AResComFloorManager::GetPack(FApartmentLocation loc, FFloorPack* pack)
{
for (int i = 0; i < packs.Num(); ++i)
{
if (packs[i].location == loc)
{
pack = &(packs[i]);
return true;
}
}
return false;
}
bool AResComFloorManager::GetPack(FApartmentLocation loc, FFloorPack& pack) const
{
for (auto& packCurr : packs)
{
if (packCurr.location == loc)
{
pack = packCurr;
return true;
}
}
return false;
}
//bool AResComFloorManager::LoadPack(FApartmentLocation loc, const FOnPreview& delegatePreview, const FOnShouldBeVisible& delegateShouldBeVisible, const FOnShouldBeLoaded& delegateShouldBeLoaded)
bool AResComFloorManager::LoadPack(FApartmentLocation loc, const FOnLoaded& delegateOnLoaded)
{
FFloorPack* pack = nullptr;
if (!GetPack(loc, pack))
return false;
OnLoaded = delegateOnLoaded;
//OnPreview = delegatePreview;
//OnShouldBeVisible = delegateShouldBeVisible;
//OnShouldBeLoaded = delegateShouldBeLoaded;
FVector Location(0.0f, 0.0f, 0.0f);
FRotator Rotation(0.0f, 0.0f, 0.0f);
FActorSpawnParameters SpawnInfo;
GetWorld()->SpawnActor<AResComLevelPackLoader>(Location, Rotation, SpawnInfo);
return true;
}
bool AResComFloorManager::UnloadPack(FApartmentLocation loc, const FOnPreview& delegatePreview, const FOnShouldBeVisible& delegateShouldBeVisible, const FOnShouldBeLoaded& delegateShouldBeLoaded)
{
FFloorPack pack;
if (!GetPack(loc, pack))
return false;
FLatentActionInfo info;
//for (auto& level : pack.levelsPreview)
//{
// UGameplayStatics::UnloadStreamLevel(this,* level, info, false);
// //Streamlevel
//}
//for (auto& level : pack.levelsShouldBeVisible)
//{
// UGameplayStatics::UnloadStreamLevel(this, *level, info, false);
//}
//for (auto& level : pack.levelsShouldBeLoaded)
//{
// UGameplayStatics::UnloadStreamLevel(this, *level, info, false);
//}
OnPreview = delegatePreview;
OnShouldBeVisible = delegateShouldBeVisible;
OnShouldBeLoaded = delegateShouldBeLoaded;
return true;
}
void AResComFloorManager::OnLevelPreview()
{
OnPreview.Execute();
}
void AResComFloorManager::OnLevelVisible()
{
OnShouldBeVisible.Execute();
}
void AResComFloorManager::OnLevelLoaded()
{
OnShouldBeLoaded.Execute();
}
TArray<ULevelStreaming*> AResComFloorManager::GetStreamingLevels(const UObject* WorldContextObject)
{
TArray<ULevelStreaming*> levels;
UWorld* World = GEngine->GetWorldFromContextObject(WorldContextObject, EGetWorldErrorMode::LogAndReturnNull);
for (ULevelStreaming* LevelStreaming : World->GetStreamingLevels())
{
levels.Push(LevelStreaming);
}
return levels;
}
//ULevelStreaming* UGameplayStatics::GetStreamingLevel(const UObject* WorldContextObject, FName InPackageName)
//{
// if (InPackageName != NAME_None)
// {
// if (UWorld* World = GEngine->GetWorldFromContextObject(WorldContextObject, EGetWorldErrorMode::LogAndReturnNull))
// {
// FString SearchPackageName = FStreamLevelAction::MakeSafeLevelName(InPackageName, World);
// if (FPackageName::IsShortPackageName(SearchPackageName))
// {
// // Make sure MyMap1 and Map1 names do not resolve to a same streaming level
// SearchPackageName = TEXT("/") + SearchPackageName;
// }
//
// for (ULevelStreaming* LevelStreaming : World->GetStreamingLevels())
// {
// // We check only suffix of package name, to handle situations when packages were saved for play into a temporary folder
// // Like Saved/Autosaves/PackageName
// if (LevelStreaming && LevelStreaming->GetWorldAssetPackageName().EndsWith(SearchPackageName, ESearchCase::IgnoreCase))
// {
// return LevelStreaming;
// }
// }
// }
// }
//
// return NULL;
//}
@@ -0,0 +1,123 @@
// Fill out your copyright notice in the Description page of Project Settings.
#include "ResComGameInstance.h"
UResComGameInstance::UResComGameInstance()
{
}
void UResComGameInstance::Init()
{
Super::Init();
apartmentManager = NewObject<UResComApartmentManager>(this);
statisticsManager = NewObject<UResComStatistics>(this);
}
//void UResComGameInstance::SetApartmentManager(UResComApartmentManager* manager)
//{
// apartmentManager = manager;
//}
UResComApartmentManager* UResComGameInstance::GetApartmentManager() const
{
return apartmentManager;
}
UResComStatistics* UResComGameInstance::GetStatisticsManager() const
{
return statisticsManager;
}
//void UResComGameInstance::HttpGet(FString UrlAddress, const FHttpDelegate& Callback)
//{
// /*TSharedRef<IHttpRequest, ESPMode::ThreadSafe> HttpRequest = FHttpModule::Get().CreateRequest();
// HttpRequest->SetHeader("Content-Type", "application/json");
// HttpRequest->SetURL(UrlAddress);
// HttpRequest->SetVerb("GET");
// HttpRequest->OnProcessRequestComplete().BindUObject(this, &ThisClass::OnHttpRequestComplete);
// HttpRequest->ProcessRequest();*/
//
// if (UrlAddress.IsEmpty())
// return;
//
// const TSharedRef<IHttpRequest, ESPMode::ThreadSafe> HttpRequest{ FHttpModule::Get().CreateRequest() };
//
//
// HttpRequest->SetVerb("GET");
// HttpRequest->SetHeader(TEXT("Content-Type"), TEXT("application/x-www-form-urlencoded"));
// HttpRequest->SetURL(UrlAddress);
// HttpRequest->SetTimeout(2.0f);
//
// HttpRequest->OnProcessRequestComplete().BindUObject(this, &UCppGameInstance::OnHttpRequestComplete);
// //HttpRequest->OnRequestProgress().BindUObject(this, &URuntimeFilesDownloaderLibrary::OnProgress_Internal);
//
// /** Process the request */
// HttpRequest->ProcessRequest();
//
// //HttpDownloadRequest = &HttpRequest.Get();
//}
//
//void UResComGameInstance::OnHttpRequestComplete(FHttpRequestPtr Request, FHttpResponsePtr Response, bool bWasSuccessful)
//{
// if (bWasSuccessful && Response->GetContentType() == "application/json")
// {
//
// HttpData = Response->GetContentAsString();
// UE_LOG(LogTemp, Warning, TEXT("HttpInfo: Success"));
//
// }
// else
// {
// if (Response->GetResponseCode() == 200)
// HttpData = HttpData = Response->GetContentAsString();
// UE_LOG(LogTemp, Error, TEXT("HttpInfo: string %s"), *HttpData);
// UE_LOG(LogTemp, Error, TEXT("HttpInfo: eror code %s"), *(FString::FromInt(Response->GetResponseCode())));
// if (bWasSuccessful)
// {
// UE_LOG(LogTemp, Error, TEXT("HttpInfo: ErrorA"));
// }
// else
// UE_LOG(LogTemp, Error, TEXT("HttpInfo: ErrorB"));
// // Handle error here
// }
//}
//
//FString UResComGameInstance::GetHttpData()
//{
// return HttpData;
//}
@@ -0,0 +1,14 @@
// Fill out your copyright notice in the Description page of Project Settings.
#include "ResComHUD.h"
void AResComHUD::SetUIStateManager(AResComUIStateManager* manager)
{
UIStateManager = manager;
}
AResComUIStateManager* AResComHUD::GetUIManager() const
{
return UIStateManager;
}
@@ -0,0 +1,64 @@
// Fill out your copyright notice in the Description page of Project Settings.
#include "ResComLevelPackLoader.h"
// Sets default values
AResComLevelPackLoader::AResComLevelPackLoader()
{
// Set this actor to call Tick() every frame. You can turn this off to improve performance if you don't need it.
PrimaryActorTick.bCanEverTick = true;
PrimaryActorTick.TickInterval = 0.5f;
}
// Called when the game starts or when spawned
void AResComLevelPackLoader::BeginPlay()
{
Super::BeginPlay();
}
// Called every frame
void AResComLevelPackLoader::Tick(float DeltaTime)
{
Super::Tick(DeltaTime);
/*if (packLoading->IsLoaded())
{
Destroy();
}*/
}
//void AResComLevelPackLoader::LoadPack(FFloorPack* pack)
//{
// FLatentActionInfo latentInfo;
// latentInfo.CallbackTarget = this;
// latentInfo.UUID = 0;
// latentInfo.Linkage = 0;
/*latentInfo.ExecutionFunction = "OnLevelPreview";
for (auto& level : pack.levelsPreview)
{
++queueElem.visibleCnt;
++latentInfo.UUID;
UGameplayStatics::LoadStreamLevel(this, *level, true, true, latentInfo);
}
latentInfo.ExecutionFunction = "OnLevelVisible";
for (auto& level : pack.levelsShouldBeVisible)
{
++queueElem.previewCnt;
++latentInfo.UUID;
UGameplayStatics::LoadStreamLevel(this, *level, true, true, latentInfo);
}
latentInfo.ExecutionFunction = "OnLevelLoaded";
for (auto& level : pack.levelsShouldBeLoaded)
{
queueElem.loadedCnt;
++latentInfo.UUID;
UGameplayStatics::LoadStreamLevel(this, *level, true, true, latentInfo);
}
return true;*/
//}
@@ -0,0 +1,56 @@
// Fill out your copyright notice in the Description page of Project Settings.
#include "ResComPlayerController.h"
void AResComPlayerController::SetPlayerStateManager(AResComPlayerStateManager* manager)
{
playerStateManager = manager;
}
AResComPlayerStateManager* AResComPlayerController::GetPlayerStateManager() const
{
return playerStateManager;
}
void AResComPlayerController::SetFloorManager(AResComFloorManager* manager)
{
floorManager = manager;
}
AResComFloorManager* AResComPlayerController::GetFloorManager() const
{
return floorManager;
}
//void AResComPoint::BeginPlay()
//{
// Super::BeginPlay();
//
// // spectrator window
// /*SlateWin = SNew(SWindow)
// .AutoCenter(EAutoCenter::None)
// .Title(FText::FromString(TEXT("Control Window")))
// .IsInitiallyMaximized(false)
// .ScreenPosition(FVector2D(0, 0))
// .ClientSize(FVector2D(500, 800))
// .CreateTitleBar(true)
// .SizingRule(ESizingRule::UserSized)
// .SupportsMaximize(false)
// .SupportsMinimize(true)
// .HasCloseButton(true);
//
// TSharedRef<SWindow> SlateWinRef = SlateWin.ToSharedRef();
//
// FSlateApplication& SlateApp = FSlateApplication::Get();
//
// SlateApp.AddWindow(SlateWinRef, true);
//
// SlateWinRef->SetContent(SNew(SControlWidget));*/
//}
void AResComPlayerController::freeMemory()
{
GEngine->ForceGarbageCollection();
//GetWorld()->ForceGarbageCollection(true);
}
@@ -0,0 +1,36 @@
// Fill out your copyright notice in the Description page of Project Settings.
#include "ResComPlayerStateManager.h"
void AResComPlayerStateManager::SetState(const TEnumAsByte<Enum_PlayerState> newState)
{
if (stateManager.SetState(newState))
OnState(newState);
}
void AResComPlayerStateManager::ClearAllStatesBesideLast()
{
stateManager.ClearAllStatesBesideLast();
}
void AResComPlayerStateManager::SetPreviousState()
{
if (stateManager.SetPrevState())
OnState(stateManager.GetState());
}
const FString AResComPlayerStateManager::GetStateHistoryAsString() const
{
FString string;
FString arrow("->");
auto history = stateManager.GetHistory();
for (auto item : history)
string += arrow + (*UEnum::GetDisplayValueAsText(item).ToString());
return string;
}
const TEnumAsByte<Enum_PlayerState> AResComPlayerStateManager::GetState() const
{
return stateManager.GetState();
}
@@ -0,0 +1,27 @@
// Fill out your copyright notice in the Description page of Project Settings.
#include "ResComPoint.h"
// Sets default values
AResComPoint::AResComPoint()
{
// Set this actor to call Tick() every frame. You can turn this off to improve performance if you don't need it.
PrimaryActorTick.bCanEverTick = true;
}
// Called when the game starts or when spawned
void AResComPoint::BeginPlay()
{
Super::BeginPlay();
}
// Called every frame
void AResComPoint::Tick(float DeltaTime)
{
Super::Tick(DeltaTime);
}
@@ -0,0 +1,11 @@
// Fill out your copyright notice in the Description page of Project Settings.
#include "ResComState.h"
//UResComState* UResComState::Make(int32 index)
//{
// UResComState* newObject = NewObject<UResComState>(UResComState::StaticClass());
// newObject->state = index;
// return newObject;
//}
@@ -0,0 +1,4 @@
// Fill out your copyright notice in the Description page of Project Settings.
#include "ResComStateManager.h"
@@ -0,0 +1,36 @@
// Fill out your copyright notice in the Description page of Project Settings.
#include "ResComStatistics.h"
void UResComStatistics::NewState(FString state)
{
if (prevState.duration != 0.0f)
{
prevState.duration = GetWorld()->GetTimeSeconds() - prevState.duration;
stateHistory.Add(prevState);
}
prevState.state = state;
prevState.duration = GetWorld()->GetTimeSeconds();
}
FString UResComStatistics::GetStateHistoryString()
{
FString strTmp("");
for (auto& state : stateHistory)
{
strTmp += "->" + state.state;
}
return strTmp;
}
void UResComStatistics::StartVR()
{
timeLastStartVR = GetWorld()->GetTimeSeconds();
}
void UResComStatistics::EndVR()
{
timeVR += GetWorld()->GetTimeSeconds() - timeLastStartVR;
}
@@ -0,0 +1,36 @@
// Fill out your copyright notice in the Description page of Project Settings.
#include "ResComUIStateManager.h"
void AResComUIStateManager::SetState(const TEnumAsByte<Enum_UIState> newState)
{
if (stateManager.SetState(newState))
OnState(newState);
}
void AResComUIStateManager::ClearAllStatesBesideLast()
{
stateManager.ClearAllStatesBesideLast();
}
void AResComUIStateManager::SetPreviousState()
{
if (stateManager.SetPrevState())
OnState(stateManager.GetState());
}
const FString AResComUIStateManager::GetStateHistoryAsString() const
{
FString string;
FString arrow("->");
auto history = stateManager.GetHistory();
for (auto item : history)
string += arrow + (*UEnum::GetDisplayValueAsText(item).ToString());
return string;
}
const TEnumAsByte<Enum_UIState> AResComUIStateManager::GetState() const
{
return stateManager.GetState();
}
@@ -0,0 +1,12 @@
// Fill out your copyright notice in the Description page of Project Settings.
#include "ResComUserManager.h"
UResComUserManager::UResComUserManager()
{
}
UResComUserManager::~UResComUserManager()
{
}
@@ -0,0 +1,86 @@
// Fill out your copyright notice in the Description page of Project Settings.
#include "ResComUserStoreLocalData.h"
#include "../CPPFunctionLibrary.h"
UResComUserStoreLocalData::UResComUserStoreLocalData()
{
}
UResComUserStoreLocalData::~UResComUserStoreLocalData()
{
}
void UResComUserStoreLocalData::SetWorkingDirectory(FString path)
{
WorkingDirectoryPath = path;
}
FStruct_User UResComUserStoreLocalData::GetEmptyUser()
{
return FStruct_User();
}
FStruct_User UResComUserStoreLocalData::GetUser(FString phone)
{
FString FileData;
if (!FPaths::FileExists(WorkingDirectoryPath))
return GetEmptyUser();
FFileHelper::LoadFileToString(WorkingDirectoryPath, *FileData);
if (!FileData.Len())
return GetEmptyUser();
if (!FileData.Contains(phone))
return GetEmptyUser();
int32 startIndex = FileData.Find(phone);
int32 endIndex = FileData.Find(FString("\n"), ESearchCase::IgnoreCase, ESearchDir::FromStart, startIndex);
return GetUserFromString(FileData.Mid(startIndex, endIndex - startIndex));
}
void UResComUserStoreLocalData::AddUser(FString Phone, FString Name, FString Email, TArray<FString> FavoriteIDs)
{
}
FStruct_User UResComUserStoreLocalData::GetUserFromString(FString string)
{
int32 commaNum = 0;
FStruct_User user;
FString flatIndex;
for (int i = 0; i < string.Len(); ++i)
{
if (string[i] == ',')
{
if (commaNum > 2)
{
user.favoriteFlatsIndices.Add(FCString::Atoi(*flatIndex));
flatIndex.Empty();
}
++commaNum;
}
if (string[i] != ',')
switch (commaNum)
{
case 0:
user.phone += string[i];
break;
case 1:
user.name += string[i];
break;
case 2:
user.email += string[i];
break;
default:
flatIndex += string[i];
break;
}
}
return user;
}
@@ -0,0 +1,32 @@
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
//#include "ProceduralMeshComponent.h" // Path not working
#include "ProceduralMeshComponent.h"
#include "CoreMinimal.h"
#include "GameFramework/Actor.h"
#include "BuildingProcedural.generated.h"
UCLASS()
class FORTIS_TAKTIKA_API ABuildingProcedural : public AActor
{
GENERATED_BODY()
public:
// Sets default values for this actor's properties
ABuildingProcedural();
protected:
// Called when the game starts or when spawned
virtual void BeginPlay() override;
public:
// Called every frame
virtual void Tick(float DeltaTime) override;
UFUNCTION(BlueprintCallable)
void ShowCurrentIndex(int32 Index, TArray<UProceduralMeshComponent*> ProceduralMeshes);
UFUNCTION(BlueprintCallable)
void ResetMeshSections(TArray<UProceduralMeshComponent*> ProceduralMeshes);
void SetMeshSection();
};
@@ -0,0 +1,30 @@
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CppStruct_AnimModeDirection.h"
#include "Blueprint/UserWidget.h"
#include "Animation/WidgetAnimation.h"
#include "CoreMinimal.h"
/**
*
*/
class FORTIS_TAKTIKA_API CppAnimation
{
private:
UUserWidget* WidgetOwner;
UWidgetAnimation* WidgetAnimation;
TArray<FCppStruct_AnimModeDirection> AnimModes;
TEnumAsByte<Enum_AnimMode> lastMode;
int32 priorityIndex;
protected:
TEnumAsByte<EUMGSequencePlayMode::Type> GetDirection(TEnumAsByte<Enum_AnimMode>* mode);
bool CanPlayAnimation(TEnumAsByte<Enum_AnimMode>* mode);
public:
CppAnimation();
~CppAnimation();
CppAnimation(UUserWidget* owner, UWidgetAnimation* animation, TArray<FCppStruct_AnimModeDirection>* modes, TEnumAsByte<Enum_AnimMode>* lastMode, int32* priority);
void PlayAnimationMode(TEnumAsByte<Enum_AnimMode>* mode, int32* priority);
bool CanMode(TEnumAsByte<Enum_AnimMode>* mode);
};
@@ -0,0 +1,38 @@
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CppStruct_AnimModeDirection.h"
#include "CppAnimation.h"
#include "CoreMinimal.h"
#include "Blueprint/UserWidget.h"
#include "CppBaseWidget.generated.h"
/**
*
*/
UCLASS()
class FORTIS_TAKTIKA_API UCppBaseWidget : public UUserWidget
{
GENERATED_BODY()
private:
float timeLastTick;
TArray<CppAnimation> Animations;
CppAnimation* GetAnimationWithMode(TEnumAsByte<Enum_AnimMode>* mode);
protected:
UPROPERTY(BlueprintReadWrite, Category = Properties)
bool bVisible;
UFUNCTION(BLueprintCallable, Category = Tick)
bool CanTick(float interval);
UFUNCTION(BlueprintCallable, Category = Animation)
void PlayAnimationMode(TEnumAsByte<Enum_AnimMode> mode, int32 priorityIndex);
UFUNCTION(BlueprintCallable, Category = Animation)
void AddAnimation(UUserWidget* owner, UWidgetAnimation* animation, TArray<FCppStruct_AnimModeDirection> modes, TEnumAsByte<Enum_AnimMode> modeAtCreation, int32 priorityIndex);
public:
virtual void NativeConstruct() override;
virtual void NativeTick(const FGeometry& MyGeometry, float DeltaTime) override;
};
+23
View File
@@ -0,0 +1,23 @@
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
/**
*
*/
class FORTIS_TAKTIKA_API CppEnums
{
public:
CppEnums();
~CppEnums();
};
UENUM(BlueprintType)
enum Enum_AnimMode
{
show UMETA(DisplayName = "show"),
hide UMETA(DisplayName = "hide"),
roll UMETA(DisplayName = "roll"),
};
@@ -0,0 +1,25 @@
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "Blueprint/UserWidget.h"
#include "CppEnums.h"
#include "CoreMinimal.h"
#include "UObject/NoExportTypes.h"
#include "CppStruct_AnimModeDirection.generated.h"
/**
*
*/
USTRUCT(BlueprintType)
struct FCppStruct_AnimModeDirection
{
GENERATED_BODY()
UPROPERTY(EditAnywhere, BlueprintReadWrite)
TEnumAsByte<Enum_AnimMode> mode;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
TEnumAsByte<EUMGSequencePlayMode::Type> direction;
};
@@ -0,0 +1,18 @@
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CppEnums.h"
#include "Blueprint/UserWidget.h"
#include "CoreMinimal.h"
/**
*
*/
class FORTIS_TAKTIKA_API CppStructures
{
public:
CppStructures();
~CppStructures();
};
@@ -0,0 +1,29 @@
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
#include "GameFramework/Actor.h"
#include "Kismet/GameplayStatics.h"
#include "Engine/LevelStreaming.h"
#include "LevelManager.generated.h"
UCLASS()
class FORTIS_TAKTIKA_API ALevelManager : public AActor
{
GENERATED_BODY()
public:
// Sets default values for this actor's properties
ALevelManager();
protected:
// Called when the game starts or when spawned
virtual void BeginPlay() override;
public:
// Called every frame
virtual void Tick(float DeltaTime) override;
UFUNCTION(BlueprintCallable, Category="Loading")
bool LoadLevel(FString LevelName, bool bVisible, bool bLoad);
};
@@ -0,0 +1,209 @@
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "ResComPoint.h"
#include "Engine/Texture2DDynamic.h"
#include "CoreMinimal.h"
//#include "GameFramework/Actor.h"
#include "ResComApartmentManager.generated.h"
USTRUCT(BlueprintType)
struct FApartmentLocation
{
GENERATED_BODY()
UPROPERTY(EditAnywhere, BlueprintReadWrite)
int32 locHouse = 0;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
int32 locEntrance = 0;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
int32 locFloor = 0;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
int32 locApartment = 0;
bool operator==(FApartmentLocation& loc) const
{
return (loc.locHouse == locHouse) && (loc.locFloor == locFloor) && (loc.locEntrance == locEntrance) && (loc.locApartment == locApartment);
}
int32 AsNum() const
{
return (locHouse * 10000 + locEntrance * 1000 + locFloor * 100 + locApartment);
}
};
USTRUCT(BlueprintType)
struct FApartmentQuantities
{
GENERATED_BODY()
UPROPERTY(EditAnywhere, BlueprintReadWrite)
int32 rooms = 0;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
int32 toilets = 0;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
int32 bedrooms = 0;
};
UENUM(BlueprintType)
enum RoomType
{
room UMETA(DisplayName = "room"),
bedroom UMETA(DisplayName = "bedroom"),
toilet UMETA(DisplayName = "toilet"),
bathroom UMETA(DisplayName = "bathroom"),
wardrobe UMETA(DisplayName = "wardrobe"),
hallway UMETA(DisplayName = "hallway"),
balcony UMETA(DisplayName = "balcony"),
kitchen UMETA(DisplayName = "kitchen"),
livingRoom UMETA(DisplayName = "livingRoom"),
kitchen_livingRoom UMETA(DisplayName = "kitchen_livingRoom"),
};
UENUM(BlueprintType)
enum ApartmentType
{
default UMETA(DisplayName = "default"),
studio UMETA(DisplayName = "studio"),
duplex UMETA(DisplayName = "duplex"),
};
USTRUCT(BlueprintType)
struct FRoomArea
{
GENERATED_BODY()
UPROPERTY(EditAnywhere, BlueprintReadWrite)
TEnumAsByte<RoomType> type = RoomType::room;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
float meters = 0.0f;
};
USTRUCT(BlueprintType)
struct FApartmentAreas
{
GENERATED_BODY()
UPROPERTY(EditAnywhere, BlueprintReadWrite)
float full = 0.0f;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
TArray<FRoomArea> rooms;
};
USTRUCT(BlueprintType)
struct FApartmentCosts
{
GENERATED_BODY()
UPROPERTY(EditAnywhere, BlueprintReadWrite)
float full = 0.0f;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
float month = 0.0f;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
float meter = 0.0f;
};
USTRUCT(BlueprintType)
struct FApartmentReferences
{
GENERATED_BODY()
UPROPERTY(EditAnywhere, BlueprintReadWrite)
TArray<UTexture2DDynamic*> textures;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
AResComPoint* point = nullptr;
};
USTRUCT(BlueprintType)
struct FApartment
{
GENERATED_BODY()
UPROPERTY(EditAnywhere, BlueprintReadWrite)
int32 id = -1;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
FString nameRC;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
FApartmentLocation loc;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
bool favorite = false;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
TEnumAsByte<ApartmentType> type;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
FApartmentReferences references;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
FApartmentQuantities quantities;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
FApartmentAreas areas;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
FApartmentCosts costs;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
TArray<FString> properties;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
FString description;
};
UCLASS(BlueprintType)
class FORTIS_TAKTIKA_API UResComApartmentManager : public UObject
{
GENERATED_BODY()
private:
TArray<FApartment> apartments;
FApartment notValid;
public:
UResComApartmentManager();
// valid
UFUNCTION(BlueprintCallable = "valid")
bool IsValid(FApartment apartment) const;
//modify
UFUNCTION(BlueprintCallable = "modify")
void Push(FApartment apartment);
UFUNCTION(BlueprintCallable = "modify")
void ClearFavorites();
// get
UFUNCTION(BlueprintCallable, Category = "get")
FApartment& GetByID(int32 id);
UFUNCTION(BlueprintCallable, Category = "get")
FApartment& GetByLoc(FApartmentLocation loc);
UFUNCTION(BlueprintCallable, Category = "get")
TArray<FApartment> GetFavorites();
//sort
UFUNCTION(BlueprintCallable, Category = "sort")
void SortByLoc();
UFUNCTION(BlueprintCallable, Category = "sort")
void SortByID();
};
@@ -0,0 +1,123 @@
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "ResComLevelPackLoader.h"
#include "Engine/LevelStreaming.h"
#include "Kismet/GameplayStatics.h"
#include "ResComApartmentManager.h"
#include "CoreMinimal.h"
#include "GameFramework/Actor.h"
#include "ResComFloorManager.generated.h"
/*Single-cast delegate declaration. No parameters*/
DECLARE_DYNAMIC_DELEGATE(FOnPreview);
DECLARE_DYNAMIC_DELEGATE(FOnShouldBeVisible);
DECLARE_DYNAMIC_DELEGATE(FOnShouldBeLoaded);
DECLARE_DYNAMIC_DELEGATE(FOnLoaded);
UENUM(BlueprintType)
enum Enum_LevelType
{
preview UMETA(DisplayName = "preview"),
visible UMETA(DisplayName = "visible"),
loaded UMETA(DisplayName = "loaded"),
};
USTRUCT(BlueprintType)
struct FFloorLevelStreaming
{
GENERATED_BODY()
UPROPERTY(EditAnywhere, BlueprintReadWrite)
ULevelStreaming* level = nullptr;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
TEnumAsByte<Enum_LevelType> type;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
int32 depth = 0;
};
USTRUCT(BlueprintType)
struct FFloorPack
{
GENERATED_BODY()
UPROPERTY(EditAnywhere, BlueprintReadWrite)
FApartmentLocation location;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
TArray<FFloorLevelStreaming> levels;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
bool loaded = false;
bool IsLoaded()
{
loaded = false;
for (auto& level : levels)
{
if (!IsValid(level.level))
return loaded;
if (!(level.level->IsLevelVisible()))
return loaded;
}
loaded = true;
return loaded;
}
};
UCLASS()
class FORTIS_TAKTIKA_API AResComFloorManager : public AActor
{
GENERATED_BODY()
protected:
UPROPERTY(EditAnywhere, BlueprintReadWrite)
TArray<FFloorPack> packs;
private:
UFUNCTION()
void OnLevelPreview();
UFUNCTION()
void OnLevelVisible();
UFUNCTION()
void OnLevelLoaded();
bool GetPack(FApartmentLocation loc, FFloorPack* pack);
public:
// Sets default values for this actor's properties
AResComFloorManager();
protected:
// Called when the game starts or when spawned
virtual void BeginPlay() override;
UFUNCTION(BlueprintCallable, Category = "StreamingLevel")
TArray<ULevelStreaming*> GetStreamingLevels(const UObject* WorldContextObject);
UPROPERTY()
FOnPreview OnPreview;
UPROPERTY()
FOnShouldBeVisible OnShouldBeVisible;
UPROPERTY()
FOnShouldBeLoaded OnShouldBeLoaded;
UPROPERTY()
FOnLoaded OnLoaded;
UFUNCTION(BlueprintCallable, Category = "Pack")
void AddLevelToPack(FApartmentLocation loc, FFloorLevelStreaming level);
UFUNCTION(BlueprintCallable, Category = "Pack")
bool GetPack(FApartmentLocation loc, FFloorPack& pack) const;
UFUNCTION(BlueprintCallable, Category = "Pack")
void AddPack(const FFloorPack& pack);
public:
// Called every frame
virtual void Tick(float DeltaTime) override;
UFUNCTION(BlueprintCallable, Category="Pack")
//bool LoadPack(FApartmentLocation loc, const FOnPreview& delegatePreview, const FOnShouldBeVisible& delegateShouldBeVisible, const FOnShouldBeLoaded& delegateShouldBeLoaded);
bool LoadPack(FApartmentLocation loc, const FOnLoaded& delegateOnLoaded);
UFUNCTION(BlueprintCallable, Category = "Pack")
bool UnloadPack(FApartmentLocation loc, const FOnPreview& delegatePreview, const FOnShouldBeVisible& delegateShouldBeVisible, const FOnShouldBeLoaded& delegateShouldBeLoaded);
};
@@ -0,0 +1,54 @@
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "ResComStatistics.h"
#include "ResComApartmentManager.h"
#include "Engine/LatentActionManager.h"
#include "Interfaces/IHttpRequest.h"
#include "Runtime/Online/HTTP/Public/HttpModule.h"
#include "Interfaces/IHttpResponse.h"
#include "Dom/JsonObject.h"
#include "Http.h"
#include "HttpModule.h"
#include "LatentActions.h"
#include "CoreMinimal.h"
#include "Engine/GameInstance.h"
#include "ResComGameInstance.generated.h"
/**
*
*/
DECLARE_DYNAMIC_DELEGATE_OneParam(FHttpDelegate, FString, Content);
UCLASS()
class FORTIS_TAKTIKA_API UResComGameInstance : public UGameInstance
{
GENERATED_BODY()
private:
UResComApartmentManager* apartmentManager;
UResComStatistics* statisticsManager;
//FString HttpData;
//FHttpDelegate& Callback;
protected:
//UFUNCTION(BlueprintCallable, Category = "ApartmentManager")
//void SetApartmentManager(UResComApartmentManager* manager);
public:
UResComGameInstance();
virtual void Init();
UFUNCTION(BlueprintCallable, Category = "ApartmentManager")
UResComApartmentManager* GetApartmentManager() const;
UFUNCTION(BlueprintCallable, Category = "StatisticsManager")
UResComStatistics* GetStatisticsManager() const;
//UFUNCTION(BlueprintCallable)
//void HttpGet(FString UrlAddress, const FHttpDelegate& Callback);
//void OnHttpRequestComplete(FHttpRequestPtr Request, FHttpResponsePtr Response, bool bWasSuccessful);
//UFUNCTION(BlueprintCallable)
//FString GetHttpData();
};
+28
View File
@@ -0,0 +1,28 @@
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "ResComUIStateManager.h"
#include "CoreMinimal.h"
#include "GameFramework/HUD.h"
#include "ResComHUD.generated.h"
/**
*
*/
UCLASS()
class FORTIS_TAKTIKA_API AResComHUD : public AHUD
{
GENERATED_BODY()
private:
AResComUIStateManager* UIStateManager;
protected:
UFUNCTION(BlueprintCallable, Category="UIManager")
void SetUIStateManager(AResComUIStateManager* manager);
public:
UFUNCTION(BlueprintCallable, Category = "UIManager")
AResComUIStateManager* GetUIManager() const;
};
@@ -0,0 +1,30 @@
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
//#include "ResComFloorManager.h"
#include "CoreMinimal.h"
#include "GameFramework/Actor.h"
#include "ResComLevelPackLoader.generated.h"
UCLASS()
class FORTIS_TAKTIKA_API AResComLevelPackLoader : public AActor
{
GENERATED_BODY()
private:
//FFloorPack* packLoading;
public:
// Sets default values for this actor's properties
AResComLevelPackLoader();
//AResComLevelPackLoader(FFloorPack* pack) : packLoading(pack){}
protected:
// Called when the game starts or when spawned
virtual void BeginPlay() override;
public:
// Called every frame
virtual void Tick(float DeltaTime) override;
//void LoadPack(FFloorPack* pack);
};
@@ -0,0 +1,38 @@
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
#include "ResComPlayerStateManager.h"
#include "ResComFloorManager.h"
#include "GameFramework/PlayerController.h"
#include "ResComPlayerController.generated.h"
/**
*
*/
UCLASS()
class FORTIS_TAKTIKA_API AResComPlayerController : public APlayerController
{
GENERATED_BODY()
private:
AResComPlayerStateManager* playerStateManager;
AResComFloorManager* floorManager;
protected:
UFUNCTION(BlueprintCallable, Category = "PlayerManager")
void SetPlayerStateManager(AResComPlayerStateManager* manager);
UFUNCTION(BlueprintCallable, Category = "FloorManager")
void SetFloorManager(AResComFloorManager* manager);
//virtual void BeginPlay() override;
public:
UFUNCTION(BlueprintCallable, Category = "PlayerManager")
AResComPlayerStateManager* GetPlayerStateManager() const;
UFUNCTION(BlueprintCallable, Category = "FloorManager")
AResComFloorManager* GetFloorManager() const;
UFUNCTION(BlueprintCallable, Category = "GarbageCollection")
void freeMemory();
};
@@ -0,0 +1,50 @@
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
#include "ResComStateManager.h"
#include "GameFramework/Actor.h"
#include "ResComPlayerStateManager.generated.h"
UENUM(BlueprintType)
enum Enum_PlayerState
{
none UMETA(DisplayName = "none"),
home UMETA(DisplayName = "home"),
infrastructure UMETA(DisplayName = "infrastructure"),
groupOverview UMETA(DisplayName = "groupOverview"),
houseOverview UMETA(DisplayName = "house"),
floorOverview UMETA(DisplayName = "floorOverview"),
flatOverview UMETA(DisplayName = "flatOverview"),
freeWalk UMETA(DisplayName = "freeWalk"),
parking UMETA(DisplayName = "parking")
};
UCLASS()
class FORTIS_TAKTIKA_API AResComPlayerStateManager : public AActor
{
GENERATED_BODY()
private:
ResComStateManager<Enum_PlayerState> stateManager;
public:
UFUNCTION(BlueprintCallable, Category = "State")
void SetState(const TEnumAsByte<Enum_PlayerState> newState);
UFUNCTION(BlueprintCallable, Category = "State")
void ClearAllStatesBesideLast();
UFUNCTION(BlueprintCallable, Category = "State")
void SetPreviousState();
UFUNCTION(BlueprintCallable, Category = "State")
const TEnumAsByte<Enum_PlayerState> GetState() const;
UFUNCTION(BlueprintCallable, Category = "Debug")
const FString GetStateHistoryAsString() const;
// blueprint reaction
UFUNCTION(BlueprintImplementableEvent, Category = "StateReaction")
void OnState(const TEnumAsByte<Enum_PlayerState>& newState);
};
@@ -0,0 +1,26 @@
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
#include "GameFramework/Actor.h"
#include "ResComPoint.generated.h"
UCLASS()
class FORTIS_TAKTIKA_API AResComPoint : public AActor
{
GENERATED_BODY()
public:
// Sets default values for this actor's properties
AResComPoint();
protected:
// Called when the game starts or when spawned
virtual void BeginPlay() override;
public:
// Called every frame
virtual void Tick(float DeltaTime) override;
};
@@ -0,0 +1,29 @@
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
#include "ResComState.generated.h"
/**
*
*/
UCLASS()
class FORTIS_TAKTIKA_API UResComState : public UObject
{
GENERATED_BODY()
protected:
int32 state;
public:
UResComState() : state(none) {}
UResComState(const int32& type) : state(type) {}
virtual void operator=(const int32& newState) { state = newState; }
const int32& GetInt() const { return state; }
const int32& GetValue() const { return GetInt(); }
bool operator==(const int32& stateIndex) { return this->state == stateIndex; }
bool operator==(const UResComState& stateCompare) { return this->state == stateCompare.state; }
// states
static const int32 none = 0;
static const int32 home = 1;
};
@@ -0,0 +1,56 @@
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
template<typename EnumType>
class ResComStateManager
{
protected:
TArray<EnumType> stateHistory;
EnumType nullobj;
public:
ResComStateManager() : nullobj(EnumType())
{
}
bool SetState(const EnumType& newState)
{
if (GetState() == newState)
return false;
stateHistory.Push(newState);
return true;
}
const EnumType& GetState() const
{
return static_cast<bool>(stateHistory.Num()) ? stateHistory[stateHistory.Num() - 1] : nullobj;
}
bool SetPrevState()
{
if (stateHistory.Num() < 2)
return false;
stateHistory.Pop();
return true;
}
const EnumType& GetPreviousState() const
{
return (stateHistory.Num() > 1) ? stateHistory[stateHistory.Num() - 2] : GetState();
}
void ClearAllStatesBesideLast()
{
auto lastState = GetState();
stateHistory.Empty();
SetState(lastState);
}
const TArray<EnumType>& GetHistory() const
{
return stateHistory;
}
};
@@ -0,0 +1,67 @@
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
#include "UObject/NoExportTypes.h"
#include "ResComStatistics.generated.h"
/**
*
*/
USTRUCT(BlueprintType)
struct FStateAndTime
{
GENERATED_BODY()
UPROPERTY(EditAnywhere, BlueprintReadWrite)
FString state;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
float duration = 0.0f;
FStateAndTime() {};
FStateAndTime(FString s, float t) : state(s), duration(t) {};
};
USTRUCT(BlueprintType)
struct FUserStatistics
{
GENERATED_BODY()
UPROPERTY(EditAnywhere, BlueprintReadWrite)
float timeSession = 0.0f;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
float timeVR = 0.0f;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
TArray<FStateAndTime> stateHistory;
};
UCLASS(BlueprintType)
class FORTIS_TAKTIKA_API UResComStatistics : public UObject
{
GENERATED_BODY()
protected:
float timeSession = 0.0f;
float timeVR = 0.0f;
TArray<FStateAndTime> stateHistory;
// start variables
float timeLastStartVR = 0.0f;
FStateAndTime prevState;
public:
UFUNCTION(BlueprintCallable, Category = "states")
void NewState(FString state);
UFUNCTION(BlueprintCallable, Category = "states")
FString GetStateHistoryString();
UFUNCTION(BlueprintCallable, Category = "VR")
void StartVR();
UFUNCTION(BlueprintCallable, Category = "VR")
void EndVR();
};
@@ -0,0 +1,55 @@
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
#include "ResComStateManager.h"
#include "ResComUIStateManager.generated.h"
/**
*
*/
UENUM(BlueprintType)
enum Enum_UIState
{
none UMETA(DisplayName = "none"),
home UMETA(DisplayName = "home"),
menu_main UMETA(DisplayName = "menu_main"),
menu_flat UMETA(DisplayName = "menu_flat"),
information UMETA(DisplayName = "information"),
infrastructure UMETA(DisplayName = "infrastructure"),
login UMETA(DisplayName = "login"),
loading UMETA(DisplayName = "loading"),
presentation UMETA(DisplayName = "presentation"),
filter UMETA(DisplayName = "filter"),
elevator UMETA(DisplayName = "elevator"),
walking_menu UMETA(DisplayName = "walking_menu"),
};
UCLASS()
class FORTIS_TAKTIKA_API AResComUIStateManager : public AActor
{
GENERATED_BODY()
private:
ResComStateManager<Enum_UIState> stateManager;
public:
UFUNCTION(BlueprintCallable, Category = "State")
void SetState(const TEnumAsByte<Enum_UIState> newState);
UFUNCTION(BlueprintCallable, Category = "State")
void ClearAllStatesBesideLast();
UFUNCTION(BlueprintCallable, Category = "State")
void SetPreviousState();
UFUNCTION(BlueprintCallable, Category = "State")
const TEnumAsByte<Enum_UIState> GetState() const;
UFUNCTION(BlueprintCallable, Category = "Debug")
const FString GetStateHistoryAsString() const;
// blueprint reaction
UFUNCTION(BlueprintImplementableEvent, Category = "StateReaction")
void OnState(const TEnumAsByte<Enum_UIState>& newState);
};
@@ -0,0 +1,32 @@
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
#include "ResComUserManager.generated.h"
/**
*
*/
USTRUCT(BlueprintType)
struct FStruct_User
{
GENERATED_BODY()
UPROPERTY(BlueprintReadWrite)
FString name;
UPROPERTY(BlueprintReadWrite)
FString phone;
UPROPERTY(BlueprintReadWrite)
FString email;
UPROPERTY(BlueprintReadWrite)
TArray<int32> favoriteFlatsIndices;
};
class FORTIS_TAKTIKA_API UResComUserManager
{
public:
UResComUserManager();
~UResComUserManager();
};
@@ -0,0 +1,36 @@
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
#include "ResComUserManager.h"
/**
*
*/
class FORTIS_TAKTIKA_API UResComUserStoreLocalData
{
private:
FString WorkingDirectoryPath;
public:
UResComUserStoreLocalData();
~UResComUserStoreLocalData();
UFUNCTION(BlueprintCallable)
void SetWorkingDirectory(FString path);
FStruct_User GetEmptyUser();
UFUNCTION(BlueprintCllable)
FStruct_User GetUser(FString phone);
UFUNCTION(BlueprintCallable)
FStruct_User GetUserFromString(FString string);
UFUNCTION(BlueprintCallable)
void AddUser(FString Phone, FString Name, FString Email, TArray<FString> FavoriteIDs);
};
@@ -0,0 +1,15 @@
#include "CoreMinimal.h"
#include "UObject/ObjectMacros.h"
#include "Templates/SubclassOf.h"
#include "Layout/ArrangedWidget.h"
#include "WorldCollision.h"
#include "Components/MeshComponent.h"
#include "WidgetComponentCustom.generated.h"
UCLASS()
class FORTIS_TAKTIKA_API UWidgetComponentCustom : public UMeshComponent
{
GENERATED_BODY()
};