Compare commits
2 Commits
94e6385f14
...
e17f5417f2
| Author | SHA1 | Date | |
|---|---|---|---|
| e17f5417f2 | |||
| c0848c2670 |
@@ -25,9 +25,16 @@
|
|||||||
- `Docs/` — Documentation.
|
- `Docs/` — Documentation.
|
||||||
- `Config/` — Unreal config files
|
- `Config/` — Unreal config files
|
||||||
- `EnginePatches/` — Custom engine modifications
|
- `EnginePatches/` — Custom engine modifications
|
||||||
- `Plugins/UEWingman/` - A plugin that gives you control over the unreal editor. Drive it from bash via `python3 Plugins/UEWingman/ue-wingman.py <Command> key=value ...` (values starting with `[` or `{` are parsed as JSON).
|
- `Plugins/UEWingman/` - A plugin that gives you control over the unreal editor.
|
||||||
- `../integration.UE/` - the unreal engine source tree
|
- `../integration.UE/` - the unreal engine source tree
|
||||||
|
|
||||||
|
## Using ue-wingman
|
||||||
|
|
||||||
|
- Drive it from bash using: ue-wingman <Command> <Arg1> <Arg2> ...
|
||||||
|
- ue-wingman Documentation_Manual
|
||||||
|
- ue-wingman Documentation_Commands
|
||||||
|
- ue-wingman Documentation_Command <specific_command>
|
||||||
|
|
||||||
## Coding Conventions
|
## Coding Conventions
|
||||||
|
|
||||||
- Prefer early returns and `continue` to reduce nesting (never-nester style).
|
- Prefer early returns and `continue` to reduce nesting (never-nester style).
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Content/Widgets/WB_Menu.uasset
LFS
BIN
Content/Widgets/WB_Menu.uasset
LFS
Binary file not shown.
Binary file not shown.
BIN
Content/Widgets/white-dot.uasset
LFS
BIN
Content/Widgets/white-dot.uasset
LFS
Binary file not shown.
Binary file not shown.
BIN
Content/testing/bp_test.uasset
LFS
BIN
Content/testing/bp_test.uasset
LFS
Binary file not shown.
@@ -12,41 +12,21 @@ class UWing_Documentation_Manual : public UWingHandler
|
|||||||
GENERATED_BODY()
|
GENERATED_BODY()
|
||||||
|
|
||||||
public:
|
public:
|
||||||
UPROPERTY(EditAnywhere, meta=(Description="section of the manual"))
|
|
||||||
FString Section;
|
|
||||||
|
|
||||||
virtual void Register() override
|
virtual void Register() override
|
||||||
{
|
{
|
||||||
TStringBuilder<128> Docs;
|
UWingServer::AddHandler(this, TEXT("Print the entire manual."));
|
||||||
Docs.Append(TEXT("Print a section of the manual. Valid sections: "));
|
|
||||||
WingManual::PrintSectionNames(nullptr, WingManual::GetSections(), Docs);
|
|
||||||
UWingServer::AddHandler(this, Docs.ToString());
|
|
||||||
}
|
}
|
||||||
virtual void Handle() override
|
virtual void Handle() override
|
||||||
{
|
{
|
||||||
TSet<FName> Sections = WingManual::GetSections();
|
UWingManualSections::FetcherPaths();
|
||||||
if (Section.IsEmpty())
|
UWingManualSections::ExpressingTypes();
|
||||||
{
|
UWingManualSections::VariableDeclarations();
|
||||||
UWingManualSections::FetcherPaths();
|
UWingManualSections::EscapeSequencesInFNames();
|
||||||
UWingManualSections::ExpressingTypes();
|
UWingManualSections::MaterialEditing();
|
||||||
UWingManualSections::VariableDeclarations();
|
UWingManualSections::NodeContextMenus();
|
||||||
UWingManualSections::EscapeSequencesInFNames();
|
UWingManualSections::VariableGettersAndSetters();
|
||||||
UWingManualSections::MaterialEditing();
|
UWingManualSections::BestPerformance();
|
||||||
UWingManualSections::ImportantCommands();
|
UWingManualSections::ImportantCommands();
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
FName SectionName(*Section);
|
|
||||||
if (WingManual::PrintSection(SectionName))
|
|
||||||
{
|
|
||||||
WingOut::Stdout.Printf(TEXT("\n"));
|
|
||||||
WingManual::PrintSectionNames(TEXT("Other manual sections:"), Sections, WingOut::Stdout);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
WingOut::Stdout.Printf(TEXT("Unknown manual section '%s'\n"), *Section);
|
|
||||||
WingManual::PrintSectionNames(TEXT("Valid manual sections:"), Sections, WingOut::Stdout);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -0,0 +1,39 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "CoreMinimal.h"
|
||||||
|
#include "WingBasics.h"
|
||||||
|
#include "WingManual.h"
|
||||||
|
#include "WingServer.h"
|
||||||
|
#include "Documentation_Section.generated.h"
|
||||||
|
|
||||||
|
UCLASS()
|
||||||
|
class UWing_Documentation_Section : public UWingHandler
|
||||||
|
{
|
||||||
|
GENERATED_BODY()
|
||||||
|
|
||||||
|
public:
|
||||||
|
UPROPERTY(EditAnywhere, meta=(Description="Manual section"))
|
||||||
|
FString Section;
|
||||||
|
|
||||||
|
virtual void Register() override
|
||||||
|
{
|
||||||
|
TStringBuilder<128> Docs;
|
||||||
|
Docs.Append(TEXT("Print a section of the manual. Valid sections: "));
|
||||||
|
WingManual::PrintSectionNames(nullptr, WingManual::GetSections(), Docs);
|
||||||
|
UWingServer::AddHandler(this, Docs.ToString());
|
||||||
|
}
|
||||||
|
virtual void Handle() override
|
||||||
|
{
|
||||||
|
FName SectionName(*Section);
|
||||||
|
if (WingManual::PrintSection(SectionName))
|
||||||
|
{
|
||||||
|
WingOut::Stdout.Printf(TEXT("\n"));
|
||||||
|
WingManual::PrintSectionNames(TEXT("Other manual sections:"), WingManual::GetSections(), WingOut::Stdout);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
WingOut::Stdout.Printf(TEXT("Unknown manual section '%s'\n"), *Section);
|
||||||
|
WingManual::PrintSectionNames(TEXT("Valid manual sections:"), WingManual::GetSections(), WingOut::Stdout);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
@@ -38,7 +38,7 @@ public:
|
|||||||
MaterialObj->ForceRecompileForRendering();
|
MaterialObj->ForceRecompileForRendering();
|
||||||
|
|
||||||
// Wait for compilation to finish, then check for errors
|
// Wait for compilation to finish, then check for errors
|
||||||
FMaterialResource* Resource = MaterialObj->GetMaterialResource(GetFeatureLevelShaderPlatform(GMaxRHIFeatureLevel));
|
FMaterialResource* Resource = MaterialObj->GetMaterialResource(GMaxRHIFeatureLevel);
|
||||||
TArray<FString> Errors;
|
TArray<FString> Errors;
|
||||||
if (Resource)
|
if (Resource)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -119,7 +119,7 @@ public:
|
|||||||
|
|
||||||
// Register a variable GUID for the new widget. UMG's compiler
|
// Register a variable GUID for the new widget. UMG's compiler
|
||||||
// ensures every widget in the tree is present in this map.
|
// ensures every widget in the tree is present in this map.
|
||||||
BP->OnVariableAdded(NewWidget->GetFName());
|
// BP->OnVariableAdded(NewWidget->GetFName());
|
||||||
|
|
||||||
WingOut::Stdout.Printf(TEXT("Created widget '%s' of type '%s'\n"), *Name, *Type);
|
WingOut::Stdout.Printf(TEXT("Created widget '%s' of type '%s'\n"), *Name, *Type);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -103,7 +103,7 @@ UEdGraphNode* FWingGraphAction::Execute(const FVector2D &Location) const
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return Action->PerformAction(Graph, nullptr, UE::Slate::CastToVector2f(Location), /*bSelectNewNode=*/false);
|
return Action->PerformAction(Graph, nullptr, Location, /*bSelectNewNode=*/false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -221,10 +221,11 @@ void UWingManualSections::ImportantCommands()
|
|||||||
WingOut::Stdout.Print(TEXT(
|
WingOut::Stdout.Print(TEXT(
|
||||||
"\n IMPORTANT COMMANDS:"
|
"\n IMPORTANT COMMANDS:"
|
||||||
"\n"
|
"\n"
|
||||||
"\n Documentation_Manual: print manual sections"
|
"\n Documentation_Manual: print the entire manual"
|
||||||
"\n Documentation_Commands: A concise list of all ue-wingman commands"
|
"\n Documentation_Section: print a single section of the manual"
|
||||||
"\n Documentation_Command: Detailed documentation for a single ue-wingman command"
|
"\n Documentation_Commands: print concise list of all ue-wingman commands"
|
||||||
"\n Documentation_CreateAssets: Additional commands that create new assets"
|
"\n Documentation_Command: detailed documentation for a single ue-wingman command"
|
||||||
|
"\n Documentation_CreateAssets: list of commands that create new assets"
|
||||||
"\n Blueprint_Dump: a summary of any blueprint"
|
"\n Blueprint_Dump: a summary of any blueprint"
|
||||||
"\n Graph_Dump: a fairly detailed listing of any Graph"
|
"\n Graph_Dump: a fairly detailed listing of any Graph"
|
||||||
"\n Details_Dump: Dump the details panel for a given object"
|
"\n Details_Dump: Dump the details panel for a given object"
|
||||||
|
|||||||
@@ -223,15 +223,21 @@ FString UWingServer::PostCallHandler()
|
|||||||
return Result;
|
return Result;
|
||||||
}
|
}
|
||||||
|
|
||||||
void UWingServer::TryCallHandler(const TArray<FString>& Argv)
|
void UWingServer::TryCallHandler(TArrayView<const FString> Argv)
|
||||||
{
|
{
|
||||||
if (Argv.Num() < 1)
|
FString Command = "Documentation_Manual";
|
||||||
|
if (Argv.Num() > 0)
|
||||||
{
|
{
|
||||||
WingOut::Stdout.Print(TEXT("Missing command\n"));
|
Command = Argv[0];
|
||||||
return;
|
Argv = Argv.RightChop(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
FString Command = Argv[0];
|
if ((Command.Equals(TEXT("--help"))) ||
|
||||||
|
(Command.Equals(TEXT("-help"))) ||
|
||||||
|
(Command.Equals(TEXT("help"))))
|
||||||
|
{
|
||||||
|
Command = "Documentation_Manual";
|
||||||
|
}
|
||||||
|
|
||||||
// Find the handler for the specified command.
|
// Find the handler for the specified command.
|
||||||
FWingHandlerConfig* Found = FindHandler(Command);
|
FWingHandlerConfig* Found = FindHandler(Command);
|
||||||
@@ -250,7 +256,7 @@ void UWingServer::TryCallHandler(const TArray<FString>& Argv)
|
|||||||
|
|
||||||
// Populate the handler object with argv parameters.
|
// Populate the handler object with argv parameters.
|
||||||
TArray<FWingProperty> Props = FWingProperty::GetVisible(Handler, true);
|
TArray<FWingProperty> Props = FWingProperty::GetVisible(Handler, true);
|
||||||
if (!FWingProperty::PopulateFromArgv(Props, MakeArrayView(Argv).RightChop(1), WingOut::Stdout))
|
if (!FWingProperty::PopulateFromArgv(Props, Argv, WingOut::Stdout))
|
||||||
{
|
{
|
||||||
UWingServer::SuggestHandlerHelp();
|
UWingServer::SuggestHandlerHelp();
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "CoreMinimal.h"
|
#include "CoreMinimal.h"
|
||||||
#include "Materials/MaterialParameters.h"
|
#include "MaterialTypes.h"
|
||||||
#include "WingBasics.h"
|
#include "WingBasics.h"
|
||||||
#include "WingParameterEditor.generated.h"
|
#include "WingParameterEditor.generated.h"
|
||||||
|
|
||||||
|
|||||||
@@ -80,7 +80,7 @@ private:
|
|||||||
TArray<uint8> HandleRequest(const TArray<uint8>& RequestBytes);
|
TArray<uint8> HandleRequest(const TArray<uint8>& RequestBytes);
|
||||||
void PreCallHandler();
|
void PreCallHandler();
|
||||||
FString PostCallHandler();
|
FString PostCallHandler();
|
||||||
void TryCallHandler(const TArray<FString>& Argv);
|
void TryCallHandler(TArrayView<const FString> Argv);
|
||||||
|
|
||||||
// ----- TCP server -----
|
// ----- TCP server -----
|
||||||
FSocket* ListenSocket = nullptr;
|
FSocket* ListenSocket = nullptr;
|
||||||
|
|||||||
@@ -18,9 +18,16 @@ struct FRadialMenuItem
|
|||||||
{
|
{
|
||||||
GENERATED_BODY()
|
GENERATED_BODY()
|
||||||
|
|
||||||
|
UPROPERTY(BlueprintReadOnly)
|
||||||
FVector2D Point1 = {0,0};
|
FVector2D Point1 = {0,0};
|
||||||
|
|
||||||
|
UPROPERTY(BlueprintReadOnly)
|
||||||
FVector2D Point2 = {0,0};
|
FVector2D Point2 = {0,0};
|
||||||
|
|
||||||
|
UPROPERTY(BlueprintReadOnly)
|
||||||
FVector2D Point3 = {0,0};
|
FVector2D Point3 = {0,0};
|
||||||
|
|
||||||
|
UPROPERTY(BlueprintReadOnly)
|
||||||
bool RightSide = false;
|
bool RightSide = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user