Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Fill out your copyright notice in the Description page of Project Settings.
- #include "DinoRampage.h"
- #include "BlockSpawner.h"
- #include "DinoRampageCharacter.h"
- #include "Engine.h"
- // Sets default values
- ABlockSpawner::ABlockSpawner()
- {
- // Set this actor to call Tick() every frame. You can turn this off to improve performance if you don't need it.
- PrimaryActorTick.bCanEverTick = true;
- static ConstructorHelpers::FObjectFinder<UClass> pyramidBlocksFinder(TEXT("Blueprint'/Game/Blueprints/pyramidBlocks.pyramidBlocks'"));
- pyramidBlocks = pyramidBlocksFinder.Object;
- static ConstructorHelpers::FObjectFinder<UClass> singleBlockFinder(TEXT("Blueprint'/Game/Blueprints/singleBlock.singleBlock'"));
- singleBlock = singleBlockFinder.Object;
- static ConstructorHelpers::FObjectFinder<UClass> upBridgeFinder(TEXT("Blueprint'/Game/Blueprints/upBridge.upBridge'"));
- upBridge = upBridgeFinder.Object;
- }
- // Called when the game starts or when spawned
- void ABlockSpawner::BeginPlay()
- {
- Super::BeginPlay();
- World = GetWorld();
- GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Blue, TEXT("Welcome to v1.11"));
- }
- // Called every frame
- void ABlockSpawner::Tick( float DeltaTime )
- {
- Super::Tick( DeltaTime );
- //int count = 0;
- count = count + 1;
- //GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Blue, TEXT("count is ") + FString::FromInt(count));
- FVector CharacterLoc;
- ADinoRampageCharacter* DinoRampageCharacter;
- ABlockSpawner* spawnBlock1;
- if(count == 300) {
- int selector = rand() % 3 + 1;
- GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Blue, TEXT("rand number is ") + FString::FromInt(selector));
- switch (selector){
- case 1:
- DinoRampageCharacter = Cast<ADinoRampageCharacter>(GWorld->GetFirstPlayerController()->GetPawn());;
- CharacterLoc = DinoRampageCharacter->GetActorLocation();
- spawnLoc.X = CharacterLoc.X;
- spawnLoc.Y = CharacterLoc.Y;
- spawnLoc.Z = CharacterLoc.Z;
- GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Blue, TEXT("trying to spawn"));
- //GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Blue, TEXT("spawn x: ") + FString::FromInt(spawnLoc.X));
- //GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Blue, TEXT("spawn y: ") + FString::FromInt(spawnLoc.Y));
- //GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Blue, TEXT("spawn z: ") + FString::FromInt(spawnLoc.Z));
- spawnBlock1 = World->SpawnActor<ABlockSpawner>(pyramidBlocks, spawnLoc, spawnRot);
- if (pyramidBlocks){
- GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Blue, TEXT("spawned yo"));
- }
- count = 0;
- break;
- case 2:
- DinoRampageCharacter = Cast<ADinoRampageCharacter>(GWorld->GetFirstPlayerController()->GetPawn());;
- CharacterLoc = DinoRampageCharacter->GetActorLocation();
- spawnLoc.X = CharacterLoc.X;
- spawnLoc.Y = CharacterLoc.Y - 100;
- spawnLoc.Z = CharacterLoc.Z - 20;
- //GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Blue, TEXT("spawn x: ") + FString::FromInt(spawnLoc.X));
- //GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Blue, TEXT("spawn y: ") + FString::FromInt(spawnLoc.Y));
- //GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Blue, TEXT("spawn z: ") + FString::FromInt(spawnLoc.Z));
- World->SpawnActor<ABlockSpawner>(singleBlock, spawnLoc, spawnRot);
- count = 0;
- //count = 0;
- break;
- case 3:
- DinoRampageCharacter = Cast<ADinoRampageCharacter>(GWorld->GetFirstPlayerController()->GetPawn());;
- CharacterLoc = DinoRampageCharacter->GetActorLocation();
- spawnLoc.X = CharacterLoc.X;
- spawnLoc.Y = CharacterLoc.Y - 100;
- spawnLoc.Z = CharacterLoc.Z - 20;
- //GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Blue, TEXT("spawn x: ") + FString::FromInt(spawnLoc.X));
- //GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Blue, TEXT("spawn y: ") + FString::FromInt(spawnLoc.Y));
- //GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Blue, TEXT("spawn z: ") + FString::FromInt(spawnLoc.Z));
- World->SpawnActor<ABlockSpawner>(upBridge, spawnLoc, spawnRot);
- count = 0;
- break;
- default:
- DinoRampageCharacter = Cast<ADinoRampageCharacter>(GWorld->GetFirstPlayerController()->GetPawn());;
- CharacterLoc = DinoRampageCharacter->GetActorLocation();
- spawnLoc.X = CharacterLoc.X;
- spawnLoc.Y = CharacterLoc.Y - 100;
- spawnLoc.Z = CharacterLoc.Z - 20;
- //GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Blue, TEXT("spawn x: ") + FString::FromInt(spawnLoc.X));
- //GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Blue, TEXT("spawn y: ") + FString::FromInt(spawnLoc.Y));
- //GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Blue, TEXT("spawn z: ") + FString::FromInt(spawnLoc.Z));
- World->SpawnActor<ABlockSpawner>(pyramidBlocks, spawnLoc, spawnRot);
- count = 0;
- break;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement