Planeshift
|
00001 /* 00002 * pawsskillwindow.h 00003 * 00004 * Copyright (C) 2003 Atomic Blue ([email protected], http://www.atomicblue.org) 00005 * 00006 * 00007 * This program is free software; you can redistribute it and/or 00008 * modify it under the terms of the GNU General Public License 00009 * as published by the Free Software Foundation (version 2 of the License) 00010 * This program is distributed in the hope that it will be useful, 00011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00013 * GNU General Public License for more details. 00014 * You should have received a copy of the GNU General Public License 00015 * along with this program; if not, write to the Free Software 00016 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 00017 * 00018 */ 00019 00020 #ifndef PAWS_PET_STAT_WINDOW_HEADER 00021 #define PAWS_PET_STAT_WINDOW_HEADER 00022 00023 #include "paws/pawswidget.h" 00024 class pawsTextBox; 00025 class pawsListBox; 00026 class pawsListBoxRow; 00027 class pawsMultiLineTextBox; 00028 class pawsProgressBar; 00029 class pawsObjectView; 00030 class psCharAppearance; 00031 00032 #include "net/cmdbase.h" 00033 #include "gui/pawscontrolwindow.h" 00034 00037 class pawsPetStatWindow : public pawsWidget, public psClientNetSubscriber 00038 { 00039 public: 00040 00041 pawsPetStatWindow(); 00042 virtual ~pawsPetStatWindow(); 00043 00044 bool PostSetup(); 00045 virtual void HandleMessage(MsgEntry *msg); 00046 bool OnButtonPressed( int mouseButton, int keyModifier, pawsWidget* widget ); 00047 void OnListAction( pawsListBox* listbox, int status ); 00048 void Draw(); 00049 virtual void Show(); 00050 virtual void Hide(); 00051 virtual void Close(); 00052 00053 void UpdateStats( GEMClientActor* actor ); 00054 void SetTarget( GEMClientActor* actor ); 00055 00056 protected: 00057 00058 bool SetupDoll(); 00059 00060 void BuySkill(); 00061 00062 void HandleSkillList( csString& skills ); 00063 void HandleSkillDescription( csString& description ); 00064 void SelectSkill(int skill); 00065 00066 pawsListBox* statsSkillList, *combatSkillList, *magicSkillList, *knownSpellList, *variousSkillList; 00067 pawsMultiLineTextBox* combatSkillDescription, *magicSkillDescription, *knownSpellDescription; 00068 pawsMultiLineTextBox* variousSkillDescription, *statsSkillDescription; 00069 pawsProgressBar* hpBar, *manaBar, *pysStaminaBar, *menStaminaBar; 00070 pawsTextBox *hpCurrent, *hpTotal, 00071 *manaCurrent, *manaTotal, 00072 *pysStaminaCurrent, *pysStaminaTotal, 00073 *menStaminaCurrent, *menStaminaTotal; 00074 00075 csArray<pawsListBoxRow*> unsortedSkills; 00076 00077 bool filter; 00078 csString skillString; 00079 csString selectedSkill; 00080 00081 int hitpointsMax, manaMax, physStaminaMax, menStaminaMax; 00082 00083 csRef<iDocumentSystem> xml; 00084 00085 GEMClientActor* target; 00086 csString targetID; 00087 psCharAppearance* charApp; 00088 }; 00089 00090 CREATE_PAWS_FACTORY( pawsPetStatWindow ); 00091 00092 00093 #endif 00094