#pragma once #include "RE/B/BSTEvent.h" #include "RE/P/PipboyDataGroup.h" namespace RE { class MenuOpenCloseEvent; class UserEventEnabledEvent; namespace BGSInventoryListEvent { class Event; } namespace LoadingStatusChanged { class Event; } namespace PlayerInDialogueChanged { class Event; } namespace PlayerLifeStateChanged { class Event; } namespace VATSEvents { class ModeChange; } class __declspec(novtable) PipboyStatusData : public PipboyDataGroup, // 00 public BSTEventSink, // 98 public BSTEventSink, // A0 public BSTEventSink, // A8 public BSTEventSink, // B0 public BSTEventSink, // B8 public BSTEventSink, // C0 public BSTEventSink // C8 { public: static constexpr auto RTTI{ RTTI::PipboyStatusData }; static constexpr auto VTABLE{ VTABLE::PipboyStatusData }; virtual ~PipboyStatusData() = default; virtual BSEventNotifyControl ProcessEvent(const PlayerLifeStateChanged::Event& a_event, BSTEventSource* a_source); // 01 virtual BSEventNotifyControl ProcessEvent(const PlayerInDialogueChanged::Event& a_event, BSTEventSource* a_source); // 02 virtual BSEventNotifyControl ProcessEvent(const MenuOpenCloseEvent& a_event, BSTEventSource* a_source); // 03 virtual BSEventNotifyControl ProcessEvent(const BGSInventoryListEvent::Event& a_event, BSTEventSource* a_source); // 04 virtual BSEventNotifyControl ProcessEvent(const LoadingStatusChanged::Event& a_event, BSTEventSource* a_source); // 05 virtual BSEventNotifyControl ProcessEvent(const VATSEvents::ModeChange& a_event, BSTEventSource* a_source); // 06 virtual BSEventNotifyControl ProcessEvent(const UserEventEnabledEvent& a_event, BSTEventSource* a_source); // 07 // override virtual void Populate(bool a_arg1) override; // 08 virtual void DoClearData() override; // 09 virtual void DoClearSink() override; // 0A // members PipboyObject* statusObject; PipboyArray* pipboyEffectColorArray; }; static_assert(sizeof(PipboyStatusData) == 0xE0); }