CommonLibSSE (Parapets fork)
BeamProjectile.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSTEvent.h"
4 #include "RE/F/FormTypes.h"
5 #include "RE/P/Projectile.h"
6 
7 namespace RE
8 {
9  class BSProceduralGeomEvent;
10  struct BeamProjectileImpactEvent;
11 
13  public Projectile, // 000
14  public BSTEventSource<BeamProjectileImpactEvent>, // 1E0
15  public BSTEventSink<BSProceduralGeomEvent> // 1D8
16  {
17  public:
18  inline static constexpr auto RTTI = RTTI_BeamProjectile;
19  inline static constexpr auto FORMTYPE = FormType::ProjectileBeam;
20 
21  struct RecordFlags
22  {
23  enum RecordFlag : std::uint32_t
24  {
25  };
26  };
27 
28  ~BeamProjectile() override; // 00
29 
30  // override (Projectile)
31  void SaveGame(BGSSaveFormBuffer* a_buf) override; // 0E
32  void LoadGame(BGSLoadFormBuffer* a_buf) override; // 0F
33  void InitLoadGame(BGSLoadFormBuffer* a_buf) override; // 10
34  void FinishLoadGame(BGSLoadFormBuffer* a_buf) override; // 11
35  void Revert(BGSLoadFormBuffer* a_buf) override; // 12
36  void Unk_A5(void) override; // A5
37  void Unk_A9(void) override; // A9
38  void UpdateImpl(float a_delta) override; // AB
39  void Unk_B8(void) override; // B8
40  void Unk_BD(void) override; // BD
41  void Handle3DLoaded() override; // C0
42  void Unk_C1(void) override; // C1
43 
44  // override (BSTEventSink<BSProceduralGeomEvent>)
45  BSEventNotifyControl ProcessEvent(const BSProceduralGeomEvent* a_event, BSTEventSource<BSProceduralGeomEvent>* a_eventSource) override; // 01
46 
47  // members
48  std::uint64_t unk238; // 238
49  };
50 #if !defined(SKYRIMVR) && !defined(SKYRIMSE_PRE_1_6_629)
51  static_assert(sizeof(BeamProjectile) == 0x248);
52 #else
53  static_assert(sizeof(BeamProjectile) == 0x240);
54 #endif
55 }
Definition: BSTEvent.h:146
Definition: BSTEvent.h:28
Definition: BeamProjectile.h:16
void Unk_B8(void) override
std::uint64_t unk238
Definition: BeamProjectile.h:48
void LoadGame(BGSLoadFormBuffer *a_buf) override
void Handle3DLoaded() override
void Unk_A5(void) override
void SaveGame(BGSSaveFormBuffer *a_buf) override
BSEventNotifyControl ProcessEvent(const BSProceduralGeomEvent *a_event, BSTEventSource< BSProceduralGeomEvent > *a_eventSource) override
void UpdateImpl(float a_delta) override
void InitLoadGame(BGSLoadFormBuffer *a_buf) override
static constexpr auto RTTI
Definition: BeamProjectile.h:18
void FinishLoadGame(BGSLoadFormBuffer *a_buf) override
~BeamProjectile() override
void Unk_A9(void) override
void Unk_C1(void) override
static constexpr auto FORMTYPE
Definition: BeamProjectile.h:19
void Revert(BGSLoadFormBuffer *a_buf) override
void Unk_BD(void) override
Definition: Projectile.h:23
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_BeamProjectile
Definition: Offsets_RTTI.h:3683
BSEventNotifyControl
Definition: BSTEvent.h:12
Definition: BeamProjectile.h:22
RecordFlag
Definition: BeamProjectile.h:24