Files
Leviathan/Client/Game/game/Interface/SUILazyTooltip.h
T
2026-06-01 12:46:52 +02:00

152 lines
3.4 KiB
C++

#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
};
}