Advertisement
Guest User

BlockSpawner

a guest
Apr 23rd, 2016
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.81 KB | None | 0 0
  1. // Fill out your copyright notice in the Description page of Project Settings.
  2.  
  3. #include "DinoRampage.h"
  4. #include "BlockSpawner.h"
  5. #include "DinoRampageCharacter.h"
  6. #include "Engine.h"
  7.  
  8.  
  9. // Sets default values
  10. ABlockSpawner::ABlockSpawner()
  11. {
  12.     // Set this actor to call Tick() every frame.  You can turn this off to improve performance if you don't need it.
  13.     PrimaryActorTick.bCanEverTick = true;
  14.  
  15.     static ConstructorHelpers::FObjectFinder<UClass> pyramidBlocksFinder(TEXT("Blueprint'/Game/Blueprints/pyramidBlocks.pyramidBlocks'"));
  16.     pyramidBlocks = pyramidBlocksFinder.Object;
  17.  
  18.     static ConstructorHelpers::FObjectFinder<UClass> singleBlockFinder(TEXT("Blueprint'/Game/Blueprints/singleBlock.singleBlock'"));
  19.     singleBlock = singleBlockFinder.Object;
  20.  
  21.     static ConstructorHelpers::FObjectFinder<UClass> upBridgeFinder(TEXT("Blueprint'/Game/Blueprints/upBridge.upBridge'"));
  22.     upBridge = upBridgeFinder.Object;
  23.  
  24. }
  25.  
  26. // Called when the game starts or when spawned
  27. void ABlockSpawner::BeginPlay()
  28. {
  29.     Super::BeginPlay();
  30.     World = GetWorld();
  31.     GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Blue, TEXT("Welcome to v1.11"));
  32. }
  33.  
  34. // Called every frame
  35. void ABlockSpawner::Tick( float DeltaTime )
  36. {
  37.     Super::Tick( DeltaTime );
  38.     //int count = 0;
  39.     count = count + 1;
  40.    
  41.     //GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Blue, TEXT("count is   ") + FString::FromInt(count));
  42.    
  43.     FVector CharacterLoc;
  44.     ADinoRampageCharacter* DinoRampageCharacter;
  45.     ABlockSpawner* spawnBlock1;
  46.    
  47.     if(count == 300) {
  48.         int selector = rand() % 3 + 1;
  49.         GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Blue, TEXT("rand number is   ") + FString::FromInt(selector));
  50.  
  51.         switch (selector){
  52.         case 1:
  53.            
  54.             DinoRampageCharacter = Cast<ADinoRampageCharacter>(GWorld->GetFirstPlayerController()->GetPawn());;
  55.            
  56.             CharacterLoc = DinoRampageCharacter->GetActorLocation();   
  57.            
  58.             spawnLoc.X = CharacterLoc.X;
  59.             spawnLoc.Y = CharacterLoc.Y;
  60.             spawnLoc.Z = CharacterLoc.Z;
  61.  
  62.             GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Blue, TEXT("trying to spawn"));
  63.            
  64.             //GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Blue, TEXT("spawn x:   ") + FString::FromInt(spawnLoc.X));
  65.             //GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Blue, TEXT("spawn y:   ") + FString::FromInt(spawnLoc.Y));
  66.             //GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Blue, TEXT("spawn z:   ") + FString::FromInt(spawnLoc.Z));
  67.  
  68.             spawnBlock1 = World->SpawnActor<ABlockSpawner>(pyramidBlocks, spawnLoc, spawnRot);
  69.  
  70.             if (pyramidBlocks){
  71.                 GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Blue, TEXT("spawned yo"));
  72.             }
  73.  
  74.             count = 0;
  75.             break;
  76.  
  77.         case 2:
  78.             DinoRampageCharacter = Cast<ADinoRampageCharacter>(GWorld->GetFirstPlayerController()->GetPawn());;
  79.  
  80.             CharacterLoc = DinoRampageCharacter->GetActorLocation();
  81.  
  82.             spawnLoc.X = CharacterLoc.X;
  83.             spawnLoc.Y = CharacterLoc.Y - 100;
  84.             spawnLoc.Z = CharacterLoc.Z - 20;
  85.  
  86.             //GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Blue, TEXT("spawn x:   ") + FString::FromInt(spawnLoc.X));
  87.             //GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Blue, TEXT("spawn y:   ") + FString::FromInt(spawnLoc.Y));
  88.             //GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Blue, TEXT("spawn z:   ") + FString::FromInt(spawnLoc.Z));
  89.  
  90.             World->SpawnActor<ABlockSpawner>(singleBlock, spawnLoc, spawnRot);
  91.  
  92.             count = 0;
  93.  
  94.             //count = 0;
  95.            
  96.             break;
  97.         case 3:
  98.             DinoRampageCharacter = Cast<ADinoRampageCharacter>(GWorld->GetFirstPlayerController()->GetPawn());;
  99.  
  100.             CharacterLoc = DinoRampageCharacter->GetActorLocation();
  101.  
  102.             spawnLoc.X = CharacterLoc.X;
  103.             spawnLoc.Y = CharacterLoc.Y - 100;
  104.             spawnLoc.Z = CharacterLoc.Z - 20;
  105.  
  106.             //GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Blue, TEXT("spawn x:   ") + FString::FromInt(spawnLoc.X));
  107.             //GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Blue, TEXT("spawn y:   ") + FString::FromInt(spawnLoc.Y));
  108.             //GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Blue, TEXT("spawn z:   ") + FString::FromInt(spawnLoc.Z));
  109.  
  110.             World->SpawnActor<ABlockSpawner>(upBridge, spawnLoc, spawnRot);
  111.  
  112.             count = 0;
  113.  
  114.             break;
  115.  
  116.         default:
  117.             DinoRampageCharacter = Cast<ADinoRampageCharacter>(GWorld->GetFirstPlayerController()->GetPawn());;
  118.  
  119.             CharacterLoc = DinoRampageCharacter->GetActorLocation();
  120.  
  121.             spawnLoc.X = CharacterLoc.X;
  122.             spawnLoc.Y = CharacterLoc.Y - 100;
  123.             spawnLoc.Z = CharacterLoc.Z - 20;
  124.  
  125.             //GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Blue, TEXT("spawn x:   ") + FString::FromInt(spawnLoc.X));
  126.             //GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Blue, TEXT("spawn y:   ") + FString::FromInt(spawnLoc.Y));
  127.             //GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Blue, TEXT("spawn z:   ") + FString::FromInt(spawnLoc.Z));
  128.  
  129.             World->SpawnActor<ABlockSpawner>(pyramidBlocks, spawnLoc, spawnRot);
  130.  
  131.             count = 0;
  132.             break;
  133.         }
  134.         }
  135.  
  136. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement