47 lines
1.0 KiB
C++
47 lines
1.0 KiB
C++
|
// Fill out your copyright notice in the Description page of Project Settings.
|
||
|
|
||
|
|
||
|
#include "MapObject.h"
|
||
|
#include "AdventureMap.h"
|
||
|
#include "HexTile.h"
|
||
|
|
||
|
// Sets default values
|
||
|
AMapObject::AMapObject()
|
||
|
{
|
||
|
// 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;
|
||
|
|
||
|
SceneComponent = CreateDefaultSubobject<USceneComponent>(TEXT("Scene"));
|
||
|
RootComponent = SceneComponent;
|
||
|
OrientHexMesh = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("Orient"));
|
||
|
OrientHexMesh->AttachToComponent(RootComponent, FAttachmentTransformRules::KeepWorldTransform);
|
||
|
}
|
||
|
|
||
|
// Called when the game starts or when spawned
|
||
|
void AMapObject::BeginPlay()
|
||
|
{
|
||
|
Super::BeginPlay();
|
||
|
Occupy();
|
||
|
}
|
||
|
|
||
|
// Called every frame
|
||
|
void AMapObject::Tick(float DeltaTime)
|
||
|
{
|
||
|
Super::Tick(DeltaTime);
|
||
|
}
|
||
|
|
||
|
void AMapObject::Touch()
|
||
|
{
|
||
|
}
|
||
|
|
||
|
void AMapObject::Activate()
|
||
|
{
|
||
|
}
|
||
|
|
||
|
void AMapObject::Occupy()
|
||
|
{
|
||
|
for (auto& V : Occupying) {
|
||
|
MapRef->Grid[MapRef->GridIndex(Origin->Q + V.Q, Origin->R + V.R)]->bFree = false;
|
||
|
}
|
||
|
}
|