-
Notifications
You must be signed in to change notification settings - Fork 1
/
StreamAtObject.cpp
59 lines (43 loc) · 1.33 KB
/
StreamAtObject.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
//
// by Weikton 05.09.23
//
#include "../main.h"
#include "../game/game.h"
#include "../net/netgame.h"
#include "StreamAtObject.h"
#include "StreamInfo.h"
extern CNetGame *pNetGame;
StreamAtObject::StreamAtObject(const uint32_t color, std::string name,
const float distance, const WORD objectId) noexcept
: LocalStream(StreamType::LocalStreamAtObject, color, std::move(name), distance)
, objectId(objectId)
{}
void StreamAtObject::Tick() noexcept
{
this->LocalStream::Tick();
if(!pNetGame) return;
CObjectPool *pObjectPool = pNetGame->GetObjectPool();
if(!pObjectPool) return;
CObject *pObject = pObjectPool->GetAt(this->objectId);
if(!pObject) return;
MATRIX4X4 pObjectMatrix;
pObject->GetMatrix(&pObjectMatrix);
for(const auto& channel : this->GetChannels())
{
if(channel->HasSpeaker())
{
}
}
}
void StreamAtObject::OnChannelCreate(const Channel& channel) noexcept
{
static const BASS_3DVECTOR kZeroVector { 0, 0, 0 };
this->LocalStream::OnChannelCreate(channel);
if(!pNetGame) return;
CObjectPool *pObjectPool = pNetGame->GetObjectPool();
if(!pObjectPool) return;
CObject *pObject = pObjectPool->GetAt(this->objectId);
if(!pObject) return;
MATRIX4X4 pObjectMatrix;
pObject->GetMatrix(&pObjectMatrix);
}