You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
947 B
37 lines
947 B
3 years ago
|
//***************************************************************************
|
||
|
//*
|
||
|
//* <lib> HandleUtils v1 by AppleSheep
|
||
|
//*
|
||
|
//***************************************************************************
|
||
|
|
||
|
#guard AS_HandleUtils
|
||
|
|
||
|
hashtable HandleUtils_Hash = InitHashtable()
|
||
|
|
||
|
#define HandleUtils(TypeName,type,Create,StopUse) = {
|
||
|
library_once TypeName##Utils
|
||
|
|
||
|
private key key_##type
|
||
|
|
||
|
private integer Index = 0
|
||
|
private integer Line = 0
|
||
|
|
||
|
type New##TypeName() {
|
||
|
if Line == 0
|
||
|
return Create
|
||
|
endif
|
||
|
return Load##TypeName##Handle(HandleUtils_Hash,key_##type,Line)
|
||
|
}
|
||
|
|
||
|
nothing Release##TypeName(type v) {
|
||
|
Save##TypeName##Handle(HandleUtils_Hash,key_##type,++Line,v)
|
||
|
StopUse
|
||
|
}
|
||
|
|
||
|
endlibrary
|
||
|
}
|
||
|
|
||
|
//HandleUtils( Timer, timer, CreateTimer(), PauseTimer(v) )
|
||
|
//HandleUtils( Group, group, CreateGroup(), GroupClear(v) )
|
||
|
|