2018-10-07 03:42:33 +00:00
|
|
|
#pragma once
|
2017-02-27 05:25:14 +00:00
|
|
|
|
|
|
|
#include "CEntity.hpp"
|
|
|
|
#include "CToken.hpp"
|
|
|
|
#include "Audio/CMidiManager.hpp"
|
|
|
|
|
|
|
|
namespace urde
|
|
|
|
{
|
|
|
|
|
|
|
|
class CScriptMidi : public CEntity
|
|
|
|
{
|
|
|
|
TToken<CMidiManager::CMidiData> x34_song;
|
|
|
|
CMidiHandle x3c_handle;
|
|
|
|
float x40_fadeInTime;
|
|
|
|
float x44_fadeOutTime;
|
|
|
|
u16 x48_volume;
|
|
|
|
|
|
|
|
void StopInternal(float fadeTime);
|
|
|
|
|
|
|
|
public:
|
2017-11-13 06:19:18 +00:00
|
|
|
CScriptMidi(TUniqueId id, const CEntityInfo& info, std::string_view name,
|
2017-08-13 05:26:14 +00:00
|
|
|
bool active, CAssetId csng, float, float, s32);
|
2017-02-27 05:25:14 +00:00
|
|
|
|
|
|
|
void Stop(CStateManager& mgr, float fadeTime);
|
|
|
|
void Play(CStateManager& mgr, float fadeTime);
|
|
|
|
void Accept(IVisitor& visitor);
|
|
|
|
void AcceptScriptMsg(EScriptObjectMessage msg, TUniqueId objId, CStateManager& stateMgr);
|
|
|
|
};
|
|
|
|
|
|
|
|
}
|
|
|
|
|