就是一个toggle按钮 每次运行时里面一部分代码只运行一次。一部分代码始终执行
static bool b_vale = false;///按钮默认false
Unlock::ToggleButton("test###test11", &b_vale);//开关按钮样式
ImGui::SameLine();//横向布局
ImGui::AlignTextToFramePadding();//居中
ImGui::TextColored(ImVec4(1, 1, 0, 1), u8"test");//开关文字描述
static bool one_ce = true;
static bool one_falg = false;
static int ALN_EG = 0;
static int ALN_UN = 0;
static int ALN_CO = 0;
////开关按钮被激活
if (b_vale)
{
//代码只运行一次
if (one_ce)
{
//这里的代码是开关按钮激活后执行一次/////
QUEUE_JOB_BEGIN_CLAUSE()
{
Unlock::STAT_GET_INT("BUY_UNDERTA5", ALN_UN);//获取数值
Unlock::STAT_GET_INT("BUY_COMPLET5", ALN_CO);//获取数值
*script_global(2544210).at(5191).at(342).as<int*>() = 20;//写入数值
} QUEUE_JOB_END_CLAUSE
if (ALN_UN < 600)//数值小于
QUEUE_JOB_BEGIN_CLAUSE()
{
Unlock::STAT_SET_INT("BUY_UNDERTA5", 600);//写入
} QUEUE_JOB_END_CLAUSE
if (ALN_CO < 600)//数值小于
QUEUE_JOB_BEGIN_CLAUSE()
{
Unlock::STAT_SET_INT("BUY_COMPLET5", 600);//写入
} QUEUE_JOB_END_CLAUSE
one_falg = true;//执行一次完成准备处理关闭开关按钮代码
one_ce = false;//运行一次代码执行完毕关闭one_ce
}
//这里的代码是开启后一直运行
if (*script_global(2544210).at(5191).at(342).as<int*>() != 20)//数值变化
{
b_vale = false;//关闭滑动按钮
}
}
else
{//滑动按钮被关闭
if (one_falg)//执行一次完成
{
//这里的内容是关闭滑动按钮后执行一次/////
one_ce = true;//初始化准备再次执行一次
one_falg = false;//关闭执行完成标志
}
//这里的代码是关闭后一直执行
}