00001 #ifndef __CLIENT_UPDATER_H__ 00002 #define __CLIENT_UPDATER_H__ 00003 00004 #pragma once 00005 00006 #include "Updater.h" 00007 00008 namespace ASR 00009 { 00010 class Client; 00011 class Unit; 00012 00013 class ClientUpdater : public Updater 00014 { 00015 // Data Storage 00016 // ---------------------------------------------------------------------------- 00017 private: 00018 Client* mClient; 00019 00020 00021 // Construction 00022 // ---------------------------------------------------------------------------- 00023 public: 00024 ClientUpdater ( Client* parentClient ); 00025 ~ClientUpdater (); 00026 00027 // Updates 00028 // ---------------------------------------------------------------------------- 00029 public: 00030 bool updateBeforeFrame ( const FrameEvent& e, const InputReader* inputDevice ); 00031 bool updateAfterFrame ( const FrameEvent& e, const InputReader* inputDevice ); 00032 00033 // Helpers 00034 // ---------------------------------------------------------------------------- 00035 private: 00036 void _findVisibleObjects () const; 00037 void _showUnit ( Unit* unit ) const; 00038 void _hideUnit ( Unit* unit ) const; 00039 }; 00040 } 00041 00042 #endif