# 宏定义

# 说明

SDK中提供的一系列宏定义,用于简化常见操作如哈希计算、颜色处理等。

# 如何使用

// 使用颜色宏创建RGBA颜色
int myColor = MAKE_COLOR(255, 0, 255, 255); // 创建紫色

// 从颜色中提取各个通道
int r = GetR(myColor);
int g = GetG(myColor);
int b = GetB(myColor);
int a = GetA(myColor);

// 使用哈希宏
uint32_t buffHash = HashName_Buff("someBuff");

# HashName_Buff

uint32_t HashName_Buff(const char* str)

计算Buff名称的哈希值,用于Buff相关操作。

参数名字 参数类型 描述
str const char* 要进行哈希计算的字符串
uint32_t hash = HashName_Buff("myBuff");

# HashName_SpellData

uint32_t HashName_SpellData(const char* str)

计算技能数据的哈希值,用于技能相关操作。

参数名字 参数类型 描述
str const char* 要进行哈希计算的字符串
uint32_t hash = HashName_SpellData("Q");

# HashName_Skin

uint32_t HashName_Skin(const char* str)

计算皮肤名称的哈希值,用于皮肤相关操作。

参数名字 参数类型 描述
str const char* 要进行哈希计算的字符串
uint32_t hash = HashName_Skin("DefaultSkin");

# MAKE_COLOR

int MAKE_COLOR(unsigned int R, unsigned int G, unsigned int B, unsigned int A)

创建一个RGBA格式的颜色值。

参数名字 参数类型 描述
R unsigned int 红色通道值 (0-255)
G unsigned int 绿色通道值 (0-255)
B unsigned int 蓝色通道值 (0-255)
A unsigned int 透明度通道值 (0-255)
int color = MAKE_COLOR(255, 0, 0, 255); // 创建红色

# GetR

int GetR(int color)

获取颜色的红色通道值。

参数名字 参数类型 描述
color int RGBA格式的颜色值
int red = GetR(color);

# GetG

int GetG(int color)

获取颜色的绿色通道值。

参数名字 参数类型 描述
color int RGBA格式的颜色值
int green = GetG(color);

# GetB

int GetB(int color)

获取颜色的蓝色通道值。

参数名字 参数类型 描述
color int RGBA格式的颜色值
int blue = GetB(color);

# GetA

int GetA(int color)

获取颜色的透明度通道值。

参数名字 参数类型 描述
color int RGBA格式的颜色值
int alpha = GetA(color);

# GetRGB

int GetRGB(int color)

获取颜色的RGB部分(不包含透明度)。

参数名字 参数类型 描述
color int RGBA格式的颜色值
int rgb = GetRGB(color);

# RGBA

int RGBA(unsigned int R, unsigned int G, unsigned int B, unsigned int A)

创建一个RGBA格式的颜色值。

参数名字 参数类型 描述
R unsigned int 红色通道值 (0-255)
G unsigned int 绿色通道值 (0-255)
B unsigned int 蓝色通道值 (0-255)
A unsigned int 透明度通道值 (0-255)
int color = RGBA(255, 0, 0, 255); // 创建红色

# RGBA

int RGBA(int RGB, unsigned int A)

将RGB颜色值与透明度通道值组合成RGBA格式的颜色值。

参数名字 参数类型 描述
RGB int RGB格式的颜色值
A unsigned int 透明度通道值 (0-255)
int color = RGBA(existingRGB, 255);

# ExportFun

void ExportFun(Name, Key)

将函数导出到SDK,使其可以被其他插件调用。

参数名字 参数类型 描述
Name 标识符 导出函数所属的命名空间或类
Key 标识符 导出的函数名
ExportFun(MyNamespace, MyFunction);