File indexing completed on 2024-12-01 06:50:45
0001 /* 0002 SPDX-FileCopyrightText: 2007-2008 Thomas Gallinari <tg8187@yahoo.fr> 0003 SPDX-FileCopyrightText: 2007-2008 Pierre-Benoit Besse <besse.pb@gmail.com> 0004 0005 SPDX-License-Identifier: GPL-2.0-or-later 0006 */ 0007 0008 #ifndef GHOSTITEM_H 0009 #define GHOSTITEM_H 0010 0011 #include "characteritem.h" 0012 #include "ghost.h" 0013 0014 /** 0015 * @brief This class is the graphical representation of a Ghost. 0016 */ 0017 class GhostItem : public CharacterItem 0018 { 0019 Q_OBJECT 0020 0021 public: 0022 /** 0023 * Creates a new GhostItem instance. 0024 * @param p_model the Ghost model 0025 */ 0026 explicit GhostItem(Ghost *p_model); 0027 0028 /** 0029 * Deletes the CharacterItem instance. 0030 */ 0031 ~GhostItem() override; 0032 0033 /** 0034 * Ensures the blink timers are correctly set 0035 */ 0036 void updateBlinkTimersDuration(); 0037 0038 public Q_SLOTS: 0039 0040 /** 0041 * Updates the view coordinates. 0042 * @param p_x the new x-coordinate 0043 * @param p_y the new y-coordinate 0044 */ 0045 void update(qreal p_x, qreal p_y) override; 0046 0047 /** 0048 * Update the image function of the Ghost state. 0049 */ 0050 void updateState(); 0051 0052 /** 0053 * Implements the CharacterItem method. 0054 */ 0055 void blink() override; 0056 }; 0057 0058 #endif