/******************************************************** * GameComponentCollection.h * * * * XFX GameComponentCollection definition file * * Copyright (c) XFX Team. All Rights Reserved * ********************************************************/ #ifndef _XFX_GAMECOMPONENTCOLLECTION_ #define _XFX_GAMECOMPONENTCOLLECTION_ #include "Interfaces.h" #include #include #include using namespace System; using namespace System::Collections::Generic; namespace XFX { // A collection of game components. class GameComponentCollection : public Object { private: List _components; protected: void ClearItems(); void InsertItem(const int index, IGameComponent * const item); void RemoveItem(const int index); void SetItem(const int index, IGameComponent * const item); public: int Count() const; GameComponentCollection(); virtual ~GameComponentCollection(); IGameComponent* operator[](const int index); static int GetType(); Event ComponentAdded; Event ComponentRemoved; }; } #endif //_XFX_GAMECOMPONENTCOLLECTION_