123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 |
- #pragma once
- #include <Bild.h>
- #include <Schrift.h>
- #include <UIInitialization.h>
- using namespace Framework;
- class ColorMode : public virtual ReferenceCounter
- {
- public:
- ColorMode();
- virtual Bild *colorImage( Bild *zImg, int color );
- };
- class AlphaColorMode : public ColorMode
- {
- private:
- unsigned char alpha;
- public:
- AlphaColorMode( unsigned char alpha );
- Bild *colorImage( Bild *zImg, int color ) override;
- };
- class MaskColorMode : public ColorMode
- {
- private:
- int colorToReplace;
- public:
- MaskColorMode( int colorToReplace );
- Bild *colorImage( Bild *zImg, int color ) override;
- };
- enum ResourceId
- {
- R_BARIERE,
- R_BASE,
- R_PFEIL_GESCHOSS,
- R_PFEIL,
- R_LEBEN,
- R_SCHILD,
- R_SCHUH,
- R_GEIST,
- R_ROLLE,
- R_ROLLE_OBEN,
- R_ROLLE_LINKS,
- R_ROLLE_RECHTS,
- R_ROLLE_UNTEN,
- R_STURM,
- R_STURM_OBEN,
- R_STURM_LINKS,
- R_STURM_RECHTS,
- R_STURM_UNTEN,
- R_DRACHENAUGE,
- R_DRACHENAUGE_GESCHOSS,
- R_FEUERBALL,
- R_FEUERBALL_GESCHOSS,
- R_FEUERBALL_TREFFER,
- R_ENTERHAKEN_SEIL,
- R_ENTERHAKEN_SPITZE,
- R_ENTERHAKEN_ITEM,
- R_MINE,
- R_MINE_GESCHOSS,
- R_RWEISHEIT,
- R_RBOSHEIT,
- R_RLEBEN,
- R_RTEMPO,
- R_RSTRENGTH,
- R_SCHALTER,
- R_SCHIENE,
- R_SPIELER_STIRBT,
- R_SPIELER,
- R_SPIELER_RECHTS,
- R_SPIELER_LINKS,
- R_BRAND,
- R_EXPLOSION,
- R_HEILUNG,
- R_SCHADEN,
- R_TUNNEL,
- R_UMLENKUNG,
- R_RWEISHEIT_EFFECT,
- R_RBOSHEIT_EFFECT,
- R_RLEBEN_EFFECT,
- R_RTEMPO_EFFECT,
- R_RSTRENGTH_EFFECT,
- R_KUGEL_GESCHOSS,
- R_KUGEL,
- R_GUI_SPIELER,
- R_GUI_ERF_RAND,
- R_GUI_ERF,
- R_GUI_INVENTAR_AUSWAHL,
- R_GUI_INVENTAR_HINTERGRUND,
- R_GUI_INVENTAR_HINTERGRUND_BENUTZT,
- R_GUI_LEBEN_RAND,
- R_GUI_LEVEL_RAND
- };
- class ResourceRegistry;
- class Resource : public virtual ReferenceCounter
- {
- private:
- ResourceId id;
- int color;
- RCArray< Bild > images;
- public:
- Resource( ResourceId id, int color );
- virtual Resource *createColoredResource( int color, ColorMode *mode ) const;
- Iterator< Bild * > getImages() const;
- ResourceId getId() const;
- int getColor() const;
- Bild *zImage( int id ) const;
- Bild *getImage( int id ) const;
- int getImageCount() const;
- friend ResourceRegistry;
- };
- class ResourceRegistry : public virtual ReferenceCounter
- {
- private:
- RCArray< Resource > resources;
- Text spielPfad;
- Text mapPfad;
- UIInit uiFactory;
- public:
- ResourceRegistry( Text spielPfad, Text mapPfad );
- ~ResourceRegistry();
- void setUIFactory( UIInit &uiFactory );
- UIInit &getUIFactory();
- Resource *getResource( ResourceId id, int color, ColorMode *mode = 0, Text path = "" );
- Resource *zResource( ResourceId id, int color, ColorMode *mode = 0, Text path = "" );
- };
|