diff --git a/.gitignore b/.gitignore index 51d3419..099e3f5 100644 --- a/.gitignore +++ b/.gitignore @@ -13,6 +13,7 @@ !/Config/** !/Plugins/** !/Documentation/** +!/TypeScript/** !/.eslintignore !/.eslintrc.js !/.prettierignore diff --git a/Config/DefaultEngine.ini b/Config/DefaultEngine.ini index b2a6e98..e43386b 100644 --- a/Config/DefaultEngine.ini +++ b/Config/DefaultEngine.ini @@ -2,7 +2,7 @@ [/Script/EngineSettings.GameMapsSettings] GameDefaultMap=/Engine/Maps/Templates/OpenWorld -GlobalDefaultGameMode=/Game/Blueprints/BP_TengriGameMode.BP_TengriGameMode_C +GlobalDefaultGameMode=/Game/_Core/Framework/BP_TengriGameMode.BP_TengriGameMode_C [/Script/Engine.RendererSettings] r.AllowStaticLighting=False diff --git a/Content/BasicShapes/CustomDefaultSkeletalMesh.ts b/Content/BasicShapes/CustomDefaultSkeletalMesh.ts deleted file mode 100644 index 14149f6..0000000 --- a/Content/BasicShapes/CustomDefaultSkeletalMesh.ts +++ /dev/null @@ -1,5 +0,0 @@ -// Content/BasicShapes/CustomDefaultSkeletalMesh.ts - -import { SkeletalMesh } from '/Content/UE/SkeletalMesh.ts'; - -export class CustomDefaultSkeletalMesh extends SkeletalMesh {} diff --git a/Content/BasicShapes/CustomDefaultSkeletalMesh.uasset b/Content/BasicShapes/CustomDefaultSkeletalMesh.uasset deleted file mode 100644 index 0384d4a..0000000 --- a/Content/BasicShapes/CustomDefaultSkeletalMesh.uasset +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0519fdf8a1c138dcdcde8cbec5a8637efac5c3f3cfce37e1fbcdffadf7049d23 -size 19429 diff --git a/Content/Blueprints/BP_MainCharacter.ts b/Content/Blueprints/BP_MainCharacter.ts deleted file mode 100644 index 55f94ab..0000000 --- a/Content/Blueprints/BP_MainCharacter.ts +++ /dev/null @@ -1,234 +0,0 @@ -// Content/Blueprints/BP_MainCharacter.ts - -import { AC_DebugHUD } from '/Content/Debug/Components/AC_DebugHUD.ts'; -import { AC_InputDevice } from '/Content/Input/Components/AC_InputDevice.ts'; -import { IMC_Default } from '/Content/Input/IMC_Default.ts'; -import { AC_ToastSystem } from '/Content/Toasts/Components/AC_ToastSystem.ts'; -import { Cast } from '/Content/UE/Cast.ts'; -import type { Controller } from '/Content/UE/Controller.ts'; -import { EnhancedInputLocalPlayerSubsystem } from '/Content/UE/EnhancedInputLocalPlayerSubsystem.ts'; -import type { Float } from '/Content/UE/Float.ts'; -import { MathLibrary } from '/Content/UE/MathLibrary.ts'; -import type { PlayerController } from '/Content/UE/PlayerController.ts'; -import { SystemLibrary } from '/Content/UE/SystemLibrary.ts'; -import { Vector } from '/Content/UE/Vector.ts'; -import { TengriCharacter } from '/Source/TengriPlatformer/Character/TengriCharacter.ts'; -import { IA_Interact } from '/Content/Input/Actions/IA_Inreract.ts'; -import { IA_Throw } from '/Content/Input/Actions/IA_Throw.ts'; -import { IA_Aim } from '/Content/Input/Actions/IA_Aim.ts'; -import { IMC_ItemHeld } from '/Content/Input/IMC_ItemHeld.ts'; -import { CreateWidget } from '/Content/UE/CteateWidget.ts'; -import { WBP_HUD } from '/Content/UI/WBP_HUD.ts'; -import { CustomDefaultSkeletalMesh } from '/Content/BasicShapes/CustomDefaultSkeletalMesh.ts'; -import { ETengriCameraBehavior } from '/Source/TengriPlatformer/Camera/Core/TengriCameraConfig.ts'; -import { DA_CameraAiming } from '/Content/Camera/DA_CameraAiming.ts'; - -/** - * Main Character Blueprint - * Core player character with deterministic movement system - * Integrates debug HUD and toast notification systems - */ -export class BP_MainCharacter extends TengriCharacter { - // ════════════════════════════════════════════════════════════════════════════════════════ - // GRAPHS - // ════════════════════════════════════════════════════════════════════════════════════════ - - // ──────────────────────────────────────────────────────────────────────────────────────── - // EventGraph - // ──────────────────────────────────────────────────────────────────────────────────────── - - /** - * Handle controller change events - sets up Enhanced Input mapping context - */ - EventReceiveControllerChanged(NewController: Controller): void { - const controller = Cast(NewController); - const system = new EnhancedInputLocalPlayerSubsystem(); - - if (controller) { - system.AddMappingContext(IMC_Default); - } - } - - /** Navigate to previous debug page */ - EnhancedInputActionPrevDebugMode(): void { - if (this.ShowDebugInfo) { - this.DebugHUDComponent.PreviousPage(); - } - } - - /** Navigate to next debug page */ - EnhancedInputActionINextDebugMode(): void { - if (this.ShowDebugInfo) { - this.DebugHUDComponent.NextPage(); - } - } - - /** Toggle debug HUD visibility */ - EnhancedInputActionToggleHUD(): void { - if (this.ShowDebugInfo) { - this.DebugHUDComponent.ToggleDebugHUD(); - } - } - - /** Toggle visual debug rendering */ - EnhancedInputActionToggleVisualDebug(): void { - if (this.ShowDebugInfo) { - this.DebugHUDComponent.ToggleVisualDebug(); - } - } - - /** - * Process look input for camera rotation - * @param actionValueX - Horizontal look input value - * @param actionValueY - Vertical look input value - */ - EnhancedInputActionLookTriggered( - actionValueX: Float, - actionValueY: Float - ): void { - if ( - this.CameraManager.CurrentConfig.BehaviorType === - ETengriCameraBehavior.FreeLook - ) { - this.AddControllerYawInput(actionValueX); - this.AddControllerPitchInput(actionValueY); - } - } - - /** - * Process movement input for ground-based movement - * @param ActionValueX - Horizontal movement input value (-1 to 1) - * @param ActionValueY - Vertical movement input value (-1 to 1) - */ - EnhancedInputActionMoveTriggered( - ActionValueX: Float, - ActionValueY: Float - ): void { - const CalculateResultMovementInputVector = ( - rightVector: Vector, - forwardVector: Vector, - actionValueX: Float, - actionValueY: Float - ): Vector => { - const vec1 = new Vector( - rightVector.X * actionValueX, - rightVector.Y * actionValueX, - 0 - ); - const vec2 = new Vector( - forwardVector.X * actionValueY, - forwardVector.Y * actionValueY, - 0 - ); - - return new Vector(vec1.X + vec2.X, vec1.Y + vec2.Y, 0); - }; - - this.MovementComponent.SetInputVector( - CalculateResultMovementInputVector( - MathLibrary.GetRightVector( - this.GetControlRotation().roll, - 0, - this.GetControlRotation().yaw - ), - MathLibrary.GetForwardVector(0, 0, this.GetControlRotation().yaw), - ActionValueX, - ActionValueY - ) - ); - } - - /** - * Reset movement input when move action is completed - */ - EnhancedInputActionMoveCompleted(): void { - this.MovementComponent.SetInputVector(new Vector(0, 0, 0)); - } - - EnhancedInputActionJumpTriggered(): void { - this.MovementComponent.SetJumpInput(true); - } - - EnhancedInputActionJumpCompleted(): void { - this.MovementComponent.SetJumpInput(false); - } - - /** - * Initialize all systems when character spawns - * Order: Toast → Debug → Movement (movement last as it may generate debug output) - */ - EventBeginPlay(): void { - if (this.ShowDebugInfo) { - this.ToastSystemComponent.InitializeToastSystem(); - } - - this.InputDeviceComponent.InitializeDeviceDetection( - this.ToastSystemComponent, - this.DebugHUDComponent - ); - - if (this.ShowDebugInfo) { - this.DebugHUDComponent.InitializeDebugHUD( - this.ToastSystemComponent, - this.InputDeviceComponent - ); - } - - CreateWidget(WBP_HUD).AddToViewport(); - } - - /** - * Update all systems each frame - * Called by Unreal Engine game loop - */ - EventTick(): void { - if (this.ShowDebugInfo) { - this.DebugHUDComponent.UpdateHUD(SystemLibrary.GetGameTimeInSeconds()); - this.ToastSystemComponent.UpdateToastSystem(); - } - - if (this.ShowDebugInfo) { - this.InputDeviceComponent.UpdateDebugPage(); - } - } - - // ════════════════════════════════════════════════════════════════════════════════════════ - // VARIABLES - // ════════════════════════════════════════════════════════════════════════════════════════ - - /** - * Input device detection component - manages input device state and detection - * @category Components - */ - InputDeviceComponent = new AC_InputDevice(); - - /** - * Toast notification system - displays temporary status messages - * @category Components - */ - ToastSystemComponent = new AC_ToastSystem(); - - /** - * Debug HUD system - displays movement parameters and performance metrics - * @category Components - */ - DebugHUDComponent = new AC_DebugHUD(); - - /** - * Master debug toggle - controls all debug systems (HUD, toasts, visual debug) - * @category Debug - * @instanceEditable true - */ - private ShowDebugInfo: boolean = true; - - constructor() { - super(new DA_CameraAiming()); - - this.InteractAction = IA_Interact; - this.ThrowAction = IA_Throw; - this.AimAction = IA_Aim; - this.ItemHeldMappingContext = IMC_ItemHeld; - - this.Mesh = new CustomDefaultSkeletalMesh(); - } -} diff --git a/Content/Blueprints/BP_MainCharacter.uasset b/Content/Blueprints/BP_MainCharacter.uasset deleted file mode 100644 index 31b231f..0000000 --- a/Content/Blueprints/BP_MainCharacter.uasset +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4b1ef00f3c11f790cf69fbc6c07a2e24668ec1ac66cd926a054cf0f745353b1e -size 302029 diff --git a/Content/Blueprints/BP_Rock.uasset b/Content/Blueprints/BP_Rock.uasset deleted file mode 100644 index 6ff1597..0000000 --- a/Content/Blueprints/BP_Rock.uasset +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:862c0746068576680cfea3db432d9ae165667381ad9ed367b67f610c02c13476 -size 33241 diff --git a/Content/Blueprints/BP_TengriGameMode.ts b/Content/Blueprints/BP_TengriGameMode.ts deleted file mode 100644 index 860d165..0000000 --- a/Content/Blueprints/BP_TengriGameMode.ts +++ /dev/null @@ -1,8 +0,0 @@ -// Blueprints/BP_TengriGameMode.ts - -import { BP_MainCharacter } from '/Content/Blueprints/BP_MainCharacter.ts'; -import { GameModeBase } from '/Content/UE/GameModeBase.ts'; - -export class BP_TengriGameMode extends GameModeBase { - DefaultPawnClass = BP_MainCharacter; -} diff --git a/Content/Blueprints/BP_TengriGameMode.uasset b/Content/Blueprints/BP_TengriGameMode.uasset deleted file mode 100644 index 7c7fa64..0000000 --- a/Content/Blueprints/BP_TengriGameMode.uasset +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6b9cfc12f01b594d6aac3e0e6b38ee7f49fe62e6869bc8705701e0a7ebc0e883 -size 20378 diff --git a/Content/Camera/BP_CameraZone.uasset b/Content/Camera/BP_CameraZone.uasset deleted file mode 100644 index 7fadb30..0000000 --- a/Content/Camera/BP_CameraZone.uasset +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:51324109b47bc7bc7ad20b1ef1f040479bbc3ee63955dca23ae860c8ade26d83 -size 45854 diff --git a/Content/Camera/DA_CameraAiming.uasset b/Content/Camera/DA_CameraAiming.uasset deleted file mode 100644 index 26f856c..0000000 --- a/Content/Camera/DA_CameraAiming.uasset +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fe737079a9dd451242b2b3af0ffe5f7012f0ec2f2f59af87a7665d6c045edfd4 -size 1451 diff --git a/Content/Camera/DA_CameraDefault.uasset b/Content/Camera/DA_CameraDefault.uasset deleted file mode 100644 index e606096..0000000 --- a/Content/Camera/DA_CameraDefault.uasset +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:194bbfec8cba7c8c1faea40e5b83c831524e5f2a452c02e15da23160b1c91d91 -size 1456 diff --git a/Content/Camera/DA_CameraSideScroller.uasset b/Content/Camera/DA_CameraSideScroller.uasset deleted file mode 100644 index 6abb639..0000000 --- a/Content/Camera/DA_CameraSideScroller.uasset +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:da53aee10682271458da492438bae9d24cafd74fcc82bc9c5897935c8f050bff -size 1788 diff --git a/Content/Debug/Components/AC_DebugHUD.uasset b/Content/Debug/Components/AC_DebugHUD.uasset deleted file mode 100644 index 9dc3a59..0000000 --- a/Content/Debug/Components/AC_DebugHUD.uasset +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5907a16aa52357db1290507f83ddb341ebc84b5d9e60b102cb8f022601d9f7e1 -size 760635 diff --git a/Content/Debug/Structs/S_DebugPage.ts b/Content/Debug/Structs/S_DebugPage.ts deleted file mode 100644 index 12fbe29..0000000 --- a/Content/Debug/Structs/S_DebugPage.ts +++ /dev/null @@ -1,13 +0,0 @@ -// Content/Debug/Structs/S_DebugPage.ts - -import type { Float } from '/Content/UE/Float.ts'; -import type { Text } from '/Content/UE/Text.ts'; - -export interface S_DebugPage { - PageID: string; - Title: Text; - Content: Text; - RefreshRate: Float; - IsVisible: boolean; - LastUpdateTime: Float; -} diff --git a/Content/Debug/Structs/S_DebugPage.uasset b/Content/Debug/Structs/S_DebugPage.uasset deleted file mode 100644 index f13dd44..0000000 --- a/Content/Debug/Structs/S_DebugPage.uasset +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6b0f38379acc6dd319285f5d14b6a7549b49d0113c662ca65d7c305c8bd1325a -size 8771 diff --git a/Content/Debug/UI/WBP_DebugHUD.uasset b/Content/Debug/UI/WBP_DebugHUD.uasset deleted file mode 100644 index 4a93f99..0000000 --- a/Content/Debug/UI/WBP_DebugHUD.uasset +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d78f9cac51e19251bfad2a5856ebda1f5ec518f733c374fd2a339edbda3bdd23 -size 107557 diff --git a/Content/Camera/BP_CameraZone.ts b/Content/Domains/Camera/BP_CameraZone.ts similarity index 68% rename from Content/Camera/BP_CameraZone.ts rename to Content/Domains/Camera/BP_CameraZone.ts index 8a949a5..8281a1e 100644 --- a/Content/Camera/BP_CameraZone.ts +++ b/Content/Domains/Camera/BP_CameraZone.ts @@ -1,8 +1,8 @@ -// Content/Camera/BP_CameraZone.ts +// Content/Domains/Camera/BP_CameraZone.ts -import { Actor } from '/Content/UE/Actor.ts'; -import type { TengriCharacter } from '/Source/TengriPlatformer/Character/TengriCharacter.ts'; -import type { TengriCameraConfig } from '/Source/TengriPlatformer/Camera/Core/TengriCameraConfig.ts'; +import { Actor } from '/TypeScript/Engine/Actor.ts'; +import type { TengriCameraConfig } from '/Source/TengriPlatformer/Domains/Camera/Config/TengriCameraConfig.ts'; +import type { TengriCharacter } from '/Source/TengriPlatformer/Domains/Character/TengriCharacter.ts'; export class BP_CameraZone extends Actor { constructor(ZoneConfig: TengriCameraConfig) { diff --git a/Content/Domains/Camera/BP_CameraZone.uasset b/Content/Domains/Camera/BP_CameraZone.uasset new file mode 100644 index 0000000..f922341 --- /dev/null +++ b/Content/Domains/Camera/BP_CameraZone.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:061f7e77a2c13c1e5eb3a22efc2106960d39381873b425d93e05747217a6c00a +size 45633 diff --git a/Content/Camera/DA_CameraAiming.ts b/Content/Domains/Camera/Configs/DA_CameraAiming.ts similarity index 67% rename from Content/Camera/DA_CameraAiming.ts rename to Content/Domains/Camera/Configs/DA_CameraAiming.ts index a5ec59e..9eb5232 100644 --- a/Content/Camera/DA_CameraAiming.ts +++ b/Content/Domains/Camera/Configs/DA_CameraAiming.ts @@ -1,9 +1,11 @@ +// Content/Domains/Camera/Configs/DA_CameraAiming.ts + import { ETengriCameraBehavior, TengriCameraConfig, -} from '/Source/TengriPlatformer/Camera/Core/TengriCameraConfig.ts'; -import { Vector } from '/Content/UE/Vector.ts'; -import { Rotator } from '/Content/UE/Rotator.ts'; +} from '/Source/TengriPlatformer/Domains/Camera/Config/TengriCameraConfig.ts'; +import { Vector } from '/TypeScript/Engine/Vector.ts'; +import { Rotator } from '/TypeScript/Engine/Rotator.ts'; export class DA_CameraAiming extends TengriCameraConfig { override BehaviorType = ETengriCameraBehavior.FreeLook; diff --git a/Content/Domains/Camera/Configs/DA_CameraAiming.uasset b/Content/Domains/Camera/Configs/DA_CameraAiming.uasset new file mode 100644 index 0000000..7ad30d6 --- /dev/null +++ b/Content/Domains/Camera/Configs/DA_CameraAiming.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ec90fea475d0f863424b0a87cd439377b84f1024e778b0b53b8c761159b5ae49 +size 1483 diff --git a/Content/Camera/DA_CameraDefault.ts b/Content/Domains/Camera/Configs/DA_CameraDefault.ts similarity index 67% rename from Content/Camera/DA_CameraDefault.ts rename to Content/Domains/Camera/Configs/DA_CameraDefault.ts index 7e723c0..c24973d 100644 --- a/Content/Camera/DA_CameraDefault.ts +++ b/Content/Domains/Camera/Configs/DA_CameraDefault.ts @@ -1,9 +1,11 @@ +// Content/Domains/Camera/Configs/DA_CameraDefault.ts + import { ETengriCameraBehavior, TengriCameraConfig, -} from '/Source/TengriPlatformer/Camera/Core/TengriCameraConfig.ts'; -import { Vector } from '/Content/UE/Vector.ts'; -import { Rotator } from '/Content/UE/Rotator.ts'; +} from '/Source/TengriPlatformer/Domains/Camera/Config/TengriCameraConfig.ts'; +import { Vector } from '/TypeScript/Engine/Vector.ts'; +import { Rotator } from '/TypeScript/Engine/Rotator.ts'; export class DA_CameraDefault extends TengriCameraConfig { override BehaviorType = ETengriCameraBehavior.FreeLook; diff --git a/Content/Domains/Camera/Configs/DA_CameraDefault.uasset b/Content/Domains/Camera/Configs/DA_CameraDefault.uasset new file mode 100644 index 0000000..7ab9135 --- /dev/null +++ b/Content/Domains/Camera/Configs/DA_CameraDefault.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:897b606f397674d04b6d5eacb83544e23d110c39888b333ebf22ef953b172d20 +size 1488 diff --git a/Content/Camera/DA_CameraScroller.ts b/Content/Domains/Camera/Configs/DA_CameraSideScroller.ts similarity index 60% rename from Content/Camera/DA_CameraScroller.ts rename to Content/Domains/Camera/Configs/DA_CameraSideScroller.ts index a389ca4..38dc5f4 100644 --- a/Content/Camera/DA_CameraScroller.ts +++ b/Content/Domains/Camera/Configs/DA_CameraSideScroller.ts @@ -1,11 +1,13 @@ +// Content/Domains/Camera/Configs/DA_CameraSideScroller.ts + import { ETengriCameraBehavior, TengriCameraConfig, -} from '/Source/TengriPlatformer/Camera/Core/TengriCameraConfig.ts'; -import { Vector } from '/Content/UE/Vector.ts'; -import { Rotator } from '/Content/UE/Rotator.ts'; +} from '/Source/TengriPlatformer/Domains/Camera/Config/TengriCameraConfig.ts'; +import { Vector } from '/TypeScript/Engine/Vector.ts'; +import { Rotator } from '/TypeScript/Engine/Rotator.ts'; -export class DA_CameraScroller extends TengriCameraConfig { +export class DA_CameraSideScroller extends TengriCameraConfig { override BehaviorType = ETengriCameraBehavior.FreeLook; override FixedRotation = new Rotator(0, 0, 0); diff --git a/Content/Domains/Camera/Configs/DA_CameraSideScroller.uasset b/Content/Domains/Camera/Configs/DA_CameraSideScroller.uasset new file mode 100644 index 0000000..d6e609e --- /dev/null +++ b/Content/Domains/Camera/Configs/DA_CameraSideScroller.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:77bc92c49be7e7cbe69967cdfe0224ff1255754adb846b222d58dd48153ddcda +size 1820 diff --git a/Content/Domains/Character/Assets/CustomDefaultSkeletalMesh.ts b/Content/Domains/Character/Assets/CustomDefaultSkeletalMesh.ts new file mode 100644 index 0000000..47bc2d7 --- /dev/null +++ b/Content/Domains/Character/Assets/CustomDefaultSkeletalMesh.ts @@ -0,0 +1,5 @@ +// Content/Domains/Character/Assets/CustomDefaultSkeletalMesh.ts + +import { SkeletalMesh } from '/TypeScript/Engine/SkeletalMesh.ts'; + +export class CustomDefaultSkeletalMesh extends SkeletalMesh {} diff --git a/Content/Domains/Character/Assets/CustomDefaultSkeletalMesh.uasset b/Content/Domains/Character/Assets/CustomDefaultSkeletalMesh.uasset new file mode 100644 index 0000000..ed50897 --- /dev/null +++ b/Content/Domains/Character/Assets/CustomDefaultSkeletalMesh.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:33539cbeee276e551a14f1f035911335520e7553cd066d10a20b240735104c29 +size 19455 diff --git a/Content/Domains/Character/BP_MainCharacter.ts b/Content/Domains/Character/BP_MainCharacter.ts new file mode 100644 index 0000000..e5b8389 --- /dev/null +++ b/Content/Domains/Character/BP_MainCharacter.ts @@ -0,0 +1,142 @@ +// Content/Domains/Character/BP_MainCharacter.ts + +import { IMC_CharacterDefault } from '/Content/Domains/Character/Input/IMC_CharacterDefault.ts'; +import { Cast } from '/TypeScript/Engine/Cast.ts'; +import type { Controller } from '/TypeScript/Engine/Controller.ts'; +import { EnhancedInputLocalPlayerSubsystem } from '/TypeScript/Engine/EnhancedInputLocalPlayerSubsystem.ts'; +import type { Float } from '/TypeScript/Engine/Float.ts'; +import { MathLibrary } from '/TypeScript/Engine/MathLibrary.ts'; +import type { PlayerController } from '/TypeScript/Engine/PlayerController.ts'; +import { Vector } from '/TypeScript/Engine/Vector.ts'; +import { TengriCharacter } from '/Source/TengriPlatformer/Domains/Character/TengriCharacter.ts'; +import { IA_Interact } from '/Content/Domains/Character/Input/Actions/IA_Interact.ts'; +import { IA_Throw } from '/Content/Domains/Character/Input/Actions/IA_Throw.ts'; +import { IA_Aim } from '/Content/Domains/Character/Input/Actions/IA_Aim.ts'; +import { IMC_CharacterItemHeld } from '/Content/Domains/Character/Input/IMC_CharacterItemHeld.ts'; +import { CreateWidget } from '/TypeScript/Engine/CteateWidget.ts'; +import { WBP_Crosshair } from '/Content/Domains/Character/UI/WBP_Crosshair.ts'; +import { CustomDefaultSkeletalMesh } from '/Content/Domains/Character/Assets/CustomDefaultSkeletalMesh.ts'; +import { ETengriCameraBehavior } from '/Source/TengriPlatformer/Domains/Camera/Config/TengriCameraConfig.ts'; +import { DA_CameraAiming } from '/Content/Domains/Camera/Configs/DA_CameraAiming.ts'; + +/** + * Main Character Blueprint + * Core player character with deterministic movement system + * Integrates debug HUD and toast notification systems + */ +export class BP_MainCharacter extends TengriCharacter { + // ════════════════════════════════════════════════════════════════════════════════════════ + // GRAPHS + // ════════════════════════════════════════════════════════════════════════════════════════ + + // ──────────────────────────────────────────────────────────────────────────────────────── + // EventGraph + // ──────────────────────────────────────────────────────────────────────────────────────── + + /** + * Handle controller change events - sets up Enhanced Input mapping context + */ + EventReceiveControllerChanged(NewController: Controller): void { + const controller = Cast(NewController); + const system = new EnhancedInputLocalPlayerSubsystem(); + + if (controller) { + system.AddMappingContext(IMC_CharacterDefault); + } + } + + /** + * Process look input for camera rotation + * @param actionValueX - Horizontal look input value + * @param actionValueY - Vertical look input value + */ + EnhancedInputActionLookTriggered( + actionValueX: Float, + actionValueY: Float + ): void { + if ( + this.CameraManager.CurrentConfig.BehaviorType === + ETengriCameraBehavior.FreeLook + ) { + this.AddControllerYawInput(actionValueX); + this.AddControllerPitchInput(actionValueY); + } + } + + /** + * Process movement input for ground-based movement + * @param ActionValueX - Horizontal movement input value (-1 to 1) + * @param ActionValueY - Vertical movement input value (-1 to 1) + */ + EnhancedInputActionMoveTriggered( + ActionValueX: Float, + ActionValueY: Float + ): void { + const CalculateResultMovementInputVector = ( + rightVector: Vector, + forwardVector: Vector, + actionValueX: Float, + actionValueY: Float + ): Vector => { + const vec1 = new Vector( + rightVector.X * actionValueX, + rightVector.Y * actionValueX, + 0 + ); + const vec2 = new Vector( + forwardVector.X * actionValueY, + forwardVector.Y * actionValueY, + 0 + ); + + return new Vector(vec1.X + vec2.X, vec1.Y + vec2.Y, 0); + }; + + this.MovementComponent.SetInputVector( + CalculateResultMovementInputVector( + MathLibrary.GetRightVector( + this.GetControlRotation().roll, + 0, + this.GetControlRotation().yaw + ), + MathLibrary.GetForwardVector(0, 0, this.GetControlRotation().yaw), + ActionValueX, + ActionValueY + ) + ); + } + + /** + * Reset movement input when move action is completed + */ + EnhancedInputActionMoveCompleted(): void { + this.MovementComponent.SetInputVector(new Vector(0, 0, 0)); + } + + EnhancedInputActionJumpTriggered(): void { + this.MovementComponent.SetJumpInput(true); + } + + EnhancedInputActionJumpCompleted(): void { + this.MovementComponent.SetJumpInput(false); + } + + /** + * Initialize all systems when character spawns + * Order: Toast → Debug → Movement (movement last as it may generate debug output) + */ + EventBeginPlay(): void { + CreateWidget(WBP_Crosshair).AddToViewport(); + } + + constructor() { + super(new DA_CameraAiming()); + + this.InteractAction = IA_Interact; + this.ThrowAction = IA_Throw; + this.AimAction = IA_Aim; + this.ItemHeldMappingContext = IMC_CharacterItemHeld; + + this.Mesh = new CustomDefaultSkeletalMesh(); + } +} diff --git a/Content/Domains/Character/BP_MainCharacter.uasset b/Content/Domains/Character/BP_MainCharacter.uasset new file mode 100644 index 0000000..78b9515 --- /dev/null +++ b/Content/Domains/Character/BP_MainCharacter.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7c94efd5dafe50bcac815f73491cab9a17305de308b5780541856a2f68ac8cc0 +size 176894 diff --git a/Content/Movement/DA_TengriMovementConfig.ts b/Content/Domains/Character/Configs/DA_TengriMovementConfig.ts similarity index 84% rename from Content/Movement/DA_TengriMovementConfig.ts rename to Content/Domains/Character/Configs/DA_TengriMovementConfig.ts index cc35ef6..5098f13 100644 --- a/Content/Movement/DA_TengriMovementConfig.ts +++ b/Content/Domains/Character/Configs/DA_TengriMovementConfig.ts @@ -1,6 +1,6 @@ -// Content/Movement/Core/DA_TengriMovementConfig.ts +// Content/Domains/Character/Configs/DA_TengriMovementConfig.ts -import { TengriMovementConfig } from '/Source/TengriPlatformer/Movement/Core/TengriMovementConfig.ts'; +import { TengriMovementConfig } from '/Source/TengriPlatformer/Domains/Movement/Config/TengriMovementConfig.ts'; export class DA_TengriMovementConfig extends TengriMovementConfig { override MaxSpeed = 800.0; diff --git a/Content/Domains/Character/Configs/DA_TengriMovementConfig.uasset b/Content/Domains/Character/Configs/DA_TengriMovementConfig.uasset new file mode 100644 index 0000000..a7da31c --- /dev/null +++ b/Content/Domains/Character/Configs/DA_TengriMovementConfig.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:21d05bba1f657d3850f1317353cb9df306799298a10e3108cd26670d3bbdd9c9 +size 1634 diff --git a/Content/Domains/Character/Input/Actions/IA_Aim.ts b/Content/Domains/Character/Input/Actions/IA_Aim.ts new file mode 100644 index 0000000..a145ba1 --- /dev/null +++ b/Content/Domains/Character/Input/Actions/IA_Aim.ts @@ -0,0 +1,6 @@ +// Content/Domains/Character/Input/Actions/IA_Aim.ts + +import { InputAction } from '/TypeScript/Engine/InputAction.ts'; +import { Name } from '/TypeScript/Engine/Name.ts'; + +export const IA_Aim = new InputAction(null, new Name('IA_Aim')); diff --git a/Content/Domains/Character/Input/Actions/IA_Aim.uasset b/Content/Domains/Character/Input/Actions/IA_Aim.uasset new file mode 100644 index 0000000..66d4415 --- /dev/null +++ b/Content/Domains/Character/Input/Actions/IA_Aim.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d3cad7e4d9895a26eb4eacce83de6411172fd38c9fcc22b9cb94c8b64a28bd11 +size 1173 diff --git a/Content/Domains/Character/Input/Actions/IA_Interact.ts b/Content/Domains/Character/Input/Actions/IA_Interact.ts new file mode 100644 index 0000000..32acfb1 --- /dev/null +++ b/Content/Domains/Character/Input/Actions/IA_Interact.ts @@ -0,0 +1,6 @@ +// Content/Domains/Character/Input/Actions/IA_Interact.ts + +import { InputAction } from '/TypeScript/Engine/InputAction.ts'; +import { Name } from '/TypeScript/Engine/Name.ts'; + +export const IA_Interact = new InputAction(null, new Name('IA_Interact')); diff --git a/Content/Domains/Character/Input/Actions/IA_Interact.uasset b/Content/Domains/Character/Input/Actions/IA_Interact.uasset new file mode 100644 index 0000000..5cb3587 --- /dev/null +++ b/Content/Domains/Character/Input/Actions/IA_Interact.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:46a32fd77430a010da7ce7c5e3e3b94c667a0a54e492d038bd28ca00747ec24a +size 1198 diff --git a/Content/Domains/Character/Input/Actions/IA_Jump.ts b/Content/Domains/Character/Input/Actions/IA_Jump.ts new file mode 100644 index 0000000..7b2787d --- /dev/null +++ b/Content/Domains/Character/Input/Actions/IA_Jump.ts @@ -0,0 +1,6 @@ +// Content/Domains/Character/Input/Actions/IA_Jump.ts + +import { InputAction } from '/TypeScript/Engine/InputAction.ts'; +import { Name } from '/TypeScript/Engine/Name.ts'; + +export const IA_Jump = new InputAction(null, new Name('IA_Jump')); diff --git a/Content/Domains/Character/Input/Actions/IA_Jump.uasset b/Content/Domains/Character/Input/Actions/IA_Jump.uasset new file mode 100644 index 0000000..f863fa4 --- /dev/null +++ b/Content/Domains/Character/Input/Actions/IA_Jump.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b9448080e8493c2b34af534c23bb8db66af18022512bc2e30a0a5b4110b642a4 +size 1178 diff --git a/Content/Domains/Character/Input/Actions/IA_Look.ts b/Content/Domains/Character/Input/Actions/IA_Look.ts new file mode 100644 index 0000000..7f602bf --- /dev/null +++ b/Content/Domains/Character/Input/Actions/IA_Look.ts @@ -0,0 +1,6 @@ +// Content/Domains/Character/Input/Actions/IA_Look.ts + +import { InputAction } from '/TypeScript/Engine/InputAction.ts'; +import { Name } from '/TypeScript/Engine/Name.ts'; + +export const IA_Look = new InputAction(null, new Name('IA_Look')); diff --git a/Content/Domains/Character/Input/Actions/IA_Look.uasset b/Content/Domains/Character/Input/Actions/IA_Look.uasset new file mode 100644 index 0000000..bf45702 --- /dev/null +++ b/Content/Domains/Character/Input/Actions/IA_Look.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:48176f83d02741108826838a4f2cb1d42903559eb20a695745095e708cd8dedd +size 1374 diff --git a/Content/Domains/Character/Input/Actions/IA_Move.ts b/Content/Domains/Character/Input/Actions/IA_Move.ts new file mode 100644 index 0000000..54d8262 --- /dev/null +++ b/Content/Domains/Character/Input/Actions/IA_Move.ts @@ -0,0 +1,6 @@ +// Content/Domains/Character/Input/Actions/IA_Move.ts + +import { InputAction } from '/TypeScript/Engine/InputAction.ts'; +import { Name } from '/TypeScript/Engine/Name.ts'; + +export const IA_Move = new InputAction(null, new Name('IA_Move')); diff --git a/Content/Domains/Character/Input/Actions/IA_Move.uasset b/Content/Domains/Character/Input/Actions/IA_Move.uasset new file mode 100644 index 0000000..cee837f --- /dev/null +++ b/Content/Domains/Character/Input/Actions/IA_Move.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6b6ce5f0bf63a041184ab8a9fc7472b78a6f901421fc3a162ba1a95731a35cc7 +size 1374 diff --git a/Content/Domains/Character/Input/Actions/IA_Throw.ts b/Content/Domains/Character/Input/Actions/IA_Throw.ts new file mode 100644 index 0000000..a144982 --- /dev/null +++ b/Content/Domains/Character/Input/Actions/IA_Throw.ts @@ -0,0 +1,6 @@ +// Content/Domains/Character/Input/Actions/IA_Aim + +import { InputAction } from '/TypeScript/Engine/InputAction.ts'; +import { Name } from '/TypeScript/Engine/Name.ts'; + +export const IA_Throw = new InputAction(null, new Name('IA_Aim')); diff --git a/Content/Domains/Character/Input/Actions/IA_Throw.uasset b/Content/Domains/Character/Input/Actions/IA_Throw.uasset new file mode 100644 index 0000000..db9db74 --- /dev/null +++ b/Content/Domains/Character/Input/Actions/IA_Throw.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cba892a8823b883f83c08b2fa56fa4c4ab214a198ede4bdf98707ab40f4d4f88 +size 1183 diff --git a/Content/Domains/Character/Input/IMC_CharacterDefault.ts b/Content/Domains/Character/Input/IMC_CharacterDefault.ts new file mode 100644 index 0000000..8f5a171 --- /dev/null +++ b/Content/Domains/Character/Input/IMC_CharacterDefault.ts @@ -0,0 +1,15 @@ +// Content/Domains/Character/Input/IMC_CharacterDefault.ts + +import { IA_Look } from '/Content/Domains/Character/Input/Actions/IA_Look.ts'; +import { IA_Move } from '/Content/Domains/Character/Input/Actions/IA_Move.ts'; +import { InputMappingContext } from '/TypeScript/Engine/InputMappingContext.ts'; +import { Key } from '/TypeScript/Engine/Key.ts'; +import { IA_Jump } from '/Content/Domains/Character/Input/Actions/IA_Jump.ts'; +import { IA_Interact } from '/Content/Domains/Character/Input/Actions/IA_Interact.ts'; + +export const IMC_CharacterDefault = new InputMappingContext(); + +IMC_CharacterDefault.mapKey(IA_Look, new Key('IA_Look')); +IMC_CharacterDefault.mapKey(IA_Move, new Key('IA_Move')); +IMC_CharacterDefault.mapKey(IA_Jump, new Key('IA_Jump')); +IMC_CharacterDefault.mapKey(IA_Interact, new Key('IA_Interact')); diff --git a/Content/Domains/Character/Input/IMC_CharacterDefault.uasset b/Content/Domains/Character/Input/IMC_CharacterDefault.uasset new file mode 100644 index 0000000..7204ae5 --- /dev/null +++ b/Content/Domains/Character/Input/IMC_CharacterDefault.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2644f9a82640998f41af5650e35f125ffb6a043835b564477533f0a05f91f2b7 +size 7597 diff --git a/Content/Domains/Character/Input/IMC_CharacterItemHeld.ts b/Content/Domains/Character/Input/IMC_CharacterItemHeld.ts new file mode 100644 index 0000000..9d99a76 --- /dev/null +++ b/Content/Domains/Character/Input/IMC_CharacterItemHeld.ts @@ -0,0 +1,11 @@ +// Content/Domains/Character/Input/IMC_CharacterItemHeld.ts + +import { InputMappingContext } from '/TypeScript/Engine/InputMappingContext.ts'; +import { Key } from '/TypeScript/Engine/Key.ts'; +import { IA_Aim } from '/Content/Domains/Character/Input/Actions/IA_Aim.ts'; +import { IA_Throw } from '/Content/Domains/Character/Input/Actions/IA_Throw.ts'; + +export const IMC_CharacterItemHeld = new InputMappingContext(); + +IMC_CharacterItemHeld.mapKey(IA_Aim, new Key('IA_Aim')); +IMC_CharacterItemHeld.mapKey(IA_Throw, new Key('IA_Throw')); diff --git a/Content/Domains/Character/Input/IMC_CharacterItemHeld.uasset b/Content/Domains/Character/Input/IMC_CharacterItemHeld.uasset new file mode 100644 index 0000000..960b6e5 --- /dev/null +++ b/Content/Domains/Character/Input/IMC_CharacterItemHeld.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e6787a54abe8fc703aba2c75fa8340631978beae4ce44768c2f26e73e48756db +size 3421 diff --git a/Content/Domains/Character/UI/WBP_Crosshair.ts b/Content/Domains/Character/UI/WBP_Crosshair.ts new file mode 100644 index 0000000..10a54ea --- /dev/null +++ b/Content/Domains/Character/UI/WBP_Crosshair.ts @@ -0,0 +1,5 @@ +// Content/Domains/Character/UI/WBP_Crosshair.ts + +import { UserWidget } from '/TypeScript/Engine/UserWidget.ts'; + +export class WBP_Crosshair extends UserWidget {} diff --git a/Content/Domains/Character/UI/WBP_Crosshair.uasset b/Content/Domains/Character/UI/WBP_Crosshair.uasset new file mode 100644 index 0000000..2259d73 --- /dev/null +++ b/Content/Domains/Character/UI/WBP_Crosshair.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c80ece5cb5be92f5851b6e0b4c0e5e9a32a66f0db043be6554bd554af8ea1edc +size 47821 diff --git a/Content/Toasts/Components/AC_ToastSystem.ts b/Content/Domains/UI/Systems/Toasts/AC_ToastSystem.ts similarity index 77% rename from Content/Toasts/Components/AC_ToastSystem.ts rename to Content/Domains/UI/Systems/Toasts/AC_ToastSystem.ts index e277094..48bfb26 100644 --- a/Content/Toasts/Components/AC_ToastSystem.ts +++ b/Content/Domains/UI/Systems/Toasts/AC_ToastSystem.ts @@ -1,16 +1,16 @@ -// Content/Toasts/Components/AC_ToastSystem.ts +// Content/Domains/UI/Systems/Toasts/AC_ToastSystem.ts -import type { S_ToastMessage } from '/Content/Toasts/Structs/S_ToastMessage.ts'; -import type { WBP_Toast } from '/Content/Toasts/UI/WBP_Toast.ts'; -import { WBP_ToastContainer } from '/Content/Toasts/UI/WBP_ToastContainer.ts'; -import { ActorComponent } from '/Content/UE/ActorComponent.ts'; -import { CreateWidget } from '/Content/UE/CteateWidget.ts'; -import type { Float } from '/Content/UE/Float.ts'; -import type { Integer } from '/Content/UE/Integer.ts'; -import { SystemLibrary } from '/Content/UE/SystemLibrary.ts'; -import type { Text } from '/Content/UE/Text.ts'; -import { UEArray } from '/Content/UE/UEArray.ts'; -import { E_MessageType } from '/Content/UI/Enums/E_MessageType.ts'; +import type { S_ToastMessage } from '/Content/Domains/UI/Systems/Toasts/Types/S_ToastMessage.ts'; +import type { WBP_Toast } from '/Content/Domains/UI/Systems/Toasts/WBP_Toast.ts'; +import { WBP_ToastContainer } from '/Content/Domains/UI/Systems/Toasts/WBP_ToastContainer.ts'; +import { ActorComponent } from '/TypeScript/Engine/ActorComponent.ts'; +import { CreateWidget } from '/TypeScript/Engine/CteateWidget.ts'; +import type { Float } from '/TypeScript/Engine/Float.ts'; +import type { Integer } from '/TypeScript/Engine/Integer.ts'; +import { SystemLibrary } from '/TypeScript/Engine/SystemLibrary.ts'; +import type { Text } from '/TypeScript/Engine/Text.ts'; +import { UEArray } from '/TypeScript/Engine/UEArray.ts'; +import { E_MessageType } from '/Content/_Core/UI/Enums/E_MessageType.ts'; /** * Toast Notification System Component @@ -18,6 +18,18 @@ import { E_MessageType } from '/Content/UI/Enums/E_MessageType.ts'; * Provides visual feedback for debug operations and system events */ export class AC_ToastSystem extends ActorComponent { + // ════════════════════════════════════════════════════════════════════════════════════════ + // GRAPHS + // ════════════════════════════════════════════════════════════════════════════════════════ + + // ──────────────────────────────────────────────────────────────────────────────────────── + // EventGraph + // ──────────────────────────────────────────────────────────────────────────────────────── + + EventTick(): void { + this.RemoveExpiredToasts(); + } + // ════════════════════════════════════════════════════════════════════════════════════════ // FUNCTIONS // ════════════════════════════════════════════════════════════════════════════════════════ @@ -78,6 +90,10 @@ export class AC_ToastSystem extends ActorComponent { this.ActiveToasts.RemoveIndex(i); this.ToastWidgets.RemoveIndex(i); + + if (this.ActiveToasts.length === 0) { + this.SetComponentTickEnabled(false); + } } else { i++; } @@ -150,6 +166,7 @@ export class AC_ToastSystem extends ActorComponent { this.ActiveToasts.Add(newToast); this.ToastWidgets.Add(toastWidget); this.LogToConsole(Type, Message); + this.SetComponentTickEnabled(true); return newToast.ID; } else { return -1; @@ -161,35 +178,6 @@ export class AC_ToastSystem extends ActorComponent { return -1; } - /** - * Main update loop for toast system - * Removes expired toasts automatically - * @category System Main Loop - */ - public UpdateToastSystem(): void { - if (this.ShouldProcessToasts()) { - this.RemoveExpiredToasts(); - } - } - - /** - * Get system state and configuration for testing purposes - * Provides read-only access to private configuration and active widgets - * @returns Object containing toast widgets array and system configuration - * @category Testing - */ - public GetTestData(): { - ToastWidgets: UEArray; - MaxVisibleToasts: Integer; - IsEnabled: boolean; - } { - return { - ToastWidgets: this.ToastWidgets, - MaxVisibleToasts: this.MaxVisibleToasts, - IsEnabled: this.IsEnabled, - }; - } - /** * Initialize toast system with container widget * @example diff --git a/Content/Domains/UI/Systems/Toasts/AC_ToastSystem.uasset b/Content/Domains/UI/Systems/Toasts/AC_ToastSystem.uasset new file mode 100644 index 0000000..2cf1d13 --- /dev/null +++ b/Content/Domains/UI/Systems/Toasts/AC_ToastSystem.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0284f5c3d723d191354f36609fc91cfd4197da1e7dafb2e33e7977b777644961 +size 307491 diff --git a/Content/Domains/UI/Systems/Toasts/Types/S_ToastMessage.ts b/Content/Domains/UI/Systems/Toasts/Types/S_ToastMessage.ts new file mode 100644 index 0000000..43a2032 --- /dev/null +++ b/Content/Domains/UI/Systems/Toasts/Types/S_ToastMessage.ts @@ -0,0 +1,14 @@ +// Content/Domains/UI/Systems/Toasts/Types/S_ToastMessage.ts + +import type { Float } from '/TypeScript/Engine/Float.ts'; +import type { Integer } from '/TypeScript/Engine/Integer.ts'; +import type { Text } from '/TypeScript/Engine/Text.ts'; +import type { E_MessageType } from '/Content/_Core/UI/Enums/E_MessageType.ts'; + +export interface S_ToastMessage { + ID: Integer; + Message: Text; + Type: E_MessageType; + Duration: Float; + CreatedTime: Float; +} diff --git a/Content/Domains/UI/Systems/Toasts/Types/S_ToastMessage.uasset b/Content/Domains/UI/Systems/Toasts/Types/S_ToastMessage.uasset new file mode 100644 index 0000000..fce6c6d --- /dev/null +++ b/Content/Domains/UI/Systems/Toasts/Types/S_ToastMessage.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a8a3633140c85a46fc2b8ef49ca2aeb5fe29b49825120cb320754ddb5b1f4008 +size 8177 diff --git a/Content/Toasts/UI/WBP_Toast.ts b/Content/Domains/UI/Systems/Toasts/WBP_Toast.ts similarity index 86% rename from Content/Toasts/UI/WBP_Toast.ts rename to Content/Domains/UI/Systems/Toasts/WBP_Toast.ts index 1add500..9a69c29 100644 --- a/Content/Toasts/UI/WBP_Toast.ts +++ b/Content/Domains/UI/Systems/Toasts/WBP_Toast.ts @@ -1,13 +1,13 @@ -// Content/Toasts/UI/WBP_Toast.ts +// Content/Domains/UI/Systems/Toasts/WBP_Toast.ts -import { Border } from '/Content/UE/Border.ts'; -import { MathLibrary } from '/Content/UE/MathLibrary.ts'; -import { SystemLibrary } from '/Content/UE/SystemLibrary.ts'; -import type { Text } from '/Content/UE/Text.ts'; -import { TextBlock } from '/Content/UE/TextBlock.ts'; -import { UserWidget } from '/Content/UE/UserWidget.ts'; -import { E_MessageType } from '/Content/UI/Enums/E_MessageType.ts'; -import { BFL_Colors } from '/Content/UI/Libraries/BFL_Colors.ts'; +import { Border } from '/TypeScript/Engine/Border.ts'; +import { MathLibrary } from '/TypeScript/Engine/MathLibrary.ts'; +import { SystemLibrary } from '/TypeScript/Engine/SystemLibrary.ts'; +import type { Text } from '/TypeScript/Engine/Text.ts'; +import { TextBlock } from '/TypeScript/Engine/TextBlock.ts'; +import { UserWidget } from '/TypeScript/Engine/UserWidget.ts'; +import { E_MessageType } from '/Content/_Core/UI/Enums/E_MessageType.ts'; +import { BFL_Colors } from '/Content/_Core/Scripting/Libraries/BFL_Colors.ts'; /** * Individual Toast Notification Widget diff --git a/Content/Domains/UI/Systems/Toasts/WBP_Toast.uasset b/Content/Domains/UI/Systems/Toasts/WBP_Toast.uasset new file mode 100644 index 0000000..5dfc433 --- /dev/null +++ b/Content/Domains/UI/Systems/Toasts/WBP_Toast.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:37aec902481050c3dc3f24e3e1f0afa2bc2e6d32309ee8c18a25e6a10176383e +size 87371 diff --git a/Content/Toasts/UI/WBP_ToastContainer.ts b/Content/Domains/UI/Systems/Toasts/WBP_ToastContainer.ts similarity index 80% rename from Content/Toasts/UI/WBP_ToastContainer.ts rename to Content/Domains/UI/Systems/Toasts/WBP_ToastContainer.ts index c842075..98e4437 100644 --- a/Content/Toasts/UI/WBP_ToastContainer.ts +++ b/Content/Domains/UI/Systems/Toasts/WBP_ToastContainer.ts @@ -1,14 +1,14 @@ -// Content/Toasts/UI/WBP_ToastContainer.ts +// Content/Domains/UI/Systems/Toasts/WBP_ToastContainer.ts -import { WBP_Toast } from '/Content/Toasts/UI/WBP_Toast.ts'; -import { CreateWidget } from '/Content/UE/CteateWidget.ts'; -import { ESlateVisibility } from '/Content/UE/ESlateVisibility.ts'; -import { SystemLibrary } from '/Content/UE/SystemLibrary.ts'; -import type { Text } from '/Content/UE/Text.ts'; -import { UEArray } from '/Content/UE/UEArray.ts'; -import { UserWidget } from '/Content/UE/UserWidget.ts'; -import { VerticalBox } from '/Content/UE/VerticalBox.ts'; -import type { E_MessageType } from '/Content/UI/Enums/E_MessageType.ts'; +import { WBP_Toast } from '/Content/Domains/UI/Systems/Toasts/WBP_Toast.ts'; +import { CreateWidget } from '/TypeScript/Engine/CteateWidget.ts'; +import { ESlateVisibility } from '/TypeScript/Engine/ESlateVisibility.ts'; +import { SystemLibrary } from '/TypeScript/Engine/SystemLibrary.ts'; +import type { Text } from '/TypeScript/Engine/Text.ts'; +import { UEArray } from '/TypeScript/Engine/UEArray.ts'; +import { UserWidget } from '/TypeScript/Engine/UserWidget.ts'; +import { VerticalBox } from '/TypeScript/Engine/VerticalBox.ts'; +import type { E_MessageType } from '/Content/_Core/UI/Enums/E_MessageType.ts'; /** * Toast Container Widget diff --git a/Content/Domains/UI/Systems/Toasts/WBP_ToastContainer.uasset b/Content/Domains/UI/Systems/Toasts/WBP_ToastContainer.uasset new file mode 100644 index 0000000..874a05f --- /dev/null +++ b/Content/Domains/UI/Systems/Toasts/WBP_ToastContainer.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f6e9603af103e6f9f3ddf4512785f84fd868d33d71473fdc0282ebee7187ef0e +size 98061 diff --git a/Content/Input/Actions/IA_Aim.ts b/Content/Input/Actions/IA_Aim.ts deleted file mode 100644 index 68c5196..0000000 --- a/Content/Input/Actions/IA_Aim.ts +++ /dev/null @@ -1,6 +0,0 @@ -// Content/Input/Actions/IA_Aim - -import { InputAction } from '/Content/UE/InputAction.ts'; -import { Name } from '/Content/UE/Name.ts'; - -export const IA_Aim = new InputAction(null, new Name('IA_Aim')); diff --git a/Content/Input/Actions/IA_Aim.uasset b/Content/Input/Actions/IA_Aim.uasset deleted file mode 100644 index e468fdc..0000000 --- a/Content/Input/Actions/IA_Aim.uasset +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:114e8afd114d2a4a1dc742d6f61e8fd113c980b7f22850b3647bdb1523685f57 -size 1137 diff --git a/Content/Input/Actions/IA_Inreract.ts b/Content/Input/Actions/IA_Inreract.ts deleted file mode 100644 index 0795ae7..0000000 --- a/Content/Input/Actions/IA_Inreract.ts +++ /dev/null @@ -1,6 +0,0 @@ -// Content/Input/Actions/IA_Interact - -import { InputAction } from '/Content/UE/InputAction.ts'; -import { Name } from '/Content/UE/Name.ts'; - -export const IA_Interact = new InputAction(null, new Name('IA_Interact')); diff --git a/Content/Input/Actions/IA_Interact.uasset b/Content/Input/Actions/IA_Interact.uasset deleted file mode 100644 index 4c94e2b..0000000 --- a/Content/Input/Actions/IA_Interact.uasset +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3362699676a14d191def735d7bfda69f2dfaa2530c378ec162d9deb836de8f73 -size 1162 diff --git a/Content/Input/Actions/IA_Jump.ts b/Content/Input/Actions/IA_Jump.ts deleted file mode 100644 index 665cbce..0000000 --- a/Content/Input/Actions/IA_Jump.ts +++ /dev/null @@ -1,6 +0,0 @@ -// Content/Input/Actions/IA_Jump - -import { InputAction } from '/Content/UE/InputAction.ts'; -import { Name } from '/Content/UE/Name.ts'; - -export const IA_Jump = new InputAction(null, new Name('IA_Jump')); diff --git a/Content/Input/Actions/IA_Jump.uasset b/Content/Input/Actions/IA_Jump.uasset deleted file mode 100644 index 581850b..0000000 --- a/Content/Input/Actions/IA_Jump.uasset +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a0b8f52272ffe80b79af2a5fc0ea08a6be53b2fe3753e14bc703bc3f1753dd25 -size 1142 diff --git a/Content/Input/Actions/IA_LeftTrigger.ts b/Content/Input/Actions/IA_LeftTrigger.ts deleted file mode 100644 index 6c8ecc5..0000000 --- a/Content/Input/Actions/IA_LeftTrigger.ts +++ /dev/null @@ -1,6 +0,0 @@ -// Content/Input/Actions/IA_LeftTrigger.ts - -import { InputAction } from '/Content/UE/InputAction.ts'; -import { Name } from '/Content/UE/Name.ts'; - -export const IA_LeftTrigger = new InputAction(null, new Name('IA_LeftTrigger')); diff --git a/Content/Input/Actions/IA_LeftTrigger.uasset b/Content/Input/Actions/IA_LeftTrigger.uasset deleted file mode 100644 index e33912c..0000000 --- a/Content/Input/Actions/IA_LeftTrigger.uasset +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d7f1f28f1a858ae7ac8c618ae3a66edbdbce24a1ae832e7c7d897ad4bd009acc -size 1373 diff --git a/Content/Input/Actions/IA_Look.ts b/Content/Input/Actions/IA_Look.ts deleted file mode 100644 index bd1c789..0000000 --- a/Content/Input/Actions/IA_Look.ts +++ /dev/null @@ -1,6 +0,0 @@ -// Content/Input/Actions/IA_Look.ts - -import { InputAction } from '/Content/UE/InputAction.ts'; -import { Name } from '/Content/UE/Name.ts'; - -export const IA_Look = new InputAction(null, new Name('IA_Look')); diff --git a/Content/Input/Actions/IA_Look.uasset b/Content/Input/Actions/IA_Look.uasset deleted file mode 100644 index 7e0cd20..0000000 --- a/Content/Input/Actions/IA_Look.uasset +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:271cf5b979eedc7a025882ddca22facf9387cfa00fc98ef0c7c3d9f04861807e -size 1338 diff --git a/Content/Input/Actions/IA_Move.ts b/Content/Input/Actions/IA_Move.ts deleted file mode 100644 index 24363e7..0000000 --- a/Content/Input/Actions/IA_Move.ts +++ /dev/null @@ -1,6 +0,0 @@ -// Content/Input/Actions/IA_Move.ts - -import { InputAction } from '/Content/UE/InputAction.ts'; -import { Name } from '/Content/UE/Name.ts'; - -export const IA_Move = new InputAction(null, new Name('IA_Move')); diff --git a/Content/Input/Actions/IA_Move.uasset b/Content/Input/Actions/IA_Move.uasset deleted file mode 100644 index 515ce2e..0000000 --- a/Content/Input/Actions/IA_Move.uasset +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e2b0a75a3b9794e271b1fe29a9760cd25bfdb372229a794298f4940fab9b642a -size 1338 diff --git a/Content/Input/Actions/IA_NextDebugMode.ts b/Content/Input/Actions/IA_NextDebugMode.ts deleted file mode 100644 index 43e01fa..0000000 --- a/Content/Input/Actions/IA_NextDebugMode.ts +++ /dev/null @@ -1,5 +0,0 @@ -// Content/Input/Actions/IA_NextDebugMode.ts - -import { InputAction } from '/Content/UE/InputAction.ts'; - -export const IA_NextDebugMode = new InputAction(null, 'IA_NextDebugMode'); diff --git a/Content/Input/Actions/IA_NextDebugMode.uasset b/Content/Input/Actions/IA_NextDebugMode.uasset deleted file mode 100644 index 0bd6735..0000000 --- a/Content/Input/Actions/IA_NextDebugMode.uasset +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:eb77c7586f260a81c25af4d4695dfad2ff61bdd8ce9d6aa68cb76d9301c6aa2d -size 1187 diff --git a/Content/Input/Actions/IA_PrevDebugMode.ts b/Content/Input/Actions/IA_PrevDebugMode.ts deleted file mode 100644 index c8eea64..0000000 --- a/Content/Input/Actions/IA_PrevDebugMode.ts +++ /dev/null @@ -1,5 +0,0 @@ -// Content/Input/Actions/IA_PrevDebugMode.ts - -import { InputAction } from '/Content/UE/InputAction.ts'; - -export const IA_PrevDebugMode = new InputAction(null, 'IA_PrevDebugMode'); diff --git a/Content/Input/Actions/IA_PrevDebugMode.uasset b/Content/Input/Actions/IA_PrevDebugMode.uasset deleted file mode 100644 index 8a1b7c2..0000000 --- a/Content/Input/Actions/IA_PrevDebugMode.uasset +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:546287f24ebd00ded94f0200fc8ad60d4de7d2ce27953180ad2fa7561ae74f9e -size 1187 diff --git a/Content/Input/Actions/IA_RightTrigger.ts b/Content/Input/Actions/IA_RightTrigger.ts deleted file mode 100644 index 13a5c66..0000000 --- a/Content/Input/Actions/IA_RightTrigger.ts +++ /dev/null @@ -1,5 +0,0 @@ -// Content/Input/Actions/IA_RightTrigger.ts - -import { InputAction } from '/Content/UE/InputAction.ts'; - -export const IA_RightTrigger = new InputAction(null, 'IA_RightTrigger'); diff --git a/Content/Input/Actions/IA_RightTrigger.uasset b/Content/Input/Actions/IA_RightTrigger.uasset deleted file mode 100644 index 0def4ec..0000000 --- a/Content/Input/Actions/IA_RightTrigger.uasset +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6cec232360f6a8df206210d8a142d5fd817a824638cc0b454f0ec542a1a23728 -size 1378 diff --git a/Content/Input/Actions/IA_Throw.ts b/Content/Input/Actions/IA_Throw.ts deleted file mode 100644 index e6eb556..0000000 --- a/Content/Input/Actions/IA_Throw.ts +++ /dev/null @@ -1,5 +0,0 @@ -// Content/Input/Actions/IA_Aim - -import { InputAction } from '/Content/UE/InputAction.ts'; -import { Name } from '/Content/UE/Name.ts'; -export const IA_Throw = new InputAction(null, new Name('IA_Aim')); diff --git a/Content/Input/Actions/IA_Throw.uasset b/Content/Input/Actions/IA_Throw.uasset deleted file mode 100644 index 7a46b34..0000000 --- a/Content/Input/Actions/IA_Throw.uasset +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5c287146cedd5f9a2730d6bfd82275cc812c18ce8de5b8c07a9857deed249503 -size 1147 diff --git a/Content/Input/Actions/IA_ToggleHUD.ts b/Content/Input/Actions/IA_ToggleHUD.ts deleted file mode 100644 index 272e566..0000000 --- a/Content/Input/Actions/IA_ToggleHUD.ts +++ /dev/null @@ -1,5 +0,0 @@ -// Content/Input/Actions/IA_ToggleHUD.ts - -import { InputAction } from '/Content/UE/InputAction.ts'; - -export const IA_ToggleHUD = new InputAction(null, 'IA_ToggleHUD'); diff --git a/Content/Input/Actions/IA_ToggleHUD.uasset b/Content/Input/Actions/IA_ToggleHUD.uasset deleted file mode 100644 index 6441b8e..0000000 --- a/Content/Input/Actions/IA_ToggleHUD.uasset +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3920f31e800cfdd30a42641514975bd6a086183b6cf0b3200b71a0dc8d3050c4 -size 1167 diff --git a/Content/Input/Actions/IA_ToggleVisualDebug.ts b/Content/Input/Actions/IA_ToggleVisualDebug.ts deleted file mode 100644 index 36a0b99..0000000 --- a/Content/Input/Actions/IA_ToggleVisualDebug.ts +++ /dev/null @@ -1,8 +0,0 @@ -// Content/Input/Actions/IA_ToggleVisualDebug.ts - -import { InputAction } from '/Content/UE/InputAction.ts'; - -export const IA_ToggleVisualDebug = new InputAction( - null, - 'IA_ToggleVisualDebug' -); diff --git a/Content/Input/Actions/IA_ToggleVisualDebug.uasset b/Content/Input/Actions/IA_ToggleVisualDebug.uasset deleted file mode 100644 index 77ff91c..0000000 --- a/Content/Input/Actions/IA_ToggleVisualDebug.uasset +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f749e9be708637d20c802cb609772eed0e717559d6e6d603d23a5c5abb52de17 -size 1207 diff --git a/Content/Input/Components/AC_InputDevice.uasset b/Content/Input/Components/AC_InputDevice.uasset deleted file mode 100644 index 39d7616..0000000 --- a/Content/Input/Components/AC_InputDevice.uasset +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7bc67bd154c17325f5d3c9e6a578e81e4bf31d8026cbf52cfb66a018b85067a8 -size 224842 diff --git a/Content/Input/IMC_Default.ts b/Content/Input/IMC_Default.ts deleted file mode 100644 index 5bfbdf0..0000000 --- a/Content/Input/IMC_Default.ts +++ /dev/null @@ -1,27 +0,0 @@ -// Content/Input/IMC_Default.ts - -import { IA_LeftTrigger } from '/Content/Input/Actions/IA_LeftTrigger.ts'; -import { IA_Look } from '/Content/Input/Actions/IA_Look.ts'; -import { IA_Move } from '/Content/Input/Actions/IA_Move.ts'; -import { IA_NextDebugMode } from '/Content/Input/Actions/IA_NextDebugMode.ts'; -import { IA_PrevDebugMode } from '/Content/Input/Actions/IA_PrevDebugMode.ts'; -import { IA_RightTrigger } from '/Content/Input/Actions/IA_RightTrigger.ts'; -import { IA_ToggleHUD } from '/Content/Input/Actions/IA_ToggleHUD.ts'; -import { IA_ToggleVisualDebug } from '/Content/Input/Actions/IA_ToggleVisualDebug.ts'; -import { InputMappingContext } from '/Content/UE/InputMappingContext.ts'; -import { Key } from '/Content/UE/Key.ts'; -import { IA_Jump } from '/Content/Input/Actions/IA_Jump.ts'; -import { IA_Interact } from '/Content/Input/Actions/IA_Inreract.ts'; - -export const IMC_Default = new InputMappingContext(); - -IMC_Default.mapKey(IA_LeftTrigger, new Key('IA_LeftTrigger')); -IMC_Default.mapKey(IA_RightTrigger, new Key('IA_RightTrigger')); -IMC_Default.mapKey(IA_NextDebugMode, new Key('IA_NextDebugMode')); -IMC_Default.mapKey(IA_PrevDebugMode, new Key('IA_PrevDebugMode')); -IMC_Default.mapKey(IA_ToggleHUD, new Key('IA_ToggleHUD')); -IMC_Default.mapKey(IA_ToggleVisualDebug, new Key('IA_ToggleVisualDebug')); -IMC_Default.mapKey(IA_Look, new Key('IA_Look')); -IMC_Default.mapKey(IA_Move, new Key('IA_Move')); -IMC_Default.mapKey(IA_Jump, new Key('IA_Jump')); -IMC_Default.mapKey(IA_Interact, new Key('IA_Interact')); diff --git a/Content/Input/IMC_Default.uasset b/Content/Input/IMC_Default.uasset deleted file mode 100644 index 92b20d1..0000000 --- a/Content/Input/IMC_Default.uasset +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e75c195781277428da60aa7b71d50bb05e661c8c01e85daab2a0b8f13f24be32 -size 13002 diff --git a/Content/Input/IMC_ItemHeld.ts b/Content/Input/IMC_ItemHeld.ts deleted file mode 100644 index 77aa31f..0000000 --- a/Content/Input/IMC_ItemHeld.ts +++ /dev/null @@ -1,11 +0,0 @@ -// Content/Input/IMC_ItemHeld.ts - -import { InputMappingContext } from '/Content/UE/InputMappingContext.ts'; -import { Key } from '/Content/UE/Key.ts'; -import { IA_Aim } from '/Content/Input/Actions/IA_Aim.ts'; -import { IA_Throw } from '/Content/Input/Actions/IA_Throw.ts'; - -export const IMC_ItemHeld = new InputMappingContext(); - -IMC_ItemHeld.mapKey(IA_Aim, new Key('IA_Aim')); -IMC_ItemHeld.mapKey(IA_Throw, new Key('IA_Throw')); diff --git a/Content/Input/IMC_ItemHeld.uasset b/Content/Input/IMC_ItemHeld.uasset deleted file mode 100644 index df9abdd..0000000 --- a/Content/Input/IMC_ItemHeld.uasset +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:92fc5f128bca6cb97e9adfa978cde6a7cff4920d51ca5a977fb464d2f669d035 -size 3304 diff --git a/Content/Levels/TestLevel.ts b/Content/Levels/TestLevel.ts deleted file mode 100644 index c38de6b..0000000 --- a/Content/Levels/TestLevel.ts +++ /dev/null @@ -1,7 +0,0 @@ -// Content/Levels/TestLevel.ts - -import { BP_MainCharacter } from '/Content/Blueprints/BP_MainCharacter.ts'; -import { BP_Rock } from '/Content/Blueprints/BP_Rock.ts'; - -new BP_MainCharacter(); -new BP_Rock(); diff --git a/Content/Levels/TestLevel.umap b/Content/Levels/TestLevel.umap deleted file mode 100644 index 901e25d..0000000 --- a/Content/Levels/TestLevel.umap +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ebe25913daba040cfc20d79bc2e9dc6d2cefd913f648505270bc40c9c1659525 -size 111058 diff --git a/Content/Maps/Gym.ts b/Content/Maps/Gym.ts new file mode 100644 index 0000000..6d68d9d --- /dev/null +++ b/Content/Maps/Gym.ts @@ -0,0 +1,5 @@ +// Content/Maps/Gym.ts + +import { BP_Rock } from '/Content/World/Props/BP_Rock.ts'; + +new BP_Rock(); diff --git a/Content/Maps/Gym.umap b/Content/Maps/Gym.umap new file mode 100644 index 0000000..bcc4443 --- /dev/null +++ b/Content/Maps/Gym.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:54026c8204f8f987cca4b6d6d604a96b603d233494d2c2d5360021a2f584c298 +size 110656 diff --git a/Content/Movement/DA_TengriMovementConfig.uasset b/Content/Movement/DA_TengriMovementConfig.uasset deleted file mode 100644 index a6e47f2..0000000 --- a/Content/Movement/DA_TengriMovementConfig.uasset +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1a39662f17e16b832cf67c05c6053b4b4efe0776e1f3e57b6557d0057dd9915a -size 1600 diff --git a/Content/Toasts/Components/AC_ToastSystem.uasset b/Content/Toasts/Components/AC_ToastSystem.uasset deleted file mode 100644 index 8fa8d24..0000000 --- a/Content/Toasts/Components/AC_ToastSystem.uasset +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:74864f4950f8f9bd3867aa9715fd7458c08c93c06a0a08b04f8a2acfb736771c -size 305149 diff --git a/Content/Toasts/Structs/S_ToastMessage.ts b/Content/Toasts/Structs/S_ToastMessage.ts deleted file mode 100644 index 85f3302..0000000 --- a/Content/Toasts/Structs/S_ToastMessage.ts +++ /dev/null @@ -1,14 +0,0 @@ -// Content/Toasts/Structs/S_ToastMessage.ts - -import type { Float } from '/Content/UE/Float.ts'; -import type { Integer } from '/Content/UE/Integer.ts'; -import type { Text } from '/Content/UE/Text.ts'; -import type { E_MessageType } from '/Content/UI/Enums/E_MessageType.ts'; - -export interface S_ToastMessage { - ID: Integer; - Message: Text; - Type: E_MessageType; - Duration: Float; - CreatedTime: Float; -} diff --git a/Content/Toasts/Structs/S_ToastMessage.uasset b/Content/Toasts/Structs/S_ToastMessage.uasset deleted file mode 100644 index 1d053f2..0000000 --- a/Content/Toasts/Structs/S_ToastMessage.uasset +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5be15e1734dd5c03a369b8e9ff8c8d7faf148a7ffb4b31391c750bdba92bc385 -size 8137 diff --git a/Content/Toasts/UI/WBP_Toast.uasset b/Content/Toasts/UI/WBP_Toast.uasset deleted file mode 100644 index 6256e31..0000000 --- a/Content/Toasts/UI/WBP_Toast.uasset +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8d1785d1a672f23900f5b2cc5d051f89ab2a3e276bd5ef2fb614a69345faa2b8 -size 85766 diff --git a/Content/Toasts/UI/WBP_ToastContainer.uasset b/Content/Toasts/UI/WBP_ToastContainer.uasset deleted file mode 100644 index 2bc65fa..0000000 --- a/Content/Toasts/UI/WBP_ToastContainer.uasset +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8c341f575b0a472d38ffbba5115e98a75e594b62fa70d273b1e93db2a72fa75f -size 98816 diff --git a/Content/UE/ActorComponent.ts b/Content/UE/ActorComponent.ts deleted file mode 100644 index ddf64d5..0000000 --- a/Content/UE/ActorComponent.ts +++ /dev/null @@ -1,15 +0,0 @@ -// Content/UE/ActorComponent.ts - -import { Actor } from '/Content/UE/Actor.ts'; -import { Name } from '/Content/UE/Name.ts'; -import { UEObject } from '/Content/UE/UEObject.ts'; - -export class ActorComponent extends UEObject { - constructor(outer: UEObject | null = null, name: Name | string = Name.NONE) { - super(outer, name); - } - - public GetOwner(): Actor { - return new Actor(); - } -} diff --git a/Content/UE/BitmaskInteger.ts b/Content/UE/BitmaskInteger.ts deleted file mode 100644 index c58cd95..0000000 --- a/Content/UE/BitmaskInteger.ts +++ /dev/null @@ -1,3 +0,0 @@ -// Content/UE/BitmaskInteger.ts - -export type BitmaskInteger = number; diff --git a/Content/UE/Border.ts b/Content/UE/Border.ts deleted file mode 100644 index 2ee7d72..0000000 --- a/Content/UE/Border.ts +++ /dev/null @@ -1,16 +0,0 @@ -// Content/UE/Border.ts - -import { ContentWidget } from '/Content/UE/ContentWidget.ts'; -import type { LinearColor } from '/Content/UE/LinearColor.ts'; -import { Name } from '/Content/UE/Name.ts'; -import { UEObject } from '/Content/UE/UEObject.ts'; - -export class Border extends ContentWidget { - constructor(outer: UEObject | null = null, name: Name | string = Name.NONE) { - super(outer, name); - } - - public SetBrushColor(color: LinearColor): void { - console.log(color); - } -} diff --git a/Content/UE/Byte.ts b/Content/UE/Byte.ts deleted file mode 100644 index 6abcffc..0000000 --- a/Content/UE/Byte.ts +++ /dev/null @@ -1,3 +0,0 @@ -// Content/UE/Byte.ts - -export type Byte = number; diff --git a/Content/UE/CameraComponent.ts b/Content/UE/CameraComponent.ts deleted file mode 100644 index 3bd65e5..0000000 --- a/Content/UE/CameraComponent.ts +++ /dev/null @@ -1,10 +0,0 @@ -// Content/UE/CameraComponent.ts - -import { SceneComponent } from '/Content/UE/SceneComponent.ts'; -import type { UEObject } from '/Content/UE/UEObject.ts'; - -export class CameraComponent extends SceneComponent { - constructor(outer: UEObject | null = null, name: string = 'None') { - super(outer, name); - } -} diff --git a/Content/UE/ContentWidget.ts b/Content/UE/ContentWidget.ts deleted file mode 100644 index 4a34ef5..0000000 --- a/Content/UE/ContentWidget.ts +++ /dev/null @@ -1,11 +0,0 @@ -// Content/UE/ContentWidget.ts - -import { Name } from '/Content/UE/Name.ts'; -import { PanelWidget } from '/Content/UE/PanelWidget.ts'; -import { UEObject } from '/Content/UE/UEObject.ts'; - -export class ContentWidget extends PanelWidget { - constructor(outer: UEObject | null = null, name: Name | string = Name.NONE) { - super(outer, name); - } -} diff --git a/Content/UE/DynamicSubsystem.ts b/Content/UE/DynamicSubsystem.ts deleted file mode 100644 index ccc83c6..0000000 --- a/Content/UE/DynamicSubsystem.ts +++ /dev/null @@ -1,11 +0,0 @@ -// Content/UE/DynamicSubsystem.ts - -import { Name } from '/Content/UE/Name.ts'; -import { Subsystem } from '/Content/UE/Subsystem.ts'; -import { UEObject } from '/Content/UE/UEObject.ts'; - -export class DynamicSubsystem extends Subsystem { - constructor(outer: UEObject | null = null, name: Name | string = Name.NONE) { - super(outer, name); - } -} diff --git a/Content/UE/EngineSubsystem.ts b/Content/UE/EngineSubsystem.ts deleted file mode 100644 index ff3aa37..0000000 --- a/Content/UE/EngineSubsystem.ts +++ /dev/null @@ -1,11 +0,0 @@ -// Content/UE/EngineSubsystem.ts - -import { DynamicSubsystem } from '/Content/UE/DynamicSubsystem.ts'; -import { Name } from '/Content/UE/Name.ts'; -import { UEObject } from '/Content/UE/UEObject.ts'; - -export class EngineSubsystem extends DynamicSubsystem { - constructor(outer: UEObject | null = null, name: Name | string = Name.NONE) { - super(outer, name); - } -} diff --git a/Content/UE/EnhancedInputLocalPlayerSubsystem.ts b/Content/UE/EnhancedInputLocalPlayerSubsystem.ts deleted file mode 100644 index 7d30c3b..0000000 --- a/Content/UE/EnhancedInputLocalPlayerSubsystem.ts +++ /dev/null @@ -1,22 +0,0 @@ -// Content/UE/EnhancedInputLocalPlayerSubsystem.ts - -import type { InputMappingContext } from '/Content/UE/InputMappingContext.ts'; -import type { Integer } from '/Content/UE/Integer.ts'; -import { LocalPlayerSubsystem } from '/Content/UE/LocalPlayerSubsystem.ts'; -import { ModifyContextOptions } from '/Content/UE/ModifyContextOptions.ts'; -import { Name } from '/Content/UE/Name.ts'; -import { UEObject } from '/Content/UE/UEObject.ts'; - -export class EnhancedInputLocalPlayerSubsystem extends LocalPlayerSubsystem { - constructor(outer: UEObject | null = null, name: Name | string = Name.NONE) { - super(outer, name); - } - - public AddMappingContext( - mappingContent: InputMappingContext, - priority: Integer = 0, - options: ModifyContextOptions = new ModifyContextOptions(true, false, false) - ): void { - console.log(mappingContent, priority, options); - } -} diff --git a/Content/UE/Float.ts b/Content/UE/Float.ts deleted file mode 100644 index 6723ffd..0000000 --- a/Content/UE/Float.ts +++ /dev/null @@ -1,3 +0,0 @@ -// Content/UE/Float.ts - -export type Float = number; diff --git a/Content/UE/GameModeBase.ts b/Content/UE/GameModeBase.ts deleted file mode 100644 index e08bf4a..0000000 --- a/Content/UE/GameModeBase.ts +++ /dev/null @@ -1,11 +0,0 @@ -// Content/UE/GameModeBase.ts - -import { Info } from '/Content/UE/Info.ts'; -import { Name } from '/Content/UE/Name.ts'; -import { UEObject } from '/Content/UE/UEObject.ts'; - -export class GameModeBase extends Info { - constructor(outer: UEObject | null = null, name: Name | string = Name.NONE) { - super(outer, name); - } -} diff --git a/Content/UE/Info.ts b/Content/UE/Info.ts deleted file mode 100644 index 8d0384b..0000000 --- a/Content/UE/Info.ts +++ /dev/null @@ -1,11 +0,0 @@ -// Content/UE/Info.ts - -import { Actor } from '/Content/UE/Actor.ts'; -import { Name } from '/Content/UE/Name.ts'; -import { UEObject } from '/Content/UE/UEObject.ts'; - -export class Info extends Actor { - constructor(outer: UEObject | null = null, name: Name | string = Name.NONE) { - super(outer, name); - } -} diff --git a/Content/UE/InputAction.ts b/Content/UE/InputAction.ts deleted file mode 100644 index 5567e24..0000000 --- a/Content/UE/InputAction.ts +++ /dev/null @@ -1,11 +0,0 @@ -// Content/UE/InputAction.ts - -import { DataAsset } from '/Content/UE/DataAsset.ts'; -import { Name } from '/Content/UE/Name.ts'; -import type { UEObject } from '/Content/UE/UEObject.ts'; - -export class InputAction extends DataAsset { - constructor(outer: UEObject | null = null, name: Name | string = Name.NONE) { - super(outer, name); - } -} diff --git a/Content/UE/InputMappingContext.ts b/Content/UE/InputMappingContext.ts deleted file mode 100644 index c99cfbd..0000000 --- a/Content/UE/InputMappingContext.ts +++ /dev/null @@ -1,26 +0,0 @@ -// Content/UE/InputMappingContext.ts - -import { DataAsset } from '/Content/UE/DataAsset.ts'; -import { EnhancedActionKeyMapping } from '/Content/UE/EnhancedActionKeyMapping.ts'; -import type { InputAction } from '/Content/UE/InputAction.ts'; -import type { InputModifier } from '/Content/UE/InputModifier.ts'; -import type { InputTrigger } from '/Content/UE/InputTrigger.ts'; -import type { Key } from '/Content/UE/Key.ts'; -import { Name } from '/Content/UE/Name.ts'; -import type { UEArray } from '/Content/UE/UEArray.ts'; -import type { UEObject } from '/Content/UE/UEObject.ts'; - -export class InputMappingContext extends DataAsset { - constructor(outer: UEObject | null = null, name: Name | string = Name.NONE) { - super(outer, name); - } - - public mapKey(action: InputAction, toKey: Key): EnhancedActionKeyMapping { - return new EnhancedActionKeyMapping( - [] as unknown as UEArray, - [] as unknown as UEArray, - action, - toKey - ); - } -} diff --git a/Content/UE/Integer.ts b/Content/UE/Integer.ts deleted file mode 100644 index 05e9e9b..0000000 --- a/Content/UE/Integer.ts +++ /dev/null @@ -1,3 +0,0 @@ -// Content/UE/Integer.ts - -export type Integer = number; diff --git a/Content/UE/LocalPlayerSubsystem.ts b/Content/UE/LocalPlayerSubsystem.ts deleted file mode 100644 index 1f1b129..0000000 --- a/Content/UE/LocalPlayerSubsystem.ts +++ /dev/null @@ -1,11 +0,0 @@ -// Content/UE/LocalPlayerSubsystem.ts - -import { Name } from '/Content/UE/Name.ts'; -import { Subsystem } from '/Content/UE/Subsystem.ts'; -import { UEObject } from '/Content/UE/UEObject.ts'; - -export class LocalPlayerSubsystem extends Subsystem { - constructor(outer: UEObject | null = null, name: Name | string = Name.NONE) { - super(outer, name); - } -} diff --git a/Content/UE/PanelSlot.ts b/Content/UE/PanelSlot.ts deleted file mode 100644 index c049a82..0000000 --- a/Content/UE/PanelSlot.ts +++ /dev/null @@ -1,11 +0,0 @@ -// Content/UE/PanelSlot.ts - -import { Name } from '/Content/UE/Name.ts'; -import { UEObject } from '/Content/UE/UEObject.ts'; -import { Visual } from '/Content/UE/Visual.ts'; - -export class PanelSlot extends Visual { - constructor(outer: UEObject | null = null, name: Name | string = Name.NONE) { - super(outer, name); - } -} diff --git a/Content/UE/PanelWidget.ts b/Content/UE/PanelWidget.ts deleted file mode 100644 index e84347a..0000000 --- a/Content/UE/PanelWidget.ts +++ /dev/null @@ -1,17 +0,0 @@ -// Content/UE/PanelWidget.ts - -import { Name } from '/Content/UE/Name.ts'; -import { PanelSlot } from '/Content/UE/PanelSlot.ts'; -import { UEObject } from '/Content/UE/UEObject.ts'; -import { Widget } from '/Content/UE/Widget.ts'; - -export class PanelWidget extends Widget { - constructor(outer: UEObject | null = null, name: Name | string = Name.NONE) { - super(outer, name); - } - - public AddChild(content: Widget): PanelSlot { - console.log(content); - return new PanelSlot(); - } -} diff --git a/Content/UE/PlayerController.ts b/Content/UE/PlayerController.ts deleted file mode 100644 index a85b839..0000000 --- a/Content/UE/PlayerController.ts +++ /dev/null @@ -1,11 +0,0 @@ -// Content/UE/PlayerController.ts - -import { Controller } from '/Content/UE/Controller.ts'; -import { Name } from '/Content/UE/Name.ts'; -import { UEObject } from '/Content/UE/UEObject.ts'; - -export class PlayerController extends Controller { - constructor(outer: UEObject | null = null, name: Name | string = Name.NONE) { - super(outer, name); - } -} diff --git a/Content/UE/PrimaryDataAsset.ts b/Content/UE/PrimaryDataAsset.ts deleted file mode 100644 index a00cc01..0000000 --- a/Content/UE/PrimaryDataAsset.ts +++ /dev/null @@ -1,11 +0,0 @@ -// Content/UE/PrimaryDataAsset.ts - -import { DataAsset } from '/Content/UE/DataAsset.ts'; -import { Name } from '/Content/UE/Name.ts'; -import { UEObject } from '/Content/UE/UEObject.ts'; - -export class PrimaryDataAsset extends DataAsset { - constructor(outer: UEObject | null = null, name: Name | string = Name.NONE) { - super(outer, name); - } -} diff --git a/Content/UE/SceneComponent.ts b/Content/UE/SceneComponent.ts deleted file mode 100644 index 5caf69d..0000000 --- a/Content/UE/SceneComponent.ts +++ /dev/null @@ -1,11 +0,0 @@ -// Content/UE/SceneComponent.ts - -import { ActorComponent } from '/Content/UE/ActorComponent.ts'; -import { Name } from '/Content/UE/Name.ts'; -import { UEObject } from '/Content/UE/UEObject.ts'; - -export class SceneComponent extends ActorComponent { - constructor(outer: UEObject | null = null, name: Name | string = Name.NONE) { - super(outer, name); - } -} diff --git a/Content/UE/SkeletalMesh.ts b/Content/UE/SkeletalMesh.ts deleted file mode 100644 index 4e458e9..0000000 --- a/Content/UE/SkeletalMesh.ts +++ /dev/null @@ -1,11 +0,0 @@ -// Content/UE/SkeletalMesh.ts - -import { SkinnedAsset } from '/Content/UE/SkinnedAsset.ts'; -import { UEObject } from '/Content/UE/UEObject.ts'; -import { Name } from '/Content/UE/Name.ts'; - -export class SkeletalMesh extends SkinnedAsset { - constructor(outer: UEObject | null = null, name: Name | string = Name.NONE) { - super(outer, name); - } -} diff --git a/Content/UE/SkinnedAsset.ts b/Content/UE/SkinnedAsset.ts deleted file mode 100644 index 4ccfbac..0000000 --- a/Content/UE/SkinnedAsset.ts +++ /dev/null @@ -1,11 +0,0 @@ -// Content/UE/SkinnedAsset.ts - -import { StreamableRenderAsset } from '/Content/UE/StreamableRenderAsset.ts'; -import { UEObject } from '/Content/UE/UEObject.ts'; -import { Name } from '/Content/UE/Name.ts'; - -export class SkinnedAsset extends StreamableRenderAsset { - constructor(outer: UEObject | null = null, name: Name | string = Name.NONE) { - super(outer, name); - } -} diff --git a/Content/UE/StructBase.ts b/Content/UE/StructBase.ts deleted file mode 100644 index 91c2f2d..0000000 --- a/Content/UE/StructBase.ts +++ /dev/null @@ -1,11 +0,0 @@ -// Content/UE/StructBase.ts - -import { _WrapperBase } from '/Content/UE/_WrapperBase.ts'; -import { Name } from '/Content/UE/Name.ts'; -import { UEObject } from '/Content/UE/UEObject.ts'; - -export class StructBase extends _WrapperBase { - constructor(outer: UEObject | null = null, name: Name | string = Name.NONE) { - super(outer, name); - } -} diff --git a/Content/UE/Text.ts b/Content/UE/Text.ts deleted file mode 100644 index 03b9d69..0000000 --- a/Content/UE/Text.ts +++ /dev/null @@ -1,3 +0,0 @@ -// Content/UE/Text.ts - -export type Text = string; diff --git a/Content/UE/TextLayoutWidget.ts b/Content/UE/TextLayoutWidget.ts deleted file mode 100644 index fc2c309..0000000 --- a/Content/UE/TextLayoutWidget.ts +++ /dev/null @@ -1,11 +0,0 @@ -// Content/UE/TextLayoutWidget.ts - -import { Name } from '/Content/UE/Name.ts'; -import { UEObject } from '/Content/UE/UEObject.ts'; -import { Widget } from '/Content/UE/Widget.ts'; - -export class TextLayoutWidget extends Widget { - constructor(outer: UEObject | null = null, name: Name | string = Name.NONE) { - super(outer, name); - } -} diff --git a/Content/UE/UInt8.ts b/Content/UE/UInt8.ts deleted file mode 100644 index a63acf5..0000000 --- a/Content/UE/UInt8.ts +++ /dev/null @@ -1,3 +0,0 @@ -// Content/UE/UInt8.ts - -export type UInt8 = number; diff --git a/Content/UE/VerticalBox.ts b/Content/UE/VerticalBox.ts deleted file mode 100644 index e0e64bd..0000000 --- a/Content/UE/VerticalBox.ts +++ /dev/null @@ -1,11 +0,0 @@ -// Content/UE/VerticalBox.ts - -import { Name } from '/Content/UE/Name.ts'; -import { PanelWidget } from '/Content/UE/PanelWidget.ts'; -import { UEObject } from '/Content/UE/UEObject.ts'; - -export class VerticalBox extends PanelWidget { - constructor(outer: UEObject | null = null, name: Name | string = Name.NONE) { - super(outer, name); - } -} diff --git a/Content/UI/Enums/E_MessageType.uasset b/Content/UI/Enums/E_MessageType.uasset deleted file mode 100644 index 0c06546..0000000 --- a/Content/UI/Enums/E_MessageType.uasset +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:aeeab11ae0b0d0830df718fb3a3203d82100b5e1748c6b9b110d293fabca30bd -size 3190 diff --git a/Content/UI/Fonts/RobotoMono/RobotoMono-Bold.uasset b/Content/UI/Fonts/RobotoMono/RobotoMono-Bold.uasset deleted file mode 100644 index 54175b7..0000000 --- a/Content/UI/Fonts/RobotoMono/RobotoMono-Bold.uasset +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b35a3745fe8dff11c0f55aa157a643c5e259ebe9d282b902087a797ed4d2367c -size 89158 diff --git a/Content/UI/Fonts/RobotoMono/RobotoMono-ExtraLight.uasset b/Content/UI/Fonts/RobotoMono/RobotoMono-ExtraLight.uasset deleted file mode 100644 index 520e8f5..0000000 --- a/Content/UI/Fonts/RobotoMono/RobotoMono-ExtraLight.uasset +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:69cca796222e626cbc92fb7c2edf5c002e29b7809909f236c1895892b1b7d9bb -size 90004 diff --git a/Content/UI/Fonts/RobotoMono/RobotoMono-Light.uasset b/Content/UI/Fonts/RobotoMono/RobotoMono-Light.uasset deleted file mode 100644 index 3f454f9..0000000 --- a/Content/UI/Fonts/RobotoMono/RobotoMono-Light.uasset +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:372e2c5ca58e5dcd8eb3387339d4efc73fb25e5b6b4c63e6805206ec9c53a4c5 -size 89753 diff --git a/Content/UI/Fonts/RobotoMono/RobotoMono-Medium.uasset b/Content/UI/Fonts/RobotoMono/RobotoMono-Medium.uasset deleted file mode 100644 index ed7ab83..0000000 --- a/Content/UI/Fonts/RobotoMono/RobotoMono-Medium.uasset +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:01693a2cd833712454b0870b036499a1ba6120c32c3a63c8f3a1ce5008bcb984 -size 88952 diff --git a/Content/UI/Fonts/RobotoMono/RobotoMono-Regular.uasset b/Content/UI/Fonts/RobotoMono/RobotoMono-Regular.uasset deleted file mode 100644 index 7eee408..0000000 --- a/Content/UI/Fonts/RobotoMono/RobotoMono-Regular.uasset +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d31bf348dab1a2b8052a3b67a50c00836b6eaac951252060f37b6d4c20ae7acd -size 89023 diff --git a/Content/UI/Fonts/RobotoMono/RobotoMono-SemiBold.uasset b/Content/UI/Fonts/RobotoMono/RobotoMono-SemiBold.uasset deleted file mode 100644 index f06ac7f..0000000 --- a/Content/UI/Fonts/RobotoMono/RobotoMono-SemiBold.uasset +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cb0ef7e8ac29fc575f5249517e90cac7191833c2bc6bbd68c02f9929cb195b63 -size 89246 diff --git a/Content/UI/Fonts/RobotoMono/RobotoMono-Thin.uasset b/Content/UI/Fonts/RobotoMono/RobotoMono-Thin.uasset deleted file mode 100644 index a88aee9..0000000 --- a/Content/UI/Fonts/RobotoMono/RobotoMono-Thin.uasset +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fb7a7ef9d37cb2ef996bd2ffb827b0a3d80fcc7be1c8dea3901cb54c3a3b8dbd -size 90054 diff --git a/Content/UI/Fonts/RobotoMono/RobotoMono.uasset b/Content/UI/Fonts/RobotoMono/RobotoMono.uasset deleted file mode 100644 index 9fcaba0..0000000 --- a/Content/UI/Fonts/RobotoMono/RobotoMono.uasset +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:733a796e862c055160bd18e53373edc7aee40f941a1d06d3ba1f1fc1a4f8cfa4 -size 18898 diff --git a/Content/UI/Libraries/BFL_Colors.uasset b/Content/UI/Libraries/BFL_Colors.uasset deleted file mode 100644 index ff57fa2..0000000 --- a/Content/UI/Libraries/BFL_Colors.uasset +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:85eac894d472505b469143ab480b344656a1455a1bcf9311c53735603f62fa64 -size 46042 diff --git a/Content/UI/WBP_HUD.ts b/Content/UI/WBP_HUD.ts deleted file mode 100644 index be855b3..0000000 --- a/Content/UI/WBP_HUD.ts +++ /dev/null @@ -1,15 +0,0 @@ -// Content/UI/WBP_HUD.ts - -import { UserWidget } from '/Content/UE/UserWidget.ts'; -import { BP_MainCharacter } from '/Content/Blueprints/BP_MainCharacter.ts'; -import { ESlateVisibility } from '/Content/UE/ESlateVisibility.ts'; - -export class WBP_HUD extends UserWidget { - private ChangeVisibility(): ESlateVisibility { - const player = new BP_MainCharacter(); - - return player.bIsAiming - ? ESlateVisibility.Visible - : ESlateVisibility.Hidden; - } -} diff --git a/Content/UI/WBP_HUD.uasset b/Content/UI/WBP_HUD.uasset deleted file mode 100644 index c44e9e1..0000000 --- a/Content/UI/WBP_HUD.uasset +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:191163f74607876a64a997806785757906501412910c9e94bc497061ac66c219 -size 48028 diff --git a/Content/World/Props/BP_Candle.ts b/Content/World/Props/BP_Candle.ts new file mode 100644 index 0000000..1ec4eb1 --- /dev/null +++ b/Content/World/Props/BP_Candle.ts @@ -0,0 +1,5 @@ +// Content/World/Props/BP_Candle.ts + +import { TengriPendulumActor } from '/Source/TengriPlatformer/World/Interactive/TengriPendulumActor.ts'; + +export class BP_Candle extends TengriPendulumActor {} diff --git a/Content/World/Props/BP_Candle.uasset b/Content/World/Props/BP_Candle.uasset new file mode 100644 index 0000000..55ab4e4 --- /dev/null +++ b/Content/World/Props/BP_Candle.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6a613aa16cc48990ff9af9f6670b17dd7f1c48467ceff671f245c4f099bc4f98 +size 35327 diff --git a/Content/Blueprints/BP_Rock.ts b/Content/World/Props/BP_Rock.ts similarity index 62% rename from Content/Blueprints/BP_Rock.ts rename to Content/World/Props/BP_Rock.ts index 0d69272..270546a 100644 --- a/Content/Blueprints/BP_Rock.ts +++ b/Content/World/Props/BP_Rock.ts @@ -1,5 +1,5 @@ -// Content/Blueprints/BP_Rock.ts +// Content/World/Props/BP_Rock.ts -import { TengriPickupActor } from '/Source/TengriPlatformer/World/TengriPickupActor.ts'; +import { TengriPickupActor } from '/Source/TengriPlatformer/World/Interactive/TengriPickupActor.ts'; export class BP_Rock extends TengriPickupActor {} diff --git a/Content/World/Props/BP_Rock.uasset b/Content/World/Props/BP_Rock.uasset new file mode 100644 index 0000000..e0f59a2 --- /dev/null +++ b/Content/World/Props/BP_Rock.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6707dea443c8fcaf27c4fbfec3f23d8e2b95898dc623aa9788bc6bff11451a94 +size 33168 diff --git a/Content/Debug/Components/AC_DebugHUD.ts b/Content/_Core/Debug/HUD/AC_DebugHUD.ts similarity index 81% rename from Content/Debug/Components/AC_DebugHUD.ts rename to Content/_Core/Debug/HUD/AC_DebugHUD.ts index 221ff62..bf95534 100644 --- a/Content/Debug/Components/AC_DebugHUD.ts +++ b/Content/_Core/Debug/HUD/AC_DebugHUD.ts @@ -1,18 +1,22 @@ -// Content/Debug/Components/AC_DebugHUD.ts +// Content/_Core/Debug/HUD/AC_DebugHUD.ts -import type { S_DebugPage } from '/Content/Debug/Structs/S_DebugPage.ts'; -import { WBP_DebugHUD } from '/Content/Debug/UI/WBP_DebugHUD.ts'; -import type { AC_InputDevice } from '/Content/Input/Components/AC_InputDevice.ts'; -import type { AC_ToastSystem } from '/Content/Toasts/Components/AC_ToastSystem.ts'; -import { ActorComponent } from '/Content/UE/ActorComponent.ts'; -import { CreateWidget } from '/Content/UE/CteateWidget.ts'; -import { ESlateVisibility } from '/Content/UE/ESlateVisibility.ts'; -import type { Float } from '/Content/UE/Float.ts'; -import type { Integer } from '/Content/UE/Integer.ts'; -import { SystemLibrary } from '/Content/UE/SystemLibrary.ts'; -import type { Text } from '/Content/UE/Text.ts'; -import { UEArray } from '/Content/UE/UEArray.ts'; -import { E_MessageType } from '/Content/UI/Enums/E_MessageType.ts'; +import type { S_DebugPage } from '/Content/_Core/Debug/Types/S_DebugPage.ts'; +import { WBP_DebugHUD } from '/Content/_Core/Debug/HUD/WBP_DebugHUD.ts'; +import type { AC_InputDevice } from '/Content/_Core/Input/Components/AC_InputDevice.ts'; +import type { AC_ToastSystem } from '/Content/Domains/UI/Systems/Toasts/AC_ToastSystem.ts'; +import { ActorComponent } from '/TypeScript/Engine/ActorComponent.ts'; +import { CreateWidget } from '/TypeScript/Engine/CteateWidget.ts'; +import { ESlateVisibility } from '/TypeScript/Engine/ESlateVisibility.ts'; +import type { Float } from '/TypeScript/Engine/Float.ts'; +import type { Integer } from '/TypeScript/Engine/Integer.ts'; +import { SystemLibrary } from '/TypeScript/Engine/SystemLibrary.ts'; +import type { Text } from '/TypeScript/Engine/Text.ts'; +import { UEArray } from '/TypeScript/Engine/UEArray.ts'; +import { E_MessageType } from '/Content/_Core/UI/Enums/E_MessageType.ts'; +import { Cast } from '/TypeScript/Engine/Cast.ts'; +import type { PlayerController } from '/TypeScript/Engine/PlayerController.ts'; +import { EnhancedInputLocalPlayerSubsystem } from '/TypeScript/Engine/EnhancedInputLocalPlayerSubsystem.ts'; +import type { InputMappingContext } from '/TypeScript/Engine/InputMappingContext.ts'; /** * Debug HUD Controller Component @@ -20,6 +24,42 @@ import { E_MessageType } from '/Content/UI/Enums/E_MessageType.ts'; * Provides real-time performance monitoring and parameter visualization */ export class AC_DebugHUD extends ActorComponent { + // ════════════════════════════════════════════════════════════════════════════════════════ + // GRAPHS + // ════════════════════════════════════════════════════════════════════════════════════════ + + // ──────────────────────────────────────────────────────────────────────────────────────── + // EventGraph + // ──────────────────────────────────────────────────────────────────────────────────────── + + EventBeginPlay(): void { + const PC = Cast(this.GetOwner()); + + if (SystemLibrary.IsValid(PC)) { + this.SetupInput(PC); + } + } + + /** Navigate to previous debug page */ + EnhancedInputActionPrevDebugMode(): void { + this.PreviousPage(); + } + + /** Navigate to next debug page */ + EnhancedInputActionINextDebugMode(): void { + this.NextPage(); + } + + /** Toggle debug HUD visibility */ + EnhancedInputActionToggleHUD(): void { + this.ToggleDebugHUD(); + } + + /** Toggle visual debug rendering */ + EnhancedInputActionToggleVisualDebug(): void { + this.ToggleVisualDebug(); + } + // ════════════════════════════════════════════════════════════════════════════════════════ // FUNCTIONS // ════════════════════════════════════════════════════════════════════════════════════════ @@ -316,6 +356,21 @@ export class AC_DebugHUD extends ActorComponent { } } + /** + * @param PC - Reference to toast system for notifications + * @category System Setup + */ + public SetupInput(PC: PlayerController): void { + if ( + SystemLibrary.IsValid(new EnhancedInputLocalPlayerSubsystem(PC)) && + SystemLibrary.IsValid(this.DebugInputContext) + ) { + new EnhancedInputLocalPlayerSubsystem(PC).AddMappingContext( + this.DebugInputContext + ); + } + } + /** * Find index of page by ID * @param PageId - Page identifier to search for @@ -525,4 +580,6 @@ export class AC_DebugHUD extends ActorComponent { * @category Page System */ private DebugPages: UEArray = new UEArray([]); + + public DebugInputContext: InputMappingContext | null = null; } diff --git a/Content/_Core/Debug/HUD/AC_DebugHUD.uasset b/Content/_Core/Debug/HUD/AC_DebugHUD.uasset new file mode 100644 index 0000000..3069533 --- /dev/null +++ b/Content/_Core/Debug/HUD/AC_DebugHUD.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6d82903cb6fc9d347d28ff0b2e0ebd0d3c9fb897a97210216982cc7fece3775b +size 861794 diff --git a/Content/Debug/UI/WBP_DebugHUD.ts b/Content/_Core/Debug/HUD/WBP_DebugHUD.ts similarity index 95% rename from Content/Debug/UI/WBP_DebugHUD.ts rename to Content/_Core/Debug/HUD/WBP_DebugHUD.ts index 1a42ea5..e77f801 100644 --- a/Content/Debug/UI/WBP_DebugHUD.ts +++ b/Content/_Core/Debug/HUD/WBP_DebugHUD.ts @@ -1,9 +1,9 @@ -// Content/Debug/UI/WBP_DebugHUD.ts +// Content/_Core/Debug/HUD/WBP_DebugHUD.ts -import { SystemLibrary } from '/Content/UE/SystemLibrary.ts'; -import type { Text } from '/Content/UE/Text.ts'; -import { TextBlock } from '/Content/UE/TextBlock.ts'; -import { UserWidget } from '/Content/UE/UserWidget.ts'; +import { SystemLibrary } from '/TypeScript/Engine/SystemLibrary.ts'; +import type { Text } from '/TypeScript/Engine/Text.ts'; +import { TextBlock } from '/TypeScript/Engine/TextBlock.ts'; +import { UserWidget } from '/TypeScript/Engine/UserWidget.ts'; /** * Debug HUD Widget for displaying system information diff --git a/Content/_Core/Debug/HUD/WBP_DebugHUD.uasset b/Content/_Core/Debug/HUD/WBP_DebugHUD.uasset new file mode 100644 index 0000000..b6ee979 --- /dev/null +++ b/Content/_Core/Debug/HUD/WBP_DebugHUD.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d2d7cd42adb3e98d4eaa35cdd19bf1e6dd5c36b1a07c85c7ebc5e5d9acb5b7d2 +size 107170 diff --git a/Content/_Core/Debug/Input/Actions/IA_NextDebugMode.ts b/Content/_Core/Debug/Input/Actions/IA_NextDebugMode.ts new file mode 100644 index 0000000..afd0f64 --- /dev/null +++ b/Content/_Core/Debug/Input/Actions/IA_NextDebugMode.ts @@ -0,0 +1,5 @@ +// Content/_Core/Debug/Input/Actions/IA_NextDebugMode.ts + +import { InputAction } from '/TypeScript/Engine/InputAction.ts'; + +export const IA_NextDebugMode = new InputAction(null, 'IA_NextDebugMode'); diff --git a/Content/_Core/Debug/Input/Actions/IA_NextDebugMode.uasset b/Content/_Core/Debug/Input/Actions/IA_NextDebugMode.uasset new file mode 100644 index 0000000..55d953d --- /dev/null +++ b/Content/_Core/Debug/Input/Actions/IA_NextDebugMode.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0ed6e4c040d313737ab492b1444c30dcf109fbbead1b889ae373b09ac6561e55 +size 1211 diff --git a/Content/_Core/Debug/Input/Actions/IA_PrevDebugMode.ts b/Content/_Core/Debug/Input/Actions/IA_PrevDebugMode.ts new file mode 100644 index 0000000..58bc1a6 --- /dev/null +++ b/Content/_Core/Debug/Input/Actions/IA_PrevDebugMode.ts @@ -0,0 +1,5 @@ +// Content/_Core/Debug/Input/Actions/IA_PrevDebugMode.ts + +import { InputAction } from '/TypeScript/Engine/InputAction.ts'; + +export const IA_PrevDebugMode = new InputAction(null, 'IA_PrevDebugMode'); diff --git a/Content/_Core/Debug/Input/Actions/IA_PrevDebugMode.uasset b/Content/_Core/Debug/Input/Actions/IA_PrevDebugMode.uasset new file mode 100644 index 0000000..092b322 --- /dev/null +++ b/Content/_Core/Debug/Input/Actions/IA_PrevDebugMode.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1e3926ef3f90e227512f60b81471ad238d94769ff88a780942e800f625d8272e +size 1211 diff --git a/Content/_Core/Debug/Input/Actions/IA_ToggleHUD.ts b/Content/_Core/Debug/Input/Actions/IA_ToggleHUD.ts new file mode 100644 index 0000000..5ee0e32 --- /dev/null +++ b/Content/_Core/Debug/Input/Actions/IA_ToggleHUD.ts @@ -0,0 +1,5 @@ +// Content/_Core/Debug/Input/Actions/IA_ToggleHUD.ts + +import { InputAction } from '/TypeScript/Engine/InputAction.ts'; + +export const IA_ToggleHUD = new InputAction(null, 'IA_ToggleHUD'); diff --git a/Content/_Core/Debug/Input/Actions/IA_ToggleHUD.uasset b/Content/_Core/Debug/Input/Actions/IA_ToggleHUD.uasset new file mode 100644 index 0000000..eb9e6e7 --- /dev/null +++ b/Content/_Core/Debug/Input/Actions/IA_ToggleHUD.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a995d097dafa0f4bbfd3d27f7f46bd4622014c655c8f0e75e1db4cb42bd3bdc4 +size 1191 diff --git a/Content/_Core/Debug/Input/Actions/IA_ToggleVisualDebug.ts b/Content/_Core/Debug/Input/Actions/IA_ToggleVisualDebug.ts new file mode 100644 index 0000000..93891a5 --- /dev/null +++ b/Content/_Core/Debug/Input/Actions/IA_ToggleVisualDebug.ts @@ -0,0 +1,8 @@ +// Content/_Core/Debug/Input/Actions/IA_ToggleVisualDebug.ts + +import { InputAction } from '/TypeScript/Engine/InputAction.ts'; + +export const IA_ToggleVisualDebug = new InputAction( + null, + 'IA_ToggleVisualDebug' +); diff --git a/Content/_Core/Debug/Input/Actions/IA_ToggleVisualDebug.uasset b/Content/_Core/Debug/Input/Actions/IA_ToggleVisualDebug.uasset new file mode 100644 index 0000000..f763fde --- /dev/null +++ b/Content/_Core/Debug/Input/Actions/IA_ToggleVisualDebug.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5593b2b94f99581b2540a33248352a9335bb467da04dad3ff9607b3dbf26d024 +size 1231 diff --git a/Content/_Core/Debug/Input/IMC_Debug.ts b/Content/_Core/Debug/Input/IMC_Debug.ts new file mode 100644 index 0000000..2215d2b --- /dev/null +++ b/Content/_Core/Debug/Input/IMC_Debug.ts @@ -0,0 +1,19 @@ +// Content/_Core/Debug/Input/IMC_Debug.ts + +import { IA_LeftTrigger } from '/Content/_Core/Input/Actions/IA_LeftTrigger.ts'; +import { IA_NextDebugMode } from '/Content/_Core/Debug/Input/Actions/IA_NextDebugMode.ts'; +import { IA_PrevDebugMode } from '/Content/_Core/Debug/Input/Actions/IA_PrevDebugMode.ts'; +import { IA_RightTrigger } from '/Content/_Core/Input/Actions/IA_RightTrigger.ts'; +import { IA_ToggleHUD } from '/Content/_Core/Debug/Input/Actions/IA_ToggleHUD.ts'; +import { IA_ToggleVisualDebug } from '/Content/_Core/Debug/Input/Actions/IA_ToggleVisualDebug.ts'; +import { InputMappingContext } from '/TypeScript/Engine/InputMappingContext.ts'; +import { Key } from '/TypeScript/Engine/Key.ts'; + +export const IMC_Default = new InputMappingContext(); + +IMC_Default.mapKey(IA_LeftTrigger, new Key('IA_LeftTrigger')); +IMC_Default.mapKey(IA_RightTrigger, new Key('IA_RightTrigger')); +IMC_Default.mapKey(IA_NextDebugMode, new Key('IA_NextDebugMode')); +IMC_Default.mapKey(IA_PrevDebugMode, new Key('IA_PrevDebugMode')); +IMC_Default.mapKey(IA_ToggleHUD, new Key('IA_ToggleHUD')); +IMC_Default.mapKey(IA_ToggleVisualDebug, new Key('IA_ToggleVisualDebug')); diff --git a/Content/_Core/Debug/Input/IMC_Debug.uasset b/Content/_Core/Debug/Input/IMC_Debug.uasset new file mode 100644 index 0000000..7c6c158 --- /dev/null +++ b/Content/_Core/Debug/Input/IMC_Debug.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c11171486264b79da1c882cecc7c8b25c603bca66842d24c0f2ebd3fd2a50cbf +size 7359 diff --git a/Content/_Core/Debug/Types/S_DebugPage.ts b/Content/_Core/Debug/Types/S_DebugPage.ts new file mode 100644 index 0000000..42344c0 --- /dev/null +++ b/Content/_Core/Debug/Types/S_DebugPage.ts @@ -0,0 +1,13 @@ +// Content/_Core/Debug/Types/S_DebugPage.ts + +import type { Float } from '/TypeScript/Engine/Float.ts'; +import type { Text } from '/TypeScript/Engine/Text.ts'; + +export interface S_DebugPage { + PageID: string; + Title: Text; + Content: Text; + RefreshRate: Float; + IsVisible: boolean; + LastUpdateTime: Float; +} diff --git a/Content/_Core/Debug/Types/S_DebugPage.uasset b/Content/_Core/Debug/Types/S_DebugPage.uasset new file mode 100644 index 0000000..c4b2a69 --- /dev/null +++ b/Content/_Core/Debug/Types/S_DebugPage.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b5915649fa39a86f5a08353fc4d97dc68e9118943a822812b723cdcc85a6b314 +size 8779 diff --git a/Content/_Core/Framework/BP_TengriGameMode.ts b/Content/_Core/Framework/BP_TengriGameMode.ts new file mode 100644 index 0000000..5622724 --- /dev/null +++ b/Content/_Core/Framework/BP_TengriGameMode.ts @@ -0,0 +1,10 @@ +// Content/_Core/Framework/BP_TengriGameMode.ts + +import { BP_MainCharacter } from '/Content/Domains/Character/BP_MainCharacter.ts'; +import { GameModeBase } from '/TypeScript/Engine/GameModeBase.ts'; +import { BP_TengriPlayerController } from '/Content/_Core/Framework/BP_TengriPlayerController.ts'; + +export class BP_TengriGameMode extends GameModeBase { + PlayerControllerClass = BP_TengriPlayerController; + DefaultPawnClass = BP_MainCharacter; +} diff --git a/Content/_Core/Framework/BP_TengriGameMode.uasset b/Content/_Core/Framework/BP_TengriGameMode.uasset new file mode 100644 index 0000000..cbd9684 --- /dev/null +++ b/Content/_Core/Framework/BP_TengriGameMode.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b84de54a03bcf9e8d1d40ed1b974822b77ffeee01fb27dc8fa6c967c7f7160ae +size 20647 diff --git a/Content/_Core/Framework/BP_TengriPlayerController.ts b/Content/_Core/Framework/BP_TengriPlayerController.ts new file mode 100644 index 0000000..062b4a0 --- /dev/null +++ b/Content/_Core/Framework/BP_TengriPlayerController.ts @@ -0,0 +1,62 @@ +// Content/_Core/Framework/BP_TengriPlayerController.ts + +import { PlayerController } from '/TypeScript/Engine/PlayerController.ts'; +import { AC_ToastSystem } from '/Content/Domains/UI/Systems/Toasts/AC_ToastSystem.ts'; +import { AC_InputDevice } from '/Content/_Core/Input/Components/AC_InputDevice.ts'; +import { AC_DebugHUD } from '/Content/_Core/Debug/HUD/AC_DebugHUD.ts'; + +export class BP_TengriPlayerController extends PlayerController { + // ════════════════════════════════════════════════════════════════════════════════════════ + // GRAPHS + // ════════════════════════════════════════════════════════════════════════════════════════ + + // ──────────────────────────────────────────────────────────────────────────────────────── + // EventGraph + // ──────────────────────────────────────────────────────────────────────────────────────── + + EventBeginPlay(): void { + this.InitializeSystems(); + } + + // ════════════════════════════════════════════════════════════════════════════════════════ + // FUNCTIONS + // ════════════════════════════════════════════════════════════════════════════════════════ + + private InitializeSystems(): void { + if (this.ShowDebugInfo) { + this.ToastSystem.InitializeToastSystem(); + this.DebugHUD.InitializeDebugHUD(this.ToastSystem, this.InputDevice); + } else { + this.ToastSystem.SetActive(false, false); + this.DebugHUD.SetActive(false, false); + } + + this.InputDevice.InitializeDeviceDetection(this.ToastSystem, this.DebugHUD); + } + + // ════════════════════════════════════════════════════════════════════════════════════════ + // VARIABLES + // ════════════════════════════════════════════════════════════════════════════════════════ + + /** + * Reference to toast system component for debug messaging + * Set during initialization, used for displaying debug notifications + * @category Components + */ + public ToastSystem: AC_ToastSystem = new AC_ToastSystem(); + + /** + * Reference to input device component for device detection + * Set externally, used for displaying current input device info + * @category Components + */ + public InputDevice: AC_InputDevice = new AC_InputDevice(); + + /** + * Debug HUD system - displays movement parameters and performance metrics + * @category Components + */ + public DebugHUD: AC_DebugHUD = new AC_DebugHUD(); + + public ShowDebugInfo: boolean = true; +} diff --git a/Content/_Core/Framework/BP_TengriPlayerController.uasset b/Content/_Core/Framework/BP_TengriPlayerController.uasset new file mode 100644 index 0000000..43799d1 --- /dev/null +++ b/Content/_Core/Framework/BP_TengriPlayerController.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b5f32345ea960c8214dd738068eb768978e715f79a817b24f1b6c7a9f0c33919 +size 67221 diff --git a/Content/_Core/Input/Actions/IA_LeftTrigger.ts b/Content/_Core/Input/Actions/IA_LeftTrigger.ts new file mode 100644 index 0000000..5821f35 --- /dev/null +++ b/Content/_Core/Input/Actions/IA_LeftTrigger.ts @@ -0,0 +1,6 @@ +// Content/_Core/Input/Actions/IA_LeftTrigger.ts + +import { InputAction } from '/TypeScript/Engine/InputAction.ts'; +import { Name } from '/TypeScript/Engine/Name.ts'; + +export const IA_LeftTrigger = new InputAction(null, new Name('IA_LeftTrigger')); diff --git a/Content/_Core/Input/Actions/IA_LeftTrigger.uasset b/Content/_Core/Input/Actions/IA_LeftTrigger.uasset new file mode 100644 index 0000000..a906eb9 --- /dev/null +++ b/Content/_Core/Input/Actions/IA_LeftTrigger.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:85f1c67b2d21aec919a01567c3a3fa888dcf03d9376202a3308e08dd216ce205 +size 1453 diff --git a/Content/_Core/Input/Actions/IA_RightTrigger.ts b/Content/_Core/Input/Actions/IA_RightTrigger.ts new file mode 100644 index 0000000..23d1228 --- /dev/null +++ b/Content/_Core/Input/Actions/IA_RightTrigger.ts @@ -0,0 +1,5 @@ +// Content/_Core/Input/Actions/IA_RightTrigger.ts + +import { InputAction } from '/TypeScript/Engine/InputAction.ts'; + +export const IA_RightTrigger = new InputAction(null, 'IA_RightTrigger'); diff --git a/Content/_Core/Input/Actions/IA_RightTrigger.uasset b/Content/_Core/Input/Actions/IA_RightTrigger.uasset new file mode 100644 index 0000000..70ac4e4 --- /dev/null +++ b/Content/_Core/Input/Actions/IA_RightTrigger.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:08ceeb76bb4c95e045de6709c6a479fbc2bc75e2b7e5b545881adf3120649d74 +size 1458 diff --git a/Content/Input/Components/AC_InputDevice.ts b/Content/_Core/Input/Components/AC_InputDevice.ts similarity index 85% rename from Content/Input/Components/AC_InputDevice.ts rename to Content/_Core/Input/Components/AC_InputDevice.ts index fec3033..ae001de 100644 --- a/Content/Input/Components/AC_InputDevice.ts +++ b/Content/_Core/Input/Components/AC_InputDevice.ts @@ -1,19 +1,19 @@ -// Content/Input/Components/AC_InputDevice.ts +// Content/_Core/Input/Components/AC_InputDevice.ts -import type { AC_DebugHUD } from '/Content/Debug/Components/AC_DebugHUD.ts'; -import type { AC_ToastSystem } from '/Content/Toasts/Components/AC_ToastSystem.ts'; -import { ActorComponent } from '/Content/UE/ActorComponent.ts'; -import { EHardwareDevicePrimaryType } from '/Content/UE/EHardwareDevicePrimaryType.ts'; -import type { Float } from '/Content/UE/Float.ts'; -import { InputDeviceSubsystem } from '/Content/UE/InputDeviceSubsystem.ts'; -import type { Integer } from '/Content/UE/Integer.ts'; -import { SystemLibrary } from '/Content/UE/SystemLibrary.ts'; -import { E_MessageType } from '/Content/UI/Enums/E_MessageType.ts'; +import type { AC_DebugHUD } from '/Content/_Core/Debug/HUD/AC_DebugHUD.ts'; +import type { AC_ToastSystem } from '/Content/Domains/UI/Systems/Toasts/AC_ToastSystem.ts'; +import { ActorComponent } from '/TypeScript/Engine/ActorComponent.ts'; +import { EHardwareDevicePrimaryType } from '/TypeScript/Engine/EHardwareDevicePrimaryType.ts'; +import type { Float } from '/TypeScript/Engine/Float.ts'; +import { InputDeviceSubsystem } from '/TypeScript/Engine/InputDeviceSubsystem.ts'; +import type { Integer } from '/TypeScript/Engine/Integer.ts'; +import { SystemLibrary } from '/TypeScript/Engine/SystemLibrary.ts'; +import { E_MessageType } from '/Content/_Core/UI/Enums/E_MessageType.ts'; /** * Input Device Detection Component * Minimal wrapper around Unreal Engine's native InputDeviceSubsystem - * Provides simple binary classification: Gamepad vs Everything Else + * Provides a simple binary classification: Gamepad vs. Everything Else */ export class AC_InputDevice extends ActorComponent { // ════════════════════════════════════════════════════════════════════════════════════════ @@ -31,7 +31,7 @@ export class AC_InputDevice extends ActorComponent { } /** - * Check if current device is keyboard/mouse + * Check if the current device is keyboard/mouse * @returns True if keyboard is active * @category Device Queries * @pure true @@ -41,7 +41,7 @@ export class AC_InputDevice extends ActorComponent { } /** - * Check if current device is gamepad/controller + * Check if the current device is gamepad/controller * @returns True if gamepad is active * @category Device Queries * @pure true @@ -51,7 +51,7 @@ export class AC_InputDevice extends ActorComponent { } /** - * Initialize device detection system with delegate registration + * Initialize a device detection system with delegate registration * @param ToastComponentRef - Toast system for debug notifications * @param DebugHUDComponentRef - Optional debug HUD for displaying device info * @category System Setup @@ -95,7 +95,7 @@ export class AC_InputDevice extends ActorComponent { /** * Detect initial device on system startup - * Fallback for getting device before first hardware change event + * Fallback for getting a device before first hardware change event * @category System Setup */ private DetectInitialDevice(): void { @@ -182,7 +182,7 @@ export class AC_InputDevice extends ActorComponent { // ════════════════════════════════════════════════════════════════════════════════════════ /** - * Reference to toast system for debug notifications + * Reference to a toast system for debug notifications * @category Components */ private ToastComponent: AC_ToastSystem | null = null; @@ -216,7 +216,7 @@ export class AC_InputDevice extends ActorComponent { /** * Minimum time between device changes (prevents flickering) - * Recommended: 300-500ms for most games + * Recommended: 300-500 ms for most games * @category Debouncing * @instanceEditable true */ diff --git a/Content/_Core/Input/Components/AC_InputDevice.uasset b/Content/_Core/Input/Components/AC_InputDevice.uasset new file mode 100644 index 0000000..dea9587 --- /dev/null +++ b/Content/_Core/Input/Components/AC_InputDevice.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:672965b04a6fe119b2e941acc86bc28be8d1515766f5c876f0bf08aa4ad0951c +size 225194 diff --git a/Content/UI/Libraries/BFL_Colors.ts b/Content/_Core/Scripting/Libraries/BFL_Colors.ts similarity index 67% rename from Content/UI/Libraries/BFL_Colors.ts rename to Content/_Core/Scripting/Libraries/BFL_Colors.ts index 04a42b4..47de4e6 100644 --- a/Content/UI/Libraries/BFL_Colors.ts +++ b/Content/_Core/Scripting/Libraries/BFL_Colors.ts @@ -1,9 +1,9 @@ -// Content/UI/Libraries/BFL_Colors.ts +// Content/_Core/Scripting/Libraries/BFL_Colors.ts -import { BlueprintFunctionLibrary } from '/Content/UE/BlueprintFunctionLibrary.ts'; -import type { Byte } from '/Content/UE/Byte.ts'; -import { Color } from '/Content/UE/Color.ts'; -import { E_MessageType } from '/Content/UI/Enums/E_MessageType.ts'; +import { BlueprintFunctionLibrary } from '/TypeScript/Engine/BlueprintFunctionLibrary.ts'; +import type { Byte } from '/TypeScript/Engine/Byte.ts'; +import { Color } from '/TypeScript/Engine/Color.ts'; +import { E_MessageType } from '/Content/_Core/UI/Enums/E_MessageType.ts'; class BFL_ColorsClass extends BlueprintFunctionLibrary { public GetColorByMessageType(Type: E_MessageType, Alpha: Byte): Color { diff --git a/Content/_Core/Scripting/Libraries/BFL_Colors.uasset b/Content/_Core/Scripting/Libraries/BFL_Colors.uasset new file mode 100644 index 0000000..002804b --- /dev/null +++ b/Content/_Core/Scripting/Libraries/BFL_Colors.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f5501e7409e2be643b07901f78b8ea4fa53a77db71f6ee9a8abb9baffcfb0777 +size 46125 diff --git a/Content/UI/Enums/E_MessageType.ts b/Content/_Core/UI/Enums/E_MessageType.ts similarity index 77% rename from Content/UI/Enums/E_MessageType.ts rename to Content/_Core/UI/Enums/E_MessageType.ts index b165b75..5113a2b 100644 --- a/Content/UI/Enums/E_MessageType.ts +++ b/Content/_Core/UI/Enums/E_MessageType.ts @@ -1,4 +1,4 @@ -// Content/UI/Enums/E_MessageType.ts +// Content/_Core/UI/Enums/E_MessageType.ts export enum E_MessageType { Info = 'Info', diff --git a/Content/_Core/UI/Enums/E_MessageType.uasset b/Content/_Core/UI/Enums/E_MessageType.uasset new file mode 100644 index 0000000..b0574b9 --- /dev/null +++ b/Content/_Core/UI/Enums/E_MessageType.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9e6ef96a174a8b927431475744ff1872f5bce832fcc9d971e304d74083806c16 +size 2379 diff --git a/Content/_Core/UI/Fonts/RobotoMono/RobotoMono-Bold.uasset b/Content/_Core/UI/Fonts/RobotoMono/RobotoMono-Bold.uasset new file mode 100644 index 0000000..f6a87cd --- /dev/null +++ b/Content/_Core/UI/Fonts/RobotoMono/RobotoMono-Bold.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:129049290a10f20d1a2abb8843590b21c00e7800a7235f67a828e8ff1b56dc9b +size 89170 diff --git a/Content/_Core/UI/Fonts/RobotoMono/RobotoMono-ExtraLight.uasset b/Content/_Core/UI/Fonts/RobotoMono/RobotoMono-ExtraLight.uasset new file mode 100644 index 0000000..31f8a6c --- /dev/null +++ b/Content/_Core/UI/Fonts/RobotoMono/RobotoMono-ExtraLight.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a1d40fe0221743fa3de2cabc6956edb2ec858f5927b574a150ab63f7bca5c356 +size 90016 diff --git a/Content/_Core/UI/Fonts/RobotoMono/RobotoMono-Light.uasset b/Content/_Core/UI/Fonts/RobotoMono/RobotoMono-Light.uasset new file mode 100644 index 0000000..73c0210 --- /dev/null +++ b/Content/_Core/UI/Fonts/RobotoMono/RobotoMono-Light.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3f7fc96bf024a3489d0f9cde7daea50acaebf3af3d83732196d68dbc28c3ac9a +size 89765 diff --git a/Content/_Core/UI/Fonts/RobotoMono/RobotoMono-Medium.uasset b/Content/_Core/UI/Fonts/RobotoMono/RobotoMono-Medium.uasset new file mode 100644 index 0000000..51c6d7a --- /dev/null +++ b/Content/_Core/UI/Fonts/RobotoMono/RobotoMono-Medium.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9e2a4d37806005893aa7f1be4776e67d97d41b352573012b1fde75565807d9ee +size 88964 diff --git a/Content/_Core/UI/Fonts/RobotoMono/RobotoMono-Regular.uasset b/Content/_Core/UI/Fonts/RobotoMono/RobotoMono-Regular.uasset new file mode 100644 index 0000000..29cb87b --- /dev/null +++ b/Content/_Core/UI/Fonts/RobotoMono/RobotoMono-Regular.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9c2d943fe3daac6b160e40acdf3990b96338110c523aa7c66c2d885aa6c1fbdd +size 89035 diff --git a/Content/_Core/UI/Fonts/RobotoMono/RobotoMono-SemiBold.uasset b/Content/_Core/UI/Fonts/RobotoMono/RobotoMono-SemiBold.uasset new file mode 100644 index 0000000..569962b --- /dev/null +++ b/Content/_Core/UI/Fonts/RobotoMono/RobotoMono-SemiBold.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8c692e67552b4c910b667c9d29a4ca97b7fa7d19d909febe8908094ee30a5099 +size 89258 diff --git a/Content/_Core/UI/Fonts/RobotoMono/RobotoMono-Thin.uasset b/Content/_Core/UI/Fonts/RobotoMono/RobotoMono-Thin.uasset new file mode 100644 index 0000000..6e0248f --- /dev/null +++ b/Content/_Core/UI/Fonts/RobotoMono/RobotoMono-Thin.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f28a0d7f913a8476006a6b08b6d97ca567c0c02c8901f33f3f66665c9db33aa9 +size 90066 diff --git a/Content/_Core/UI/Fonts/RobotoMono/RobotoMono.uasset b/Content/_Core/UI/Fonts/RobotoMono/RobotoMono.uasset new file mode 100644 index 0000000..fa05efb --- /dev/null +++ b/Content/_Core/UI/Fonts/RobotoMono/RobotoMono.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:40471aa70601e9a19f8d56b2e50e04d5f18c24f81ea74379df4a50429a1301a5 +size 18952 diff --git a/Source/TengriPlatformer/Camera/Core/TengriCameraConfig.cpp b/Source/TengriPlatformer/Domains/Camera/Config/TengriCameraConfig.cpp similarity index 100% rename from Source/TengriPlatformer/Camera/Core/TengriCameraConfig.cpp rename to Source/TengriPlatformer/Domains/Camera/Config/TengriCameraConfig.cpp diff --git a/Source/TengriPlatformer/Camera/Core/TengriCameraConfig.h b/Source/TengriPlatformer/Domains/Camera/Config/TengriCameraConfig.h similarity index 100% rename from Source/TengriPlatformer/Camera/Core/TengriCameraConfig.h rename to Source/TengriPlatformer/Domains/Camera/Config/TengriCameraConfig.h diff --git a/Source/TengriPlatformer/Camera/Core/TengriCameraConfig.ts b/Source/TengriPlatformer/Domains/Camera/Config/TengriCameraConfig.ts similarity index 93% rename from Source/TengriPlatformer/Camera/Core/TengriCameraConfig.ts rename to Source/TengriPlatformer/Domains/Camera/Config/TengriCameraConfig.ts index 9d3ccc1..f0ed0fe 100644 --- a/Source/TengriPlatformer/Camera/Core/TengriCameraConfig.ts +++ b/Source/TengriPlatformer/Domains/Camera/Config/TengriCameraConfig.ts @@ -1,8 +1,8 @@ -// Source/TengriPlatformer/Camera/Core/TengriCameraConfig.ts +// Source/TengriPlatformer/Domains/Camera/Config/TengriCameraConfig.ts -import { Rotator } from '/Content/UE/Rotator.ts'; -import type { Float } from '/Content/UE/Float.ts'; -import { Vector } from '/Content/UE/Vector.ts'; +import { Rotator } from '/TypeScript/Engine/Rotator.ts'; +import { Vector } from '/TypeScript/Engine/Vector.ts'; +import type { Float } from '/TypeScript/Engine/Float.ts'; export enum ETengriCameraBehavior { FreeLook = 'Free Look (3D)', diff --git a/Source/TengriPlatformer/Camera/TengriCameraComponent.cpp b/Source/TengriPlatformer/Domains/Camera/TengriCameraComponent.cpp similarity index 99% rename from Source/TengriPlatformer/Camera/TengriCameraComponent.cpp rename to Source/TengriPlatformer/Domains/Camera/TengriCameraComponent.cpp index cee15f9..e712e0e 100644 --- a/Source/TengriPlatformer/Camera/TengriCameraComponent.cpp +++ b/Source/TengriPlatformer/Domains/Camera/TengriCameraComponent.cpp @@ -5,7 +5,7 @@ #include "TengriCameraComponent.h" #include "GameFramework/SpringArmComponent.h" #include "DrawDebugHelpers.h" -#include "TengriPlatformer/Movement/TengriMovementComponent.h" +#include "TengriPlatformer/Domains/Movement/TengriMovementComponent.h" UTengriCameraComponent::UTengriCameraComponent() { diff --git a/Source/TengriPlatformer/Camera/TengriCameraComponent.h b/Source/TengriPlatformer/Domains/Camera/TengriCameraComponent.h similarity index 99% rename from Source/TengriPlatformer/Camera/TengriCameraComponent.h rename to Source/TengriPlatformer/Domains/Camera/TengriCameraComponent.h index 7dcda95..7cb2cf0 100644 --- a/Source/TengriPlatformer/Camera/TengriCameraComponent.h +++ b/Source/TengriPlatformer/Domains/Camera/TengriCameraComponent.h @@ -6,7 +6,7 @@ #include "CoreMinimal.h" #include "Components/ActorComponent.h" -#include "Core/TengriCameraConfig.h" +#include "Config/TengriCameraConfig.h" #include "TengriCameraComponent.generated.h" class USpringArmComponent; diff --git a/Source/TengriPlatformer/Camera/TengriCameraComponent.ts b/Source/TengriPlatformer/Domains/Camera/TengriCameraComponent.ts similarity index 54% rename from Source/TengriPlatformer/Camera/TengriCameraComponent.ts rename to Source/TengriPlatformer/Domains/Camera/TengriCameraComponent.ts index defad23..b5d6d01 100644 --- a/Source/TengriPlatformer/Camera/TengriCameraComponent.ts +++ b/Source/TengriPlatformer/Domains/Camera/TengriCameraComponent.ts @@ -1,7 +1,7 @@ -// Source/TengriPlatformer/Camera/TengriCameraComponent.ts +// Source/TengriPlatformer/Domains/Camera/TengriCameraComponent.ts -import { ActorComponent } from '/Content/UE/ActorComponent.ts'; -import { TengriCameraConfig } from '/Source/TengriPlatformer/Camera/Core/TengriCameraConfig.ts'; +import { ActorComponent } from '/TypeScript/Engine/ActorComponent.ts'; +import { TengriCameraConfig } from '/Source/TengriPlatformer/Domains/Camera/Config/TengriCameraConfig.ts'; export class TengriCameraComponent extends ActorComponent { constructor() { diff --git a/Source/TengriPlatformer/Character/TengriCharacter.cpp b/Source/TengriPlatformer/Domains/Character/TengriCharacter.cpp similarity index 98% rename from Source/TengriPlatformer/Character/TengriCharacter.cpp rename to Source/TengriPlatformer/Domains/Character/TengriCharacter.cpp index 11031e4..f294a8d 100644 --- a/Source/TengriPlatformer/Character/TengriCharacter.cpp +++ b/Source/TengriPlatformer/Domains/Character/TengriCharacter.cpp @@ -8,9 +8,9 @@ #include "Components/ArrowComponent.h" #include "GameFramework/SpringArmComponent.h" #include "Camera/CameraComponent.h" -#include "TengriPlatformer/Movement/TengriMovementComponent.h" -#include "TengriPlatformer/Camera/TengriCameraComponent.h" -#include "TengriPlatformer/World/TengriPickupActor.h" +#include "TengriPlatformer/Domains/Movement/TengriMovementComponent.h" +#include "TengriPlatformer/Domains/Camera/TengriCameraComponent.h" +#include "TengriPlatformer/World/Interactive/TengriPickupActor.h" #include "Kismet/KismetSystemLibrary.h" // Enhanced Input diff --git a/Source/TengriPlatformer/Character/TengriCharacter.h b/Source/TengriPlatformer/Domains/Character/TengriCharacter.h similarity index 100% rename from Source/TengriPlatformer/Character/TengriCharacter.h rename to Source/TengriPlatformer/Domains/Character/TengriCharacter.h diff --git a/Source/TengriPlatformer/Character/TengriCharacter.ts b/Source/TengriPlatformer/Domains/Character/TengriCharacter.ts similarity index 76% rename from Source/TengriPlatformer/Character/TengriCharacter.ts rename to Source/TengriPlatformer/Domains/Character/TengriCharacter.ts index 8ae9d87..308d67d 100644 --- a/Source/TengriPlatformer/Character/TengriCharacter.ts +++ b/Source/TengriPlatformer/Domains/Character/TengriCharacter.ts @@ -1,16 +1,16 @@ // Source/TengriPlatformer/Character/TengriCharacter.ts -import { Pawn } from '/Content/UE/Pawn.ts'; -import { CapsuleComponent } from '/Content/UE/CapsuleComponent.ts'; -import { SkeletalMesh } from '/Content/UE/SkeletalMesh.ts'; -import { ArrowComponent } from '/Content/UE/ArrowComponent.ts'; -import { TengriMovementComponent } from '/Source/TengriPlatformer/Movement/TengriMovementComponent.ts'; -import { InputAction } from '/Content/UE/InputAction.ts'; -import { InputMappingContext } from '/Content/UE/InputMappingContext.ts'; -import { SpringArmComponent } from '/Content/UE/SpringArmComponent.ts'; -import { CameraComponent } from '/Content/UE/CameraComponent.ts'; -import { TengriCameraComponent } from '/Source/TengriPlatformer/Camera/TengriCameraComponent.ts'; -import { TengriCameraConfig } from '/Source/TengriPlatformer/Camera/Core/TengriCameraConfig.ts'; +import { Pawn } from '/TypeScript/Engine/Pawn.ts'; +import type { TengriCameraConfig } from '/Source/TengriPlatformer/Domains/Camera/Config/TengriCameraConfig.ts'; +import { CapsuleComponent } from '/TypeScript/Engine/CapsuleComponent.ts'; +import { SkeletalMesh } from '/TypeScript/Engine/SkeletalMesh.ts'; +import { ArrowComponent } from '/TypeScript/Engine/ArrowComponent.ts'; +import { TengriMovementComponent } from '/Source/TengriPlatformer/Domains/Movement/TengriMovementComponent.ts'; +import { SpringArmComponent } from '/TypeScript/Engine/SpringArmComponent.ts'; +import { CameraComponent } from '/TypeScript/Engine/CameraComponent.ts'; +import { TengriCameraComponent } from '/Source/TengriPlatformer/Domains/Camera/TengriCameraComponent.ts'; +import { InputAction } from '/TypeScript/Engine/InputAction.ts'; +import { InputMappingContext } from '/TypeScript/Engine/InputMappingContext.ts'; export class TengriCharacter extends Pawn { constructor(AimingCameraConfig: TengriCameraConfig) { diff --git a/Source/TengriPlatformer/Movement/Collision/TengriCollisionResolver.cpp b/Source/TengriPlatformer/Domains/Movement/Collision/TengriCollisionResolver.cpp similarity index 100% rename from Source/TengriPlatformer/Movement/Collision/TengriCollisionResolver.cpp rename to Source/TengriPlatformer/Domains/Movement/Collision/TengriCollisionResolver.cpp diff --git a/Source/TengriPlatformer/Movement/Collision/TengriCollisionResolver.h b/Source/TengriPlatformer/Domains/Movement/Collision/TengriCollisionResolver.h similarity index 96% rename from Source/TengriPlatformer/Movement/Collision/TengriCollisionResolver.h rename to Source/TengriPlatformer/Domains/Movement/Collision/TengriCollisionResolver.h index 27757e3..01637ce 100644 --- a/Source/TengriPlatformer/Movement/Collision/TengriCollisionResolver.h +++ b/Source/TengriPlatformer/Domains/Movement/Collision/TengriCollisionResolver.h @@ -6,8 +6,8 @@ #include "CoreMinimal.h" #include "Kismet/BlueprintFunctionLibrary.h" -#include "TengriPlatformer/Movement/Core/TengriMovementConfig.h" -#include "TengriPlatformer/Movement/Collision/TengriSweepResult.h" +#include "TengriPlatformer/Domains/Movement/Config/TengriMovementConfig.h" +#include "TengriPlatformer/Domains/Movement/Collision/TengriSweepResult.h" #include "TengriCollisionResolver.generated.h" class UCapsuleComponent; diff --git a/Source/TengriPlatformer/Movement/Collision/TengriSweepResult.h b/Source/TengriPlatformer/Domains/Movement/Collision/TengriSweepResult.h similarity index 100% rename from Source/TengriPlatformer/Movement/Collision/TengriSweepResult.h rename to Source/TengriPlatformer/Domains/Movement/Collision/TengriSweepResult.h diff --git a/Source/TengriPlatformer/Movement/Core/TengriMovementConfig.cpp b/Source/TengriPlatformer/Domains/Movement/Config/TengriMovementConfig.cpp similarity index 100% rename from Source/TengriPlatformer/Movement/Core/TengriMovementConfig.cpp rename to Source/TengriPlatformer/Domains/Movement/Config/TengriMovementConfig.cpp diff --git a/Source/TengriPlatformer/Movement/Core/TengriMovementConfig.h b/Source/TengriPlatformer/Domains/Movement/Config/TengriMovementConfig.h similarity index 100% rename from Source/TengriPlatformer/Movement/Core/TengriMovementConfig.h rename to Source/TengriPlatformer/Domains/Movement/Config/TengriMovementConfig.h diff --git a/Source/TengriPlatformer/Movement/Core/TengriMovementConfig.ts b/Source/TengriPlatformer/Domains/Movement/Config/TengriMovementConfig.ts similarity index 94% rename from Source/TengriPlatformer/Movement/Core/TengriMovementConfig.ts rename to Source/TengriPlatformer/Domains/Movement/Config/TengriMovementConfig.ts index b5c22fc..e7f9404 100644 --- a/Source/TengriPlatformer/Movement/Core/TengriMovementConfig.ts +++ b/Source/TengriPlatformer/Domains/Movement/Config/TengriMovementConfig.ts @@ -1,8 +1,8 @@ // Source/TengriPlatformer/Movement/Core/TengriMovementConfig.ts -import type { Float } from '/Content/UE/Float.ts'; -import type { Integer } from '/Content/UE/Integer.ts'; -import { PrimaryDataAsset } from '/Content/UE/PrimaryDataAsset.ts'; +import type { Float } from '/TypeScript/Engine/Float.ts'; +import type { Integer } from '/TypeScript/Engine/Integer.ts'; +import { PrimaryDataAsset } from '/TypeScript/Engine/PrimaryDataAsset.ts'; export class TengriMovementConfig extends PrimaryDataAsset { // ======================================================================== diff --git a/Source/TengriPlatformer/Movement/TengriMovementComponent.cpp b/Source/TengriPlatformer/Domains/Movement/TengriMovementComponent.cpp similarity index 99% rename from Source/TengriPlatformer/Movement/TengriMovementComponent.cpp rename to Source/TengriPlatformer/Domains/Movement/TengriMovementComponent.cpp index 5eb00c1..565ddca 100644 --- a/Source/TengriPlatformer/Movement/TengriMovementComponent.cpp +++ b/Source/TengriPlatformer/Domains/Movement/TengriMovementComponent.cpp @@ -4,7 +4,7 @@ #include "TengriMovementComponent.h" #include "Components/CapsuleComponent.h" -#include "TengriPlatformer/Movement/Collision/TengriCollisionResolver.h" +#include "TengriPlatformer/Domains/Movement/Collision/TengriCollisionResolver.h" DEFINE_LOG_CATEGORY_STATIC(LogTengriMovement, Log, All); diff --git a/Source/TengriPlatformer/Movement/TengriMovementComponent.h b/Source/TengriPlatformer/Domains/Movement/TengriMovementComponent.h similarity index 99% rename from Source/TengriPlatformer/Movement/TengriMovementComponent.h rename to Source/TengriPlatformer/Domains/Movement/TengriMovementComponent.h index de7aa05..f09ba0f 100644 --- a/Source/TengriPlatformer/Movement/TengriMovementComponent.h +++ b/Source/TengriPlatformer/Domains/Movement/TengriMovementComponent.h @@ -6,7 +6,7 @@ #include "CoreMinimal.h" #include "Components/ActorComponent.h" -#include "TengriPlatformer/Movement/Core/TengriMovementConfig.h" +#include "TengriPlatformer/Domains/Movement/Config/TengriMovementConfig.h" #include "TengriMovementComponent.generated.h" class UCapsuleComponent; diff --git a/Source/TengriPlatformer/Movement/TengriMovementComponent.ts b/Source/TengriPlatformer/Domains/Movement/TengriMovementComponent.ts similarity index 66% rename from Source/TengriPlatformer/Movement/TengriMovementComponent.ts rename to Source/TengriPlatformer/Domains/Movement/TengriMovementComponent.ts index 0cc3e7a..ac906e3 100644 --- a/Source/TengriPlatformer/Movement/TengriMovementComponent.ts +++ b/Source/TengriPlatformer/Domains/Movement/TengriMovementComponent.ts @@ -1,8 +1,8 @@ // Source/TengriPlatformer/Movement/TengriMovementComponent.ts -import { ActorComponent } from '/Content/UE/ActorComponent.ts'; -import { Vector } from '/Content/UE/Vector.ts'; -import type { DA_TengriMovementConfig } from '/Content/Movement/DA_TengriMovementConfig.ts'; +import { ActorComponent } from '/TypeScript/Engine/ActorComponent.ts'; +import { Vector } from '/TypeScript/Engine/Vector.ts'; +import type { DA_TengriMovementConfig } from '/Content/Domains/Character/Configs/DA_TengriMovementConfig.ts'; type ConstructorParams = { MovementConfig: typeof DA_TengriMovementConfig; diff --git a/Source/TengriPlatformer/World/Interactive/TengriPendulumActor.cpp b/Source/TengriPlatformer/World/Interactive/TengriPendulumActor.cpp new file mode 100644 index 0000000..b7b0e07 --- /dev/null +++ b/Source/TengriPlatformer/World/Interactive/TengriPendulumActor.cpp @@ -0,0 +1,128 @@ +// Request Games © All rights reserved + +#include "TengriPendulumActor.h" +#include "Components/StaticMeshComponent.h" +#include "PhysicsEngine/PhysicsConstraintComponent.h" +#include "DrawDebugHelpers.h" +#include "TengriPlatformer/World/Interactive/TengriPickupActor.h" + +ATengriPendulumActor::ATengriPendulumActor() +{ + PrimaryActorTick.bCanEverTick = true; + + // 1. SceneRoot - теперь главный. + // Он Movable, чтобы мы могли двигать актор в рантайме, если захотим. + SceneRoot = CreateDefaultSubobject(TEXT("SceneRoot")); + RootComponent = SceneRoot; + SceneRoot->SetMobility(EComponentMobility::Movable); + + // 2. AnchorMesh - крепим к руту. + // ВАЖНО: Ставим Movable. Это решает проблему с исчезновением. + // Физику выключаем, коллизию оставляем (чтобы камень мог удариться об крюк). + AnchorMesh = CreateDefaultSubobject(TEXT("AnchorMesh")); + AnchorMesh->SetupAttachment(SceneRoot); + AnchorMesh->SetMobility(EComponentMobility::Movable); + AnchorMesh->SetSimulatePhysics(false); + AnchorMesh->SetCollisionProfileName(TEXT("BlockAll")); + + // 3. SwingMesh - ТОЖЕ крепим к руту (не к анкору!). + // Это позволяет скейлить анкор, не плюща при этом свечу. + SwingMesh = CreateDefaultSubobject(TEXT("SwingMesh")); + SwingMesh->SetupAttachment(SceneRoot); + SwingMesh->SetMobility(EComponentMobility::Movable); + SwingMesh->SetSimulatePhysics(true); + SwingMesh->SetCollisionProfileName(TEXT("PhysicsActor")); + + // 4. Constraint - крепим к руту. + // Позиционируем его в (0,0,0) - там же, где и Анкор (логически). + ConstraintComp = CreateDefaultSubobject(TEXT("ConstraintComp")); + ConstraintComp->SetupAttachment(SceneRoot); + + // Настройки лимитов (те же самые) + ConstraintComp->SetDisableCollision(true); + ConstraintComp->SetLinearXLimit(LCM_Locked, 0.f); + ConstraintComp->SetLinearYLimit(LCM_Locked, 0.f); + ConstraintComp->SetLinearZLimit(LCM_Locked, 0.f); // Или Limited, если хочешь цепь + ConstraintComp->SetAngularSwing1Limit(ACM_Limited, 45.f); + ConstraintComp->SetAngularSwing2Limit(ACM_Limited, 45.f); + ConstraintComp->SetAngularTwistLimit(ACM_Locked, 0.f); +} + +void ATengriPendulumActor::BeginPlay() +{ + Super::BeginPlay(); + + // Явно связываем компоненты. + // Даже если они соседи по иерархии, констрейнт должен знать, кого держать. + if (AnchorMesh && SwingMesh && ConstraintComp) + { + ConstraintComp->SetConstrainedComponents(AnchorMesh, NAME_None, SwingMesh, NAME_None); + } + + // Подписка на хит (без изменений) + if (SwingMesh) + { + SwingMesh->OnComponentHit.AddDynamic(this, &ATengriPendulumActor::OnSwingMeshHit); + } +} + +float ATengriPendulumActor::GetCurrentSwingAngle() const +{ + if (!SwingMesh) return 0.0f; + + // Вектор "вниз" для маятника в покое + const FVector RestVector = -FVector::UpVector; + + // Текущий вектор "вниз" объекта (используем UpVector * -1 или просто ForwardVector, зависит от меша) + // Предполагаем, что меш импортирован нормально и его локальный Z смотрит вверх + const FVector CurrentVector = -SwingMesh->GetUpVector(); + + // Dot Product дает косинус угла + const float Dot = FVector::DotProduct(RestVector, CurrentVector); + + // Acos возвращает радианы -> переводим в градусы + return FMath::RadiansToDegrees(FMath::Acos(Dot)); +} + +void ATengriPendulumActor::OnSwingMeshHit(UPrimitiveComponent* HitComponent, AActor* OtherActor, UPrimitiveComponent* OtherComp, FVector NormalImpulse, const FHitResult& Hit) +{ + // Проверяем, что в нас попал именно поднимаемый предмет (камень/кость) + // Если хочешь, чтобы работало и от персонажа, убери этот каст + ATengriPickupActor* Pickup = Cast(OtherActor); + + if (Pickup) + { + // Вычисляем направление удара (от предмета к центру маятника или по нормали) + // NormalImpulse, который дает UE, иногда бывает странным для physx interaction, + // надежнее взять скорость входящего объекта. + + FVector ImpulseDir = Pickup->GetVelocity().GetSafeNormal(); + + // Если предмет уже почти остановился, берем вектор от предмета к нам + if (ImpulseDir.IsNearlyZero()) + { + ImpulseDir = (GetActorLocation() - OtherActor->GetActorLocation()).GetSafeNormal(); + } + + // "ЧИТЕРСКИЙ" ИМПУЛЬС + // Мы умножаем массу на множитель, чтобы игрок почувствовал вес удара + const float Mass = SwingMesh->GetMass(); + const FVector FinalImpulse = ImpulseDir * HitImpulseMultiplier * Mass; + + SwingMesh->AddImpulse(FinalImpulse); + + if (bDebugPhysics) + { + DrawDebugLine(GetWorld(), Hit.ImpactPoint, Hit.ImpactPoint + FinalImpulse * 0.1f, FColor::Red, false, 2.0f, 0, 2.0f); + UE_LOG(LogTemp, Warning, TEXT("Pendulum Hit! Angle: %.2f, Added Impulse Force: %.2f"), GetCurrentSwingAngle(), FinalImpulse.Size()); + } + } +} + +void ATengriPendulumActor::AddSwingImpulse(FVector Direction, float Force) +{ + if (SwingMesh) + { + SwingMesh->AddImpulse(Direction.GetSafeNormal() * Force, NAME_None, true); + } +} \ No newline at end of file diff --git a/Source/TengriPlatformer/World/Interactive/TengriPendulumActor.h b/Source/TengriPlatformer/World/Interactive/TengriPendulumActor.h new file mode 100644 index 0000000..f7bfe2f --- /dev/null +++ b/Source/TengriPlatformer/World/Interactive/TengriPendulumActor.h @@ -0,0 +1,66 @@ +// Request Games © All rights reserved + +#pragma once + +#include "CoreMinimal.h" +#include "GameFramework/Actor.h" +#include "TengriPendulumActor.generated.h" + +class UPhysicsConstraintComponent; +class UStaticMeshComponent; + +UCLASS() +class TENGRIPLATFORMER_API ATengriPendulumActor : public AActor +{ + GENERATED_BODY() + +public: + ATengriPendulumActor(); + +protected: + virtual void BeginPlay() override; + + // ════════════════════════════════════════════════════════════════════════ + // COMPONENTS + // ════════════════════════════════════════════════════════════════════════ + + UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Components") + USceneComponent* SceneRoot; + + /** Неподвижная точка крепления (крюк в потолке, балка) */ + UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Components") + UStaticMeshComponent* AnchorMesh; + + /** Подвижная часть (свеча, клетка) */ + UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Components") + UStaticMeshComponent* SwingMesh; + + /** Физический шарнир */ + UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Components") + UPhysicsConstraintComponent* ConstraintComp; + + // ════════════════════════════════════════════════════════════════════════ + // CONFIGURATION + // ════════════════════════════════════════════════════════════════════════ + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Pendulum Physics") + float HitImpulseMultiplier = 50.0f; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Pendulum Physics") + bool bDebugPhysics = false; + +public: + // ════════════════════════════════════════════════════════════════════════ + // API + // ════════════════════════════════════════════════════════════════════════ + + UFUNCTION(BlueprintPure, Category = "Pendulum Logic") + float GetCurrentSwingAngle() const; + + UFUNCTION(BlueprintCallable, Category = "Pendulum Logic") + void AddSwingImpulse(FVector Direction, float Force); + +private: + UFUNCTION() + void OnSwingMeshHit(UPrimitiveComponent* HitComponent, AActor* OtherActor, UPrimitiveComponent* OtherComp, FVector NormalImpulse, const FHitResult& Hit); +}; \ No newline at end of file diff --git a/Source/TengriPlatformer/World/Interactive/TengriPendulumActor.ts b/Source/TengriPlatformer/World/Interactive/TengriPendulumActor.ts new file mode 100644 index 0000000..70dcd47 --- /dev/null +++ b/Source/TengriPlatformer/World/Interactive/TengriPendulumActor.ts @@ -0,0 +1,5 @@ +// Source/TengriPlatformer/World/TengriPendulumActor.ts + +import { Actor } from '/TypeScript/Engine/Actor.ts'; + +export class TengriPendulumActor extends Actor {} diff --git a/Source/TengriPlatformer/World/TengriPickupActor.cpp b/Source/TengriPlatformer/World/Interactive/TengriPickupActor.cpp similarity index 100% rename from Source/TengriPlatformer/World/TengriPickupActor.cpp rename to Source/TengriPlatformer/World/Interactive/TengriPickupActor.cpp diff --git a/Source/TengriPlatformer/World/TengriPickupActor.h b/Source/TengriPlatformer/World/Interactive/TengriPickupActor.h similarity index 100% rename from Source/TengriPlatformer/World/TengriPickupActor.h rename to Source/TengriPlatformer/World/Interactive/TengriPickupActor.h diff --git a/Source/TengriPlatformer/World/TengriPickupActor.ts b/Source/TengriPlatformer/World/Interactive/TengriPickupActor.ts similarity index 66% rename from Source/TengriPlatformer/World/TengriPickupActor.ts rename to Source/TengriPlatformer/World/Interactive/TengriPickupActor.ts index c273136..e00f9a3 100644 --- a/Source/TengriPlatformer/World/TengriPickupActor.ts +++ b/Source/TengriPlatformer/World/Interactive/TengriPickupActor.ts @@ -1,5 +1,5 @@ // Source/TengriPlatformer/World/TengriPickupActor.ts -import { Actor } from '/Content/UE/Actor'; +import { Actor } from '/TypeScript/Engine/Actor.ts'; export class TengriPickupActor extends Actor {} diff --git a/Content/UE/Actor.ts b/TypeScript/Engine/Actor.ts similarity index 76% rename from Content/UE/Actor.ts rename to TypeScript/Engine/Actor.ts index fd8e3f4..57290d5 100644 --- a/Content/UE/Actor.ts +++ b/TypeScript/Engine/Actor.ts @@ -1,9 +1,9 @@ -// Content/UE/Actor.ts +// TypeScript/Engine/Actor.ts -import { Name } from '/Content/UE/Name.ts'; -import { Rotator } from '/Content/UE/Rotator.ts'; -import { UEObject } from '/Content/UE/UEObject.ts'; -import { Vector } from '/Content/UE/Vector.ts'; +import { Name } from '/TypeScript/Engine/Name.ts'; +import { Rotator } from '/TypeScript/Engine/Rotator.ts'; +import { UEObject } from '/TypeScript/Engine/UEObject.ts'; +import { Vector } from '/TypeScript/Engine/Vector.ts'; export class Actor extends UEObject { constructor(outer: UEObject | null = null, name: Name | string = Name.NONE) { diff --git a/TypeScript/Engine/ActorComponent.ts b/TypeScript/Engine/ActorComponent.ts new file mode 100644 index 0000000..26f7b1f --- /dev/null +++ b/TypeScript/Engine/ActorComponent.ts @@ -0,0 +1,23 @@ +// TypeScript/Engine/ActorComponent.ts + +import { Actor } from '/TypeScript/Engine/Actor.ts'; +import { Name } from '/TypeScript/Engine/Name.ts'; +import { UEObject } from '/TypeScript/Engine/UEObject.ts'; + +export class ActorComponent extends UEObject { + constructor(outer: UEObject | null = null, name: Name | string = Name.NONE) { + super(outer, name); + } + + public GetOwner(): Actor { + return new Actor(); + } + + public SetActive(newActive: boolean = false, reset: boolean = false): void { + console.log(newActive, reset); + } + + public SetComponentTickEnabled(enabled: boolean = false): void { + console.log(enabled); + } +} diff --git a/Content/UE/ArrowComponent.ts b/TypeScript/Engine/ArrowComponent.ts similarity index 51% rename from Content/UE/ArrowComponent.ts rename to TypeScript/Engine/ArrowComponent.ts index 0d2e4a4..0b7d495 100644 --- a/Content/UE/ArrowComponent.ts +++ b/TypeScript/Engine/ArrowComponent.ts @@ -1,7 +1,7 @@ -// Content/UE/ArrowComponent.ts +// TypeScript/Engine/ArrowComponent.ts -import { Name } from '/Content/UE/Name.ts'; -import { UEObject } from '/Content/UE/UEObject.ts'; +import { Name } from '/TypeScript/Engine/Name.ts'; +import { UEObject } from '/TypeScript/Engine/UEObject.ts'; export class ArrowComponent extends UEObject { constructor(outer: UEObject | null = null, name: Name | string = Name.NONE) { diff --git a/TypeScript/Engine/BitmaskInteger.ts b/TypeScript/Engine/BitmaskInteger.ts new file mode 100644 index 0000000..cf9e478 --- /dev/null +++ b/TypeScript/Engine/BitmaskInteger.ts @@ -0,0 +1,3 @@ +// TypeScript/Engine/BitmaskInteger.ts + +export type BitmaskInteger = number; diff --git a/Content/UE/BlueprintFunctionLibrary.ts b/TypeScript/Engine/BlueprintFunctionLibrary.ts similarity index 63% rename from Content/UE/BlueprintFunctionLibrary.ts rename to TypeScript/Engine/BlueprintFunctionLibrary.ts index a5c2805..f03e4fd 100644 --- a/Content/UE/BlueprintFunctionLibrary.ts +++ b/TypeScript/Engine/BlueprintFunctionLibrary.ts @@ -1,6 +1,6 @@ -// Content/UE/BlueprintFunctionLibrary.ts +// TypeScript/Engine/BlueprintFunctionLibrary.ts -import { UEObject } from '/Content/UE/UEObject.ts'; +import { UEObject } from '/TypeScript/Engine/UEObject.ts'; export class BlueprintFunctionLibrary extends UEObject { constructor( diff --git a/TypeScript/Engine/Border.ts b/TypeScript/Engine/Border.ts new file mode 100644 index 0000000..5c6af7d --- /dev/null +++ b/TypeScript/Engine/Border.ts @@ -0,0 +1,16 @@ +// TypeScript/Engine/Border.ts + +import { ContentWidget } from '/TypeScript/Engine/ContentWidget.ts'; +import type { LinearColor } from '/TypeScript/Engine/LinearColor.ts'; +import { Name } from '/TypeScript/Engine/Name.ts'; +import { UEObject } from '/TypeScript/Engine/UEObject.ts'; + +export class Border extends ContentWidget { + constructor(outer: UEObject | null = null, name: Name | string = Name.NONE) { + super(outer, name); + } + + public SetBrushColor(color: LinearColor): void { + console.log(color); + } +} diff --git a/TypeScript/Engine/Byte.ts b/TypeScript/Engine/Byte.ts new file mode 100644 index 0000000..29c4fd6 --- /dev/null +++ b/TypeScript/Engine/Byte.ts @@ -0,0 +1,3 @@ +// TypeScript/Engine/Byte.ts + +export type Byte = number; diff --git a/TypeScript/Engine/CameraComponent.ts b/TypeScript/Engine/CameraComponent.ts new file mode 100644 index 0000000..5271f37 --- /dev/null +++ b/TypeScript/Engine/CameraComponent.ts @@ -0,0 +1,10 @@ +// TypeScript/Engine/CameraComponent.ts + +import { SceneComponent } from '/TypeScript/Engine/SceneComponent.ts'; +import type { UEObject } from '/TypeScript/Engine/UEObject.ts'; + +export class CameraComponent extends SceneComponent { + constructor(outer: UEObject | null = null, name: string = 'None') { + super(outer, name); + } +} diff --git a/Content/UE/CapsuleComponent.ts b/TypeScript/Engine/CapsuleComponent.ts similarity index 63% rename from Content/UE/CapsuleComponent.ts rename to TypeScript/Engine/CapsuleComponent.ts index d1de73a..4df216d 100644 --- a/Content/UE/CapsuleComponent.ts +++ b/TypeScript/Engine/CapsuleComponent.ts @@ -1,7 +1,7 @@ -// Content/UE/CapsuleComponen.ts +// TypeScript/Engine/CapsuleComponen.ts -import type { Float } from '/Content/UE/Float.ts'; -import { ShapeComponent } from '/Content/UE/ShapeComponent.ts'; +import type { Float } from '/TypeScript/Engine/Float.ts'; +import { ShapeComponent } from '/TypeScript/Engine/ShapeComponent.ts'; export class CapsuleComponent extends ShapeComponent { constructor(outer: ShapeComponent | null = null, name: string = 'None') { diff --git a/Content/UE/Cast.ts b/TypeScript/Engine/Cast.ts similarity index 73% rename from Content/UE/Cast.ts rename to TypeScript/Engine/Cast.ts index e0c1ce5..61b46a9 100644 --- a/Content/UE/Cast.ts +++ b/TypeScript/Engine/Cast.ts @@ -1,4 +1,4 @@ -// Content/UE/Cast.ts +// TypeScript/Engine/Cast.ts export function Cast(obj: unknown): T | null { return (obj as T) || null; diff --git a/Content/UE/Color.ts b/TypeScript/Engine/Color.ts similarity index 54% rename from Content/UE/Color.ts rename to TypeScript/Engine/Color.ts index 902e284..9b67446 100644 --- a/Content/UE/Color.ts +++ b/TypeScript/Engine/Color.ts @@ -1,7 +1,7 @@ -// Content/UE/Color.ts +// TypeScript/Engine/Color.ts -import { StructBase } from '/Content/UE/StructBase.ts'; -import type { UInt8 } from '/Content/UE/UInt8.ts'; +import { StructBase } from '/TypeScript/Engine/StructBase.ts'; +import type { UInt8 } from '/TypeScript/Engine/UInt8.ts'; export class Color extends StructBase { constructor( diff --git a/TypeScript/Engine/ContentWidget.ts b/TypeScript/Engine/ContentWidget.ts new file mode 100644 index 0000000..2cfb625 --- /dev/null +++ b/TypeScript/Engine/ContentWidget.ts @@ -0,0 +1,11 @@ +// TypeScript/Engine/ContentWidget.ts + +import { Name } from '/TypeScript/Engine/Name.ts'; +import { PanelWidget } from '/TypeScript/Engine/PanelWidget.ts'; +import { UEObject } from '/TypeScript/Engine/UEObject.ts'; + +export class ContentWidget extends PanelWidget { + constructor(outer: UEObject | null = null, name: Name | string = Name.NONE) { + super(outer, name); + } +} diff --git a/Content/UE/Controller.ts b/TypeScript/Engine/Controller.ts similarity index 54% rename from Content/UE/Controller.ts rename to TypeScript/Engine/Controller.ts index 0af6d19..612010a 100644 --- a/Content/UE/Controller.ts +++ b/TypeScript/Engine/Controller.ts @@ -1,9 +1,9 @@ -// Content/UE/Controller.ts +// TypeScript/Engine/Controller.ts -import { Actor } from '/Content/UE/Actor.ts'; -import { Name } from '/Content/UE/Name.ts'; -import type { Rotator } from '/Content/UE/Rotator.ts'; -import { UEObject } from '/Content/UE/UEObject.ts'; +import { Actor } from '/TypeScript/Engine/Actor.ts'; +import { Name } from '/TypeScript/Engine/Name.ts'; +import type { Rotator } from '/TypeScript/Engine/Rotator.ts'; +import { UEObject } from '/TypeScript/Engine/UEObject.ts'; export class Controller extends Actor { constructor(outer: UEObject | null = null, name: Name | string = Name.NONE) { diff --git a/Content/UE/CteateWidget.ts b/TypeScript/Engine/CteateWidget.ts similarity index 64% rename from Content/UE/CteateWidget.ts rename to TypeScript/Engine/CteateWidget.ts index 7c7c793..bdcb6d2 100644 --- a/Content/UE/CteateWidget.ts +++ b/TypeScript/Engine/CteateWidget.ts @@ -1,6 +1,6 @@ -// Content/UE/CreateWidget.ts +// TypeScript/Engine/CreateWidget.ts -import type { UserWidget } from '/Content/UE/UserWidget.ts'; +import type { UserWidget } from '/TypeScript/Engine/UserWidget.ts'; type WidgetConstructor = new () => T; diff --git a/Content/UE/DataAsset.ts b/TypeScript/Engine/DataAsset.ts similarity index 51% rename from Content/UE/DataAsset.ts rename to TypeScript/Engine/DataAsset.ts index 33d763e..6b16f29 100644 --- a/Content/UE/DataAsset.ts +++ b/TypeScript/Engine/DataAsset.ts @@ -1,7 +1,7 @@ -// Content/UE/DataAsset.ts +// TypeScript/Engine/DataAsset.ts -import { Name } from '/Content/UE/Name.ts'; -import { UEObject } from '/Content/UE/UEObject.ts'; +import { Name } from '/TypeScript/Engine/Name.ts'; +import { UEObject } from '/TypeScript/Engine/UEObject.ts'; export class DataAsset extends UEObject { constructor(outer: UEObject | null = null, name: Name | string = Name.NONE) { diff --git a/TypeScript/Engine/DynamicSubsystem.ts b/TypeScript/Engine/DynamicSubsystem.ts new file mode 100644 index 0000000..e2a85f6 --- /dev/null +++ b/TypeScript/Engine/DynamicSubsystem.ts @@ -0,0 +1,11 @@ +// TypeScript/Engine/DynamicSubsystem.ts + +import { Name } from '/TypeScript/Engine/Name.ts'; +import { Subsystem } from '/TypeScript/Engine/Subsystem.ts'; +import { UEObject } from '/TypeScript/Engine/UEObject.ts'; + +export class DynamicSubsystem extends Subsystem { + constructor(outer: UEObject | null = null, name: Name | string = Name.NONE) { + super(outer, name); + } +} diff --git a/Content/UE/EFunctionalTestResult.ts b/TypeScript/Engine/EFunctionalTestResult.ts similarity index 80% rename from Content/UE/EFunctionalTestResult.ts rename to TypeScript/Engine/EFunctionalTestResult.ts index e2eaa52..b66eac2 100644 --- a/Content/UE/EFunctionalTestResult.ts +++ b/TypeScript/Engine/EFunctionalTestResult.ts @@ -1,4 +1,4 @@ -// Content/UE/EFunctionalTestResult.ts +// TypeScript/Engine/EFunctionalTestResult.ts export enum EFunctionalTestResult { 'Default' = 'Default', diff --git a/Content/UE/EHardwareDevicePrimaryType.ts b/TypeScript/Engine/EHardwareDevicePrimaryType.ts similarity index 89% rename from Content/UE/EHardwareDevicePrimaryType.ts rename to TypeScript/Engine/EHardwareDevicePrimaryType.ts index 7dcf7f1..0ff9a3e 100644 --- a/Content/UE/EHardwareDevicePrimaryType.ts +++ b/TypeScript/Engine/EHardwareDevicePrimaryType.ts @@ -1,4 +1,4 @@ -// Content/UE/EHardwareDevicePrimaryType.ts +// TypeScript/Engine/EHardwareDevicePrimaryType.ts export enum EHardwareDevicePrimaryType { Unspecified = 'Unspecified', diff --git a/Content/UE/ESlateVisibility.ts b/TypeScript/Engine/ESlateVisibility.ts similarity index 84% rename from Content/UE/ESlateVisibility.ts rename to TypeScript/Engine/ESlateVisibility.ts index 7ca9cb7..63521dc 100644 --- a/Content/UE/ESlateVisibility.ts +++ b/TypeScript/Engine/ESlateVisibility.ts @@ -1,4 +1,4 @@ -// Content/UE/ESlateVisibility.ts +// TypeScript/Engine/ESlateVisibility.ts export enum ESlateVisibility { Visible = 'Visible', diff --git a/TypeScript/Engine/EngineSubsystem.ts b/TypeScript/Engine/EngineSubsystem.ts new file mode 100644 index 0000000..d4e85a1 --- /dev/null +++ b/TypeScript/Engine/EngineSubsystem.ts @@ -0,0 +1,11 @@ +// TypeScript/Engine/EngineSubsystem.ts + +import { DynamicSubsystem } from '/TypeScript/Engine/DynamicSubsystem.ts'; +import { Name } from '/TypeScript/Engine/Name.ts'; +import { UEObject } from '/TypeScript/Engine/UEObject.ts'; + +export class EngineSubsystem extends DynamicSubsystem { + constructor(outer: UEObject | null = null, name: Name | string = Name.NONE) { + super(outer, name); + } +} diff --git a/Content/UE/EnhancedActionKeyMapping.ts b/TypeScript/Engine/EnhancedActionKeyMapping.ts similarity index 50% rename from Content/UE/EnhancedActionKeyMapping.ts rename to TypeScript/Engine/EnhancedActionKeyMapping.ts index b961e0b..6305d43 100644 --- a/Content/UE/EnhancedActionKeyMapping.ts +++ b/TypeScript/Engine/EnhancedActionKeyMapping.ts @@ -1,11 +1,11 @@ -// Content/UE/EnhancedActionKeyMapping.ts +// TypeScript/Engine/EnhancedActionKeyMapping.ts -import type { InputAction } from '/Content/UE/InputAction.ts'; -import type { InputModifier } from '/Content/UE/InputModifier.ts'; -import type { InputTrigger } from '/Content/UE/InputTrigger.ts'; -import type { Key } from '/Content/UE/Key.ts'; -import { StructBase } from '/Content/UE/StructBase.ts'; -import type { UEArray } from '/Content/UE/UEArray.ts'; +import type { InputAction } from '/TypeScript/Engine/InputAction.ts'; +import type { InputModifier } from '/TypeScript/Engine/InputModifier.ts'; +import type { InputTrigger } from '/TypeScript/Engine/InputTrigger.ts'; +import type { Key } from '/TypeScript/Engine/Key.ts'; +import { StructBase } from '/TypeScript/Engine/StructBase.ts'; +import type { UEArray } from '/TypeScript/Engine/UEArray.ts'; export class EnhancedActionKeyMapping extends StructBase { public action: InputAction; diff --git a/TypeScript/Engine/EnhancedInputLocalPlayerSubsystem.ts b/TypeScript/Engine/EnhancedInputLocalPlayerSubsystem.ts new file mode 100644 index 0000000..fd3beaf --- /dev/null +++ b/TypeScript/Engine/EnhancedInputLocalPlayerSubsystem.ts @@ -0,0 +1,22 @@ +// TypeScript/Engine/EnhancedInputLocalPlayerSubsystem.ts + +import type { InputMappingContext } from '/TypeScript/Engine/InputMappingContext.ts'; +import type { Integer } from '/TypeScript/Engine/Integer.ts'; +import { LocalPlayerSubsystem } from '/TypeScript/Engine/LocalPlayerSubsystem.ts'; +import { ModifyContextOptions } from '/TypeScript/Engine/ModifyContextOptions.ts'; +import { Name } from '/TypeScript/Engine/Name.ts'; +import { UEObject } from '/TypeScript/Engine/UEObject.ts'; + +export class EnhancedInputLocalPlayerSubsystem extends LocalPlayerSubsystem { + constructor(outer: UEObject | null = null, name: Name | string = Name.NONE) { + super(outer, name); + } + + public AddMappingContext( + mappingContent: InputMappingContext, + priority: Integer = 0, + options: ModifyContextOptions = new ModifyContextOptions(true, false, false) + ): void { + console.log(mappingContent, priority, options); + } +} diff --git a/TypeScript/Engine/Float.ts b/TypeScript/Engine/Float.ts new file mode 100644 index 0000000..b7eda96 --- /dev/null +++ b/TypeScript/Engine/Float.ts @@ -0,0 +1,3 @@ +// TypeScript/Engine/Float.ts + +export type Float = number; diff --git a/TypeScript/Engine/GameModeBase.ts b/TypeScript/Engine/GameModeBase.ts new file mode 100644 index 0000000..8cdcd53 --- /dev/null +++ b/TypeScript/Engine/GameModeBase.ts @@ -0,0 +1,11 @@ +// TypeScript/Engine/GameModeBase.ts + +import { Info } from '/TypeScript/Engine/Info.ts'; +import { Name } from '/TypeScript/Engine/Name.ts'; +import { UEObject } from '/TypeScript/Engine/UEObject.ts'; + +export class GameModeBase extends Info { + constructor(outer: UEObject | null = null, name: Name | string = Name.NONE) { + super(outer, name); + } +} diff --git a/Content/UE/HardwareDeviceIdentifier.ts b/TypeScript/Engine/HardwareDeviceIdentifier.ts similarity index 68% rename from Content/UE/HardwareDeviceIdentifier.ts rename to TypeScript/Engine/HardwareDeviceIdentifier.ts index 6d407a0..d6c94c3 100644 --- a/Content/UE/HardwareDeviceIdentifier.ts +++ b/TypeScript/Engine/HardwareDeviceIdentifier.ts @@ -1,9 +1,9 @@ -// Content/UE/HardwareDeviceIdentifier.ts +// TypeScript/Engine/HardwareDeviceIdentifier.ts -import type { BitmaskInteger } from '/Content/UE/BitmaskInteger.ts'; -import { EHardwareDevicePrimaryType } from '/Content/UE/EHardwareDevicePrimaryType.ts'; -import { Name } from '/Content/UE/Name.ts'; -import { StructBase } from '/Content/UE/StructBase.ts'; +import type { BitmaskInteger } from '/TypeScript/Engine/BitmaskInteger.ts'; +import { EHardwareDevicePrimaryType } from '/TypeScript/Engine/EHardwareDevicePrimaryType.ts'; +import { Name } from '/TypeScript/Engine/Name.ts'; +import { StructBase } from '/TypeScript/Engine/StructBase.ts'; export class HardwareDeviceIdentifier extends StructBase { public InputClassName: Name; diff --git a/TypeScript/Engine/Info.ts b/TypeScript/Engine/Info.ts new file mode 100644 index 0000000..d9b666c --- /dev/null +++ b/TypeScript/Engine/Info.ts @@ -0,0 +1,11 @@ +// TypeScript/Engine/Info.ts + +import { Actor } from '/TypeScript/Engine/Actor.ts'; +import { Name } from '/TypeScript/Engine/Name.ts'; +import { UEObject } from '/TypeScript/Engine/UEObject.ts'; + +export class Info extends Actor { + constructor(outer: UEObject | null = null, name: Name | string = Name.NONE) { + super(outer, name); + } +} diff --git a/TypeScript/Engine/InputAction.ts b/TypeScript/Engine/InputAction.ts new file mode 100644 index 0000000..112f120 --- /dev/null +++ b/TypeScript/Engine/InputAction.ts @@ -0,0 +1,11 @@ +// TypeScript/Engine/InputAction.ts + +import { DataAsset } from '/TypeScript/Engine/DataAsset.ts'; +import { Name } from '/TypeScript/Engine/Name.ts'; +import type { UEObject } from '/TypeScript/Engine/UEObject.ts'; + +export class InputAction extends DataAsset { + constructor(outer: UEObject | null = null, name: Name | string = Name.NONE) { + super(outer, name); + } +} diff --git a/Content/UE/InputDeviceSubsystem.ts b/TypeScript/Engine/InputDeviceSubsystem.ts similarity index 84% rename from Content/UE/InputDeviceSubsystem.ts rename to TypeScript/Engine/InputDeviceSubsystem.ts index 5fddb42..431c786 100644 --- a/Content/UE/InputDeviceSubsystem.ts +++ b/TypeScript/Engine/InputDeviceSubsystem.ts @@ -1,11 +1,11 @@ -// Content/UE/InputDeviceSubsystem.ts +// TypeScript/Engine/InputDeviceSubsystem.ts -import { EHardwareDevicePrimaryType } from '/Content/UE/EHardwareDevicePrimaryType.ts'; -import { EngineSubsystem } from '/Content/UE/EngineSubsystem.ts'; -import { HardwareDeviceIdentifier } from '/Content/UE/HardwareDeviceIdentifier.ts'; -import type { Integer } from '/Content/UE/Integer.ts'; -import { Name } from '/Content/UE/Name.ts'; -import { UEObject } from '/Content/UE/UEObject.ts'; +import { EHardwareDevicePrimaryType } from '/TypeScript/Engine/EHardwareDevicePrimaryType.ts'; +import { EngineSubsystem } from '/TypeScript/Engine/EngineSubsystem.ts'; +import { HardwareDeviceIdentifier } from '/TypeScript/Engine/HardwareDeviceIdentifier.ts'; +import type { Integer } from '/TypeScript/Engine/Integer.ts'; +import { Name } from '/TypeScript/Engine/Name.ts'; +import { UEObject } from '/TypeScript/Engine/UEObject.ts'; class InputDeviceSubsystemClass extends EngineSubsystem { private readonly currentDevice: HardwareDeviceIdentifier; diff --git a/TypeScript/Engine/InputMappingContext.ts b/TypeScript/Engine/InputMappingContext.ts new file mode 100644 index 0000000..6efd857 --- /dev/null +++ b/TypeScript/Engine/InputMappingContext.ts @@ -0,0 +1,26 @@ +// TypeScript/Engine/InputMappingContext.ts + +import { DataAsset } from '/TypeScript/Engine/DataAsset.ts'; +import { EnhancedActionKeyMapping } from '/TypeScript/Engine/EnhancedActionKeyMapping.ts'; +import type { InputAction } from '/TypeScript/Engine/InputAction.ts'; +import type { InputModifier } from '/TypeScript/Engine/InputModifier.ts'; +import type { InputTrigger } from '/TypeScript/Engine/InputTrigger.ts'; +import type { Key } from '/TypeScript/Engine/Key.ts'; +import { Name } from '/TypeScript/Engine/Name.ts'; +import type { UEArray } from '/TypeScript/Engine/UEArray.ts'; +import type { UEObject } from '/TypeScript/Engine/UEObject.ts'; + +export class InputMappingContext extends DataAsset { + constructor(outer: UEObject | null = null, name: Name | string = Name.NONE) { + super(outer, name); + } + + public mapKey(action: InputAction, toKey: Key): EnhancedActionKeyMapping { + return new EnhancedActionKeyMapping( + [] as unknown as UEArray, + [] as unknown as UEArray, + action, + toKey + ); + } +} diff --git a/Content/UE/InputModifier.ts b/TypeScript/Engine/InputModifier.ts similarity index 51% rename from Content/UE/InputModifier.ts rename to TypeScript/Engine/InputModifier.ts index fb3d5c1..3db32c6 100644 --- a/Content/UE/InputModifier.ts +++ b/TypeScript/Engine/InputModifier.ts @@ -1,7 +1,7 @@ -// Content/UE/InputModifier.ts +// TypeScript/Engine/InputModifier.ts -import { Name } from '/Content/UE/Name.ts'; -import { UEObject } from '/Content/UE/UEObject.ts'; +import { Name } from '/TypeScript/Engine/Name.ts'; +import { UEObject } from '/TypeScript/Engine/UEObject.ts'; export class InputModifier extends UEObject { constructor(outer: UEObject | null = null, name: Name | string = Name.NONE) { diff --git a/Content/UE/InputTrigger.ts b/TypeScript/Engine/InputTrigger.ts similarity index 51% rename from Content/UE/InputTrigger.ts rename to TypeScript/Engine/InputTrigger.ts index 325694b..b947601 100644 --- a/Content/UE/InputTrigger.ts +++ b/TypeScript/Engine/InputTrigger.ts @@ -1,7 +1,7 @@ -// Content/UE/InputTrigger.ts +// TypeScript/Engine/InputTrigger.ts -import { Name } from '/Content/UE/Name.ts'; -import { UEObject } from '/Content/UE/UEObject.ts'; +import { Name } from '/TypeScript/Engine/Name.ts'; +import { UEObject } from '/TypeScript/Engine/UEObject.ts'; export class InputTrigger extends UEObject { constructor(outer: UEObject | null = null, name: Name | string = Name.NONE) { diff --git a/TypeScript/Engine/Integer.ts b/TypeScript/Engine/Integer.ts new file mode 100644 index 0000000..67e7fb7 --- /dev/null +++ b/TypeScript/Engine/Integer.ts @@ -0,0 +1,3 @@ +// TypeScript/Engine/Integer.ts + +export type Integer = number; diff --git a/Content/UE/Key.ts b/TypeScript/Engine/Key.ts similarity index 64% rename from Content/UE/Key.ts rename to TypeScript/Engine/Key.ts index c4c91d6..b6e4630 100644 --- a/Content/UE/Key.ts +++ b/TypeScript/Engine/Key.ts @@ -1,7 +1,7 @@ -// Content/UE/Key.ts +// TypeScript/Engine/Key.ts -import { Name } from '/Content/UE/Name.ts'; -import { StructBase } from '/Content/UE/StructBase.ts'; +import { Name } from '/TypeScript/Engine/Name.ts'; +import { StructBase } from '/TypeScript/Engine/StructBase.ts'; export class Key extends StructBase { public keyName: Name; diff --git a/Content/UE/LinearColor.ts b/TypeScript/Engine/LinearColor.ts similarity index 65% rename from Content/UE/LinearColor.ts rename to TypeScript/Engine/LinearColor.ts index 40b250e..60525ce 100644 --- a/Content/UE/LinearColor.ts +++ b/TypeScript/Engine/LinearColor.ts @@ -1,7 +1,7 @@ -// Content/UE/LinearColor.ts +// TypeScript/Engine/LinearColor.ts -import type { Float } from '/Content/UE/Float.ts'; -import { StructBase } from '/Content/UE/StructBase.ts'; +import type { Float } from '/TypeScript/Engine/Float.ts'; +import { StructBase } from '/TypeScript/Engine/StructBase.ts'; export class LinearColor extends StructBase { public A: Float = 0; diff --git a/TypeScript/Engine/LocalPlayerSubsystem.ts b/TypeScript/Engine/LocalPlayerSubsystem.ts new file mode 100644 index 0000000..c267f95 --- /dev/null +++ b/TypeScript/Engine/LocalPlayerSubsystem.ts @@ -0,0 +1,11 @@ +// TypeScript/Engine/LocalPlayerSubsystem.ts + +import { Name } from '/TypeScript/Engine/Name.ts'; +import { Subsystem } from '/TypeScript/Engine/Subsystem.ts'; +import { UEObject } from '/TypeScript/Engine/UEObject.ts'; + +export class LocalPlayerSubsystem extends Subsystem { + constructor(outer: UEObject | null = null, name: Name | string = Name.NONE) { + super(outer, name); + } +} diff --git a/Content/UE/MathLibrary.ts b/TypeScript/Engine/MathLibrary.ts similarity index 94% rename from Content/UE/MathLibrary.ts rename to TypeScript/Engine/MathLibrary.ts index aadf960..df3e98d 100644 --- a/Content/UE/MathLibrary.ts +++ b/TypeScript/Engine/MathLibrary.ts @@ -1,10 +1,10 @@ -// Content/UE/SystemLibrary.ts +// TypeScript/Engine/SystemLibrary.ts -import { BlueprintFunctionLibrary } from '/Content/UE/BlueprintFunctionLibrary.ts'; -import type { Color } from '/Content/UE/Color.ts'; -import type { Float } from '/Content/UE/Float.ts'; -import { LinearColor } from '/Content/UE/LinearColor.ts'; -import { Vector } from '/Content/UE/Vector.ts'; +import { BlueprintFunctionLibrary } from '/TypeScript/Engine/BlueprintFunctionLibrary.ts'; +import type { Color } from '/TypeScript/Engine/Color.ts'; +import type { Float } from '/TypeScript/Engine/Float.ts'; +import { LinearColor } from '/TypeScript/Engine/LinearColor.ts'; +import { Vector } from '/TypeScript/Engine/Vector.ts'; /** * System Library: Core Mathematical Functions diff --git a/Content/UE/ModifyContextOptions.ts b/TypeScript/Engine/ModifyContextOptions.ts similarity index 83% rename from Content/UE/ModifyContextOptions.ts rename to TypeScript/Engine/ModifyContextOptions.ts index 6954b1b..5887804 100644 --- a/Content/UE/ModifyContextOptions.ts +++ b/TypeScript/Engine/ModifyContextOptions.ts @@ -1,6 +1,6 @@ -// Content/UE/ModifyContextOptions.ts +// TypeScript/Engine/ModifyContextOptions.ts -import { StructBase } from '/Content/UE/StructBase.ts'; +import { StructBase } from '/TypeScript/Engine/StructBase.ts'; export class ModifyContextOptions extends StructBase { public forceImmediately: boolean = false; diff --git a/Content/UE/Name.ts b/TypeScript/Engine/Name.ts similarity index 76% rename from Content/UE/Name.ts rename to TypeScript/Engine/Name.ts index d35e862..ece98ed 100644 --- a/Content/UE/Name.ts +++ b/TypeScript/Engine/Name.ts @@ -1,6 +1,6 @@ -// Content/UE/Name.ts +// TypeScript/Engine/Name.ts -import { _WrapperBase } from '/Content/UE/_WrapperBase.ts'; +import { _WrapperBase } from '/TypeScript/Engine/_WrapperBase.ts'; export class Name extends _WrapperBase { private readonly value: string; diff --git a/TypeScript/Engine/PanelSlot.ts b/TypeScript/Engine/PanelSlot.ts new file mode 100644 index 0000000..c0e1ab0 --- /dev/null +++ b/TypeScript/Engine/PanelSlot.ts @@ -0,0 +1,11 @@ +// TypeScript/Engine/PanelSlot.ts + +import { Name } from '/TypeScript/Engine/Name.ts'; +import { UEObject } from '/TypeScript/Engine/UEObject.ts'; +import { Visual } from '/TypeScript/Engine/Visual.ts'; + +export class PanelSlot extends Visual { + constructor(outer: UEObject | null = null, name: Name | string = Name.NONE) { + super(outer, name); + } +} diff --git a/TypeScript/Engine/PanelWidget.ts b/TypeScript/Engine/PanelWidget.ts new file mode 100644 index 0000000..cb5a23e --- /dev/null +++ b/TypeScript/Engine/PanelWidget.ts @@ -0,0 +1,17 @@ +// TypeScript/Engine/PanelWidget.ts + +import { Name } from '/TypeScript/Engine/Name.ts'; +import { PanelSlot } from '/TypeScript/Engine/PanelSlot.ts'; +import { UEObject } from '/TypeScript/Engine/UEObject.ts'; +import { Widget } from '/TypeScript/Engine/Widget.ts'; + +export class PanelWidget extends Widget { + constructor(outer: UEObject | null = null, name: Name | string = Name.NONE) { + super(outer, name); + } + + public AddChild(content: Widget): PanelSlot { + console.log(content); + return new PanelSlot(); + } +} diff --git a/Content/UE/Pawn.ts b/TypeScript/Engine/Pawn.ts similarity index 55% rename from Content/UE/Pawn.ts rename to TypeScript/Engine/Pawn.ts index 8bd3a55..5dfb194 100644 --- a/Content/UE/Pawn.ts +++ b/TypeScript/Engine/Pawn.ts @@ -1,11 +1,11 @@ -// Content/UE/Pawn.ts +// TypeScript/Engine/Pawn.ts -import { Actor } from '/Content/UE/Actor.ts'; -import { Controller } from '/Content/UE/Controller.ts'; -import { Name } from '/Content/UE/Name.ts'; -import { Rotator } from '/Content/UE/Rotator.ts'; -import { UEObject } from '/Content/UE/UEObject.ts'; -import type { Float } from '/Content/UE/Float.ts'; +import { Actor } from '/TypeScript/Engine/Actor.ts'; +import { Controller } from '/TypeScript/Engine/Controller.ts'; +import { Name } from '/TypeScript/Engine/Name.ts'; +import { Rotator } from '/TypeScript/Engine/Rotator.ts'; +import { UEObject } from '/TypeScript/Engine/UEObject.ts'; +import type { Float } from '/TypeScript/Engine/Float.ts'; export class Pawn extends Actor { constructor(outer: UEObject | null = null, name: Name | string = Name.NONE) { diff --git a/TypeScript/Engine/PlayerController.ts b/TypeScript/Engine/PlayerController.ts new file mode 100644 index 0000000..8002bd8 --- /dev/null +++ b/TypeScript/Engine/PlayerController.ts @@ -0,0 +1,11 @@ +// TypeScript/Engine/PlayerController.ts + +import { Controller } from '/TypeScript/Engine/Controller.ts'; +import { Name } from '/TypeScript/Engine/Name.ts'; +import { UEObject } from '/TypeScript/Engine/UEObject.ts'; + +export class PlayerController extends Controller { + constructor(outer: UEObject | null = null, name: Name | string = Name.NONE) { + super(outer, name); + } +} diff --git a/TypeScript/Engine/PrimaryDataAsset.ts b/TypeScript/Engine/PrimaryDataAsset.ts new file mode 100644 index 0000000..9a754f4 --- /dev/null +++ b/TypeScript/Engine/PrimaryDataAsset.ts @@ -0,0 +1,11 @@ +// TypeScript/Engine/PrimaryDataAsset.ts + +import { DataAsset } from '/TypeScript/Engine/DataAsset.ts'; +import { Name } from '/TypeScript/Engine/Name.ts'; +import { UEObject } from '/TypeScript/Engine/UEObject.ts'; + +export class PrimaryDataAsset extends DataAsset { + constructor(outer: UEObject | null = null, name: Name | string = Name.NONE) { + super(outer, name); + } +} diff --git a/Content/UE/PrimitiveComponent.ts b/TypeScript/Engine/PrimitiveComponent.ts similarity index 59% rename from Content/UE/PrimitiveComponent.ts rename to TypeScript/Engine/PrimitiveComponent.ts index 1bba44c..70a2bf3 100644 --- a/Content/UE/PrimitiveComponent.ts +++ b/TypeScript/Engine/PrimitiveComponent.ts @@ -1,6 +1,6 @@ -// Content/UE/PrimitiveComponent.ts +// TypeScript/Engine/PrimitiveComponent.ts -import { SceneComponent } from '/Content/UE/SceneComponent.ts'; +import { SceneComponent } from '/TypeScript/Engine/SceneComponent.ts'; export class PrimitiveComponent extends SceneComponent { constructor(outer: SceneComponent | null = null, name: string = 'None') { diff --git a/Content/UE/Rotator.ts b/TypeScript/Engine/Rotator.ts similarity index 52% rename from Content/UE/Rotator.ts rename to TypeScript/Engine/Rotator.ts index a19d79b..354b102 100644 --- a/Content/UE/Rotator.ts +++ b/TypeScript/Engine/Rotator.ts @@ -1,7 +1,7 @@ -// Content/UE/Rotator.ts +// TypeScript/Engine/Rotator.ts -import type { Float } from '/Content/UE/Float.ts'; -import { StructBase } from '/Content/UE/StructBase.ts'; +import type { Float } from '/TypeScript/Engine/Float.ts'; +import { StructBase } from '/TypeScript/Engine/StructBase.ts'; export class Rotator extends StructBase { constructor( diff --git a/TypeScript/Engine/SceneComponent.ts b/TypeScript/Engine/SceneComponent.ts new file mode 100644 index 0000000..7b5cf02 --- /dev/null +++ b/TypeScript/Engine/SceneComponent.ts @@ -0,0 +1,11 @@ +// TypeScript/Engine/SceneComponent.ts + +import { ActorComponent } from '/TypeScript/Engine/ActorComponent.ts'; +import { Name } from '/TypeScript/Engine/Name.ts'; +import { UEObject } from '/TypeScript/Engine/UEObject.ts'; + +export class SceneComponent extends ActorComponent { + constructor(outer: UEObject | null = null, name: Name | string = Name.NONE) { + super(outer, name); + } +} diff --git a/Content/UE/ShapeComponent.ts b/TypeScript/Engine/ShapeComponent.ts similarity index 58% rename from Content/UE/ShapeComponent.ts rename to TypeScript/Engine/ShapeComponent.ts index f6d63cb..ab2ba50 100644 --- a/Content/UE/ShapeComponent.ts +++ b/TypeScript/Engine/ShapeComponent.ts @@ -1,6 +1,6 @@ -// Content/UE/ShapeComponent.ts +// TypeScript/Engine/ShapeComponent.ts -import { PrimitiveComponent } from '/Content/UE/PrimitiveComponent.ts'; +import { PrimitiveComponent } from '/TypeScript/Engine/PrimitiveComponent.ts'; export class ShapeComponent extends PrimitiveComponent { constructor(outer: PrimitiveComponent | null = null, name: string = 'None') { diff --git a/TypeScript/Engine/SkeletalMesh.ts b/TypeScript/Engine/SkeletalMesh.ts new file mode 100644 index 0000000..9650584 --- /dev/null +++ b/TypeScript/Engine/SkeletalMesh.ts @@ -0,0 +1,11 @@ +// TypeScript/Engine/SkeletalMesh.ts + +import { SkinnedAsset } from '/TypeScript/Engine/SkinnedAsset.ts'; +import { UEObject } from '/TypeScript/Engine/UEObject.ts'; +import { Name } from '/TypeScript/Engine/Name.ts'; + +export class SkeletalMesh extends SkinnedAsset { + constructor(outer: UEObject | null = null, name: Name | string = Name.NONE) { + super(outer, name); + } +} diff --git a/TypeScript/Engine/SkinnedAsset.ts b/TypeScript/Engine/SkinnedAsset.ts new file mode 100644 index 0000000..5c2539c --- /dev/null +++ b/TypeScript/Engine/SkinnedAsset.ts @@ -0,0 +1,11 @@ +// TypeScript/Engine/SkinnedAsset.ts + +import { StreamableRenderAsset } from '/TypeScript/Engine/StreamableRenderAsset.ts'; +import { UEObject } from '/TypeScript/Engine/UEObject.ts'; +import { Name } from '/TypeScript/Engine/Name.ts'; + +export class SkinnedAsset extends StreamableRenderAsset { + constructor(outer: UEObject | null = null, name: Name | string = Name.NONE) { + super(outer, name); + } +} diff --git a/Content/UE/SpringArmComponent.ts b/TypeScript/Engine/SpringArmComponent.ts similarity index 51% rename from Content/UE/SpringArmComponent.ts rename to TypeScript/Engine/SpringArmComponent.ts index 2474625..ef69226 100644 --- a/Content/UE/SpringArmComponent.ts +++ b/TypeScript/Engine/SpringArmComponent.ts @@ -1,9 +1,9 @@ -// Content/UE/SpringArmComponent.ts +// TypeScript/Engine/SpringArmComponent.ts -import { SceneComponent } from '/Content/UE/SceneComponent.ts'; -import type { UEObject } from '/Content/UE/UEObject.ts'; -import type { Float } from '/Content/UE/Float.ts'; -import { Vector } from '/Content/UE/Vector.ts'; +import { SceneComponent } from '/TypeScript/Engine/SceneComponent.ts'; +import type { UEObject } from '/TypeScript/Engine/UEObject.ts'; +import type { Float } from '/TypeScript/Engine/Float.ts'; +import { Vector } from '/TypeScript/Engine/Vector.ts'; export class SpringArmComponent extends SceneComponent { constructor(outer: UEObject | null = null, name: string = 'None') { diff --git a/Content/UE/StreamableRenderAsset.ts b/TypeScript/Engine/StreamableRenderAsset.ts similarity index 51% rename from Content/UE/StreamableRenderAsset.ts rename to TypeScript/Engine/StreamableRenderAsset.ts index 4b656b0..e20f4d9 100644 --- a/Content/UE/StreamableRenderAsset.ts +++ b/TypeScript/Engine/StreamableRenderAsset.ts @@ -1,7 +1,7 @@ -// Content/UE/StreamableRenderAsset.ts +// TypeScript/Engine/StreamableRenderAsset.ts -import { Name } from '/Content/UE/Name.ts'; -import { UEObject } from '/Content/UE/UEObject.ts'; +import { Name } from '/TypeScript/Engine/Name.ts'; +import { UEObject } from '/TypeScript/Engine/UEObject.ts'; export class StreamableRenderAsset extends UEObject { constructor(outer: UEObject | null = null, name: Name | string = Name.NONE) { diff --git a/TypeScript/Engine/StructBase.ts b/TypeScript/Engine/StructBase.ts new file mode 100644 index 0000000..83c7859 --- /dev/null +++ b/TypeScript/Engine/StructBase.ts @@ -0,0 +1,11 @@ +// TypeScript/Engine/StructBase.ts + +import { _WrapperBase } from '/TypeScript/Engine/_WrapperBase.ts'; +import { Name } from '/TypeScript/Engine/Name.ts'; +import { UEObject } from '/TypeScript/Engine/UEObject.ts'; + +export class StructBase extends _WrapperBase { + constructor(outer: UEObject | null = null, name: Name | string = Name.NONE) { + super(outer, name); + } +} diff --git a/Content/UE/Subsystem.ts b/TypeScript/Engine/Subsystem.ts similarity index 51% rename from Content/UE/Subsystem.ts rename to TypeScript/Engine/Subsystem.ts index 97aff71..c284c77 100644 --- a/Content/UE/Subsystem.ts +++ b/TypeScript/Engine/Subsystem.ts @@ -1,7 +1,7 @@ -// Content/UE/Subsystem.ts +// TypeScript/Engine/Subsystem.ts -import { Name } from '/Content/UE/Name.ts'; -import { UEObject } from '/Content/UE/UEObject.ts'; +import { Name } from '/TypeScript/Engine/Name.ts'; +import { UEObject } from '/TypeScript/Engine/UEObject.ts'; export class Subsystem extends UEObject { constructor(outer: UEObject | null = null, name: Name | string = Name.NONE) { diff --git a/Content/UE/SystemLibrary.ts b/TypeScript/Engine/SystemLibrary.ts similarity index 78% rename from Content/UE/SystemLibrary.ts rename to TypeScript/Engine/SystemLibrary.ts index 091e51d..a3fc313 100644 --- a/Content/UE/SystemLibrary.ts +++ b/TypeScript/Engine/SystemLibrary.ts @@ -1,10 +1,10 @@ -// Content/UE/SystemLibrary.ts +// TypeScript/Engine/SystemLibrary.ts -import { BlueprintFunctionLibrary } from '/Content/UE/BlueprintFunctionLibrary.ts'; -import type { Float } from '/Content/UE/Float.ts'; -import { LinearColor } from '/Content/UE/LinearColor.ts'; -import { Name } from '/Content/UE/Name.ts'; -import type { UEObject } from '/Content/UE/UEObject.ts'; +import { BlueprintFunctionLibrary } from '/TypeScript/Engine/BlueprintFunctionLibrary.ts'; +import type { Float } from '/TypeScript/Engine/Float.ts'; +import { LinearColor } from '/TypeScript/Engine/LinearColor.ts'; +import { Name } from '/TypeScript/Engine/Name.ts'; +import type { UEObject } from '/TypeScript/Engine/UEObject.ts'; class SystemLibraryClass extends BlueprintFunctionLibrary { constructor( diff --git a/TypeScript/Engine/Text.ts b/TypeScript/Engine/Text.ts new file mode 100644 index 0000000..fd4edb2 --- /dev/null +++ b/TypeScript/Engine/Text.ts @@ -0,0 +1,3 @@ +// TypeScript/Engine/Text.ts + +export type Text = string; diff --git a/Content/UE/TextBlock.ts b/TypeScript/Engine/TextBlock.ts similarity index 51% rename from Content/UE/TextBlock.ts rename to TypeScript/Engine/TextBlock.ts index a03ecf8..dac8267 100644 --- a/Content/UE/TextBlock.ts +++ b/TypeScript/Engine/TextBlock.ts @@ -1,9 +1,9 @@ -// Content/UE/TextBlock.ts +// TypeScript/Engine/TextBlock.ts -import { Name } from '/Content/UE/Name.ts'; -import type { Text } from '/Content/UE/Text.ts'; -import { TextLayoutWidget } from '/Content/UE/TextLayoutWidget.ts'; -import { UEObject } from '/Content/UE/UEObject.ts'; +import { Name } from '/TypeScript/Engine/Name.ts'; +import type { Text } from '/TypeScript/Engine/Text.ts'; +import { TextLayoutWidget } from '/TypeScript/Engine/TextLayoutWidget.ts'; +import { UEObject } from '/TypeScript/Engine/UEObject.ts'; export class TextBlock extends TextLayoutWidget { private text: Text = '' as Text; diff --git a/TypeScript/Engine/TextLayoutWidget.ts b/TypeScript/Engine/TextLayoutWidget.ts new file mode 100644 index 0000000..3048e31 --- /dev/null +++ b/TypeScript/Engine/TextLayoutWidget.ts @@ -0,0 +1,11 @@ +// TypeScript/Engine/TextLayoutWidget.ts + +import { Name } from '/TypeScript/Engine/Name.ts'; +import { UEObject } from '/TypeScript/Engine/UEObject.ts'; +import { Widget } from '/TypeScript/Engine/Widget.ts'; + +export class TextLayoutWidget extends Widget { + constructor(outer: UEObject | null = null, name: Name | string = Name.NONE) { + super(outer, name); + } +} diff --git a/Content/UE/TextLibrary.ts b/TypeScript/Engine/TextLibrary.ts similarity index 67% rename from Content/UE/TextLibrary.ts rename to TypeScript/Engine/TextLibrary.ts index c858ca9..d490df1 100644 --- a/Content/UE/TextLibrary.ts +++ b/TypeScript/Engine/TextLibrary.ts @@ -1,7 +1,7 @@ -// Content/UE/TextLibrary.ts +// TypeScript/Engine/TextLibrary.ts -import { BlueprintFunctionLibrary } from '/Content/UE/BlueprintFunctionLibrary.ts'; -import type { Text } from '/Content/UE/Text.ts'; +import { BlueprintFunctionLibrary } from '/TypeScript/Engine/BlueprintFunctionLibrary.ts'; +import type { Text } from '/TypeScript/Engine/Text.ts'; class TextLibraryClass extends BlueprintFunctionLibrary { constructor( diff --git a/Content/UE/UEArray.ts b/TypeScript/Engine/UEArray.ts similarity index 89% rename from Content/UE/UEArray.ts rename to TypeScript/Engine/UEArray.ts index fdc87ed..200a868 100644 --- a/Content/UE/UEArray.ts +++ b/TypeScript/Engine/UEArray.ts @@ -1,6 +1,6 @@ -// Content/UE/UEArray.ts +// TypeScript/Engine/UEArray.ts -import type { Integer } from '/Content/UE/Integer.ts'; +import type { Integer } from '/TypeScript/Engine/Integer.ts'; export class UEArray extends Array { constructor(items?: T[]) { diff --git a/Content/UE/UEObject.ts b/TypeScript/Engine/UEObject.ts similarity index 78% rename from Content/UE/UEObject.ts rename to TypeScript/Engine/UEObject.ts index 5f456ff..48d9745 100644 --- a/Content/UE/UEObject.ts +++ b/TypeScript/Engine/UEObject.ts @@ -1,6 +1,6 @@ -// Content/UE/UEObject.ts +// TypeScript/Engine/UEObject.ts -import { Name } from '/Content/UE/Name.ts'; +import { Name } from '/TypeScript/Engine/Name.ts'; export class UEObject { protected outer: UEObject | null; diff --git a/TypeScript/Engine/UInt8.ts b/TypeScript/Engine/UInt8.ts new file mode 100644 index 0000000..139baba --- /dev/null +++ b/TypeScript/Engine/UInt8.ts @@ -0,0 +1,3 @@ +// TypeScript/Engine/UInt8.ts + +export type UInt8 = number; diff --git a/Content/UE/UserWidget.ts b/TypeScript/Engine/UserWidget.ts similarity index 53% rename from Content/UE/UserWidget.ts rename to TypeScript/Engine/UserWidget.ts index 7e53172..aeca2d1 100644 --- a/Content/UE/UserWidget.ts +++ b/TypeScript/Engine/UserWidget.ts @@ -1,8 +1,8 @@ -// Content/UE/UserWidget.ts +// TypeScript/Engine/UserWidget.ts -import { Name } from '/Content/UE/Name.ts'; -import { UEObject } from '/Content/UE/UEObject.ts'; -import { Widget } from '/Content/UE/Widget.ts'; +import { Name } from '/TypeScript/Engine/Name.ts'; +import { UEObject } from '/TypeScript/Engine/UEObject.ts'; +import { Widget } from '/TypeScript/Engine/Widget.ts'; export class UserWidget extends Widget { constructor(outer: UEObject | null = null, name: Name | string = Name.NONE) { diff --git a/Content/UE/Vector.ts b/TypeScript/Engine/Vector.ts similarity index 55% rename from Content/UE/Vector.ts rename to TypeScript/Engine/Vector.ts index ee9fe7b..2058e0a 100644 --- a/Content/UE/Vector.ts +++ b/TypeScript/Engine/Vector.ts @@ -1,8 +1,8 @@ -// Content/UE/Vector.ts +// TypeScript/Engine/Vector.ts -import type { Float } from '/Content/UE/Float.ts'; -import { Name } from '/Content/UE/Name.ts'; -import { StructBase } from '/Content/UE/StructBase.ts'; +import type { Float } from '/TypeScript/Engine/Float.ts'; +import { Name } from '/TypeScript/Engine/Name.ts'; +import { StructBase } from '/TypeScript/Engine/StructBase.ts'; export class Vector extends StructBase { public X: Float = 0; diff --git a/TypeScript/Engine/VerticalBox.ts b/TypeScript/Engine/VerticalBox.ts new file mode 100644 index 0000000..2b17524 --- /dev/null +++ b/TypeScript/Engine/VerticalBox.ts @@ -0,0 +1,11 @@ +// TypeScript/Engine/VerticalBox.ts + +import { Name } from '/TypeScript/Engine/Name.ts'; +import { PanelWidget } from '/TypeScript/Engine/PanelWidget.ts'; +import { UEObject } from '/TypeScript/Engine/UEObject.ts'; + +export class VerticalBox extends PanelWidget { + constructor(outer: UEObject | null = null, name: Name | string = Name.NONE) { + super(outer, name); + } +} diff --git a/Content/UE/Visual.ts b/TypeScript/Engine/Visual.ts similarity index 51% rename from Content/UE/Visual.ts rename to TypeScript/Engine/Visual.ts index 7c1aad3..db08f43 100644 --- a/Content/UE/Visual.ts +++ b/TypeScript/Engine/Visual.ts @@ -1,7 +1,7 @@ -// Content/UE/Visual.ts +// TypeScript/Engine/Visual.ts -import { Name } from '/Content/UE/Name.ts'; -import { UEObject } from '/Content/UE/UEObject.ts'; +import { Name } from '/TypeScript/Engine/Name.ts'; +import { UEObject } from '/TypeScript/Engine/UEObject.ts'; export class Visual extends UEObject { constructor(outer: UEObject | null = null, name: Name | string = Name.NONE) { diff --git a/Content/UE/Widget.ts b/TypeScript/Engine/Widget.ts similarity index 54% rename from Content/UE/Widget.ts rename to TypeScript/Engine/Widget.ts index 442d1ec..513997b 100644 --- a/Content/UE/Widget.ts +++ b/TypeScript/Engine/Widget.ts @@ -1,9 +1,9 @@ -// Content/UE/Widget.ts +// TypeScript/Engine/Widget.ts -import type { ESlateVisibility } from '/Content/UE/ESlateVisibility.ts'; -import { Name } from '/Content/UE/Name.ts'; -import { UEObject } from '/Content/UE/UEObject.ts'; -import { Visual } from '/Content/UE/Visual.ts'; +import type { ESlateVisibility } from '/TypeScript/Engine/ESlateVisibility.ts'; +import { Name } from '/TypeScript/Engine/Name.ts'; +import { UEObject } from '/TypeScript/Engine/UEObject.ts'; +import { Visual } from '/TypeScript/Engine/Visual.ts'; export class Widget extends Visual { constructor(outer: UEObject | null = null, name: Name | string = Name.NONE) { diff --git a/Content/UE/_WrapperBase.ts b/TypeScript/Engine/_WrapperBase.ts similarity index 51% rename from Content/UE/_WrapperBase.ts rename to TypeScript/Engine/_WrapperBase.ts index 150f8e7..0b427eb 100644 --- a/Content/UE/_WrapperBase.ts +++ b/TypeScript/Engine/_WrapperBase.ts @@ -1,7 +1,7 @@ -// Content/UE/_WrapperBase.ts +// TypeScript/Engine/_WrapperBase.ts -import { Name } from '/Content/UE/Name.ts'; -import { UEObject } from '/Content/UE/UEObject.ts'; +import { Name } from '/TypeScript/Engine/Name.ts'; +import { UEObject } from '/TypeScript/Engine/UEObject.ts'; export class _WrapperBase extends UEObject { constructor(outer: UEObject | null = null, name: Name | string = Name.NONE) {