34 lines
1.0 KiB
Python
34 lines
1.0 KiB
Python
|
from ctypes import *
|
||
|
from dftypes import *
|
||
|
|
||
|
libdfhack.Items_getItemDescription.argtypes = [ c_void_p, c_uint, c_void_ptr, _arr_create_func ]
|
||
|
libdfhack.Items_getItemDescription.restype = c_char_p
|
||
|
libdfhack.Items_getItemClass.argtypes = [ c_void_p, c_int, _arr_create_func ]
|
||
|
libdfhack.Item_getItemClass.restype = c_char_p
|
||
|
|
||
|
class Items(object):
|
||
|
def __init__(self, ptr):
|
||
|
self._i_ptr = ptr
|
||
|
|
||
|
def get_item_description(self, itemptr, materials):
|
||
|
def get_callback(count):
|
||
|
item_string = create_string_buffer(count)
|
||
|
|
||
|
return byref(item_string)
|
||
|
|
||
|
item_string = None
|
||
|
callback = _arr_create_func(get_callback)
|
||
|
|
||
|
return libdfhack.Items_getItemDescription(self._i_ptr, itemptr, materials, callback)
|
||
|
|
||
|
def get_item_class(self, index):
|
||
|
def get_callback(count):
|
||
|
item_string = create_string_buffer(count)
|
||
|
|
||
|
return byref(item_string)
|
||
|
|
||
|
item_string = None
|
||
|
callback = _arr_create_func(get_callback)
|
||
|
|
||
|
return libdfhack.Items_getItemClass(self._i_ptr, index, callback)
|