mirror of
https://github.com/Auties00/Reboot-Launcher.git
synced 2026-01-13 11:12:23 +01:00
<feat: New project structure>
<feat: New release>
This commit is contained in:
64
dependencies/reboot/Project Reboot 3.0/BuildingSMActor.h
vendored
Normal file
64
dependencies/reboot/Project Reboot 3.0/BuildingSMActor.h
vendored
Normal file
@@ -0,0 +1,64 @@
|
||||
#pragma once
|
||||
|
||||
#include "BuildingActor.h"
|
||||
#include "PlayerState.h"
|
||||
|
||||
enum class EFortResourceType : uint8_t
|
||||
{
|
||||
Wood = 0,
|
||||
Stone = 1,
|
||||
Metal = 2,
|
||||
Permanite = 3,
|
||||
None = 4,
|
||||
EFortResourceType_MAX = 5
|
||||
};
|
||||
|
||||
class ABuildingSMActor : public ABuildingActor
|
||||
{
|
||||
public:
|
||||
bool IsPlayerPlaced()
|
||||
{
|
||||
static auto bPlayerPlacedOffset = GetOffset("bPlayerPlaced");
|
||||
static auto bPlayerPlacedFieldMask = GetFieldMask(this->GetProperty("bPlayerPlaced"));
|
||||
return ReadBitfieldValue(bPlayerPlacedOffset, bPlayerPlacedFieldMask);
|
||||
}
|
||||
|
||||
void SetPlayerPlaced(bool NewValue)
|
||||
{
|
||||
static auto bPlayerPlacedOffset = GetOffset("bPlayerPlaced");
|
||||
static auto bPlayerPlacedFieldMask = GetFieldMask(this->GetProperty("bPlayerPlaced"));
|
||||
this->SetBitfieldValue(bPlayerPlacedOffset, bPlayerPlacedFieldMask, NewValue);
|
||||
}
|
||||
|
||||
APlayerState*& GetEditingPlayer()
|
||||
{
|
||||
static auto EditingPlayerOffset = GetOffset("EditingPlayer");
|
||||
return Get<APlayerState*>(EditingPlayerOffset);
|
||||
}
|
||||
|
||||
int& GetCurrentBuildingLevel()
|
||||
{
|
||||
static auto CurrentBuildingLevelOffset = GetOffset("CurrentBuildingLevel");
|
||||
return Get<int>(CurrentBuildingLevelOffset);
|
||||
}
|
||||
|
||||
EFortResourceType& GetResourceType()
|
||||
{
|
||||
static auto ResourceTypeOffset = GetOffset("ResourceType");
|
||||
return Get<EFortResourceType>(ResourceTypeOffset);
|
||||
}
|
||||
|
||||
void SetEditingPlayer(APlayerState* NewEditingPlayer) // actually AFortPlayerStateZone
|
||||
{
|
||||
if (// AActor::HasAuthority() &&
|
||||
(!GetEditingPlayer() || !NewEditingPlayer)
|
||||
)
|
||||
{
|
||||
SetNetDormancy((ENetDormancy)(2 - (NewEditingPlayer != 0)));
|
||||
// they do something here
|
||||
GetEditingPlayer() = NewEditingPlayer;
|
||||
}
|
||||
}
|
||||
|
||||
static UClass* StaticClass();
|
||||
};
|
||||
Reference in New Issue
Block a user