diff --git a/Config/DefaultEngine.ini b/Config/DefaultEngine.ini index b5b6059..60b6550 100644 --- a/Config/DefaultEngine.ini +++ b/Config/DefaultEngine.ini @@ -107,6 +107,8 @@ ManualIPAddress= +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="CogSampleProfile",CollisionEnabled=QueryAndPhysics,bCanModify=True,ObjectTypeName="",CustomResponses=((Channel="Pawn",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Ignore),(Channel="Destructible",Response=ECR_Ignore)),HelpMessage="Sample cog profile") +DefaultChannelResponses=(Channel=ECC_GameTraceChannel1,DefaultResponse=ECR_Block,bTraceType=False,bStaticObject=False,Name="CogSampleChannel") ++EditProfiles=(Name="Pawn",CustomResponses=((Channel="Camera",Response=ECR_Ignore))) ++EditProfiles=(Name="CharacterMesh",CustomResponses=((Channel="Camera",Response=ECR_Ignore))) -ProfileRedirects=(OldName="BlockingVolume",NewName="InvisibleWall") -ProfileRedirects=(OldName="InterpActor",NewName="IgnoreOnlyPawn") -ProfileRedirects=(OldName="StaticMeshComponent",NewName="BlockAllDynamic") diff --git a/Content/Characters/BP_Character.uasset b/Content/Characters/BP_Character.uasset index 0ff622b..3c7d59a 100644 Binary files a/Content/Characters/BP_Character.uasset and b/Content/Characters/BP_Character.uasset differ diff --git a/Content/Characters/Children/Creature/BP_Creature.uasset b/Content/Characters/Children/Creature/BP_Creature.uasset index f425510..51c0f59 100644 Binary files a/Content/Characters/Children/Creature/BP_Creature.uasset and b/Content/Characters/Children/Creature/BP_Creature.uasset differ diff --git a/Content/Characters/Children/Creature/GE_Creature.uasset b/Content/Characters/Children/Creature/GE_Creature.uasset deleted file mode 100644 index 84d573f..0000000 Binary files a/Content/Characters/Children/Creature/GE_Creature.uasset and /dev/null differ diff --git a/Content/Characters/Children/Creature1/BP_Creature1.uasset b/Content/Characters/Children/Creature1/BP_Creature1.uasset new file mode 100644 index 0000000..c5a7b2f Binary files /dev/null and b/Content/Characters/Children/Creature1/BP_Creature1.uasset differ diff --git a/Content/Characters/Children/Creature1/Effects/GE_Creature1.uasset b/Content/Characters/Children/Creature1/Effects/GE_Creature1.uasset new file mode 100644 index 0000000..9b13402 Binary files /dev/null and b/Content/Characters/Children/Creature1/Effects/GE_Creature1.uasset differ diff --git a/Content/Characters/Children/Creature1/Materials/MI_Creature1_01.uasset b/Content/Characters/Children/Creature1/Materials/MI_Creature1_01.uasset new file mode 100644 index 0000000..2c11e3d Binary files /dev/null and b/Content/Characters/Children/Creature1/Materials/MI_Creature1_01.uasset differ diff --git a/Content/Characters/Children/Creature1/Materials/MI_Creature1_02.uasset b/Content/Characters/Children/Creature1/Materials/MI_Creature1_02.uasset new file mode 100644 index 0000000..2a0c935 Binary files /dev/null and b/Content/Characters/Children/Creature1/Materials/MI_Creature1_02.uasset differ diff --git a/Content/Characters/Children/Creature2/BP_Creature2.uasset b/Content/Characters/Children/Creature2/BP_Creature2.uasset new file mode 100644 index 0000000..c9ba9c8 Binary files /dev/null and b/Content/Characters/Children/Creature2/BP_Creature2.uasset differ diff --git a/Content/Characters/Children/Creature2/Effects/GE_Creature2.uasset b/Content/Characters/Children/Creature2/Effects/GE_Creature2.uasset new file mode 100644 index 0000000..383d1c5 Binary files /dev/null and b/Content/Characters/Children/Creature2/Effects/GE_Creature2.uasset differ diff --git a/Content/Characters/Children/Creature2/Materials/MI_Creature2_01.uasset b/Content/Characters/Children/Creature2/Materials/MI_Creature2_01.uasset new file mode 100644 index 0000000..e36d5a9 Binary files /dev/null and b/Content/Characters/Children/Creature2/Materials/MI_Creature2_01.uasset differ diff --git a/Content/Characters/Children/Creature2/Materials/MI_Creature2_02.uasset b/Content/Characters/Children/Creature2/Materials/MI_Creature2_02.uasset new file mode 100644 index 0000000..752f5f7 Binary files /dev/null and b/Content/Characters/Children/Creature2/Materials/MI_Creature2_02.uasset differ diff --git a/Content/Characters/Children/Hero/Abilities/GA_Hero_1.uasset b/Content/Characters/Children/Hero/Abilities/GA_Hero_1.uasset deleted file mode 100644 index c5ef59e..0000000 Binary files a/Content/Characters/Children/Hero/Abilities/GA_Hero_1.uasset and /dev/null differ diff --git a/Content/Characters/Children/Hero/Abilities/GA_Hero_2.uasset b/Content/Characters/Children/Hero/Abilities/GA_Hero_2.uasset deleted file mode 100644 index 7049e28..0000000 Binary files a/Content/Characters/Children/Hero/Abilities/GA_Hero_2.uasset and /dev/null differ diff --git a/Content/Characters/Children/Hero/Abilities/GA_Hero_3.uasset b/Content/Characters/Children/Hero/Abilities/GA_Hero_3.uasset deleted file mode 100644 index c194deb..0000000 Binary files a/Content/Characters/Children/Hero/Abilities/GA_Hero_3.uasset and /dev/null differ diff --git a/Content/Characters/Children/Hero/BP_Hero.uasset b/Content/Characters/Children/Hero/BP_Hero.uasset deleted file mode 100644 index a8290c3..0000000 Binary files a/Content/Characters/Children/Hero/BP_Hero.uasset and /dev/null differ diff --git a/Content/Characters/Children/Hero/Effects/GE_Hero.uasset b/Content/Characters/Children/Hero/Effects/GE_Hero.uasset deleted file mode 100644 index 360aee2..0000000 Binary files a/Content/Characters/Children/Hero/Effects/GE_Hero.uasset and /dev/null differ diff --git a/Content/Characters/Children/Hero/Abilities/Jump/GA_Hero_Jump.uasset b/Content/Characters/Children/Hero1/Abilities/Ability1/GA_Hero1_Ability1.uasset similarity index 51% rename from Content/Characters/Children/Hero/Abilities/Jump/GA_Hero_Jump.uasset rename to Content/Characters/Children/Hero1/Abilities/Ability1/GA_Hero1_Ability1.uasset index 38008f8..3a292ae 100644 Binary files a/Content/Characters/Children/Hero/Abilities/Jump/GA_Hero_Jump.uasset and b/Content/Characters/Children/Hero1/Abilities/Ability1/GA_Hero1_Ability1.uasset differ diff --git a/Content/Characters/Children/Hero1/Abilities/Ability2/GA_Hero1_Ability2.uasset b/Content/Characters/Children/Hero1/Abilities/Ability2/GA_Hero1_Ability2.uasset new file mode 100644 index 0000000..abda076 Binary files /dev/null and b/Content/Characters/Children/Hero1/Abilities/Ability2/GA_Hero1_Ability2.uasset differ diff --git a/Content/Characters/Children/Hero1/Abilities/Ability3/GA_Hero1_Ability3.uasset b/Content/Characters/Children/Hero1/Abilities/Ability3/GA_Hero1_Ability3.uasset new file mode 100644 index 0000000..9c58c6d Binary files /dev/null and b/Content/Characters/Children/Hero1/Abilities/Ability3/GA_Hero1_Ability3.uasset differ diff --git a/Content/Characters/Children/Hero1/Abilities/Ability4/GA_Hero1_Ability4.uasset b/Content/Characters/Children/Hero1/Abilities/Ability4/GA_Hero1_Ability4.uasset new file mode 100644 index 0000000..b07365d Binary files /dev/null and b/Content/Characters/Children/Hero1/Abilities/Ability4/GA_Hero1_Ability4.uasset differ diff --git a/Content/Characters/Children/Hero1/BP_Hero1.uasset b/Content/Characters/Children/Hero1/BP_Hero1.uasset new file mode 100644 index 0000000..70a31fb Binary files /dev/null and b/Content/Characters/Children/Hero1/BP_Hero1.uasset differ diff --git a/Content/Characters/Children/Hero1/Effects/GE_Hero1.uasset b/Content/Characters/Children/Hero1/Effects/GE_Hero1.uasset new file mode 100644 index 0000000..41a1b1c Binary files /dev/null and b/Content/Characters/Children/Hero1/Effects/GE_Hero1.uasset differ diff --git a/Content/Characters/Children/Hero1/Materials/MI_Hero1_01.uasset b/Content/Characters/Children/Hero1/Materials/MI_Hero1_01.uasset new file mode 100644 index 0000000..cf5e4c7 Binary files /dev/null and b/Content/Characters/Children/Hero1/Materials/MI_Hero1_01.uasset differ diff --git a/Content/Characters/Children/Hero1/Materials/MI_Hero1_02.uasset b/Content/Characters/Children/Hero1/Materials/MI_Hero1_02.uasset new file mode 100644 index 0000000..3d68dab Binary files /dev/null and b/Content/Characters/Children/Hero1/Materials/MI_Hero1_02.uasset differ diff --git a/Content/Characters/Children/Hero2/Abilities/Ability1/GA_Hero2_Ability1.uasset b/Content/Characters/Children/Hero2/Abilities/Ability1/GA_Hero2_Ability1.uasset new file mode 100644 index 0000000..a02617f Binary files /dev/null and b/Content/Characters/Children/Hero2/Abilities/Ability1/GA_Hero2_Ability1.uasset differ diff --git a/Content/Characters/Children/Hero2/Abilities/Ability2/GA_Hero2_Ability2.uasset b/Content/Characters/Children/Hero2/Abilities/Ability2/GA_Hero2_Ability2.uasset new file mode 100644 index 0000000..6737ba2 Binary files /dev/null and b/Content/Characters/Children/Hero2/Abilities/Ability2/GA_Hero2_Ability2.uasset differ diff --git a/Content/Characters/Children/Hero2/Abilities/Ability3/GA_Hero2_Ability3.uasset b/Content/Characters/Children/Hero2/Abilities/Ability3/GA_Hero2_Ability3.uasset new file mode 100644 index 0000000..afd0df4 Binary files /dev/null and b/Content/Characters/Children/Hero2/Abilities/Ability3/GA_Hero2_Ability3.uasset differ diff --git a/Content/Characters/Children/Hero2/Abilities/Ability4/GA_Hero2_Ability4.uasset b/Content/Characters/Children/Hero2/Abilities/Ability4/GA_Hero2_Ability4.uasset new file mode 100644 index 0000000..81ec68d Binary files /dev/null and b/Content/Characters/Children/Hero2/Abilities/Ability4/GA_Hero2_Ability4.uasset differ diff --git a/Content/Characters/Children/Hero2/BP_Hero2.uasset b/Content/Characters/Children/Hero2/BP_Hero2.uasset new file mode 100644 index 0000000..7c16939 Binary files /dev/null and b/Content/Characters/Children/Hero2/BP_Hero2.uasset differ diff --git a/Content/Characters/Children/Hero2/Effects/GE_Hero2.uasset b/Content/Characters/Children/Hero2/Effects/GE_Hero2.uasset new file mode 100644 index 0000000..0f4f65e Binary files /dev/null and b/Content/Characters/Children/Hero2/Effects/GE_Hero2.uasset differ diff --git a/Content/Characters/Children/Hero2/Materials/MI_Hero2_01.uasset b/Content/Characters/Children/Hero2/Materials/MI_Hero2_01.uasset new file mode 100644 index 0000000..4596b73 Binary files /dev/null and b/Content/Characters/Children/Hero2/Materials/MI_Hero2_01.uasset differ diff --git a/Content/Characters/Children/Hero2/Materials/MI_Hero2_02.uasset b/Content/Characters/Children/Hero2/Materials/MI_Hero2_02.uasset new file mode 100644 index 0000000..360963a Binary files /dev/null and b/Content/Characters/Children/Hero2/Materials/MI_Hero2_02.uasset differ diff --git a/Content/Characters/Children/Hero/AM_Cheat_PlayAnim.uasset b/Content/Core/Debug/Cheats/AM_Cheat_PlayAnim.uasset similarity index 73% rename from Content/Characters/Children/Hero/AM_Cheat_PlayAnim.uasset rename to Content/Core/Debug/Cheats/AM_Cheat_PlayAnim.uasset index 04dcd12..387f7f0 100644 Binary files a/Content/Characters/Children/Hero/AM_Cheat_PlayAnim.uasset and b/Content/Core/Debug/Cheats/AM_Cheat_PlayAnim.uasset differ diff --git a/Content/Core/Debug/Cheats/GA_Cheat_PlayMontage.uasset b/Content/Core/Debug/Cheats/GA_Cheat_PlayMontage.uasset index f34e531..223cc71 100644 Binary files a/Content/Core/Debug/Cheats/GA_Cheat_PlayMontage.uasset and b/Content/Core/Debug/Cheats/GA_Cheat_PlayMontage.uasset differ diff --git a/Content/Core/Debug/DA_Abilities.uasset b/Content/Core/Debug/DA_Abilities.uasset deleted file mode 100644 index 7d48d78..0000000 Binary files a/Content/Core/Debug/DA_Abilities.uasset and /dev/null differ diff --git a/Content/Core/Debug/DA_Actions.uasset b/Content/Core/Debug/DA_Actions.uasset deleted file mode 100644 index d428d9e..0000000 Binary files a/Content/Core/Debug/DA_Actions.uasset and /dev/null differ diff --git a/Content/Core/Debug/DA_Cheats.uasset b/Content/Core/Debug/DA_Cheats.uasset deleted file mode 100644 index ae43c04..0000000 Binary files a/Content/Core/Debug/DA_Cheats.uasset and /dev/null differ diff --git a/Content/Core/Debug/DA_Collisions.uasset b/Content/Core/Debug/DA_Collisions.uasset deleted file mode 100644 index 63bb6fc..0000000 Binary files a/Content/Core/Debug/DA_Collisions.uasset and /dev/null differ diff --git a/Content/Core/Debug/DA_Debug_Abilities.uasset b/Content/Core/Debug/DA_Debug_Abilities.uasset new file mode 100644 index 0000000..9936197 Binary files /dev/null and b/Content/Core/Debug/DA_Debug_Abilities.uasset differ diff --git a/Content/Core/Debug/DA_Debug_Actions.uasset b/Content/Core/Debug/DA_Debug_Actions.uasset new file mode 100644 index 0000000..5af8457 Binary files /dev/null and b/Content/Core/Debug/DA_Debug_Actions.uasset differ diff --git a/Content/Core/Debug/DA_Debug_Cheats.uasset b/Content/Core/Debug/DA_Debug_Cheats.uasset new file mode 100644 index 0000000..551b7d8 Binary files /dev/null and b/Content/Core/Debug/DA_Debug_Cheats.uasset differ diff --git a/Content/Core/Debug/DA_Debug_Collisions.uasset b/Content/Core/Debug/DA_Debug_Collisions.uasset new file mode 100644 index 0000000..3e9322d Binary files /dev/null and b/Content/Core/Debug/DA_Debug_Collisions.uasset differ diff --git a/Content/Core/Debug/DA_Pools.uasset b/Content/Core/Debug/DA_Debug_Pools.uasset similarity index 69% rename from Content/Core/Debug/DA_Pools.uasset rename to Content/Core/Debug/DA_Debug_Pools.uasset index 84f2c15..410e49c 100644 Binary files a/Content/Core/Debug/DA_Pools.uasset and b/Content/Core/Debug/DA_Debug_Pools.uasset differ diff --git a/Content/Core/Debug/DA_Debug_Spawns.uasset b/Content/Core/Debug/DA_Debug_Spawns.uasset new file mode 100644 index 0000000..447680e Binary files /dev/null and b/Content/Core/Debug/DA_Debug_Spawns.uasset differ diff --git a/Content/Core/Debug/DA_Tweaks.uasset b/Content/Core/Debug/DA_Debug_Tweaks.uasset similarity index 51% rename from Content/Core/Debug/DA_Tweaks.uasset rename to Content/Core/Debug/DA_Debug_Tweaks.uasset index 7c65ac6..47f87f0 100644 Binary files a/Content/Core/Debug/DA_Tweaks.uasset and b/Content/Core/Debug/DA_Debug_Tweaks.uasset differ diff --git a/Content/Core/GameModes/GM_CogSample.uasset b/Content/Core/GameModes/GM_CogSample.uasset index be39d93..caa842f 100644 Binary files a/Content/Core/GameModes/GM_CogSample.uasset and b/Content/Core/GameModes/GM_CogSample.uasset differ diff --git a/Content/Core/Input/Actions/IA_Ability4.uasset b/Content/Core/Input/Actions/IA_Ability4.uasset new file mode 100644 index 0000000..38024d4 Binary files /dev/null and b/Content/Core/Input/Actions/IA_Ability4.uasset differ diff --git a/Content/Core/Input/Actions/IA_Jump.uasset b/Content/Core/Input/Actions/IA_Jump.uasset deleted file mode 100644 index 30e2615..0000000 Binary files a/Content/Core/Input/Actions/IA_Jump.uasset and /dev/null differ diff --git a/Content/Core/Input/IMC_Default.uasset b/Content/Core/Input/IMC_Default.uasset index f32bf50..c94201c 100644 Binary files a/Content/Core/Input/IMC_Default.uasset and b/Content/Core/Input/IMC_Default.uasset differ diff --git a/Content/Core/Mannequins/Materials/Instances/Manny/MI_Manny_01.uasset b/Content/Core/Mannequins/Materials/Instances/Manny/MI_Manny_01.uasset index 436b460..608ceef 100644 Binary files a/Content/Core/Mannequins/Materials/Instances/Manny/MI_Manny_01.uasset and b/Content/Core/Mannequins/Materials/Instances/Manny/MI_Manny_01.uasset differ diff --git a/Content/Core/Mannequins/Materials/Instances/Manny/MI_Manny_02.uasset b/Content/Core/Mannequins/Materials/Instances/Manny/MI_Manny_02.uasset index 8b2163a..a77aac4 100644 Binary files a/Content/Core/Mannequins/Materials/Instances/Manny/MI_Manny_02.uasset and b/Content/Core/Mannequins/Materials/Instances/Manny/MI_Manny_02.uasset differ diff --git a/Content/Core/Mannequins/Meshes/SKM_Manny.uasset b/Content/Core/Mannequins/Meshes/SKM_Manny.uasset index 375c1e8..3bc3208 100644 Binary files a/Content/Core/Mannequins/Meshes/SKM_Manny.uasset and b/Content/Core/Mannequins/Meshes/SKM_Manny.uasset differ diff --git a/Content/Core/Mannequins/Meshes/SKM_Manny_Simple.uasset b/Content/Core/Mannequins/Meshes/SKM_Manny_Simple.uasset index aa97c96..b03545e 100644 Binary files a/Content/Core/Mannequins/Meshes/SKM_Manny_Simple.uasset and b/Content/Core/Mannequins/Meshes/SKM_Manny_Simple.uasset differ diff --git a/Content/__ExternalActors__/Maps/L_Default/2/XR/NWOJAHFLH8NZ1SWLDKQYLL.uasset b/Content/__ExternalActors__/Maps/L_Default/2/XR/NWOJAHFLH8NZ1SWLDKQYLL.uasset deleted file mode 100644 index 84f8394..0000000 Binary files a/Content/__ExternalActors__/Maps/L_Default/2/XR/NWOJAHFLH8NZ1SWLDKQYLL.uasset and /dev/null differ diff --git a/Content/__ExternalActors__/Maps/L_Default/5/88/NDHUEK1ROBM2RCW7ZU51MM.uasset b/Content/__ExternalActors__/Maps/L_Default/5/88/NDHUEK1ROBM2RCW7ZU51MM.uasset new file mode 100644 index 0000000..dd8bbc1 Binary files /dev/null and b/Content/__ExternalActors__/Maps/L_Default/5/88/NDHUEK1ROBM2RCW7ZU51MM.uasset differ diff --git a/Content/__ExternalActors__/Maps/L_Default/6/U3/6O7DJ03I0JB041XHH0L21L.uasset b/Content/__ExternalActors__/Maps/L_Default/6/U3/6O7DJ03I0JB041XHH0L21L.uasset index d91b986..e0ac248 100644 Binary files a/Content/__ExternalActors__/Maps/L_Default/6/U3/6O7DJ03I0JB041XHH0L21L.uasset and b/Content/__ExternalActors__/Maps/L_Default/6/U3/6O7DJ03I0JB041XHH0L21L.uasset differ diff --git a/Content/__ExternalActors__/Maps/L_Default/7/GV/6CCF512KD41PF14VYB8AKJ.uasset b/Content/__ExternalActors__/Maps/L_Default/7/GV/6CCF512KD41PF14VYB8AKJ.uasset index ed07817..3387866 100644 Binary files a/Content/__ExternalActors__/Maps/L_Default/7/GV/6CCF512KD41PF14VYB8AKJ.uasset and b/Content/__ExternalActors__/Maps/L_Default/7/GV/6CCF512KD41PF14VYB8AKJ.uasset differ diff --git a/Content/__ExternalActors__/Maps/L_Default/7/ZU/USA6BTRS1FQ12S60M283TF.uasset b/Content/__ExternalActors__/Maps/L_Default/7/ZU/USA6BTRS1FQ12S60M283TF.uasset index 24b59c9..8490eba 100644 Binary files a/Content/__ExternalActors__/Maps/L_Default/7/ZU/USA6BTRS1FQ12S60M283TF.uasset and b/Content/__ExternalActors__/Maps/L_Default/7/ZU/USA6BTRS1FQ12S60M283TF.uasset differ diff --git a/Content/__ExternalActors__/Maps/L_Default/8/8V/LAOZXFOIKYFBHA2OAQ5YA0.uasset b/Content/__ExternalActors__/Maps/L_Default/8/8V/LAOZXFOIKYFBHA2OAQ5YA0.uasset deleted file mode 100644 index 5af8b0c..0000000 Binary files a/Content/__ExternalActors__/Maps/L_Default/8/8V/LAOZXFOIKYFBHA2OAQ5YA0.uasset and /dev/null differ diff --git a/Content/__ExternalActors__/Maps/L_Default/8/EO/J2O30Y8BP1IJGKNHYD8SUY.uasset b/Content/__ExternalActors__/Maps/L_Default/8/EO/J2O30Y8BP1IJGKNHYD8SUY.uasset index 5c1db46..f84502e 100644 Binary files a/Content/__ExternalActors__/Maps/L_Default/8/EO/J2O30Y8BP1IJGKNHYD8SUY.uasset and b/Content/__ExternalActors__/Maps/L_Default/8/EO/J2O30Y8BP1IJGKNHYD8SUY.uasset differ diff --git a/Content/__ExternalActors__/Maps/L_Default/9/CI/AF9H3Z19RVVPEEQCVD0LH1.uasset b/Content/__ExternalActors__/Maps/L_Default/9/CI/AF9H3Z19RVVPEEQCVD0LH1.uasset index dec3ec7..6a20ddd 100644 Binary files a/Content/__ExternalActors__/Maps/L_Default/9/CI/AF9H3Z19RVVPEEQCVD0LH1.uasset and b/Content/__ExternalActors__/Maps/L_Default/9/CI/AF9H3Z19RVVPEEQCVD0LH1.uasset differ diff --git a/Content/__ExternalActors__/Maps/L_Default/E/J4/PC4HDG40BUJGTQ5N420GKK.uasset b/Content/__ExternalActors__/Maps/L_Default/E/J4/PC4HDG40BUJGTQ5N420GKK.uasset index 8654cbe..4b7979f 100644 Binary files a/Content/__ExternalActors__/Maps/L_Default/E/J4/PC4HDG40BUJGTQ5N420GKK.uasset and b/Content/__ExternalActors__/Maps/L_Default/E/J4/PC4HDG40BUJGTQ5N420GKK.uasset differ diff --git a/Content/__ExternalActors__/Maps/L_Default/E/MD/R8HUER247TNWDSI67EZY6X.uasset b/Content/__ExternalActors__/Maps/L_Default/E/MD/R8HUER247TNWDSI67EZY6X.uasset index d29ff4b..69b3eca 100644 Binary files a/Content/__ExternalActors__/Maps/L_Default/E/MD/R8HUER247TNWDSI67EZY6X.uasset and b/Content/__ExternalActors__/Maps/L_Default/E/MD/R8HUER247TNWDSI67EZY6X.uasset differ diff --git a/Plugins/CogAbility/Source/CogAbility/Private/CogAbilityWindow_Cheats.cpp b/Plugins/CogAbility/Source/CogAbility/Private/CogAbilityWindow_Cheats.cpp index 4362df1..a923fd6 100644 --- a/Plugins/CogAbility/Source/CogAbility/Private/CogAbilityWindow_Cheats.cpp +++ b/Plugins/CogAbility/Source/CogAbility/Private/CogAbilityWindow_Cheats.cpp @@ -3,6 +3,7 @@ #include "CogAbilityDataAsset_Cheats.h" #include "CogDebugAllegianceInterface.h" #include "CogDebugDraw.h" +#include "CogImguiHelper.h" #include "EngineUtils.h" #include "GameFramework/Character.h" #include "imgui.h" @@ -86,13 +87,7 @@ void UCogAbilityWindow_Cheats::AddCheat(AActor* CheatInstigator, AActor* Selecte Color = CheatsAsset->NeutralEffectColor; } - ImGui::PushStyleColor(ImGuiCol_FrameBg, ImVec4(Color.R, Color.G, Color.B, 0.2f * Color.A)); - ImGui::PushStyleColor(ImGuiCol_FrameBgHovered, ImVec4(Color.R, Color.G, Color.B, 0.3f * Color.A)); - ImGui::PushStyleColor(ImGuiCol_FrameBgActive, ImVec4(Color.R, Color.G, Color.B, 0.5f * Color.A)); - ImGui::PushStyleColor(ImGuiCol_CheckMark, ImVec4(Color.R, Color.G, Color.B, 0.8f * Color.A)); - ImGui::PushStyleColor(ImGuiCol_Button, ImVec4(Color.R, Color.G, Color.B, 0.2f * Color.A)); - ImGui::PushStyleColor(ImGuiCol_ButtonHovered, ImVec4(Color.R, Color.G, Color.B, 0.3f * Color.A)); - ImGui::PushStyleColor(ImGuiCol_ButtonActive, ImVec4(Color.R, Color.G, Color.B, 0.5f * Color.A)); + FCogWindowWidgets::PushBackColor(FCogImguiHelper::ToImVec4(Color)); if (IsPersistent) { @@ -124,7 +119,7 @@ void UCogAbilityWindow_Cheats::AddCheat(AActor* CheatInstigator, AActor* Selecte ImGui::EndTooltip(); } - ImGui::PopStyleColor(7); + FCogWindowWidgets::PopBackColor(); } //-------------------------------------------------------------------------------------------------------------------------- diff --git a/Plugins/CogAbility/Source/CogAbility/Private/CogAbilityWindow_Damages.cpp b/Plugins/CogAbility/Source/CogAbility/Private/CogAbilityWindow_Damages.cpp index 028460a..c1c8eb0 100644 --- a/Plugins/CogAbility/Source/CogAbility/Private/CogAbilityWindow_Damages.cpp +++ b/Plugins/CogAbility/Source/CogAbility/Private/CogAbilityWindow_Damages.cpp @@ -126,11 +126,11 @@ static void DrawRow(const char* Title, float MitigatedValue, float UnmitigatedVa //-------------------------------------------------------------------------------------------------------------------------- static void DrawDamages(FCogDamageStats& Damage) { - ImGui::PushStyleColor(ImGuiCol_FrameBg, IM_COL32(150, 150, 150, 60)); - ImGui::PushStyleColor(ImGuiCol_FrameBgHovered, IM_COL32(150, 150, 150, 80)); - ImGui::PushStyleColor(ImGuiCol_FrameBgActive, IM_COL32(150, 150, 150, 120)); - ImGui::PushStyleColor(ImGuiCol_CheckMark, IM_COL32(150, 150, 150, 200)); - ImGui::PushStyleColor(ImGuiCol_PlotHistogram, IM_COL32(120, 120, 120, 255)); + ImGui::PushStyleColor(ImGuiCol_FrameBg, IM_COL32(150, 150, 150, 60)); + ImGui::PushStyleColor(ImGuiCol_FrameBgHovered, IM_COL32(150, 150, 150, 80)); + ImGui::PushStyleColor(ImGuiCol_FrameBgActive, IM_COL32(150, 150, 150, 120)); + ImGui::PushStyleColor(ImGuiCol_CheckMark, IM_COL32(150, 150, 150, 200)); + ImGui::PushStyleColor(ImGuiCol_PlotHistogram, IM_COL32(120, 120, 120, 255)); if (ImGui::BeginTable("Damages", 4, ImGuiTableFlags_SizingFixedFit | ImGuiTableFlags_Resizable | ImGuiTableFlags_NoBordersInBodyUntilResize | ImGuiTableFlags_RowBg)) { diff --git a/Plugins/CogAbility/Source/CogAbility/Private/CogAbilityWindow_Effects.cpp b/Plugins/CogAbility/Source/CogAbility/Private/CogAbilityWindow_Effects.cpp index 90187df..2e33d5f 100644 --- a/Plugins/CogAbility/Source/CogAbility/Private/CogAbilityWindow_Effects.cpp +++ b/Plugins/CogAbility/Source/CogAbility/Private/CogAbilityWindow_Effects.cpp @@ -12,8 +12,6 @@ void UCogAbilityWindow_Effects::PreRender(ImGuiWindowFlags& WindowFlags) { Super::PreRender(WindowFlags); - - WindowFlags |= ImGuiWindowFlags_MenuBar; } //-------------------------------------------------------------------------------------------------------------------------- @@ -21,6 +19,12 @@ void UCogAbilityWindow_Effects::RenderContent() { Super::RenderContent(); + RenderEffectsTable(); +} + +//-------------------------------------------------------------------------------------------------------------------------- +void UCogAbilityWindow_Effects::RenderEffectsTable() +{ UAbilitySystemComponent* AbilitySystemComponent = UAbilitySystemGlobals::GetAbilitySystemComponentFromActor(GetSelection(), true); if (AbilitySystemComponent == nullptr) { @@ -40,14 +44,14 @@ void UCogAbilityWindow_Effects::RenderContent() FGameplayEffectQuery Query; for (const FActiveGameplayEffectHandle& ActiveHandle : AbilitySystemComponent->GetActiveEffects(Query)) { - DrawEffectRow(*AbilitySystemComponent, ActiveHandle, Index, SelectedIndex); + RenderEffectRow(*AbilitySystemComponent, ActiveHandle, Index, SelectedIndex); } ImGui::EndTable(); } //-------------------------------------------------------------------------------------------------------------------------- -void UCogAbilityWindow_Effects::DrawEffectRow(const UAbilitySystemComponent& AbilitySystemComponent, const FActiveGameplayEffectHandle& ActiveHandle, int32 Index, int32& Selected) +void UCogAbilityWindow_Effects::RenderEffectRow(const UAbilitySystemComponent& AbilitySystemComponent, const FActiveGameplayEffectHandle& ActiveHandle, int32 Index, int32& Selected) { ImGui::PushID(Index); @@ -104,7 +108,7 @@ void UCogAbilityWindow_Effects::DrawEffectRow(const UAbilitySystemComponent& Abi if (ImGui::IsItemHovered()) { FCogWindowWidgets::BeginTableTooltip(); - DrawEffectInfo(AbilitySystemComponent, ActiveEffect, Effect); + RenderEffectInfo(AbilitySystemComponent, ActiveEffect, Effect); FCogWindowWidgets::EndTableTooltip(); } @@ -113,7 +117,7 @@ void UCogAbilityWindow_Effects::DrawEffectRow(const UAbilitySystemComponent& Abi //------------------------ if (ImGui::BeginPopupContextItem()) { - if (ImGui::Button("Open Properties")) + if (ImGui::Button("Open")) { //GetOwner()->GetPropertyGrid()->Open(EffectPtr); ImGui::CloseCurrentPopup(); @@ -125,26 +129,26 @@ void UCogAbilityWindow_Effects::DrawEffectRow(const UAbilitySystemComponent& Abi // Remaining Time //------------------------ ImGui::TableNextColumn(); - DrawRemainingTime(AbilitySystemComponent, ActiveEffect); + RenderRemainingTime(AbilitySystemComponent, ActiveEffect); //------------------------ // Stacks //------------------------ ImGui::TableNextColumn(); - DrawStacks(ActiveEffect, Effect); + RenderStacks(ActiveEffect, Effect); //------------------------ // Prediction //------------------------ ImGui::TableNextColumn(); - DrawPrediction(ActiveEffect, true); + RenderPrediction(ActiveEffect, true); ImGui::PopID(); Index++; } //-------------------------------------------------------------------------------------------------------------------------- -void UCogAbilityWindow_Effects::DrawEffectInfo(const UAbilitySystemComponent& AbilitySystemComponent, const FActiveGameplayEffect& ActiveEffect, const UGameplayEffect& Effect) +void UCogAbilityWindow_Effects::RenderEffectInfo(const UAbilitySystemComponent& AbilitySystemComponent, const FActiveGameplayEffect& ActiveEffect, const UGameplayEffect& Effect) { if (ImGui::BeginTable("Effect", 2, ImGuiTableFlags_Borders)) { @@ -178,7 +182,7 @@ void UCogAbilityWindow_Effects::DrawEffectInfo(const UAbilitySystemComponent& Ab ImGui::TableNextColumn(); ImGui::TextColored(TextColor, "Remaining Time"); ImGui::TableNextColumn(); - DrawRemainingTime(AbilitySystemComponent, ActiveEffect); + RenderRemainingTime(AbilitySystemComponent, ActiveEffect); //------------------------ // Period @@ -196,7 +200,7 @@ void UCogAbilityWindow_Effects::DrawEffectInfo(const UAbilitySystemComponent& Ab ImGui::TableNextColumn(); ImGui::TextColored(TextColor, "Stacks"); ImGui::TableNextColumn(); - DrawStacks(ActiveEffect, Effect); + RenderStacks(ActiveEffect, Effect); //------------------------ // Prediction @@ -205,7 +209,7 @@ void UCogAbilityWindow_Effects::DrawEffectInfo(const UAbilitySystemComponent& Ab ImGui::TableNextColumn(); ImGui::TextColored(TextColor, "Prediction"); ImGui::TableNextColumn(); - DrawPrediction(ActiveEffect, false); + RenderPrediction(ActiveEffect, false); //------------------------ // Dynamic Asset Tags @@ -214,7 +218,7 @@ void UCogAbilityWindow_Effects::DrawEffectInfo(const UAbilitySystemComponent& Ab ImGui::TableNextColumn(); ImGui::TextColored(TextColor, "Dynamic Asset Tags"); ImGui::TableNextColumn(); - DrawTagContainer(ActiveEffect.Spec.GetDynamicAssetTags()); + RenderTagContainer(ActiveEffect.Spec.GetDynamicAssetTags()); //------------------------ // All Asset Tags @@ -225,7 +229,7 @@ void UCogAbilityWindow_Effects::DrawEffectInfo(const UAbilitySystemComponent& Ab ImGui::TableNextColumn(); FGameplayTagContainer AllAssetTagsContainer; ActiveEffect.Spec.GetAllAssetTags(AllAssetTagsContainer); - DrawTagContainer(AllAssetTagsContainer); + RenderTagContainer(AllAssetTagsContainer); //------------------------ // All Granted Tags @@ -236,7 +240,7 @@ void UCogAbilityWindow_Effects::DrawEffectInfo(const UAbilitySystemComponent& Ab ImGui::TableNextColumn(); FGameplayTagContainer AllGrantedTagsContainer; ActiveEffect.Spec.GetAllGrantedTags(AllGrantedTagsContainer); - DrawTagContainer(AllGrantedTagsContainer); + RenderTagContainer(AllGrantedTagsContainer); //------------------------ // Modifiers @@ -262,7 +266,7 @@ void UCogAbilityWindow_Effects::DrawEffectInfo(const UAbilitySystemComponent& Ab } //-------------------------------------------------------------------------------------------------------------------------- -void UCogAbilityWindow_Effects::DrawTagContainer(const FGameplayTagContainer& Container) +void UCogAbilityWindow_Effects::RenderTagContainer(const FGameplayTagContainer& Container) { TArray GameplayTags; Container.GetGameplayTagArray(GameplayTags); @@ -280,7 +284,7 @@ FString UCogAbilityWindow_Effects::GetEffectName(const UGameplayEffect& Effect) } //-------------------------------------------------------------------------------------------------------------------------- -void UCogAbilityWindow_Effects::DrawRemainingTime(const UAbilitySystemComponent& AbilitySystemComponent, const FActiveGameplayEffect& ActiveEffect) +void UCogAbilityWindow_Effects::RenderRemainingTime(const UAbilitySystemComponent& AbilitySystemComponent, const FActiveGameplayEffect& ActiveEffect) { float StartTime = ActiveEffect.StartWorldTime; float Duration = ActiveEffect.GetDuration(); @@ -302,7 +306,7 @@ void UCogAbilityWindow_Effects::DrawRemainingTime(const UAbilitySystemComponent& } //-------------------------------------------------------------------------------------------------------------------------- -void UCogAbilityWindow_Effects::DrawStacks(const FActiveGameplayEffect& ActiveEffect, const UGameplayEffect& Effect) +void UCogAbilityWindow_Effects::RenderStacks(const FActiveGameplayEffect& ActiveEffect, const UGameplayEffect& Effect) { const int32 CurrentStackCount = ActiveEffect.Spec.StackCount; if (Effect.StackLimitCount <= 0) @@ -320,7 +324,7 @@ void UCogAbilityWindow_Effects::DrawStacks(const FActiveGameplayEffect& ActiveEf } //-------------------------------------------------------------------------------------------------------------------------- -void UCogAbilityWindow_Effects::DrawPrediction(const FActiveGameplayEffect& ActiveEffect, bool Short) +void UCogAbilityWindow_Effects::RenderPrediction(const FActiveGameplayEffect& ActiveEffect, bool Short) { FString PredictionString; if (ActiveEffect.PredictionKey.IsValidKey()) diff --git a/Plugins/CogAbility/Source/CogAbility/Private/CogAbilityWindow_Tweaks.cpp b/Plugins/CogAbility/Source/CogAbility/Private/CogAbilityWindow_Tweaks.cpp index c13ebcf..5508f7e 100644 --- a/Plugins/CogAbility/Source/CogAbility/Private/CogAbilityWindow_Tweaks.cpp +++ b/Plugins/CogAbility/Source/CogAbility/Private/CogAbilityWindow_Tweaks.cpp @@ -22,20 +22,12 @@ void DrawTweak(ACogAbilityReplicator* Replicator, const UCogAbilityDataAsset_Twe } const FCogAbilityTweakCategory& Category = TweaksAsset->TweaksCategories[TweakCategoryIndex]; - const FLinearColor& Color = Category.Color; - ImGui::PushStyleColor(ImGuiCol_FrameBg, ImVec4(Color.R, Color.G, Color.B, Color.A * 0.25f)); - ImGui::PushStyleColor(ImGuiCol_FrameBgHovered, ImVec4(Color.R, Color.G, Color.B, Color.A * 0.3f)); - ImGui::PushStyleColor(ImGuiCol_FrameBgActive, ImVec4(Color.R, Color.G, Color.B, Color.A * 0.5f)); - ImGui::PushStyleColor(ImGuiCol_SliderGrab, ImVec4(Color.R, Color.G, Color.B, Color.A * 0.8f)); - ImGui::PushStyleColor(ImGuiCol_SliderGrabActive, ImVec4(Color.R, Color.G, Color.B, Color.A * 1.0f)); - - + FCogWindowWidgets::PushBackColor(FCogImguiHelper::ToImVec4(Category.Color)); ImGui::PushItemWidth(-1); ImGui::SliderFloat("##Value", Value, TweaksAsset->TweakMinValue, TweaksAsset->TweakMaxValue, "%+0.0f%%", 1.0f); ImGui::PopItemWidth(); - - ImGui::PopStyleColor(5); + FCogWindowWidgets::PopBackColor(); bool bUpdateValue = ImGui::IsItemDeactivatedAfterEdit(); diff --git a/Plugins/CogAbility/Source/CogAbility/Public/CogAbilityWindow_Effects.h b/Plugins/CogAbility/Source/CogAbility/Public/CogAbilityWindow_Effects.h index 1f5a81f..56c0596 100644 --- a/Plugins/CogAbility/Source/CogAbility/Public/CogAbilityWindow_Effects.h +++ b/Plugins/CogAbility/Source/CogAbility/Public/CogAbilityWindow_Effects.h @@ -22,17 +22,19 @@ protected: virtual void RenderContent() override; - virtual void DrawEffectRow(const UAbilitySystemComponent& AbilitySystemComponent, const FActiveGameplayEffectHandle& ActiveHandle, int32 Index, int32& Selected); + virtual void RenderEffectsTable(); - virtual void DrawEffectInfo(const UAbilitySystemComponent& AbilitySystemComponent, const FActiveGameplayEffect& ActiveEffect, const UGameplayEffect& Effect); + virtual void RenderEffectRow(const UAbilitySystemComponent& AbilitySystemComponent, const FActiveGameplayEffectHandle& ActiveHandle, int32 Index, int32& Selected); + + virtual void RenderEffectInfo(const UAbilitySystemComponent& AbilitySystemComponent, const FActiveGameplayEffect& ActiveEffect, const UGameplayEffect& Effect); - virtual void DrawTagContainer(const FGameplayTagContainer& Container); + virtual void RenderTagContainer(const FGameplayTagContainer& Container); + + virtual void RenderRemainingTime(const UAbilitySystemComponent& AbilitySystemComponent, const FActiveGameplayEffect& ActiveEffect); + + virtual void RenderStacks(const FActiveGameplayEffect& ActiveEffect, const UGameplayEffect& Effect); + + virtual void RenderPrediction(const FActiveGameplayEffect& ActiveEffect, bool Short); virtual FString GetEffectName(const UGameplayEffect& Effect); - - virtual void DrawRemainingTime(const UAbilitySystemComponent& AbilitySystemComponent, const FActiveGameplayEffect& ActiveEffect); - - virtual void DrawStacks(const FActiveGameplayEffect& ActiveEffect, const UGameplayEffect& Effect); - - virtual void DrawPrediction(const FActiveGameplayEffect& ActiveEffect, bool Short); }; diff --git a/Plugins/CogEngine/Source/CogEngine/Private/CogEngineReplicator.cpp b/Plugins/CogEngine/Source/CogEngine/Private/CogEngineReplicator.cpp index e743f42..30ed1ff 100644 --- a/Plugins/CogEngine/Source/CogEngine/Private/CogEngineReplicator.cpp +++ b/Plugins/CogEngine/Source/CogEngine/Private/CogEngineReplicator.cpp @@ -22,12 +22,6 @@ ACogEngineReplicator::ACogEngineReplicator(const FObjectInitializer& ObjectIniti { #if !UE_BUILD_SHIPPING - PrimaryActorTick.bCanEverTick = true; - PrimaryActorTick.bAllowTickOnDedicatedServer = true; - PrimaryActorTick.bTickEvenWhenPaused = true; - PrimaryActorTick.bStartWithTickEnabled = true; - PrimaryActorTick.TickGroup = TG_PrePhysics; - bHasAuthority = false; bIsLocal = false; bReplicates = true; @@ -65,26 +59,42 @@ void ACogEngineReplicator::GetLifetimeReplicatedProps(TArray& { Super::GetLifetimeReplicatedProps(OutLifetimeProps); +#if !UE_BUILD_SHIPPING + FDoRepLifetimeParams Params; Params.bIsPushBased = true; - DOREPLIFETIME_WITH_PARAMS_FAST(ACogEngineReplicator, TimeDilation, Params); + +#endif // !UE_BUILD_SHIPPING } //-------------------------------------------------------------------------------------------------------------------------- -void ACogEngineReplicator::TickSpawnActions() +void ACogEngineReplicator::Server_Spawn_Implementation(const FCogEngineSpawnEntry& SpawnEntry) { #if !UE_BUILD_SHIPPING - if (OwnerPlayerController == nullptr) + if (GetWorld() == nullptr) { return; } - for (int32 i = SpawnActions.Num() - 1; i >= 0; --i) + if (SpawnFunction) { - const FCogEngineReplicatorSpawnAction& SpawnInfo = SpawnActions[i]; - SpawnActions.RemoveAt(i); + SpawnFunction(SpawnEntry); + } + else + { + FTransform Transform(FTransform::Identity); + if (APawn* Pawn = GetPlayerController()->GetPawn()) + { + Transform = Pawn->GetTransform(); + Transform.SetLocation(Transform.GetLocation() + Transform.GetUnitAxis(EAxis::X) * 200.0f); + Transform.SetScale3D(FVector(1.0f)); + } + + FActorSpawnParameters Params; + Params.SpawnCollisionHandlingOverride = ESpawnActorCollisionHandlingMethod::AdjustIfPossibleButAlwaysSpawn; + GetWorld()->SpawnActor(SpawnEntry.Class, &Transform, Params); } #endif // !UE_BUILD_SHIPPING @@ -118,3 +128,4 @@ void ACogEngineReplicator::OnRep_TimeDilation() #endif // !UE_BUILD_SHIPPING } + diff --git a/Plugins/CogEngine/Source/CogEngine/Private/CogEngineWindow_Spawn.cpp b/Plugins/CogEngine/Source/CogEngine/Private/CogEngineWindow_Spawn.cpp new file mode 100644 index 0000000..bfb6694 --- /dev/null +++ b/Plugins/CogEngine/Source/CogEngine/Private/CogEngineWindow_Spawn.cpp @@ -0,0 +1,99 @@ +#include "CogEngineWindow_Spawn.h" + +//-------------------------------------------------------------------------------------------------------------------------- +void UCogEngineWindow_Spawn::PreRender(ImGuiWindowFlags& WindowFlags) +{ + Super::PreRender(WindowFlags); +} + +//-------------------------------------------------------------------------------------------------------------------------- +void UCogEngineWindow_Spawn::RenderContent() +{ + Super::RenderContent(); + + if (Asset == nullptr) + { + return; + } + + for (const FCogEngineSpawnGroup& SpawnGroup : Asset->SpawnGroups) + { + RenderSpawnGroup(SpawnGroup); + } +} + +//-------------------------------------------------------------------------------------------------------------------------- +void UCogEngineWindow_Spawn::RenderSpawnGroup(const FCogEngineSpawnGroup& SpawnGroup) +{ + int32 GroupIndex = 0; + + ImGui::PushStyleColor(ImGuiCol_Header, IM_COL32(66, 66, 66, 79)); + ImGui::PushStyleColor(ImGuiCol_HeaderHovered, IM_COL32(62, 62, 62, 204)); + ImGui::PushStyleColor(ImGuiCol_HeaderActive, IM_COL32(86, 86, 86, 255)); + + if (ImGui::CollapsingHeader(TCHAR_TO_ANSI(*SpawnGroup.Name), ImGuiTreeNodeFlags_DefaultOpen)) + { + ImGui::PushID(GroupIndex); + + const bool PushColor = (SpawnGroup.Color != FColor::Transparent); + if (PushColor) + { + FCogWindowWidgets::PushBackColor(FCogImguiHelper::ToImVec4(SpawnGroup.Color)); + } + + static int32 SelectedAssetIndex = -1; + int32 AssetIndex = 0; + + for (const FCogEngineSpawnEntry& SpawnEntry : SpawnGroup.Spawns) + { + if (RenderSpawnAsset(SpawnEntry, SelectedAssetIndex == GroupIndex)) + { + SelectedAssetIndex = AssetIndex; + } + + AssetIndex++; + } + + if (PushColor) + { + FCogWindowWidgets::PopBackColor(); + } + + ImGui::PopID(); + GroupIndex++; + } + + ImGui::PopStyleColor(3); +} + +//-------------------------------------------------------------------------------------------------------------------------- +bool UCogEngineWindow_Spawn::RenderSpawnAsset(const FCogEngineSpawnEntry& SpawnEntry, bool IsLastSelected) +{ + bool IsPressed = false; + + ImGui::PushStyleColor(ImGuiCol_Button, IsLastSelected ? ImGui::GetStyleColorVec4(ImGuiCol_ButtonActive) : ImGui::GetStyleColorVec4(ImGuiCol_Button)); + ImGui::PushStyleVar(ImGuiStyleVar_ButtonTextAlign, ImVec2(0.0f, 0.5f)); + + FString EntryName; + if (SpawnEntry.Asset != nullptr) + { + EntryName = SpawnEntry.Asset->GetName(); + } + else + { + EntryName = GetNameSafe(SpawnEntry.Class); + } + + if (ImGui::Button(TCHAR_TO_ANSI(*EntryName), ImVec2(-1, 0))) + { + if (ACogEngineReplicator* Replicator = FCogEngineModule::Get().GetLocalReplicator()) + { + Replicator->Server_Spawn(SpawnEntry); + } + } + + ImGui::PopStyleVar(1); + ImGui::PopStyleColor(1); + + return IsPressed; +} \ No newline at end of file diff --git a/Plugins/CogEngine/Source/CogEngine/Public/CogEngineDataAsset_Spawns.h b/Plugins/CogEngine/Source/CogEngine/Public/CogEngineDataAsset_Spawns.h new file mode 100644 index 0000000..098dcb6 --- /dev/null +++ b/Plugins/CogEngine/Source/CogEngine/Public/CogEngineDataAsset_Spawns.h @@ -0,0 +1,46 @@ +#pragma once + +#include "CoreMinimal.h" +#include "Engine/DataAsset.h" +#include "CogEngineDataAsset_Spawns.generated.h" + +//-------------------------------------------------------------------------------------------------------------------------- +USTRUCT() +struct COGENGINE_API FCogEngineSpawnEntry +{ + GENERATED_BODY() + + UPROPERTY(EditAnywhere) + TSubclassOf Class; + + UPROPERTY(EditAnywhere) + TObjectPtr Asset = nullptr; +}; + +//-------------------------------------------------------------------------------------------------------------------------- +USTRUCT() +struct COGENGINE_API FCogEngineSpawnGroup +{ + GENERATED_BODY() + + UPROPERTY(EditAnywhere) + FString Name; + + UPROPERTY(EditAnywhere) + FLinearColor Color = FLinearColor(0.5f, 0.5f, 0.5f, 1.0f); + + UPROPERTY(EditAnywhere) + TArray Spawns; +}; + +//-------------------------------------------------------------------------------------------------------------------------- +UCLASS(Blueprintable) +class COGENGINE_API UCogEngineDataAsset_Spawns : public UPrimaryDataAsset +{ + GENERATED_BODY() + +public: + + UPROPERTY(EditAnywhere, meta = (TitleProperty = "Name")) + TArray SpawnGroups; +}; diff --git a/Plugins/CogEngine/Source/CogEngine/Public/CogEngineReplicator.h b/Plugins/CogEngine/Source/CogEngine/Public/CogEngineReplicator.h index edee293..d094e74 100644 --- a/Plugins/CogEngine/Source/CogEngine/Public/CogEngineReplicator.h +++ b/Plugins/CogEngine/Source/CogEngine/Public/CogEngineReplicator.h @@ -8,15 +8,7 @@ class APlayerController; -//-------------------------------------------------------------------------------------------------------------------------- -USTRUCT() -struct FCogEngineReplicatorSpawnAction -{ - GENERATED_USTRUCT_BODY() - - bool Control = false; - bool Select = false; -}; +using FCogEnineSpawnFunction = TFunction; //-------------------------------------------------------------------------------------------------------------------------- UCLASS(NotBlueprintable, NotBlueprintType, notplaceable, noteditinlinenew, hidedropdown, Transient) @@ -31,30 +23,32 @@ public: APlayerController* GetPlayerController() const { return OwnerPlayerController.Get(); } - bool IsLocal() const { return bIsLocal; } + FCogEnineSpawnFunction GetSpawnFunction() const { return SpawnFunction; } + + void SetSpawnFunction(FCogEnineSpawnFunction Value) { SpawnFunction = Value; } + + UFUNCTION(Server, Reliable) + void Server_Spawn(const FCogEngineSpawnEntry& SpawnEntry); + + float GetTimeDilation() const { return TimeDilation; } UFUNCTION(Server, Reliable) void Server_SetTimeDilation(float Value); - float GetTimeDilation() const { return TimeDilation; } - protected: - void TickSpawnActions(); - UFUNCTION() void OnRep_TimeDilation(); - UPROPERTY() - TArray SpawnActions; - TObjectPtr OwnerPlayerController; uint32 bHasAuthority : 1; uint32 bIsLocal : 1; private: + UPROPERTY(ReplicatedUsing = OnRep_TimeDilation) float TimeDilation = 1.0f; + FCogEnineSpawnFunction SpawnFunction; }; diff --git a/Plugins/CogEngine/Source/CogEngine/Public/CogEngineWindow_Spawn.h b/Plugins/CogEngine/Source/CogEngine/Public/CogEngineWindow_Spawn.h new file mode 100644 index 0000000..f54173f --- /dev/null +++ b/Plugins/CogEngine/Source/CogEngine/Public/CogEngineWindow_Spawn.h @@ -0,0 +1,34 @@ +#pragma once + +#include "CoreMinimal.h" +#include "CogWindow.h" +#include "CogEngineWindow_Spawn.generated.h" + +class UCogEngineDataAsset_Spawns; +struct FCogEngineSpawnGroup; + +UCLASS() +class COGENGINE_API UCogEngineWindow_Spawn : public UCogWindow +{ + GENERATED_BODY() + + public: + + const UCogEngineDataAsset_Spawns* GetSpawnsAsset() const { return Asset; } + + void SetSpawnsAsset(const UCogEngineDataAsset_Spawns* Value) { Asset = Value; } + +protected: + + virtual void PreRender(ImGuiWindowFlags& WindowFlags) override; + + virtual void RenderContent() override; + + virtual void RenderSpawnGroup(const FCogEngineSpawnGroup& SpawnGroup); + + virtual bool RenderSpawnAsset(const FCogEngineSpawnEntry& SpawnEntry, bool IsLastSelected); + +private: + + const UCogEngineDataAsset_Spawns* Asset = nullptr; +}; diff --git a/Plugins/CogImgui/Source/CogImgui/Private/CogImguiModule.cpp b/Plugins/CogImgui/Source/CogImgui/Private/CogImguiModule.cpp index d6eef5d..11efe59 100644 --- a/Plugins/CogImgui/Source/CogImgui/Private/CogImguiModule.cpp +++ b/Plugins/CogImgui/Source/CogImgui/Private/CogImguiModule.cpp @@ -37,7 +37,7 @@ void FCogImguiModule::Initialize() } //-------------------------------------------------------------------------------------------------------------------------- -TSharedPtr FCogImguiModule::CreateImGuiViewport(UGameViewportClient* GameViewport, FCogImguiRender Render, ImFontAtlas* FontAtlas /*= nullptr*/) +TSharedPtr FCogImguiModule::CreateImGuiViewport(UGameViewportClient* GameViewport, FCogImguiRenderFunction Render, ImFontAtlas* FontAtlas /*= nullptr*/) { if (bIsInitialized == false) { diff --git a/Plugins/CogImgui/Source/CogImgui/Public/CogImguiModule.h b/Plugins/CogImgui/Source/CogImgui/Public/CogImguiModule.h index 4bad0c8..3cad16c 100644 --- a/Plugins/CogImgui/Source/CogImgui/Public/CogImguiModule.h +++ b/Plugins/CogImgui/Source/CogImgui/Public/CogImguiModule.h @@ -23,7 +23,7 @@ public: virtual void ShutdownModule() override; //---------------------------------------------------------------------------------------------------------------------- - TSharedPtr CreateImGuiViewport(UGameViewportClient* GameViewport, FCogImguiRender Render, ImFontAtlas* FontAtlas = nullptr); + TSharedPtr CreateImGuiViewport(UGameViewportClient* GameViewport, FCogImguiRenderFunction Render, ImFontAtlas* FontAtlas = nullptr); FCogImguiTextureManager& GetTextureManager() { return TextureManager; } ImFontAtlas& GetDefaultFontAtlas() { return DefaultFontAtlas; } diff --git a/Plugins/CogImgui/Source/CogImgui/Public/CogImguiWidget.h b/Plugins/CogImgui/Source/CogImgui/Public/CogImguiWidget.h index 71aa46f..0425b8e 100644 --- a/Plugins/CogImgui/Source/CogImgui/Public/CogImguiWidget.h +++ b/Plugins/CogImgui/Source/CogImgui/Public/CogImguiWidget.h @@ -13,7 +13,7 @@ struct ImFontAtlas; struct ImGuiContext; struct ImPlotContext; -using FCogImguiRender = TFunction; +using FCogImguiRenderFunction = TFunction; //-------------------------------------------------------------------------------------------------------------------------- class COGIMGUI_API SCogImguiWidget : public SCompoundWidget @@ -25,7 +25,7 @@ public: SLATE_BEGIN_ARGS(SCogImguiWidget) {} SLATE_ARGUMENT(UGameViewportClient*, GameViewport) SLATE_ARGUMENT(ImFontAtlas*, FontAtlas) - SLATE_ARGUMENT(FCogImguiRender, Render) + SLATE_ARGUMENT(FCogImguiRenderFunction, Render) SLATE_END_ARGS() void Construct(const FArguments& InArgs); @@ -103,7 +103,7 @@ protected: ImPlotContext* ImPlotContext = nullptr; - FCogImguiRender Render; + FCogImguiRenderFunction Render; float DpiScale = 1.f; diff --git a/Plugins/CogWindow/Source/CogWindow/Private/CogWindowManager.cpp b/Plugins/CogWindow/Source/CogWindow/Private/CogWindowManager.cpp index 5f6deb8..007d318 100644 --- a/Plugins/CogWindow/Source/CogWindow/Private/CogWindowManager.cpp +++ b/Plugins/CogWindow/Source/CogWindow/Private/CogWindowManager.cpp @@ -266,6 +266,15 @@ void UCogWindowManager::DrawMainMenu() } FCogWindowWidgets::PopStyleCompact(); + if (ImGui::IsItemHovered()) + { + ImGui::BeginTooltip(); + ImGui::TextUnformatted("Change DPi Scale [Mouse Wheel]"); + ImGui::TextUnformatted("Reset DPi Scale [Middle Mouse]"); + ImGui::EndTooltip(); + } + + ImGui::EndMenu(); } diff --git a/Plugins/CogWindow/Source/CogWindow/Private/CogWindowWidgets.cpp b/Plugins/CogWindow/Source/CogWindow/Private/CogWindowWidgets.cpp index 7870f49..769c165 100644 --- a/Plugins/CogWindow/Source/CogWindow/Private/CogWindowWidgets.cpp +++ b/Plugins/CogWindow/Source/CogWindow/Private/CogWindowWidgets.cpp @@ -178,4 +178,22 @@ void FCogWindowWidgets::MenuSearchBar(ImGuiTextFilter& Filter) ImGui::SetCursorPosX(Pos2); } +//-------------------------------------------------------------------------------------------------------------------------- +void FCogWindowWidgets::PushBackColor(const ImVec4& Color) +{ + ImGui::PushStyleColor(ImGuiCol_Button, ImVec4(Color.x, Color.y, Color.z, Color.w * 0.25f)); + ImGui::PushStyleColor(ImGuiCol_ButtonHovered, ImVec4(Color.x, Color.y, Color.z, Color.w * 0.3f)); + ImGui::PushStyleColor(ImGuiCol_ButtonActive, ImVec4(Color.x, Color.y, Color.z, Color.w * 0.5f)); + ImGui::PushStyleColor(ImGuiCol_FrameBg, ImVec4(Color.x, Color.y, Color.z, Color.w * 0.25f)); + ImGui::PushStyleColor(ImGuiCol_FrameBgHovered, ImVec4(Color.x, Color.y, Color.z, Color.w * 0.3f)); + ImGui::PushStyleColor(ImGuiCol_FrameBgActive, ImVec4(Color.x, Color.y, Color.z, Color.w * 0.5f)); + ImGui::PushStyleColor(ImGuiCol_SliderGrab, ImVec4(Color.x, Color.y, Color.z, Color.w * 0.8f)); + ImGui::PushStyleColor(ImGuiCol_SliderGrabActive, ImVec4(Color.x, Color.y, Color.z, Color.w * 1.0f)); + ImGui::PushStyleColor(ImGuiCol_CheckMark, ImVec4(Color.x, Color.y, Color.z, Color.w * 0.8f)); +} +//-------------------------------------------------------------------------------------------------------------------------- +void FCogWindowWidgets::PopBackColor() +{ + ImGui::PopStyleColor(9); +} \ No newline at end of file diff --git a/Plugins/CogWindow/Source/CogWindow/Public/CogWindowWidgets.h b/Plugins/CogWindow/Source/CogWindow/Public/CogWindowWidgets.h index 257ccb9..148c8e6 100644 --- a/Plugins/CogWindow/Source/CogWindow/Public/CogWindowWidgets.h +++ b/Plugins/CogWindow/Source/CogWindow/Public/CogWindowWidgets.h @@ -30,4 +30,8 @@ public: static float TextBaseHeight; static void MenuSearchBar(ImGuiTextFilter& Filter); + + static void PushBackColor(const ImVec4& Color); + + static void PopBackColor(); }; diff --git a/Source/CogSample/CogSampleGameState.cpp b/Source/CogSample/CogSampleGameState.cpp index 1c7e557..21e0c4a 100644 --- a/Source/CogSample/CogSampleGameState.cpp +++ b/Source/CogSample/CogSampleGameState.cpp @@ -25,6 +25,7 @@ #include "CogDebugDefines.h" #include "CogDebugPlot.h" #include "CogEngineDataAsset_Collisions.h" +#include "CogEngineDataAsset_Spawns.h" #include "CogEngineModule.h" #include "CogEngineWindow_Collisions.h" #include "CogEngineWindow_DebugSettings.h" @@ -36,6 +37,7 @@ #include "CogEngineWindow_Scalability.h" #include "CogEngineWindow_Selection.h" #include "CogEngineWindow_Skeleton.h" +#include "CogEngineWindow_Spawn.h" #include "CogEngineWindow_Stats.h" #include "CogEngineWindow_Time.h" #include "CogImguiModule.h" @@ -143,20 +145,30 @@ void ACogSampleGameState::InitializeCog() //--------------------------------------- // Engine //--------------------------------------- - CogWindowManager->CreateWindow("Engine.Debug Settings"); - CogWindowManager->CreateWindow("Engine.ImGui"); - CogWindowManager->CreateWindow("Engine.Log Categories"); - CogWindowManager->CreateWindow("Engine.Net Emulation"); - CogWindowManager->CreateWindow("Engine.Output Log"); - CogWindowManager->CreateWindow("Engine.Plots"); - CogWindowManager->CreateWindow("Engine.Scalability"); - CogWindowManager->CreateWindow("Engine.Skeleton"); - CogWindowManager->CreateWindow("Engine.Time"); - UCogEngineWindow_Stats* StatsWindow = CogWindowManager->CreateWindow("Engine.Stats"); + UCogEngineWindow_Collisions* CollisionsWindow = CogWindowManager->CreateWindow("Engine.Collision"); + CollisionsWindow->SetCollisionsAsset(GetFirstAssetByClass()); + + CogWindowManager->CreateWindow("Engine.Debug Settings"); + + CogWindowManager->CreateWindow("Engine.ImGui"); + + CogWindowManager->CreateWindow("Engine.Log Categories"); + + CogWindowManager->CreateWindow("Engine.Net Emulation"); + + CogWindowManager->CreateWindow("Engine.Output Log"); + + CogWindowManager->CreateWindow("Engine.Plots"); + + CogWindowManager->CreateWindow("Engine.Scalability"); + + CogWindowManager->CreateWindow("Engine.Skeleton"); + + UCogEngineWindow_Spawn* SpawnWindow =CogWindowManager->CreateWindow("Engine.Spawn"); + SpawnWindow->SetSpawnsAsset(GetFirstAssetByClass()); + + CogWindowManager->CreateWindow("Engine.Time"); - //--------------------------------------- - // Selection - //--------------------------------------- UCogEngineWindow_Selection* SelectionWindow = CogWindowManager->CreateWindow("Engine.Selection"); TArray> SubClasses { @@ -169,23 +181,7 @@ void ACogSampleGameState::InitializeCog() SelectionWindow->SetCurrentActorSubClass(ACharacter::StaticClass()); SelectionWindow->SetTraceType(UEngineTypes::ConvertToTraceType(ECollisionChannel::ECC_Pawn)); - //--------------------------------------- - // Collision - //--------------------------------------- - UCogEngineWindow_Collisions* CollisionsWindow = CogWindowManager->CreateWindow("Engine.Collision"); - CollisionsWindow->SetCollisionsAsset(GetFirstAssetByClass()); - - //--------------------------------------- - // Attributes - //--------------------------------------- - CogWindowManager->CreateWindow("Gameplay.Attributes"); - - //--------------------------------------- - // Effects - //--------------------------------------- - UCogAbilityWindow_Effects* EffectsWindow = CogWindowManager->CreateWindow("Gameplay.Effects"); - EffectsWindow->NegativeEffectTag = Tag_Effect_Alignment_Negative; - EffectsWindow->PositiveEffectTag = Tag_Effect_Alignment_Positive; + UCogEngineWindow_Stats* StatsWindow = CogWindowManager->CreateWindow("Engine.Stats"); //--------------------------------------- // Abilities @@ -193,43 +189,31 @@ void ACogSampleGameState::InitializeCog() UCogAbilityWindow_Abilities* AbilitiesWindow = CogWindowManager->CreateWindow("Gameplay.Abilities"); AbilitiesWindow->AbilitiesAsset = GetFirstAssetByClass(); - //--------------------------------------- - // Cheats - //--------------------------------------- + CogWindowManager->CreateWindow("Gameplay.Attributes"); + UCogAbilityWindow_Cheats* CheatsWindow = CogWindowManager->CreateWindow("Gameplay.Cheats"); CheatsWindow->CheatsAsset = GetFirstAssetByClass(); - - //--------------------------------------- - // Tweaks - //--------------------------------------- - UCogAbilityWindow_Tweaks* TweaksWindow = CogWindowManager->CreateWindow("Gameplay.Tweaks"); - TweaksWindow->TweaksAsset = GetFirstAssetByClass(); - - //--------------------------------------- - // Damages - //--------------------------------------- + CogWindowManager->CreateWindow("Gameplay.Damages"); - //--------------------------------------- - // Tags - //--------------------------------------- - UCogAbilityWindow_Tags* TagsWindow = CogWindowManager->CreateWindow("Gameplay.Tags"); + UCogAbilityWindow_Effects* EffectsWindow = CogWindowManager->CreateWindow("Gameplay.Effects"); + EffectsWindow->NegativeEffectTag = Tag_Effect_Alignment_Negative; + EffectsWindow->PositiveEffectTag = Tag_Effect_Alignment_Positive; - //--------------------------------------- - // Pools - //--------------------------------------- UCogAbilityWindow_Pools* PoolsWindow = CogWindowManager->CreateWindow("Gameplay.Pools"); PoolsWindow->PoolsAsset = GetFirstAssetByClass(); + CogWindowManager->CreateWindow("Gameplay.Tags"); + + UCogAbilityWindow_Tweaks* TweaksWindow = CogWindowManager->CreateWindow("Gameplay.Tweaks"); + TweaksWindow->TweaksAsset = GetFirstAssetByClass(); + //--------------------------------------- - // Input Actions + // Input //--------------------------------------- UCogInputWindow_Actions* ActionsWindow = CogWindowManager->CreateWindow("Input.Actions"); ActionsWindow->ActionsAsset = GetFirstAssetByClass(); - //--------------------------------------- - // Gamepad - //--------------------------------------- UCogInputWindow_Gamepad* GamepadWindow = CogWindowManager->CreateWindow("Input.Gamepad"); GamepadWindow->ActionsAsset = GetFirstAssetByClass();