From 6417d6644fa29ea7afd30c727a71b4f17071df40 Mon Sep 17 00:00:00 2001 From: Jers Date: Sun, 3 Dec 2023 00:22:22 -0600 Subject: [PATCH] Initial commit --- .gitattributes | 16 ++++ .gitignore | 51 +++++++++++ Config/DefaultEditor.ini | 7 ++ Config/DefaultEngine.ini | 79 +++++++++++++++++ Config/DefaultGame.ini | 8 ++ Config/DefaultInput.ini | 85 +++++++++++++++++++ Content/Blueprints/BP_GameMode.uasset | 3 + Content/Blueprints/BP_GameState.uasset | 3 + Content/Blueprints/BP_PlayerController.uasset | 3 + Content/Blueprints/BP_PlayerPawn.uasset | 3 + .../Blueprints/Editor/EW_WaveManager.uasset | 3 + .../Blueprints/Generals/DA_TheAdmiral.uasset | 3 + .../Blueprints/Generals/DA_TheVeteran.uasset | 3 + .../Blueprints/Generals/PDA_General.uasset | 3 + .../Blueprints/Levels/DA_Counterattack.uasset | 3 + .../Blueprints/Levels/DA_Extermination.uasset | 3 + Content/Blueprints/Levels/DA_Invasion.uasset | 3 + Content/Blueprints/Levels/PDA_Level.uasset | 3 + .../WavesInvasion/Invasion_Wave1.uasset | 3 + Content/Blueprints/Loot/BP_GoldLoot.uasset | 3 + Content/Blueprints/Loot/BP_Loot.uasset | 3 + Content/Blueprints/Loot/BP_UnitLoot.uasset | 3 + Content/Blueprints/UI/BP_Grid.uasset | 3 + Content/Blueprints/UI/BorderStyle.uasset | 3 + Content/Blueprints/UI/BorderTextArea.uasset | 3 + Content/Blueprints/UI/ButtonStyle.uasset | 3 + .../Blueprints/UI/ColumnBorderStyle.uasset | 3 + .../UI/ColumnBorderStyleActive.uasset | 3 + Content/Blueprints/UI/DT_CommonUI.uasset | 3 + Content/Blueprints/UI/HeaderTextStyle.uasset | 3 + Content/Blueprints/UI/InputData.uasset | 3 + .../UI/MainMenu/BI_ColumnData.uasset | 3 + .../UI/MainMenu/WBP_BattleMapMenu.uasset | 3 + .../UI/MainMenu/WBP_ColumnSelect.uasset | 3 + .../UI/MainMenu/WBP_ColumnSelectWidget.uasset | 3 + .../UI/MainMenu/WBP_GeneralSelect.uasset | 3 + .../UI/MainMenu/WBP_LootSelect.uasset | 3 + .../UI/MainMenu/WBP_MainMenu.uasset | 3 + .../UI/MainMenu/WBP_MainMenuWidget.uasset | 3 + .../UI/MainMenu/WBP_StageSelect.uasset | 3 + Content/Blueprints/UI/RegularTextStyle.uasset | 3 + Content/Blueprints/UI/TextStyle.uasset | 3 + Content/Blueprints/UI/WBP_Grid.uasset | 3 + Content/Blueprints/UI/WBP_MenuButton.uasset | 3 + .../Units/Common/AI/BB_Melee.uasset | 3 + .../Units/Common/AI/BT_Melee.uasset | 3 + .../Blueprints/Units/Common/BP_Unit.uasset | 3 + .../Blueprints/Units/EM_CQB/DA_EM_CQB.uasset | 3 + .../Blueprints/Units/EM_HWT/DA_EM_HWT.uasset | 3 + .../EM_MortarTeam/DA_EM_MortarTeam.uasset | 3 + .../Units/EM_Rifleman/DA_EM_Rifleman.uasset | 3 + .../Blueprints/Units/M_Mite/DA_M_Mite.uasset | 3 + Content/Levels/BattleMap.umap | 3 + Content/Levels/MainMenu.umap | 3 + Content/Models/Levels/Material.uasset | 3 + Content/Models/Levels/leveltest.uasset | 3 + .../Exoinfantry/exoinfantry.uasset | 3 + .../exoinfantry_PhysicsAsset.uasset | 3 + .../Exoinfantry/exoinfantry_Skeleton.uasset | 3 + Content/UI/Text_Area.uasset | 3 + Content/UI/button_hovered.uasset | 3 + Content/UI/button_normal.uasset | 3 + Content/UI/button_pressed.uasset | 3 + Content/UI/column.uasset | 3 + Content/UI/grid.uasset | 3 + Content/UI/olney_light.uasset | 3 + Content/UI/olney_light_Font.uasset | 3 + Source/SpaceBattler.Target.cs | 15 ++++ Source/SpaceBattler/Private/Loot.cpp | 13 +++ .../SpaceBattler/Private/PartySubsystem.cpp | 69 +++++++++++++++ .../Private/SBPlayerController.cpp | 4 + .../Private/StateMachineSubsystem.cpp | 65 ++++++++++++++ Source/SpaceBattler/Private/UnitInfo.cpp | 14 +++ Source/SpaceBattler/Private/Wave.cpp | 9 ++ Source/SpaceBattler/Private/WaveSubsystem.cpp | 51 +++++++++++ Source/SpaceBattler/Public/Loot.h | 26 ++++++ Source/SpaceBattler/Public/PartySubsystem.h | 44 ++++++++++ .../SpaceBattler/Public/SBPlayerController.h | 16 ++++ .../Public/StateMachineSubsystem.h | 39 +++++++++ Source/SpaceBattler/Public/UnitInfo.h | 44 ++++++++++ Source/SpaceBattler/Public/Wave.h | 24 ++++++ Source/SpaceBattler/Public/WaveSubsystem.h | 41 +++++++++ Source/SpaceBattler/SpaceBattler.Build.cs | 23 +++++ Source/SpaceBattler/SpaceBattler.cpp | 6 ++ Source/SpaceBattler/SpaceBattler.h | 6 ++ Source/SpaceBattlerEditor.Target.cs | 15 ++++ SpaceBattler.uproject | 29 +++++++ 87 files changed, 982 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 Config/DefaultEditor.ini create mode 100644 Config/DefaultEngine.ini create mode 100644 Config/DefaultGame.ini create mode 100644 Config/DefaultInput.ini create mode 100644 Content/Blueprints/BP_GameMode.uasset create mode 100644 Content/Blueprints/BP_GameState.uasset create mode 100644 Content/Blueprints/BP_PlayerController.uasset create mode 100644 Content/Blueprints/BP_PlayerPawn.uasset create mode 100644 Content/Blueprints/Editor/EW_WaveManager.uasset create mode 100644 Content/Blueprints/Generals/DA_TheAdmiral.uasset create mode 100644 Content/Blueprints/Generals/DA_TheVeteran.uasset create mode 100644 Content/Blueprints/Generals/PDA_General.uasset create mode 100644 Content/Blueprints/Levels/DA_Counterattack.uasset create mode 100644 Content/Blueprints/Levels/DA_Extermination.uasset create mode 100644 Content/Blueprints/Levels/DA_Invasion.uasset create mode 100644 Content/Blueprints/Levels/PDA_Level.uasset create mode 100644 Content/Blueprints/Levels/WavesInvasion/Invasion_Wave1.uasset create mode 100644 Content/Blueprints/Loot/BP_GoldLoot.uasset create mode 100644 Content/Blueprints/Loot/BP_Loot.uasset create mode 100644 Content/Blueprints/Loot/BP_UnitLoot.uasset create mode 100644 Content/Blueprints/UI/BP_Grid.uasset create mode 100644 Content/Blueprints/UI/BorderStyle.uasset create mode 100644 Content/Blueprints/UI/BorderTextArea.uasset create mode 100644 Content/Blueprints/UI/ButtonStyle.uasset create mode 100644 Content/Blueprints/UI/ColumnBorderStyle.uasset create mode 100644 Content/Blueprints/UI/ColumnBorderStyleActive.uasset create mode 100644 Content/Blueprints/UI/DT_CommonUI.uasset create mode 100644 Content/Blueprints/UI/HeaderTextStyle.uasset create mode 100644 Content/Blueprints/UI/InputData.uasset create mode 100644 Content/Blueprints/UI/MainMenu/BI_ColumnData.uasset create mode 100644 Content/Blueprints/UI/MainMenu/WBP_BattleMapMenu.uasset create mode 100644 Content/Blueprints/UI/MainMenu/WBP_ColumnSelect.uasset create mode 100644 Content/Blueprints/UI/MainMenu/WBP_ColumnSelectWidget.uasset create mode 100644 Content/Blueprints/UI/MainMenu/WBP_GeneralSelect.uasset create mode 100644 Content/Blueprints/UI/MainMenu/WBP_LootSelect.uasset create mode 100644 Content/Blueprints/UI/MainMenu/WBP_MainMenu.uasset create mode 100644 Content/Blueprints/UI/MainMenu/WBP_MainMenuWidget.uasset create mode 100644 Content/Blueprints/UI/MainMenu/WBP_StageSelect.uasset create mode 100644 Content/Blueprints/UI/RegularTextStyle.uasset create mode 100644 Content/Blueprints/UI/TextStyle.uasset create mode 100644 Content/Blueprints/UI/WBP_Grid.uasset create mode 100644 Content/Blueprints/UI/WBP_MenuButton.uasset create mode 100644 Content/Blueprints/Units/Common/AI/BB_Melee.uasset create mode 100644 Content/Blueprints/Units/Common/AI/BT_Melee.uasset create mode 100644 Content/Blueprints/Units/Common/BP_Unit.uasset create mode 100644 Content/Blueprints/Units/EM_CQB/DA_EM_CQB.uasset create mode 100644 Content/Blueprints/Units/EM_HWT/DA_EM_HWT.uasset create mode 100644 Content/Blueprints/Units/EM_MortarTeam/DA_EM_MortarTeam.uasset create mode 100644 Content/Blueprints/Units/EM_Rifleman/DA_EM_Rifleman.uasset create mode 100644 Content/Blueprints/Units/M_Mite/DA_M_Mite.uasset create mode 100644 Content/Levels/BattleMap.umap create mode 100644 Content/Levels/MainMenu.umap create mode 100644 Content/Models/Levels/Material.uasset create mode 100644 Content/Models/Levels/leveltest.uasset create mode 100644 Content/Models/PlayerUnits/Exoinfantry/exoinfantry.uasset create mode 100644 Content/Models/PlayerUnits/Exoinfantry/exoinfantry_PhysicsAsset.uasset create mode 100644 Content/Models/PlayerUnits/Exoinfantry/exoinfantry_Skeleton.uasset create mode 100644 Content/UI/Text_Area.uasset create mode 100644 Content/UI/button_hovered.uasset create mode 100644 Content/UI/button_normal.uasset create mode 100644 Content/UI/button_pressed.uasset create mode 100644 Content/UI/column.uasset create mode 100644 Content/UI/grid.uasset create mode 100644 Content/UI/olney_light.uasset create mode 100644 Content/UI/olney_light_Font.uasset create mode 100644 Source/SpaceBattler.Target.cs create mode 100644 Source/SpaceBattler/Private/Loot.cpp create mode 100644 Source/SpaceBattler/Private/PartySubsystem.cpp create mode 100644 Source/SpaceBattler/Private/SBPlayerController.cpp create mode 100644 Source/SpaceBattler/Private/StateMachineSubsystem.cpp create mode 100644 Source/SpaceBattler/Private/UnitInfo.cpp create mode 100644 Source/SpaceBattler/Private/Wave.cpp create mode 100644 Source/SpaceBattler/Private/WaveSubsystem.cpp create mode 100644 Source/SpaceBattler/Public/Loot.h create mode 100644 Source/SpaceBattler/Public/PartySubsystem.h create mode 100644 Source/SpaceBattler/Public/SBPlayerController.h create mode 100644 Source/SpaceBattler/Public/StateMachineSubsystem.h create mode 100644 Source/SpaceBattler/Public/UnitInfo.h create mode 100644 Source/SpaceBattler/Public/Wave.h create mode 100644 Source/SpaceBattler/Public/WaveSubsystem.h create mode 100644 Source/SpaceBattler/SpaceBattler.Build.cs create mode 100644 Source/SpaceBattler/SpaceBattler.cpp create mode 100644 Source/SpaceBattler/SpaceBattler.h create mode 100644 Source/SpaceBattlerEditor.Target.cs create mode 100644 SpaceBattler.uproject diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..b9c3b93 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,16 @@ +# Unreal Engine file types. +*.uasset filter=lfs diff=lfs merge=lfs -text +*.umap filter=lfs diff=lfs merge=lfs -text + +# Raw Content file types. +*.fbx filter=lfs diff=lfs merge=lfs -text +*.3ds filter=lfs diff=lfs merge=lfs -text +*.psd filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.mp3 filter=lfs diff=lfs merge=lfs -text +*.wav filter=lfs diff=lfs merge=lfs -text +*.xcf filter=lfs diff=lfs merge=lfs -text +*.jpg filter=lfs diff=lfs merge=lfs -text + +# Anything in `/RawContent` dir. +/RawContent/**/* filter=lfs diff=lfs merge=lfs -text \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9da6c57 --- /dev/null +++ b/.gitignore @@ -0,0 +1,51 @@ +# Ignore all files by default, but scan all directories. +* +!*/ + +# Do not ignore git files in the root of the repo. +!/.git* + +# Do not ignore current project's `.uproject`. +!/*.uproject + +# Do not ignore source, config and plugins dirs. +!/Source/** +!/Config/** +!/Plugins/** + +# Only allow .uasset and .umap files from /Content dir. +# They're tracked by git-lfs, don't forget to track other +# files if adding them here. +!/Content/**/*.uasset +!/Content/**/*.umap + +# Allow any files from /RawContent dir. +# Any file in /RawContent dir will be managed by git lfs. +!/RawContent/**/* + +# OS/platform generated files. + +# Windows +ehthumbs.db +Thumbs.db + +# Mac OS X +.DS_Store +.DS_Store? +.AppleDouble +.LSOverride +._* + +# Linux +*~ +.directory + +# vim +[._]*.s[a-w][a-z] +[._]s[a-w][a-z] +*.un~ +Session.vim +.netrwhist + +# Visual Studio +.vs \ No newline at end of file diff --git a/Config/DefaultEditor.ini b/Config/DefaultEditor.ini new file mode 100644 index 0000000..95f796b --- /dev/null +++ b/Config/DefaultEditor.ini @@ -0,0 +1,7 @@ +[/Script/AdvancedPreviewScene.SharedProfiles] + +[/Script/CommonUI.CommonUIEditorSettings] +TemplateButtonStyle=/Game/Blueprints/UI/ButtonTemplate.ButtonTemplate_C +TemplateTextStyle=/Game/Blueprints/UI/TextStyle.TextStyle_C +TemplateBorderStyle=/Game/Blueprints/UI/BorderStyle.BorderStyle_C + diff --git a/Config/DefaultEngine.ini b/Config/DefaultEngine.ini new file mode 100644 index 0000000..b716a74 --- /dev/null +++ b/Config/DefaultEngine.ini @@ -0,0 +1,79 @@ + + +[/Script/EngineSettings.GameMapsSettings] +GameDefaultMap=/Game/Levels/MainMenu.MainMenu +GlobalDefaultGameMode=/Game/Blueprints/BP_GameMode.BP_GameMode_C +EditorStartupMap=/Game/Levels/MainMenu.MainMenu + +[/Script/WindowsTargetPlatform.WindowsTargetSettings] +DefaultGraphicsRHI=DefaultGraphicsRHI_DX12 +-D3D12TargetedShaderFormats=PCD3D_SM5 ++D3D12TargetedShaderFormats=PCD3D_SM6 +-D3D11TargetedShaderFormats=PCD3D_SM5 ++D3D11TargetedShaderFormats=PCD3D_SM5 +Compiler=Default +AudioSampleRate=48000 +AudioCallbackBufferFrameSize=1024 +AudioNumBuffersToEnqueue=1 +AudioMaxChannels=0 +AudioNumSourceWorkers=4 +SpatializationPlugin= +SourceDataOverridePlugin= +ReverbPlugin= +OcclusionPlugin= +CompressionOverrides=(bOverrideCompressionTimes=False,DurationThreshold=5.000000,MaxNumRandomBranches=0,SoundCueQualityIndex=0) +CacheSizeKB=65536 +MaxChunkSizeOverrideKB=0 +bResampleForDevice=False +MaxSampleRate=48000.000000 +HighSampleRate=32000.000000 +MedSampleRate=24000.000000 +LowSampleRate=12000.000000 +MinSampleRate=8000.000000 +CompressionQualityModifier=1.000000 +AutoStreamingThreshold=0.000000 +SoundCueCookQualityIndex=-1 + + +[/Script/HardwareTargeting.HardwareTargetingSettings] +TargetedHardwareClass=Desktop +AppliedTargetedHardwareClass=Desktop +DefaultGraphicsPerformance=Maximum +AppliedDefaultGraphicsPerformance=Maximum + +[/Script/Engine.RendererSettings] +r.GenerateMeshDistanceFields=True +r.DynamicGlobalIlluminationMethod=2 +r.ReflectionMethod=2 +r.Shadow.Virtual.Enable=1 +r.DefaultFeature.AutoExposure.ExtendDefaultLuminanceRange=True +r.DefaultFeature.LocalExposure.HighlightContrastScale=0.8 +r.DefaultFeature.LocalExposure.ShadowContrastScale=0.8 + +[/Script/WorldPartitionEditor.WorldPartitionEditorSettings] +CommandletClass=Class'/Script/UnrealEd.WorldPartitionConvertCommandlet' + +[/Script/Engine.UserInterfaceSettings] +bAuthorizeAutomaticWidgetVariableCreation=False +FontDPIPreset=Standard +FontDPI=72 + +[/Script/Engine.Engine] ++ActiveGameNameRedirects=(OldGameName="TP_BlankBP",NewGameName="/Script/SpaceBattler") ++ActiveGameNameRedirects=(OldGameName="/Script/TP_BlankBP",NewGameName="/Script/SpaceBattler") +GameViewportClientClassName=/Script/CommonUI.CommonGameViewportClient + +[/Script/AndroidFileServerEditor.AndroidFileServerRuntimeSettings] +bEnablePlugin=True +bAllowNetworkConnection=True +SecurityToken=6B81F1ED4A1C9319C8DF14A5CE133840 +bIncludeInShipping=False +bAllowExternalStartInShipping=False +bCompileAFSProject=False +bUseCompression=False +bLogFiles=False +bReportStats=False +ConnectionType=USBOnly +bUseManualIPAddress=False +ManualIPAddress= + diff --git a/Config/DefaultGame.ini b/Config/DefaultGame.ini new file mode 100644 index 0000000..6b003df --- /dev/null +++ b/Config/DefaultGame.ini @@ -0,0 +1,8 @@ + + +[/Script/EngineSettings.GeneralProjectSettings] +ProjectID=48EAAE9D4AA343B35C083681A4525CF4 + +[/Script/CommonInput.CommonInputSettings] +InputData=/Game/Blueprints/UI/InputData.InputData_C + diff --git a/Config/DefaultInput.ini b/Config/DefaultInput.ini new file mode 100644 index 0000000..4cc3605 --- /dev/null +++ b/Config/DefaultInput.ini @@ -0,0 +1,85 @@ +[/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="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_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)) +bAltEnterTogglesFullscreen=True +bF11TogglesFullscreen=True +bUseMouseForTouch=False +bEnableMouseSmoothing=True +bEnableFOVScaling=True +bCaptureMouseOnLaunch=True +bEnableLegacyInputScales=True +bEnableMotionControls=True +bFilterInputByPlatformUser=False +bShouldFlushPressedKeysOnViewportFocusLost=True +bAlwaysShowTouchInterface=False +bShowConsoleOnFourFingerTap=True +bEnableGestureRecognizer=False +bUseAutocorrect=False +DefaultViewportMouseCaptureMode=CapturePermanently_IncludingInitialMouseDown +DefaultViewportMouseLockMode=LockOnCapture +FOVScale=0.011110 +DoubleClickTime=0.200000 +DefaultPlayerInputClass=/Script/EnhancedInput.EnhancedPlayerInput +DefaultInputComponentClass=/Script/EnhancedInput.EnhancedInputComponent +DefaultTouchInterface=/Engine/MobileResources/HUD/DefaultVirtualJoysticks.DefaultVirtualJoysticks +-ConsoleKeys=Tilde ++ConsoleKeys=Tilde ++ConsoleKeys=Caret + diff --git a/Content/Blueprints/BP_GameMode.uasset b/Content/Blueprints/BP_GameMode.uasset new file mode 100644 index 0000000..994b255 --- /dev/null +++ b/Content/Blueprints/BP_GameMode.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dc142f15b64f2770a5e3e76811320baa67625b19905598057f47329c1d9dd631 +size 20551 diff --git a/Content/Blueprints/BP_GameState.uasset b/Content/Blueprints/BP_GameState.uasset new file mode 100644 index 0000000..599d741 --- /dev/null +++ b/Content/Blueprints/BP_GameState.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b3c4abc61ec78b1dbe0d9012673435ad7245c517c03f7f2deece34074e1c8c6d +size 200805 diff --git a/Content/Blueprints/BP_PlayerController.uasset b/Content/Blueprints/BP_PlayerController.uasset new file mode 100644 index 0000000..a6266ec --- /dev/null +++ b/Content/Blueprints/BP_PlayerController.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f34141e80382f30ed31c60743104fcdcee25ca402a9fe9c58e6f1e623f9aefbb +size 138303 diff --git a/Content/Blueprints/BP_PlayerPawn.uasset b/Content/Blueprints/BP_PlayerPawn.uasset new file mode 100644 index 0000000..192cfaf --- /dev/null +++ b/Content/Blueprints/BP_PlayerPawn.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7cfe0163889580d76ca1741b873537fdaef1e2d023c065a5fc08b8c8716a04f4 +size 35548 diff --git a/Content/Blueprints/Editor/EW_WaveManager.uasset b/Content/Blueprints/Editor/EW_WaveManager.uasset new file mode 100644 index 0000000..137d842 --- /dev/null +++ b/Content/Blueprints/Editor/EW_WaveManager.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be800b53ed0fbd27697df10159b5d8dbcec414cabb06c8ba1323c603016bdf46 +size 26505 diff --git a/Content/Blueprints/Generals/DA_TheAdmiral.uasset b/Content/Blueprints/Generals/DA_TheAdmiral.uasset new file mode 100644 index 0000000..1754bfd --- /dev/null +++ b/Content/Blueprints/Generals/DA_TheAdmiral.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:335e8445849101d36845d25ed616ca335c216cfa53c80027f1d8b1c9d845fae7 +size 2855 diff --git a/Content/Blueprints/Generals/DA_TheVeteran.uasset b/Content/Blueprints/Generals/DA_TheVeteran.uasset new file mode 100644 index 0000000..c1d9dda --- /dev/null +++ b/Content/Blueprints/Generals/DA_TheVeteran.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fd87015c053ded5ba1cb6d6016dc66333b89b8f9f6c20ce9483dd05a79c189c9 +size 2915 diff --git a/Content/Blueprints/Generals/PDA_General.uasset b/Content/Blueprints/Generals/PDA_General.uasset new file mode 100644 index 0000000..1a60438 --- /dev/null +++ b/Content/Blueprints/Generals/PDA_General.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2e397f944a25dc8191a2496addae75b936aed865c496e3c23c4b08bc45109dba +size 29112 diff --git a/Content/Blueprints/Levels/DA_Counterattack.uasset b/Content/Blueprints/Levels/DA_Counterattack.uasset new file mode 100644 index 0000000..76e8927 --- /dev/null +++ b/Content/Blueprints/Levels/DA_Counterattack.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b695ef6b0781a34ba5ab3532faa41ab7e9bddd74c4130292d57a2d920ec7e14e +size 2815 diff --git a/Content/Blueprints/Levels/DA_Extermination.uasset b/Content/Blueprints/Levels/DA_Extermination.uasset new file mode 100644 index 0000000..78044ee --- /dev/null +++ b/Content/Blueprints/Levels/DA_Extermination.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cd6f07a6e3497903d29a48384da87f88ec116a36afa7abba73a76a97aa81952a +size 2819 diff --git a/Content/Blueprints/Levels/DA_Invasion.uasset b/Content/Blueprints/Levels/DA_Invasion.uasset new file mode 100644 index 0000000..5308305 --- /dev/null +++ b/Content/Blueprints/Levels/DA_Invasion.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:41cbe66f9b8d77ea331498ad7544ad20183bc5cedb931d3da4a253abf82cf55d +size 2831 diff --git a/Content/Blueprints/Levels/PDA_Level.uasset b/Content/Blueprints/Levels/PDA_Level.uasset new file mode 100644 index 0000000..a5d8ef6 --- /dev/null +++ b/Content/Blueprints/Levels/PDA_Level.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e048186a33435a0519451152a57e8eb9c62c5a387e995e61e64443d3aa1da661 +size 29086 diff --git a/Content/Blueprints/Levels/WavesInvasion/Invasion_Wave1.uasset b/Content/Blueprints/Levels/WavesInvasion/Invasion_Wave1.uasset new file mode 100644 index 0000000..3782592 --- /dev/null +++ b/Content/Blueprints/Levels/WavesInvasion/Invasion_Wave1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ba59da6b411ba1bd4a04bfac827f966ac20cff1cf4b36f1c393eb62a7df38a81 +size 1701 diff --git a/Content/Blueprints/Loot/BP_GoldLoot.uasset b/Content/Blueprints/Loot/BP_GoldLoot.uasset new file mode 100644 index 0000000..06524c0 --- /dev/null +++ b/Content/Blueprints/Loot/BP_GoldLoot.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:49514491bf455d38608d4f11f292eeed7abe1b69d1fedd048d0dbd410d04857e +size 65282 diff --git a/Content/Blueprints/Loot/BP_Loot.uasset b/Content/Blueprints/Loot/BP_Loot.uasset new file mode 100644 index 0000000..3b67a31 --- /dev/null +++ b/Content/Blueprints/Loot/BP_Loot.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b3b2312b4c59be4cab11026d3ef9d31c099572a018404b0be397ff7c6b0fd78a +size 26173 diff --git a/Content/Blueprints/Loot/BP_UnitLoot.uasset b/Content/Blueprints/Loot/BP_UnitLoot.uasset new file mode 100644 index 0000000..ca36d0f --- /dev/null +++ b/Content/Blueprints/Loot/BP_UnitLoot.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b56353ee77780504f672535a730bcf4d6ffa2b8ec3b58099a9c91a39ecd6e7df +size 67081 diff --git a/Content/Blueprints/UI/BP_Grid.uasset b/Content/Blueprints/UI/BP_Grid.uasset new file mode 100644 index 0000000..aa5c78e --- /dev/null +++ b/Content/Blueprints/UI/BP_Grid.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:34b500fb34b90b49d8d5c8d1e9b9474b58fd41c3f43e09cdc57b60785c98907c +size 23178 diff --git a/Content/Blueprints/UI/BorderStyle.uasset b/Content/Blueprints/UI/BorderStyle.uasset new file mode 100644 index 0000000..8faae43 --- /dev/null +++ b/Content/Blueprints/UI/BorderStyle.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6f97e63b79cc6d6da127f844ed3127e4bae60c19ff734c71108a456e47376162 +size 5672 diff --git a/Content/Blueprints/UI/BorderTextArea.uasset b/Content/Blueprints/UI/BorderTextArea.uasset new file mode 100644 index 0000000..86098ec --- /dev/null +++ b/Content/Blueprints/UI/BorderTextArea.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b8f4f6e403e229cbbb396044fedf9d17c58234cb67602248a8121ee34eb0c7a0 +size 6487 diff --git a/Content/Blueprints/UI/ButtonStyle.uasset b/Content/Blueprints/UI/ButtonStyle.uasset new file mode 100644 index 0000000..fb0a4ab --- /dev/null +++ b/Content/Blueprints/UI/ButtonStyle.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7bfd5518bbd1d971056d08867464d13a9303a07c5a706319c4ad87cdbeb9c504 +size 9095 diff --git a/Content/Blueprints/UI/ColumnBorderStyle.uasset b/Content/Blueprints/UI/ColumnBorderStyle.uasset new file mode 100644 index 0000000..3c852cc --- /dev/null +++ b/Content/Blueprints/UI/ColumnBorderStyle.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:08f4b83a9bb9bf665883f4ce696e9f34206127cbd1b2724478b9cfec4d622945 +size 6140 diff --git a/Content/Blueprints/UI/ColumnBorderStyleActive.uasset b/Content/Blueprints/UI/ColumnBorderStyleActive.uasset new file mode 100644 index 0000000..7a43cde --- /dev/null +++ b/Content/Blueprints/UI/ColumnBorderStyleActive.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f03c9d670718ce4ab4621ff1d3564248915c8009254f3638ebc3eb0415ca5a8d +size 5946 diff --git a/Content/Blueprints/UI/DT_CommonUI.uasset b/Content/Blueprints/UI/DT_CommonUI.uasset new file mode 100644 index 0000000..1eb7e3e --- /dev/null +++ b/Content/Blueprints/UI/DT_CommonUI.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5563eac06b5a7e40a124320189653372b070af2950e6304e1a7ccaa66c2ddb36 +size 13183 diff --git a/Content/Blueprints/UI/HeaderTextStyle.uasset b/Content/Blueprints/UI/HeaderTextStyle.uasset new file mode 100644 index 0000000..4a8cba9 --- /dev/null +++ b/Content/Blueprints/UI/HeaderTextStyle.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:60e876035022652e94262d8c73ed33ebffba0c918234cd30695d2ba4f1ff73e8 +size 6227 diff --git a/Content/Blueprints/UI/InputData.uasset b/Content/Blueprints/UI/InputData.uasset new file mode 100644 index 0000000..71a3aec --- /dev/null +++ b/Content/Blueprints/UI/InputData.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1d215e9454fb49ddd24712d7231b4ee6145f74fc15a21ec9162ae185e4a29b41 +size 6243 diff --git a/Content/Blueprints/UI/MainMenu/BI_ColumnData.uasset b/Content/Blueprints/UI/MainMenu/BI_ColumnData.uasset new file mode 100644 index 0000000..8f72f41 --- /dev/null +++ b/Content/Blueprints/UI/MainMenu/BI_ColumnData.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fa16e4e46cd9d094ec9c2620550d4cd43b60b79da08e94403611e9a16efb652a +size 13089 diff --git a/Content/Blueprints/UI/MainMenu/WBP_BattleMapMenu.uasset b/Content/Blueprints/UI/MainMenu/WBP_BattleMapMenu.uasset new file mode 100644 index 0000000..4ab3d40 --- /dev/null +++ b/Content/Blueprints/UI/MainMenu/WBP_BattleMapMenu.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:93806c1506f44d21336b0e7fcc7c6dc429c7d29b27de012ced0b007840a38c7a +size 22678 diff --git a/Content/Blueprints/UI/MainMenu/WBP_ColumnSelect.uasset b/Content/Blueprints/UI/MainMenu/WBP_ColumnSelect.uasset new file mode 100644 index 0000000..5fc605d --- /dev/null +++ b/Content/Blueprints/UI/MainMenu/WBP_ColumnSelect.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:73ef3823d07ba0b5f024b298b3d843ecca06a9dfe72d1ad1eaaf02550524ad73 +size 120976 diff --git a/Content/Blueprints/UI/MainMenu/WBP_ColumnSelectWidget.uasset b/Content/Blueprints/UI/MainMenu/WBP_ColumnSelectWidget.uasset new file mode 100644 index 0000000..4be2285 --- /dev/null +++ b/Content/Blueprints/UI/MainMenu/WBP_ColumnSelectWidget.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:364a44aaf50073f58cf7107925e68c65495645ff726564f9ab644744bf5ff2a7 +size 89633 diff --git a/Content/Blueprints/UI/MainMenu/WBP_GeneralSelect.uasset b/Content/Blueprints/UI/MainMenu/WBP_GeneralSelect.uasset new file mode 100644 index 0000000..31e5df1 --- /dev/null +++ b/Content/Blueprints/UI/MainMenu/WBP_GeneralSelect.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9b8462fd50a58341418bbf36ccb47e71778d0ac0c4f99da4437311ee0f88b2dc +size 57611 diff --git a/Content/Blueprints/UI/MainMenu/WBP_LootSelect.uasset b/Content/Blueprints/UI/MainMenu/WBP_LootSelect.uasset new file mode 100644 index 0000000..e842caf --- /dev/null +++ b/Content/Blueprints/UI/MainMenu/WBP_LootSelect.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5a8ba9f039e687c92d646d3edf7eaa59c83bf9c341d92a30432815cd51b07a36 +size 21210 diff --git a/Content/Blueprints/UI/MainMenu/WBP_MainMenu.uasset b/Content/Blueprints/UI/MainMenu/WBP_MainMenu.uasset new file mode 100644 index 0000000..1ebe7d0 --- /dev/null +++ b/Content/Blueprints/UI/MainMenu/WBP_MainMenu.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9935539e626172975b2da1757961aaf3920c93fd8cc51a1403d5033934403767 +size 36875 diff --git a/Content/Blueprints/UI/MainMenu/WBP_MainMenuWidget.uasset b/Content/Blueprints/UI/MainMenu/WBP_MainMenuWidget.uasset new file mode 100644 index 0000000..0d43e64 --- /dev/null +++ b/Content/Blueprints/UI/MainMenu/WBP_MainMenuWidget.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:db5b37f988ec6acba9bc45f5601fc23bbd3a9d42325a175cd83e926c13b8af3f +size 29653 diff --git a/Content/Blueprints/UI/MainMenu/WBP_StageSelect.uasset b/Content/Blueprints/UI/MainMenu/WBP_StageSelect.uasset new file mode 100644 index 0000000..a0219b6 --- /dev/null +++ b/Content/Blueprints/UI/MainMenu/WBP_StageSelect.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0727dabb8f7a44f769b239c9d534375881006e019b78971962fce530afb20ef4 +size 56525 diff --git a/Content/Blueprints/UI/RegularTextStyle.uasset b/Content/Blueprints/UI/RegularTextStyle.uasset new file mode 100644 index 0000000..2dc7bbd --- /dev/null +++ b/Content/Blueprints/UI/RegularTextStyle.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:03f1b6f9201adcd634c827c6041ba7d0a228e7e8f3294d164d298c623d09eae8 +size 6198 diff --git a/Content/Blueprints/UI/TextStyle.uasset b/Content/Blueprints/UI/TextStyle.uasset new file mode 100644 index 0000000..a7e1c26 --- /dev/null +++ b/Content/Blueprints/UI/TextStyle.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d5cc1c25600bff86722a881f0b0c4d62af9553c787b33030709bb53b85d230dc +size 2437 diff --git a/Content/Blueprints/UI/WBP_Grid.uasset b/Content/Blueprints/UI/WBP_Grid.uasset new file mode 100644 index 0000000..e5a6087 --- /dev/null +++ b/Content/Blueprints/UI/WBP_Grid.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:80c71801ab4261784cbd8e38e715f220a7482a9da3c56a60bbffbb45254b525c +size 21932 diff --git a/Content/Blueprints/UI/WBP_MenuButton.uasset b/Content/Blueprints/UI/WBP_MenuButton.uasset new file mode 100644 index 0000000..b64f07c --- /dev/null +++ b/Content/Blueprints/UI/WBP_MenuButton.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0ebff42cdbab3f28ae8b78d95a43441b4369aca5eea0d49d4fd520a1b1e08eef +size 33587 diff --git a/Content/Blueprints/Units/Common/AI/BB_Melee.uasset b/Content/Blueprints/Units/Common/AI/BB_Melee.uasset new file mode 100644 index 0000000..1ea12c6 --- /dev/null +++ b/Content/Blueprints/Units/Common/AI/BB_Melee.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:57ff1309b3ca56290aa1339e04d007ce3f938f2ff5c4d360bb2197a9c7103147 +size 2215 diff --git a/Content/Blueprints/Units/Common/AI/BT_Melee.uasset b/Content/Blueprints/Units/Common/AI/BT_Melee.uasset new file mode 100644 index 0000000..f2d3481 --- /dev/null +++ b/Content/Blueprints/Units/Common/AI/BT_Melee.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:30f78c50d9516bfe008565f90066e2cc98263f866375fd49f2317a826c282cd7 +size 4738 diff --git a/Content/Blueprints/Units/Common/BP_Unit.uasset b/Content/Blueprints/Units/Common/BP_Unit.uasset new file mode 100644 index 0000000..aad46d5 --- /dev/null +++ b/Content/Blueprints/Units/Common/BP_Unit.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bdd41cc7cd87ba2ca423623500bb4f9240f6f0d580ef959460d50e21d86e754c +size 68183 diff --git a/Content/Blueprints/Units/EM_CQB/DA_EM_CQB.uasset b/Content/Blueprints/Units/EM_CQB/DA_EM_CQB.uasset new file mode 100644 index 0000000..6e89dcd --- /dev/null +++ b/Content/Blueprints/Units/EM_CQB/DA_EM_CQB.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0888f2981f613951aac5319697d090c2553bd9e27eefceac05682b392ce74dfc +size 2801 diff --git a/Content/Blueprints/Units/EM_HWT/DA_EM_HWT.uasset b/Content/Blueprints/Units/EM_HWT/DA_EM_HWT.uasset new file mode 100644 index 0000000..5ae7cb1 --- /dev/null +++ b/Content/Blueprints/Units/EM_HWT/DA_EM_HWT.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:778678a3cf9e599001f456145b228909afa4d2c7b3cdf458b25fd2bed7f1757c +size 2729 diff --git a/Content/Blueprints/Units/EM_MortarTeam/DA_EM_MortarTeam.uasset b/Content/Blueprints/Units/EM_MortarTeam/DA_EM_MortarTeam.uasset new file mode 100644 index 0000000..69a86b2 --- /dev/null +++ b/Content/Blueprints/Units/EM_MortarTeam/DA_EM_MortarTeam.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bcd25aa73c5ecb042a8997f7b2eb02e186b3f25bb61bb2aed6a02f77f63816f4 +size 2679 diff --git a/Content/Blueprints/Units/EM_Rifleman/DA_EM_Rifleman.uasset b/Content/Blueprints/Units/EM_Rifleman/DA_EM_Rifleman.uasset new file mode 100644 index 0000000..c0ee885 --- /dev/null +++ b/Content/Blueprints/Units/EM_Rifleman/DA_EM_Rifleman.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eaecf9e1259a929e9d866d65cd74213e1c369d3111f53ffe128ec1ed4e9c6c24 +size 3117 diff --git a/Content/Blueprints/Units/M_Mite/DA_M_Mite.uasset b/Content/Blueprints/Units/M_Mite/DA_M_Mite.uasset new file mode 100644 index 0000000..6996765 --- /dev/null +++ b/Content/Blueprints/Units/M_Mite/DA_M_Mite.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2be20249d0b66a4211823d6033702ca07b348a98b26727c5ab1cd28869c477b7 +size 2589 diff --git a/Content/Levels/BattleMap.umap b/Content/Levels/BattleMap.umap new file mode 100644 index 0000000..3696d37 --- /dev/null +++ b/Content/Levels/BattleMap.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dd89dbf0e04df55bc4aaad418297c3243d10a30df6a93a7e99004b10c7f64a2b +size 53311 diff --git a/Content/Levels/MainMenu.umap b/Content/Levels/MainMenu.umap new file mode 100644 index 0000000..a1672bc --- /dev/null +++ b/Content/Levels/MainMenu.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:441454854f37138d176ff7b6e7acbd263a364bf1878aa222cd873e0f68fbee0b +size 43389 diff --git a/Content/Models/Levels/Material.uasset b/Content/Models/Levels/Material.uasset new file mode 100644 index 0000000..93720ea --- /dev/null +++ b/Content/Models/Levels/Material.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:73ad0dcf3a24796f4804cf66dfb569154c96518bbcc2328f22a5d82573229cf3 +size 8953 diff --git a/Content/Models/Levels/leveltest.uasset b/Content/Models/Levels/leveltest.uasset new file mode 100644 index 0000000..07719e8 --- /dev/null +++ b/Content/Models/Levels/leveltest.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:95a63461f3435eaec4ef34cdd725e1119d5febaeb70805555004f8583548b8cd +size 17383 diff --git a/Content/Models/PlayerUnits/Exoinfantry/exoinfantry.uasset b/Content/Models/PlayerUnits/Exoinfantry/exoinfantry.uasset new file mode 100644 index 0000000..ec1e390 --- /dev/null +++ b/Content/Models/PlayerUnits/Exoinfantry/exoinfantry.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:43725955c9e14b25c5866d14e0a0d0a02bec8c2c6b1ccc22bb944c8e7f29527f +size 4982181 diff --git a/Content/Models/PlayerUnits/Exoinfantry/exoinfantry_PhysicsAsset.uasset b/Content/Models/PlayerUnits/Exoinfantry/exoinfantry_PhysicsAsset.uasset new file mode 100644 index 0000000..cf6400d --- /dev/null +++ b/Content/Models/PlayerUnits/Exoinfantry/exoinfantry_PhysicsAsset.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e97f2c79bc41c77727837ae0748d1897a58a2b0758adff2ce361c0e5157b99b0 +size 16242 diff --git a/Content/Models/PlayerUnits/Exoinfantry/exoinfantry_Skeleton.uasset b/Content/Models/PlayerUnits/Exoinfantry/exoinfantry_Skeleton.uasset new file mode 100644 index 0000000..d2df8e8 --- /dev/null +++ b/Content/Models/PlayerUnits/Exoinfantry/exoinfantry_Skeleton.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5f6fdd8da3bded7675b9852abe20ae1d01f432b81fb10521fc6ffd91495e7dd4 +size 10775 diff --git a/Content/UI/Text_Area.uasset b/Content/UI/Text_Area.uasset new file mode 100644 index 0000000..83a0674 --- /dev/null +++ b/Content/UI/Text_Area.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:80bb730a5b9950594168668276abdd25131d3e12b2e9fa283f9054a44da1ee78 +size 102332 diff --git a/Content/UI/button_hovered.uasset b/Content/UI/button_hovered.uasset new file mode 100644 index 0000000..643f49e --- /dev/null +++ b/Content/UI/button_hovered.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:834ce685aadc1e49d6044f5205d77495612cbfc3b03e18cf5ab9cac29d586852 +size 22783 diff --git a/Content/UI/button_normal.uasset b/Content/UI/button_normal.uasset new file mode 100644 index 0000000..522dec7 --- /dev/null +++ b/Content/UI/button_normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7da1fd200930ed05276221f1b94ecdaf6c9f3fc1f7760356c337820949ed95c7 +size 21948 diff --git a/Content/UI/button_pressed.uasset b/Content/UI/button_pressed.uasset new file mode 100644 index 0000000..f4098d9 --- /dev/null +++ b/Content/UI/button_pressed.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9c2bd401b070dcbc791277c0f0204e6825176125dea0b1305485825e2fa5c2a8 +size 24493 diff --git a/Content/UI/column.uasset b/Content/UI/column.uasset new file mode 100644 index 0000000..310cfa9 --- /dev/null +++ b/Content/UI/column.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d978782a3c8c810f53b59c839db20645db5f517e45f9eb0464b39bb1ae18fe0a +size 204495 diff --git a/Content/UI/grid.uasset b/Content/UI/grid.uasset new file mode 100644 index 0000000..fd79c10 --- /dev/null +++ b/Content/UI/grid.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f451f3bd5cdac44fcfd3bd963a8f673bed10b939510ba772c49d90ca8c75c341 +size 9234 diff --git a/Content/UI/olney_light.uasset b/Content/UI/olney_light.uasset new file mode 100644 index 0000000..54c0336 --- /dev/null +++ b/Content/UI/olney_light.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:93a2ae17ebdec0da39dc095f77a24c1ac340feea4415f34715d39ee8300dfdcf +size 28785 diff --git a/Content/UI/olney_light_Font.uasset b/Content/UI/olney_light_Font.uasset new file mode 100644 index 0000000..070e1fb --- /dev/null +++ b/Content/UI/olney_light_Font.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5d8bc238d8eb03a709cacab0ec0c9b2622908beec393c721a95f839d5949769e +size 6254 diff --git a/Source/SpaceBattler.Target.cs b/Source/SpaceBattler.Target.cs new file mode 100644 index 0000000..2ca696b --- /dev/null +++ b/Source/SpaceBattler.Target.cs @@ -0,0 +1,15 @@ +// Fill out your copyright notice in the Description page of Project Settings. + +using UnrealBuildTool; +using System.Collections.Generic; + +public class SpaceBattlerTarget : TargetRules +{ + public SpaceBattlerTarget(TargetInfo Target) : base(Target) + { + Type = TargetType.Game; + DefaultBuildSettings = BuildSettingsVersion.V4; + + ExtraModuleNames.AddRange( new string[] { "SpaceBattler" } ); + } +} diff --git a/Source/SpaceBattler/Private/Loot.cpp b/Source/SpaceBattler/Private/Loot.cpp new file mode 100644 index 0000000..7229836 --- /dev/null +++ b/Source/SpaceBattler/Private/Loot.cpp @@ -0,0 +1,13 @@ +// Fill out your copyright notice in the Description page of Project Settings. + + +#include "Loot.h" + +ULoot::ULoot() +{ +} + +void ULoot::Init_Implementation(AGameStateBase* GameState) +{ + +} diff --git a/Source/SpaceBattler/Private/PartySubsystem.cpp b/Source/SpaceBattler/Private/PartySubsystem.cpp new file mode 100644 index 0000000..867eacf --- /dev/null +++ b/Source/SpaceBattler/Private/PartySubsystem.cpp @@ -0,0 +1,69 @@ +// Fill out your copyright notice in the Description page of Project Settings. + + +#include "PartySubsystem.h" + +void UPartySubsystem::AddToParty(UUnitInfo* UnitInfo) +{ + for (TPair &Unit : Members) + { + if(Unit.Key->GetClass() == UnitInfo->GetClass()) + { + Unit.Value++; + return; + } + } +} + +TMap UPartySubsystem::GetMembers() +{ + return Members; +} + +int32 UPartySubsystem::SpawnParty(float InVerticalSpacing, float InHorizontalOffset, int InNumRows) +{ + this->VerticalSpacing = InVerticalSpacing; + this->HorizontalOffset = InHorizontalOffset; + this->NumRows = InNumRows; + + GetMembers().KeySort([](const UUnitInfo& A, const UUnitInfo& B) + { + return A.GetTier() < B.GetTier(); + }); + + for (TPair &Unit : GetMembers()) + { + for(auto i = 0; i < Unit.Value; i++) + { + SpawnQueue.Add(Unit.Key->GetCharacterClass()); + } + } + + auto NumUnits= SpawnQueue.Num(); + + SpawnUnits(); + GetWorld()->GetTimerManager().SetTimer( + SpawnTimerHandle, + this, + &UPartySubsystem::SpawnUnits, + 0.5f, + true); + + return NumUnits; +} + +void UPartySubsystem::SpawnUnits() +{ + for(auto i = 0; i < NumRows; i++) + { + if(i + LastSpawnIndex >= SpawnQueue.Num()) + { + GetWorld()->GetTimerManager().ClearTimer(SpawnTimerHandle); + return; + } + FVector Location = FVector(VerticalSpacing * i - VerticalSpacing, -HorizontalOffset, 0); + GetWorld()->SpawnActor(SpawnQueue[i + LastSpawnIndex], &Location); + } + + LastSpawnIndex += NumRows; +} diff --git a/Source/SpaceBattler/Private/SBPlayerController.cpp b/Source/SpaceBattler/Private/SBPlayerController.cpp new file mode 100644 index 0000000..20ffbba --- /dev/null +++ b/Source/SpaceBattler/Private/SBPlayerController.cpp @@ -0,0 +1,4 @@ +// Fill out your copyright notice in the Description page of Project Settings. + + +#include "SBPlayerController.h" diff --git a/Source/SpaceBattler/Private/StateMachineSubsystem.cpp b/Source/SpaceBattler/Private/StateMachineSubsystem.cpp new file mode 100644 index 0000000..4a878b4 --- /dev/null +++ b/Source/SpaceBattler/Private/StateMachineSubsystem.cpp @@ -0,0 +1,65 @@ +// Fill out your copyright notice in the Description page of Project Settings. + + +#include "StateMachineSubsystem.h" + +void UStateMachineSubsystem::Initialize(FSubsystemCollectionBase& Collection) +{ + Super::Initialize(Collection); + CurrentState = EGameState::MainMenu; + UE_LOG(LogTemp, Display, TEXT("Starting game state machine in MAINMENU state")) +} + +bool UStateMachineSubsystem::ChangeState(EGameState NewState) +{ + // Exit from old state + switch (CurrentState) + { + case EGameState::MainMenu: + switch(NewState) + { + case EGameState::Battle: + UE_LOG(LogTemp, Display, TEXT("Entering BATTLE state from MAINMENU")) + break; + default: + UE_LOG(LogTemp, Error, TEXT("NewState is invalid from MAINMENU state: %hhd"), NewState) + return false; + } + break; + case EGameState::Battle: + switch(NewState) + { + case EGameState::BattleMenu: + UE_LOG(LogTemp, Display, TEXT("Entering BATTLEMENU state from BATTLE")) + break; + case EGameState::GameOver: + UE_LOG(LogTemp, Display, TEXT("Entering GAMEOVER state from BATTLE")) + break; + case EGameState::Victory: + UE_LOG(LogTemp, Display, TEXT("Entering VICTORY state from BATTLE")) + break; + default: + UE_LOG(LogTemp, Error, TEXT("NewState is invalid from BATTLE state: %hhd"), NewState) + return false; + } + break; + case EGameState::BattleMenu: + switch(NewState) + { + case EGameState::Battle: + UE_LOG(LogTemp, Error, TEXT("Entering BATTLE state from BATTLEMENU")) + break; + default: + UE_LOG(LogTemp, Error, TEXT("NewState is invalid from BATTLEMENU state: %hhd"), NewState) + return false; + } + break; + default: + UE_LOG(LogTemp, Error, TEXT("Leaving unknown state, this is a problem")) + return false; + } + + CurrentState = NewState; + StateChangedDelegate.Broadcast(NewState); + return true; +} diff --git a/Source/SpaceBattler/Private/UnitInfo.cpp b/Source/SpaceBattler/Private/UnitInfo.cpp new file mode 100644 index 0000000..c647451 --- /dev/null +++ b/Source/SpaceBattler/Private/UnitInfo.cpp @@ -0,0 +1,14 @@ +// Fill out your copyright notice in the Description page of Project Settings. + + +#include "UnitInfo.h" + +int32 UUnitInfo::GetTier() const +{ + return Tier; +} + +TSubclassOf UUnitInfo::GetCharacterClass() const +{ + return CharacterClass; +} diff --git a/Source/SpaceBattler/Private/Wave.cpp b/Source/SpaceBattler/Private/Wave.cpp new file mode 100644 index 0000000..581fd25 --- /dev/null +++ b/Source/SpaceBattler/Private/Wave.cpp @@ -0,0 +1,9 @@ +// Fill out your copyright notice in the Description page of Project Settings. + + +#include "Wave.h" + +TArray UWave::GetUnits() +{ + return Units; +} diff --git a/Source/SpaceBattler/Private/WaveSubsystem.cpp b/Source/SpaceBattler/Private/WaveSubsystem.cpp new file mode 100644 index 0000000..9ac783a --- /dev/null +++ b/Source/SpaceBattler/Private/WaveSubsystem.cpp @@ -0,0 +1,51 @@ +// Fill out your copyright notice in the Description page of Project Settings. + + +#include "WaveSubsystem.h" + +void UWaveSubsystem::Init(TArray InWaves, int32 CurrWave = 0) +{ + CurrentWave = CurrWave; + Waves = InWaves; +} + +int32 UWaveSubsystem::SpawnWave(float InVerticalSpacing, float InHorizontalOffset, int InNumRows) +{ + NumRows = InNumRows; + HorizontalOffset = InHorizontalOffset; + VerticalSpacing = InVerticalSpacing; + SpawnQueue = Waves[CurrentWave]->GetUnits(); + const auto NumUnits = SpawnQueue.Num(); + + SpawnUnits(); + GetWorld()->GetTimerManager().SetTimer( + SpawnTimerHandle, + this, + &UWaveSubsystem::SpawnUnits, + 0.5f, + true); + + CurrentWave++; + return NumUnits; +} + +void UWaveSubsystem::SpawnUnits() +{ + for(auto i = 0; i < NumRows; i++) + { + if(i + LastSpawnIndex >= SpawnQueue.Num()) + { + GetWorld()->GetTimerManager().ClearTimer(SpawnTimerHandle); + return; + } + + FVector Location = FVector(VerticalSpacing * i - VerticalSpacing, HorizontalOffset, 0); + AActor* NewEnemy = GetWorld()->SpawnActor(SpawnQueue[i + LastSpawnIndex]->GetCharacterClass(), &Location); + if(NewEnemy != nullptr) + { + NewEnemy->Tags.Add(TEXT("enemy")); + } + } + + LastSpawnIndex += NumRows; +} diff --git a/Source/SpaceBattler/Public/Loot.h b/Source/SpaceBattler/Public/Loot.h new file mode 100644 index 0000000..c76c940 --- /dev/null +++ b/Source/SpaceBattler/Public/Loot.h @@ -0,0 +1,26 @@ +// Fill out your copyright notice in the Description page of Project Settings. + +#pragma once + +#include "CoreMinimal.h" +#include "Loot.generated.h" + +/** + * + */ +UCLASS(Blueprintable) +class SPACEBATTLER_API ULoot : public UObject +{ + GENERATED_BODY() +public: + ULoot(); + + UFUNCTION(BlueprintCallable, Blueprintable, BlueprintNativeEvent) + void Init(AGameStateBase* GameState); + + UPROPERTY(BlueprintReadWrite, EditAnywhere) + FText Name; + + UPROPERTY(BlueprintReadWrite, EditAnywhere) + FText Description; +}; diff --git a/Source/SpaceBattler/Public/PartySubsystem.h b/Source/SpaceBattler/Public/PartySubsystem.h new file mode 100644 index 0000000..700b130 --- /dev/null +++ b/Source/SpaceBattler/Public/PartySubsystem.h @@ -0,0 +1,44 @@ +// Fill out your copyright notice in the Description page of Project Settings. + +#pragma once + +#include "CoreMinimal.h" +#include "UnitInfo.h" +#include "Subsystems/LocalPlayerSubsystem.h" +#include "PartySubsystem.generated.h" + +/** + * + */ +UCLASS() +class SPACEBATTLER_API UPartySubsystem : public ULocalPlayerSubsystem +{ + GENERATED_BODY() +public: + UFUNCTION(BlueprintCallable) + int32 SpawnParty(float VerticalSpacing, float HorizontalOffset, int NumRows); + + UFUNCTION(BlueprintCallable) + void AddToParty(UUnitInfo* UnitInfo); + + UFUNCTION(BlueprintCallable) + TMap GetMembers(); + +protected: + void SpawnUnits(); + + UPROPERTY() + TArray> SpawnQueue; + + UPROPERTY(BlueprintReadWrite, EditAnywhere) + TMap Members; + + UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPrimaryDataAsset* SelectedGeneral; + + FTimerHandle SpawnTimerHandle; + int32 LastSpawnIndex; + int32 NumRows; + float HorizontalOffset; + float VerticalSpacing; +}; diff --git a/Source/SpaceBattler/Public/SBPlayerController.h b/Source/SpaceBattler/Public/SBPlayerController.h new file mode 100644 index 0000000..986fdcc --- /dev/null +++ b/Source/SpaceBattler/Public/SBPlayerController.h @@ -0,0 +1,16 @@ +// Fill out your copyright notice in the Description page of Project Settings. + +#pragma once + +#include "CoreMinimal.h" +#include "GameFramework/PlayerController.h" +#include "SBPlayerController.generated.h" + +/** + * + */ +UCLASS() +class SPACEBATTLER_API ASBPlayerController : public APlayerController +{ + GENERATED_BODY() +}; diff --git a/Source/SpaceBattler/Public/StateMachineSubsystem.h b/Source/SpaceBattler/Public/StateMachineSubsystem.h new file mode 100644 index 0000000..fce9f20 --- /dev/null +++ b/Source/SpaceBattler/Public/StateMachineSubsystem.h @@ -0,0 +1,39 @@ +// Fill out your copyright notice in the Description page of Project Settings. + +#pragma once + +#include "CoreMinimal.h" +#include "Subsystems/GameInstanceSubsystem.h" +#include "StateMachineSubsystem.generated.h" + +UENUM(BlueprintType) +enum class EGameState : uint8 +{ + MainMenu, + Battle, + BattleMenu, + GameOver, + Victory +}; + +DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FStateChangedDelegate, EGameState, NewState); + +/** + * + */ +UCLASS() +class SPACEBATTLER_API UStateMachineSubsystem : public UGameInstanceSubsystem +{ + GENERATED_BODY() + +public: + virtual void Initialize(FSubsystemCollectionBase& Collection) override; + UFUNCTION(BlueprintCallable) + bool ChangeState(EGameState NewState); + + UPROPERTY(BlueprintAssignable) + FStateChangedDelegate StateChangedDelegate; + +protected: + EGameState CurrentState; +}; diff --git a/Source/SpaceBattler/Public/UnitInfo.h b/Source/SpaceBattler/Public/UnitInfo.h new file mode 100644 index 0000000..e182628 --- /dev/null +++ b/Source/SpaceBattler/Public/UnitInfo.h @@ -0,0 +1,44 @@ +// Fill out your copyright notice in the Description page of Project Settings. + +#pragma once + +#include "CoreMinimal.h" +#include "Engine/DataAsset.h" +#include "UnitInfo.generated.h" + +/** + * + */ +UCLASS() +class SPACEBATTLER_API UUnitInfo : public UPrimaryDataAsset +{ + GENERATED_BODY() +public: + int32 GetTier() const; + TSubclassOf GetCharacterClass() const; + +protected: + UPROPERTY(BlueprintReadWrite, EditAnywhere) + FText Name; + + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (MultiLine = true)) + FText Description; + + UPROPERTY(BlueprintReadWrite, EditAnywhere) + float BaseHP; + + UPROPERTY(BlueprintReadWrite, EditAnywhere) + float Attack; + + UPROPERTY(BlueprintReadWrite, EditAnywhere) + float Cooldown; + + UPROPERTY(BlueprintReadWrite, EditAnywhere) + bool IsRanged; + + UPROPERTY(BlueprintReadWrite, EditAnywhere) + int32 Tier; + + UPROPERTY(BlueprintReadWrite, EditAnywhere) + TSubclassOf CharacterClass; +}; diff --git a/Source/SpaceBattler/Public/Wave.h b/Source/SpaceBattler/Public/Wave.h new file mode 100644 index 0000000..30af9ad --- /dev/null +++ b/Source/SpaceBattler/Public/Wave.h @@ -0,0 +1,24 @@ +// Fill out your copyright notice in the Description page of Project Settings. + +#pragma once + +#include "CoreMinimal.h" +#include "UnitInfo.h" +#include "Engine/DataAsset.h" +#include "Wave.generated.h" + +/** + * + */ +UCLASS() +class SPACEBATTLER_API UWave : public UPrimaryDataAsset +{ + GENERATED_BODY() + +public: + TArray GetUnits(); + +protected: + UPROPERTY(BlueprintReadWrite, EditAnywhere) + TArray Units; +}; diff --git a/Source/SpaceBattler/Public/WaveSubsystem.h b/Source/SpaceBattler/Public/WaveSubsystem.h new file mode 100644 index 0000000..b2c56ef --- /dev/null +++ b/Source/SpaceBattler/Public/WaveSubsystem.h @@ -0,0 +1,41 @@ +// Fill out your copyright notice in the Description page of Project Settings. + +#pragma once + +#include "CoreMinimal.h" +#include "Wave.h" +#include "Subsystems/GameInstanceSubsystem.h" +#include "WaveSubsystem.generated.h" + +/** + * + */ +UCLASS() +class SPACEBATTLER_API UWaveSubsystem : public UGameInstanceSubsystem +{ + GENERATED_BODY() +public: + UFUNCTION(BlueprintCallable) + void Init(TArray InWaves, int32 CurrWave); + + UFUNCTION(BlueprintCallable) + int32 SpawnWave(float InVerticalSpacing, float InHorizontalOffset, int InNumRows); + +protected: + void SpawnUnits(); + + UPROPERTY() + TArray Waves; + + UPROPERTY(BlueprintReadOnly) + int32 CurrentWave; + + UPROPERTY() + TArray SpawnQueue; + + FTimerHandle SpawnTimerHandle; + int32 NumRows; + int32 LastSpawnIndex; + float VerticalSpacing; + float HorizontalOffset; +}; diff --git a/Source/SpaceBattler/SpaceBattler.Build.cs b/Source/SpaceBattler/SpaceBattler.Build.cs new file mode 100644 index 0000000..28d8e05 --- /dev/null +++ b/Source/SpaceBattler/SpaceBattler.Build.cs @@ -0,0 +1,23 @@ +// Fill out your copyright notice in the Description page of Project Settings. + +using UnrealBuildTool; + +public class SpaceBattler : ModuleRules +{ + public SpaceBattler(ReadOnlyTargetRules Target) : base(Target) + { + PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs; + + PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore" }); + + PrivateDependencyModuleNames.AddRange(new string[] { }); + + // 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 + } +} diff --git a/Source/SpaceBattler/SpaceBattler.cpp b/Source/SpaceBattler/SpaceBattler.cpp new file mode 100644 index 0000000..8e6598b --- /dev/null +++ b/Source/SpaceBattler/SpaceBattler.cpp @@ -0,0 +1,6 @@ +// Fill out your copyright notice in the Description page of Project Settings. + +#include "SpaceBattler.h" +#include "Modules/ModuleManager.h" + +IMPLEMENT_PRIMARY_GAME_MODULE( FDefaultGameModuleImpl, SpaceBattler, "SpaceBattler" ); diff --git a/Source/SpaceBattler/SpaceBattler.h b/Source/SpaceBattler/SpaceBattler.h new file mode 100644 index 0000000..90aad9e --- /dev/null +++ b/Source/SpaceBattler/SpaceBattler.h @@ -0,0 +1,6 @@ +// Fill out your copyright notice in the Description page of Project Settings. + +#pragma once + +#include "CoreMinimal.h" + diff --git a/Source/SpaceBattlerEditor.Target.cs b/Source/SpaceBattlerEditor.Target.cs new file mode 100644 index 0000000..6bdf85a --- /dev/null +++ b/Source/SpaceBattlerEditor.Target.cs @@ -0,0 +1,15 @@ +// Fill out your copyright notice in the Description page of Project Settings. + +using UnrealBuildTool; +using System.Collections.Generic; + +public class SpaceBattlerEditorTarget : TargetRules +{ + public SpaceBattlerEditorTarget(TargetInfo Target) : base(Target) + { + Type = TargetType.Editor; + DefaultBuildSettings = BuildSettingsVersion.V4; + + ExtraModuleNames.AddRange( new string[] { "SpaceBattler" } ); + } +} diff --git a/SpaceBattler.uproject b/SpaceBattler.uproject new file mode 100644 index 0000000..a142a93 --- /dev/null +++ b/SpaceBattler.uproject @@ -0,0 +1,29 @@ +{ + "FileVersion": 3, + "EngineAssociation": "5.3", + "Category": "", + "Description": "", + "Modules": [ + { + "Name": "SpaceBattler", + "Type": "Runtime", + "LoadingPhase": "Default", + "AdditionalDependencies": [ + "Engine" + ] + } + ], + "Plugins": [ + { + "Name": "ModelingToolsEditorMode", + "Enabled": true, + "TargetAllowList": [ + "Editor" + ] + }, + { + "Name": "CommonUI", + "Enabled": true + } + ] +} \ No newline at end of file