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.
36 lines
947 B
36 lines
947 B
//***************************************************************************
|
|
//*
|
|
//* <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) )
|
|
|
|
|