Stand/Stand/CommandWorldEditor.hpp
2024-10-16 11:20:42 +08:00

45 lines
787 B
C++

#pragma once
#include "CommandList.hpp"
#include <soup/Vector3.hpp>
#include "natives_decl.hpp"
namespace Stand
{
#pragma pack(push, 1)
class CommandSpawnedObject;
class CommandWorldEditor final : public CommandList
{
private:
size_t spawned_offset;
public:
bool active = false;
bool freecam = true;
bool spawnable_focused = false;
float heading = 0.0f;
CommandSpawnedObject* spawned_focus = nullptr;
soup::Vector3 spawned_focus_hit;
explicit CommandWorldEditor(CommandList* parent);
~CommandWorldEditor() final;
void onClick(Click& click) final;
void onActiveListUpdate() final;
static void enableFreecam();
private:
void setNotActive();
public:
void onSpawnableFocus() noexcept;
void onSpawnableBlur() noexcept;
};
#pragma pack(pop)
}