⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gameobjectslist.h

📁 此程序为分布式坦克游戏
💻 H
字号:
/*****************************************************************************
*                                                                             
*   gameObjectsList.h
*                                                                             
*   Electrical Engineering Faculty - Software Lab                             
*   Spring semester 1998                                                      
*                                                                             
*   Tanks game                                                                
*                                                                             
*   Module description: Implements the global game objects lists.
*                       
*                                                                             
*   Authors: Eran Yariv - 28484475                                           
*            Moshe Zur  - 24070856                                           
*                                                                            
*                                                                            
*   Date: 23/09/98                                                           
*                                                                            
******************************************************************************/
#ifndef _GAME_OBJECTS_LIST_H
#define _GAME_OBJECTS_LIST_H

#include <afxmt.h>
#include <ObjectsArray.h>

typedef struct { BYTE ind; ARR_POS pos; }     LIST_POS;

class CGameObjectsList
{
public:
    CGameObjectsList ();
    virtual ~CGameObjectsList ();

    void KillList ();
    void AddObject (CGameObject *);
    void RemoveObject (CGameObject *);

    CReaction GetGameReaction (CGameObject *);

    int GetObjectsCount () const;
    LIST_POS GetHeadPosition ();
    CGameObject *GetNext (LIST_POS&);

    BOOL IsObjectValid (CGameObject *);     // Checks the pointer points to a living object
    
    void Freeze();                          // Freeze the list from being changed (add || remove)
    void Thaw();                            // Undo freeze

private:
    CObjectsArray m_aArrays[4];             // One array for each z-depth level
    CCriticalSection m_CS;                  // Sync mechanism
};


// Inline sections:
#include <GameObjectsList.inl>

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -