CommonLibSSE (powerof3)
CombatManager.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/A/AITimeStamp.h"
4 #include "RE/A/AITimer.h"
5 #include "RE/B/BSAtomic.h"
6 #include "RE/B/BSPointerHandle.h"
7 #include "RE/B/BSTHashMap.h"
8 #include "RE/N/NiSmartPointer.h"
9 #include "RE/N/NiTArray.h"
10 
11 namespace RE
12 {
13  class CombatGroup;
14  class CombatThreat;
15 
17  {
19  mutable BSReadWriteLock lock; // 30
21  };
22  static_assert(sizeof(CombatThreatMap) == 0x40);
23 
25  {
26  public:
27  [[nodiscard]] static CombatManager* GetSingleton()
28  {
29  static REL::Relocation<CombatManager**> singleton{ RELOCATION_ID(518706, 405246) };
30  return *singleton;
31  }
32 
33  // members
35  mutable BSReadWriteLock lock; // 18
38  std::uint64_t unk30; // 30
39  std::uint64_t unk38; // 38
40  std::uint64_t unk40; // 40
44  std::uint32_t combatCount; // 5C
45  std::uint32_t groupCount; // 60
46  std::uint32_t unk64; // 64
47  };
48  static_assert(sizeof(CombatManager) == 0x68);
49 }
#define RELOCATION_ID(SE, AE)
Definition: PCH.h:505
Definition: Relocation.h:210
Definition: BSAtomic.h:112
Definition: BSTHashMap.h:21
Definition: CombatManager.h:25
std::uint32_t combatCount
Definition: CombatManager.h:44
BSReadWriteLock lock
Definition: CombatManager.h:35
std::uint32_t groupCount
Definition: CombatManager.h:45
NiTPrimitiveArray< CombatGroup * > combatGroups
Definition: CombatManager.h:34
static CombatManager * GetSingleton()
Definition: CombatManager.h:27
std::uint64_t unk30
Definition: CombatManager.h:38
AITimeStamp musicStartedTimeStamp
Definition: CombatManager.h:41
std::uint64_t unk40
Definition: CombatManager.h:40
AITimer musicStopTimer
Definition: CombatManager.h:42
std::uint32_t unk64
Definition: CombatManager.h:46
std::uint64_t unk38
Definition: CombatManager.h:39
AITimer musicUpdateTimer
Definition: CombatManager.h:43
BSTHashMap< ActorHandle, std::uint64_t > * localActorTargetingMap
Definition: CombatManager.h:36
CombatThreatMap * combatThreatMap
Definition: CombatManager.h:37
Definition: NiTArray.h:136
Definition: AbsorbEffect.h:6
Definition: AITimeStamp.h:6
Definition: AITimer.h:6
Definition: CombatManager.h:17
BSReadWriteLock lock
Definition: CombatManager.h:19
BSTHashMap< std::uint32_t, NiPointer< CombatThreat > > threats
Definition: CombatManager.h:18
AITimeStamp lastThreatAddedTimeStamp
Definition: CombatManager.h:20