LANDSCPE.H
上传用户:abcdshs
上传日期:2007-01-07
资源大小:1858k
文件大小:2k
源码类别:

游戏

开发平台:

Visual C++

  1. // (C) Copyright 1996 by Anthony J. Carin.  All Rights Reserved.
  2. #ifndef LANDSCPE_H
  3. #define LANDSCPE_H
  4. #include <baseobj.h>
  5. class landscapelist;
  6. class LSEntryType
  7. {
  8. public:
  9.     LSEntryType(view& v, CString& str, tccolor color);
  10.    ~LSEntryType();
  11.     char operator ==(LSEntryType& other);
  12.     view        Location;
  13.     CString     Image;
  14.     tccolor     Color;
  15.     char        Created;
  16.     LSEntryType *Next;
  17.     LSEntryType *Prev;
  18. };
  19. class landscape : public baseobject
  20. {
  21. public:
  22. friend class landscapelist;
  23.           landscape(CString& filename);
  24. virtual  ~landscape();
  25. CString&  bmpfile() { return m_bmpfile; }
  26. void      AssociatedLSEntry(LSEntryType *ls) { delete m_LSEntry; m_LSEntry = ls; }
  27. void      RemoveLSEntry()   { delete m_LSEntry; m_LSEntry = 0; }
  28. void      DeleteEntryAlso() { m_DeleteEntryAlso = TRUE; }
  29. private:
  30. CString     m_bmpfile;
  31. char        m_DeleteEntryAlso;
  32. LSEntryType *m_LSEntry;
  33. landscape   *NextLandScpe;
  34. landscape   *PrevLandScpe;
  35. };
  36. class landscapelist
  37. {
  38. public:
  39. friend  class LSEntryType;
  40. friend  class landscape;
  41.                 landscapelist();
  42.                ~landscapelist() { CleanUp(); }
  43. void            CleanUp() { Purge(); PurgeLandscape(); }
  44. void            load(CString& str);
  45. void            CreateCloseLandscapes();
  46. LSEntryType    *GetLSEntry(view& tmploc);
  47. void            save();
  48. view&           GeneralArea()  { return LSEntries->Location; }
  49. void            AddLSEntry(view& v, CString& str, tccolor color);
  50. void            AddLSEntry(baseobject *lnd);
  51. void            removeduplicates();
  52. private:
  53. void            Purge();
  54. void            PurgeLandscape();
  55. landscape       *First()        { m_Curr = m_First; return m_Curr; }
  56. landscape       *Next()         { if (m_Curr) m_Curr = m_Curr->NextLandScpe; return m_Curr; }
  57. landscape       *m_First;
  58. landscape       *m_Curr;
  59. char            GotMap;
  60. LSEntryType     *LSEntries;
  61. short           PauseCounter;
  62. };
  63. #endif