Elevate Engine 1
Loading...
Searching...
No Matches
WwiseItem.h
Go to the documentation of this file.
1#pragma once
2
3#include <stdint.h>
4#include <string>
5#include <vector>
6#include <memory>
7#include <initializer_list>
8
9enum class WwiseType : uint8_t
10{
11 Unknown,
12 None,
13
18
19 Event,
20 Bus,
21 AuxBus,
23 Switch,
25 State,
27 Effect,
28 Trigger,
31};
32
33#pragma warning(push)
34#pragma warning(disable : 5103)
35
36#define CREATE_STRUCT_PTR_TYPES(x) \
37struct x; \
38typedef std::shared_ptr<x> x##Ptr; \
39typedef std::weak_ptr<x> x##WeakPtr;
40
43{
44 std::string Name;
45 std::string Path;
46 std::string GUID;
47 uint32_t ShortID;
49 std::vector<WwiseItemPtr> Children;
50
51 bool IsOnDisk = false; // true if this item existsa in one of the xml files.
52 bool IsInBank = false; // true if the item exists is one of the bank (.bnk)
53 bool IsInWwise = false; // true if the item exits in the Wwise project (availible via WAAPI)
54
55 static WwiseItemPtr Create();
56
57 bool HasValidShortID();
58 bool IsAnyOfType(std::initializer_list<WwiseType> types) const;
59 bool IsDirectory() const;
60 void AddChildren(std::shared_ptr<WwiseItem> newChild);
61 bool HasChildren() const;
62 bool IsEvent() const;
63
64 WwiseType GetContainerType() const;
65
66 std::string GetTypeName() const;
67};
68
71{
72 std::string Language;
73 std::string ObjectPath;
76 bool IsValid;
77
78 static WwiseSoundbankPtr Create()
79 {
80 auto item = std::make_shared<WwiseSoundbank>();
81 item->Type = WwiseType::SoundBank;
82 return item;
83 }
84};
85
87struct WwiseEvent : public WwiseItem
88{
92
94
95 static WwiseEventPtr Create()
96 {
97 auto item = std::make_shared<WwiseEvent>();
98 item->Type = WwiseType::Event;
99 return item;
100 }
101};
102
105{
106 static WwiseSwitchGroupPtr Create()
107 {
108 auto item = std::make_shared<WwiseSwitchGroup>();
109 item->Type = WwiseType::SwitchGroup;
110 return item;
111 }
112};
113
115struct WwiseSwitch : public WwiseItem
116{
117 uint32_t GroupShortId;
118
119 static WwiseSwitchPtr Create()
120 {
121 auto item = std::make_shared<WwiseSwitch>();
122 item->Type = WwiseType::Switch;
123 return item;
124 }
125};
126
129{
130 static WwiseStateGroupPtr Create()
131 {
132 auto item = std::make_shared<WwiseStateGroup>();
133 item->Type = WwiseType::StateGroup;
134 return item;
135 }
136};
137
139struct WwiseState : public WwiseItem
140{
141 uint32_t GroupShortId;
142
143 static WwiseStatePtr Create()
144 {
145 auto item = std::make_shared<WwiseState>();
146 item->Type = WwiseType::State;
147 return item;
148 }
149};
150
153{
155 double Min;
156 double Max;
157
158 static WwiseGameParameterPtr Create()
159 {
160 auto item = std::make_shared<WwiseGameParameter>();
161 item->Type = WwiseType::GameParameter;
162 return item;
163 }
164};
165
167struct WwiseBus : public WwiseItem
168{
169 static WwiseBusPtr Create()
170 {
171 auto item = std::make_shared<WwiseBus>();
172 item->Type = WwiseType::Bus;
173 return item;
174 }
175};
176
178struct WwiseAuxBus : public WwiseItem
179{
180 static WwiseAuxBusPtr Create()
181 {
182 auto item = std::make_shared<WwiseAuxBus>();
183 item->Type = WwiseType::AuxBus;
184 return item;
185 }
186};
187
188#pragma warning(pop)
#define CREATE_STRUCT_PTR_TYPES(x)
Definition WwiseItem.h:36
WwiseType
Definition WwiseItem.h:10
static WwiseAuxBusPtr Create()
Definition WwiseItem.h:180
static WwiseBusPtr Create()
Definition WwiseItem.h:169
float MinDuration
Definition WwiseItem.h:90
static WwiseEventPtr Create()
Definition WwiseItem.h:95
float MaxDuration
Definition WwiseItem.h:91
float MaxAttenuation
Definition WwiseItem.h:89
uint32_t SoundbankShortId
Definition WwiseItem.h:93
static WwiseGameParameterPtr Create()
Definition WwiseItem.h:158
std::string Name
Definition WwiseItem.h:44
std::string Path
Definition WwiseItem.h:45
std::vector< WwiseItemPtr > Children
Definition WwiseItem.h:49
std::string GUID
Definition WwiseItem.h:46
uint32_t ShortID
Definition WwiseItem.h:47
WwiseType Type
Definition WwiseItem.h:48
static WwiseSoundbankPtr Create()
Definition WwiseItem.h:78
std::string ObjectPath
Definition WwiseItem.h:73
std::string Language
Definition WwiseItem.h:72
static WwiseStateGroupPtr Create()
Definition WwiseItem.h:130
uint32_t GroupShortId
Definition WwiseItem.h:141
static WwiseStatePtr Create()
Definition WwiseItem.h:143
static WwiseSwitchGroupPtr Create()
Definition WwiseItem.h:106
uint32_t GroupShortId
Definition WwiseItem.h:117
static WwiseSwitchPtr Create()
Definition WwiseItem.h:119