CommonLibVR
ActorCause.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSPointerHandle.h"
4 #include "RE/N/NiPoint3.h"
5 
6 namespace RE
7 {
8  class ActorCause
9  {
10  public:
11  std::int32_t DecRefCount() const
12  {
13  stl::atomic_ref myRefCount{ refCount };
14  return --myRefCount;
15  }
16 
17  std::int32_t IncRefCount() const
18  {
19  stl::atomic_ref myRefCount{ refCount };
20  return ++myRefCount;
21  }
22 
23  [[nodiscard]] std::int32_t GetRefCount() const noexcept { return refCount; }
24 
25  // members
28  std::uint32_t actorCauseID; // 10
29  volatile mutable std::int32_t refCount; // 14
30  private:
31  KEEP_FOR_RE()
32  };
33  static_assert(sizeof(ActorCause) == 0x18);
34 }
#define KEEP_FOR_RE()
Definition: PCH.h:713
Definition: ActorCause.h:9
NiPoint3 origin
Definition: ActorCause.h:27
std::int32_t GetRefCount() const noexcept
Definition: ActorCause.h:23
std::int32_t DecRefCount() const
Definition: ActorCause.h:11
volatile std::int32_t refCount
Definition: ActorCause.h:29
std::uint32_t actorCauseID
Definition: ActorCause.h:28
ActorHandle actor
Definition: ActorCause.h:26
std::int32_t IncRefCount() const
Definition: ActorCause.h:17
Definition: NiPoint3.h:6
Definition: PCH.h:437
Definition: AbsorbEffect.h:6