2017-01-20 08:36:52 -05:00
|
|
|
#pragma once
|
|
|
|
|
2016-11-28 15:18:14 -05:00
|
|
|
namespace Assets
|
|
|
|
{
|
|
|
|
class IFxEffectDef : public Components::AssetHandler::IAsset
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
virtual Game::XAssetType getType() override { return Game::XAssetType::ASSET_TYPE_FX; };
|
|
|
|
|
|
|
|
virtual void save(Game::XAssetHeader header, Components::ZoneBuilder::Zone* builder) override;
|
|
|
|
virtual void mark(Game::XAssetHeader header, Components::ZoneBuilder::Zone* builder) override;
|
2016-12-06 13:36:57 -05:00
|
|
|
virtual void load(Game::XAssetHeader* header, std::string name, Components::ZoneBuilder::Zone* builder) override;
|
2016-11-28 15:18:14 -05:00
|
|
|
|
|
|
|
private:
|
|
|
|
void markFxElemVisuals(Game::FxElemVisuals* visuals, char elemType, Components::ZoneBuilder::Zone* builder);
|
|
|
|
void saveFxElemVisuals(Game::FxElemVisuals* visuals, Game::FxElemVisuals* destVisuals, char elemType, Components::ZoneBuilder::Zone* builder);
|
2017-04-20 15:28:01 -04:00
|
|
|
|
|
|
|
void loadEfx(Game::XAssetHeader* header, std::string name, Components::ZoneBuilder::Zone* builder);
|
|
|
|
void loadNative(Game::XAssetHeader* header, std::string name, Components::ZoneBuilder::Zone* builder);
|
|
|
|
void loadBinary(Game::XAssetHeader* header, std::string name, Components::ZoneBuilder::Zone* builder);
|
|
|
|
|
|
|
|
void loadFxElemVisuals(Game::FxElemVisuals* visuals, char elemType, Components::ZoneBuilder::Zone* builder, Utils::Stream::Reader* reader);
|
2016-11-28 15:18:14 -05:00
|
|
|
};
|
|
|
|
}
|