#pragma once // sonador 1.2.5 Lazy Tooltip 구현 // sonador #2.1.2.4.3 팻 조작 UI 연동 //#include "KUIControl.h" #include "SkillBase.h" class SUIDisplayInfo; struct SkillTree; class SInventorySlot; struct SkillBaseEx; struct _SkillSlotInfo; namespace rp { /// 스킬 툴팁 class KLazySkillTooltip : public KLazyTip { public: /// 생성자 KLazySkillTooltip( SUIDisplayInfo& helper , int skillId = 0 , int skillLv = 0 , bool showDetail = false ); /// 툴팁 생성 virtual void createTip( std::string& tip ); private: SUIDisplayInfo& m_Helper; ///< 핼퍼 int m_SkillID; ///< 스킬 ID int m_SkillLv; ///< 스킬 레벨 bool m_ShowDetail; ///< 상세 보기 }; /// 크리쳐 스킬 투자 툴팁 class KLazyCreatureSkillFundTooltip : public KLazyTip { public: /// 생성자 KLazyCreatureSkillFundTooltip( SUIDisplayInfo& helper , const SkillTreeEx* skillTree , bool isPrecedentSkillSatisfied , bool isActive , int skillId = 0 , int skillLv = 0 , bool showDetail = false ); /// 툴팁 생성 virtual void createTip( std::string& tip ); private: SUIDisplayInfo& m_Helper; ///< 핼퍼 const SkillTreeEx* m_SkillTree; ///< 스킬 트리 bool m_IsPrecedentSkillSatisfied; ///< 선행 스킬 충족 여부 bool m_IsActive; ///< 액티브/패시브 구분 int m_SkillID; ///< 스킬 아이디 int m_SkillLv; ///< 스킬 레벨 bool m_ShowDetail; ///< 상세 출력 여부 }; /// 크리쳐 스킬 툴팁 class KLazyCreatureSkillTooltip : public KLazyTip { public: /// 생성자 KLazyCreatureSkillTooltip( SUIDisplayInfo& helper , int skillId = 0 , int skillLv = 0 , bool showDetail = false ); /// 툴팁 생성 virtual void createTip( std::string& tip ); private: SUIDisplayInfo& m_Helper; ///< 핼퍼 int m_SkillID; ///< 스킬 ID int m_SkillLv; ///< 스킬 LV bool m_ShowDetail; ///< 상세 출력 여부 }; class KLazyItemTooltip : public KLazyTip { public: /// 생성자 KLazyItemTooltip( SUIDisplayInfo& helper , SInventorySlot* invenSlot , bool showDetail = false , AR_HANDLE hCreature = NULL , bool isRClick = false ); /// 2011.03.28 - prodongi /// 툴팁 생성 virtual void createTip( std::string& tip ); void SetItemSlot( SInventorySlot * pSlot ){ m_InvenSlot = pSlot; } private: SUIDisplayInfo& m_Helper; ///< 핼퍼 SInventorySlot* m_InvenSlot; ///< 인벤토리 슬롯 bool m_ShowDetail; ///< 상세 출력 여부 AR_HANDLE m_hCreature; bool m_isRClick; /// 2011.03.28 - prodongi }; /// 스킬 투자 툴팁 class KLazySkillTreeFundTooltip : public KLazyTip { public: /// 생성자 KLazySkillTreeFundTooltip( SUIDisplayInfo& helper , const SkillBaseEx& skillInfo , const _SkillSlotInfo& skillSlotInfo , int jobIndex /// 2011.03.09 - prodongi , __int64 jobPoint, int tp = 0, int characterLevel = 0 ); /// 툴팁 생성 virtual void createTip( std::string& tip ); void setCharacterLevel(std::string& tip); /// 2011.04.05 - prodongi private: SUIDisplayInfo& m_Helper; ///< 핼퍼 const SkillBaseEx& m_SkillInfo; ///< 스킬 정보 const _SkillSlotInfo& m_SkillSlotInfo; ///< 스킬 슬롯 정보 int m_JobIndex; ///< 잡 인덱스 __int64 m_JobPoint; ///< 잡 포인트 int m_tp; /// 2011.03.09 특성 포인트 - prodongi int m_characterLevel; /// 2011.04.05 - prodongi }; }