Files
ZMMO/Plugins/VisualStudioTools/Source/VisualStudioTools/VisualStudioTools.Build.cs
Mateus Rodrigues 3d4d0de40b feat: ZMMO client base (Game/Entity|Controller|Modes|Network)
Estrutura inicial do cliente Unreal Zeus MMO alinhada ao padrao
"cliente solto + servidor valida input/velocidade" (ADR 0038):

- Source/ZMMO/Game/Entity/ — IZMMOEntityInterface, AZMMOEntity (base
  AActor para Mob/NPC/Object), AZMMOPlayerCharacter (player local com
  CMC livre, Enhanced Input, envio de C_INPUT_AXIS), AZMMOPlayerProxy
  (snapshot-only para players remotos).
- Source/ZMMO/Game/Controller/ — AZMMOPlayerController com IMC defaults
  (IMC_Default + IMC_MouseLook) e suporte opcional a virtual joystick.
- Source/ZMMO/Game/Modes/ — AZMMOGameMode (defaults para PlayerCharacter
  / PlayerController), UZMMOGameInstance (auto-connect ao servidor Zeus
  em Init e logging dos eventos OnConnected/OnDisconnected/...).
- Source/ZMMO/Game/Network/ — UZMMOWorldSubsystem (registry
  EntityId -> AActor*, dispatch dos delegates OnPlayerSpawned/Despawned/
  StateUpdate; ignora snapshots locais do cliente solto).
- Config/DefaultEngine.ini — GlobalDefaultGameMode aponta para
  /Script/ZMMO.ZMMOGameMode; GameInstanceClass para
  /Script/ZMMO.ZMMOGameInstance; redirects para a nova hierarquia.
- ZMMO.Build.cs — depende de ZeusNetwork; PublicIncludePaths para a
  nova arvore Game/Entity|Controller|Modes|Network.
- Content — assets do template ThirdPerson (Mannequins, IAs/IMCs,
  Lvl_ThirdPerson + TestWorld). Os Variant_* levels ficam no commit
  inicial mas serao limpos numa proxima sessao com aprovacao explicita
  (Master Rule para .umap/.uasset).

Notas:
- BP_ThirdPersonCharacter/GameMode/PlayerController ainda apontam para
  a hierarquia antiga e estao a aguardar aprovacao para remocao
  (Master Rule).
- README.md descreve a arquitectura e o smoke test de conexao.
2026-05-07 20:21:21 -03:00

79 lines
2.7 KiB
C#

// Copyright 2022 (c) Microsoft. All rights reserved.
using UnrealBuildTool;
public class VisualStudioTools : ModuleRules
{
public VisualStudioTools(ReadOnlyTargetRules Target) : base(Target)
{
bool bIsCustomDevBuild = System.Environment.GetEnvironmentVariable("VSTUE_IsCustomDevBuild") == "1";
if (bIsCustomDevBuild)
{
// Get correct header suggestions in the IDE and validate
// the plugin build without having to affect for the whole target,
// which is expensive in source-builds of the engine.
PCHUsage = ModuleRules.PCHUsageMode.NoPCHs;
bUseUnity = false;
// When debugging the commandlet code, disable optimizations to get
// proper local variable inspection and less inlined stack frames
OptimizeCode = CodeOptimization.Never;
// Enable more restricted warnings during compilation in UE5.
// Required by tasks in the compliance pipeline.
#if UE_5_6_OR_LATER
CppCompileWarningSettings.UnsafeTypeCastWarningLevel = WarningLevel.Error;
#elif UE_5_0_OR_LATER
UnsafeTypeCastWarningLevel = WarningLevel.Error;
#endif
}
else
{
PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs;
}
// To support UE5.1+, the code is using the new FTopLevelAssetPath API
// with a detection of support via version numbers.
// If the check is producing a false positive/negative in your version of the engine
// you can change the block below and force the check as enabled/disabled.
if ((Target.Version.MajorVersion == 5 && Target.Version.MinorVersion >= 1) || Target.Version.MajorVersion > 5)
{
PrivateDefinitions.Add("FILTER_ASSETS_BY_CLASS_PATH=1");
}
else
{
PrivateDefinitions.Add("FILTER_ASSETS_BY_CLASS_PATH=0");
}
PublicDependencyModuleNames.AddRange(
new[]
{
"Core",
}
);
PrivateDependencyModuleNames.AddRange(
new string[]
{
"ApplicationCore",
"AssetRegistry",
"CoreUObject",
"Engine",
"Json",
"JsonUtilities",
"Kismet",
"UnrealEd",
"Slate",
"SlateCore",
"ToolMenus",
"EditorSubsystem",
"MainFrame",
"BlueprintGraph",
"VisualStudioDTE",
"EditorStyle",
"Projects"
}
);
}
}