diff --git a/Content/Blueprints/Pawns/BP_PawnTank.uasset b/Content/Blueprints/Pawns/BP_PawnTank.uasset new file mode 100644 index 0000000..1e85dbc Binary files /dev/null and b/Content/Blueprints/Pawns/BP_PawnTank.uasset differ diff --git a/Content/Blueprints/Pawns/BP_PawnTurret.uasset b/Content/Blueprints/Pawns/BP_PawnTurret.uasset new file mode 100644 index 0000000..0934d88 Binary files /dev/null and b/Content/Blueprints/Pawns/BP_PawnTurret.uasset differ diff --git a/Content/Maps/Main.umap b/Content/Maps/Main.umap index adedd2f..f056eef 100644 Binary files a/Content/Maps/Main.umap and b/Content/Maps/Main.umap differ diff --git a/Source/ToonTanks/BasePawn.cpp b/Source/ToonTanks/BasePawn.cpp index f267e44..c3b407a 100644 --- a/Source/ToonTanks/BasePawn.cpp +++ b/Source/ToonTanks/BasePawn.cpp @@ -1,6 +1,7 @@ // Fill out your copyright notice in the Description page of Project Settings. +#include "Components/CapsuleComponent.h" #include "BasePawn.h" // Sets default values @@ -9,6 +10,18 @@ ABasePawn::ABasePawn() // Set this pawn to call Tick() every frame. You can turn this off to improve performance if you don't need it. PrimaryActorTick.bCanEverTick = true; + CapsuleComp = CreateDefaultSubobject(TEXT("Capsule Collider")); + RootComponent = CapsuleComp; + + BaseMesh = CreateDefaultSubobject(TEXT("Base Mesh")); + BaseMesh->SetupAttachment(CapsuleComp); + + TurretMesh = CreateDefaultSubobject(TEXT("Turret Mesh")); + TurretMesh->SetupAttachment(BaseMesh); + + ProjectileSpawnPoint = CreateDefaultSubobject(TEXT("Spawn Point")); + ProjectileSpawnPoint->SetupAttachment(TurretMesh); + } // Called when the game starts or when spawned diff --git a/Source/ToonTanks/BasePawn.h b/Source/ToonTanks/BasePawn.h index 6fc3730..268edf1 100644 --- a/Source/ToonTanks/BasePawn.h +++ b/Source/ToonTanks/BasePawn.h @@ -14,15 +14,49 @@ class TOONTANKS_API ABasePawn : public APawn public: // Sets default values for this pawn's properties ABasePawn(); + + //test uprops + UPROPERTY(VisibleInstanceOnly) + int32 VisibleIstanceOnlyInt = 11; + + UPROPERTY(EditAnywhere, BlueprintReadOnly) + int32 EditAnywhereInt = 22; + + UPROPERTY(VisibleDefaultsOnly) + int32 VisibleDefaultOnlyInt = 5; + + UPROPERTY(EditDefaultsOnly) + int32 EditDefaultsOnlyInt = 9; + + UPROPERTY(EditInstanceOnly) + int32 EditInstanceOnlyInt = 14; + protected: // Called when the game starts or when spawned virtual void BeginPlay() override; private: - UPROPERTY() + + UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Components", meta = (AllowPrivateAccess = "true")) class UCapsuleComponent* CapsuleComp; + UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Components", meta = (AllowPrivateAccess = "true")) + UStaticMeshComponent* BaseMesh; + + UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Components", meta = (AllowPrivateAccess = "true")) + UStaticMeshComponent* TurretMesh; + + UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Components", meta = (AllowPrivateAccess = "true")) + USceneComponent* ProjectileSpawnPoint; + + //test uprops showing all that you can do with them + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Super Duper Variables", meta = (AllowPrivateAccess = "true")) + float Speed = 400.f; + + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Super Duper Variables", meta = (AllowPrivateAccess = "true")) + int32 VisibleAnywhere = 12; + public: // Called every frame virtual void Tick(float DeltaTime) override;