00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #if !defined(AFX_TankKeyboardControlUtil_H__F71C91A5_B74D_4109_8F7B_ACD471025C28__INCLUDED_)
00022 #define AFX_TankKeyboardControlUtil_H__F71C91A5_B74D_4109_8F7B_ACD471025C28__INCLUDED_
00023
00024 class Tank;
00025 class VirtualSoundSource;
00026 class TankKeyboardControlUtil
00027 {
00028 public:
00029 static void keyboardCheck(Tank *tank,
00030 const unsigned state,
00031 float frameTime, char *buffer, unsigned int keyState);
00032 static void endPlayMove(Tank *tank);
00033
00034
00035
00036
00037
00038
00039
00040 static void fireShot(Tank *tank);
00041 static void skipShot(Tank *tank);
00042 static void resign(Tank *tank);
00043 static void parachutesUpDown(Tank *tank, unsigned int paraId=0);
00044 static void shieldsUpDown(Tank *tank, unsigned int shieldId=0);
00045 static void useBattery(Tank *tank, unsigned int batteryId);
00046
00047 protected:
00048 static void movePower(Tank *tank, char *buffer, unsigned int keyState, float frameTime);
00049 static void moveUpDown(Tank *tank, char *buffer, unsigned int keyState, float frameTime);
00050 static void moveLeftRight(Tank *tank, char *buffer, unsigned int keyState, float frameTime);
00051 static void leftRightHUD(Tank *tank);
00052 static void upDownHUD(Tank *tank);
00053 static void powerHUD(Tank *tank);
00054 static void autoAim(Tank *tank);
00055 static void prevWeapon(Tank *tank);
00056 static void nextWeapon(Tank *tank);
00057
00058 static VirtualSoundSource *elevateSound_;
00059 static VirtualSoundSource *rotateSound_;
00060 static VirtualSoundSource *startSound_;
00061 static VirtualSoundSource *powerSound_;
00062
00063 private:
00064 TankKeyboardControlUtil();
00065 virtual ~TankKeyboardControlUtil();
00066 };
00067
00068 #endif // !defined(AFX_TankKeyboardControlUtil_H__F71C91A5_B74D_4109_8F7B_ACD471025C28__INCLUDED_)