This commit is contained in:
Lenheart 2022-04-19 22:38:51 +08:00
parent bd0d475b57
commit 99d1e4e300
2 changed files with 11 additions and 10 deletions

View File

@ -13,14 +13,14 @@ static std::map<std::string, bool>Bool_STL;
struct TimeSTLStruct struct TimeSTLStruct
{ {
std::string Name; wchar_t* Name;
int Max_Time; int Max_Time;
int Now_Time; int Now_Time;
long long Static_Time; long long Static_Time;
HANDLE Thand; HANDLE Thand;
}; };
//构造Time类型容器 //构造Time类型容器
static std::map<std::string, TimeSTLStruct>Time_STL; static std::map<wchar_t*, TimeSTLStruct>Time_STL;
//构造intarr类型容器 //构造intarr类型容器
static std::map<std::string, std::map<int, int>>IntArr_STL; static std::map<std::string, std::map<int, int>>IntArr_STL;

View File

@ -825,17 +825,18 @@ int squirrel::New_STL(uint32_t v)
//时间容器线程 //时间容器线程
void TimeSTL(LPVOID lpParam) void TimeSTL(LPVOID lpParam)
{ {
TimeSTLStruct *pack = (TimeSTLStruct*)lpParam; TimeSTLStruct *pack = (TimeSTLStruct*)lpParam;//得到传递的包
Time_STL[pack->Name].Static_Time = (int)GetTickCount64(); Time_STL[pack->Name].Static_Time = (int)GetTickCount64();//设置时间容器的基准时间
while (true) while (true)//线程循环
{ {
int N_Time = (int)GetTickCount64() - Time_STL[pack->Name].Static_Time; int N_Time = (int)GetTickCount64() - Time_STL[pack->Name].Static_Time;//得到现在的时间
if (N_Time < Time_STL[pack->Name].Max_Time) if (N_Time < Time_STL[pack->Name].Max_Time)//如果还没到 设定新的now时间
{ {
Time_STL[pack->Name].Now_Time = N_Time; Time_STL[pack->Name].Now_Time = N_Time;
} }
else else//如果到了 设定now同步最大时间
{ {
Time_STL[pack->Name].Now_Time = Time_STL[pack->Name].Max_Time;
break; break;
} }
} }
@ -843,14 +844,14 @@ void TimeSTL(LPVOID lpParam)
//时间容器 //时间容器
int squirrel::Timer_STL(uint32_t v) int squirrel::Timer_STL(uint32_t v)
{ {
char* Name; wchar_t* Name;
int MaxTime; int MaxTime;
int Type; int Type;
int ParameterNum = SQGetTop(v); int ParameterNum = SQGetTop(v);
if (ParameterNum == 4) if (ParameterNum == 4)
{ {
//获取容器名字 //获取容器名字
SQGetStringc(v, 2, &Name); SQGetString(v, 2, &Name);
//获取最大值 //获取最大值
SQGetInt(v, 3, &MaxTime); SQGetInt(v, 3, &MaxTime);
//获取容器类型 //获取容器类型