Skip to content

Instantly share code, notes, and snippets.

@RichardEllicott
Created November 16, 2018 16:48
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save RichardEllicott/6828cca4eab809adf883417bce234639 to your computer and use it in GitHub Desktop.
Save RichardEllicott/6828cca4eab809adf883417bce234639 to your computer and use it in GitHub Desktop.
var coll_dict_data1 = [
["player",
"1000000000000000", "0000111111111111"],
["playerbullet",
"0100000000000000", "0000101110111011"],
["playerbulletclash",
"0010000000000000", "0000111111111111"],
["enemy",
"0000100000000000", "1111000011111111"],
["enemybullet",
"0000010000000000", "1011000010111011"],
["enemybulletclash",
"0000001000000000", "1111000011111111"],
["team3",
"0000000010000000", "1111111100001111"],
["team3bullet",
"0000000001000000", "1011101100001011"],
["team3bulletclash",
"0000000000100000", "1111111100001111"],
["team4",
"0000000000001000", "1111111111110000"],
["team4bullet",
"0000000000000100", "1011101110110000"],
["team4bulletclash",
"0000000000000010", "1111111111110000"],
["wall",
"1111111111111111", "1111111111111111"]
]
var _coll_dict
func coll_dict():
if not _coll_dict:
var s = 'var coll_layer_dict = {'
_coll_dict = {}
for entry in coll_dict_data1:
var name = entry[0]
var layer = bin_string_to_number(entry[1])
var mask = bin_string_to_number(entry[2])
_coll_dict[name] = [layer,mask]
s += "\n %s: [%s, %s]," % [name,layer,mask]
s += "\n}"
print("coll_dict gen result:")
print(s)
return _coll_dict
func bin_string_to_number(binstring):
var ret = 0
for n in range(len(binstring)):
var char1 = binstring[n]
if char1 == '1':
ret += pow(2,n)
return ret
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment