天工维度魔兽争霸开发者社区-全国最大的TJ集中营-原提百万联盟
标题:
Jass功能:唯一ID表
[打印本页]
作者:
arrssg
时间:
2023-8-3 23:23
标题:
Jass功能:唯一ID表
本帖最后由 arrssg 于 2023-8-8 16:02 编辑
不知道有用没?
#ifndef UniqueTableIncluded
#define UniqueTableIncluded
library UniqueTable
globals
private hashtable table=InitHashtable()
private integer columns=0
endglobals
function UT_IsValidColumn takes integer column returns boolean
return column>0 and column<=columns
endfunction
function UT_NewColumn takes nothing returns integer
set columns=columns+1
return columns
endfunction
function UT_RemoveColumn takes integer column returns boolean
if(UT_IsValidColumn(column))then
call FlushChildHashtable(table,column)
return true
endif
return false
endfunction
function UT_IsValidSpace takes integer column,integer space returns boolean
if(space<=0)then
return false
endif
if(UT_IsValidColumn(column))then
return false
endif
return HaveSavedInteger(table,column,space)
endfunction
function UT_NewSpace takes integer column,integer value returns integer
local integer space=LoadInteger(table,column,-1)+1
call SaveInteger(table,column,-1,space)
call SaveInteger(table,column,space,value)
return space
endfunction
function UT_RemoveSpace takes integer column,integer space returns boolean
if(not UT_IsValidSpace(column,space))then
return false
endif
call RemoveSavedInteger(table,column,space)
return true
endfunction
function UT_SetValue takes integer column,integer space,integer value returns nothing
if(not UT_IsValidSpace(column,space))then
return
endif
call SaveInteger(table,column,space,value)
endfunction
function UT_GetValue takes integer column,integer space returns integer
if(not UT_IsValidSpace(column,space))then
return 0
endif
return LoadInteger(table,column,space)
endfunction
endlibrary
#endif
复制代码
欢迎光临 天工维度魔兽争霸开发者社区-全国最大的TJ集中营-原提百万联盟 (http://bbs.mvprpg.com/)
Powered by Discuz! X3.4