//#pragma once #ifndef BETTYCOMPONENT_H #define BETTYCOMPONENT_H //#include "Adept.hpp" //#include "ComponentHeaders.hpp" //#include "SoundComponent.hpp" #include "AudioFXComponent.hpp" namespace Adept { class Interface; class Replicator; //######################################################################### //######################### BettyComponent ############################# //######################################################################### class BettyComponent: public SoundComponent { public: static void InitializeClass(); static void TerminateClass(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructor/Destructor // protected: BettyComponent( ClassData *class_data, Stuff::MemoryStream *stream, RendererComponentWeb *owning_web, Entity *entity ); public: static BettyComponent* Make( MemoryStream *stream, RendererComponentWeb *owning_web, Replicator *replicator ); ~BettyComponent(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Virtual data // public: static ClassData *DefaultData; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Message support // void ChannelChanged(Channel *channel); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Component support // protected: int bettyPriority; public: int Start(); int GetBettyPriority() {return bettyPriority;} void RendererExecute() {} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Test support // public: void TestInstance(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Tool-related Functions // public: static ClassData* CreateFactoryRequest(FactoryRequestParameters *parameters,Entity::ClassData *class_data); }; } #endif