00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef _ACTOR_GUMP_H_
00020 #define _ACTOR_GUMP_H_
00021
00022 #include "Gump.h"
00023
00024 class Heart_button;
00025 class Disk_button;
00026 class Combat_button;
00027 class Halo_button;
00028 class Combat_mode_button;
00029
00030
00031
00032
00033 class Actor_gump : public Gump
00034 {
00035 UNREPLICATABLE_CLASS(Actor_gump);
00036
00037 protected:
00038 Heart_button *heart_button;
00039 Disk_button *disk_button;
00040 Combat_button *combat_button;
00041 Halo_button *halo_button;
00042 Combat_mode_button *cmode_button;
00043 static short coords[24];
00044
00045 static int spotx(int i) { return coords[2*i]; }
00046 static int spoty(int i) { return coords[2*i + 1]; }
00047
00048 int find_closest(int mx, int my, int only_empty = 0);
00049 void set_to_spot(Game_object *obj, int index);
00050 static short diskx, disky;
00051 static short heartx, hearty;
00052 static short combatx, combaty;
00053 static short halox, haloy;
00054 static short cmodex, cmodey;
00055
00056 public:
00057 Actor_gump(Container_game_object *cont, int initx, int inity,
00058 int shnum);
00059 ~Actor_gump();
00060
00061 virtual Gump_button *on_button(int mx, int my);
00062
00063 virtual int add(Game_object *obj, int mx = -1, int my = -1,
00064 int sx = -1, int sy = -1, bool dont_check = false,
00065 bool combine = false);
00066
00067 virtual void paint();
00068
00069 virtual Container_game_object *find_actor(int mx, int my);
00070 };
00071
00072 #endif