44 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			44 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
|   | import typing | ||
|  | from ..checkMetadata import checkMetadataTable | ||
|  | from .constants import * | ||
|  | 
 | ||
|  | 
 | ||
|  | class ItemInfo: | ||
|  |     MULTIWORLD = True | ||
|  | 
 | ||
|  |     def __init__(self, room=None, extra=None): | ||
|  |         self.item = None | ||
|  |         self._location = None | ||
|  |         self.room = room | ||
|  |         self.extra = extra | ||
|  |         self.metadata = checkMetadataTable.get(self.nameId, checkMetadataTable["None"]) | ||
|  |         self.forced_item = None | ||
|  |         self.custom_item_name = None | ||
|  |          | ||
|  |         self.event = None | ||
|  |     @property | ||
|  |     def location(self): | ||
|  |         return self._location | ||
|  | 
 | ||
|  |     def setLocation(self, location): | ||
|  |         self._location = location | ||
|  | 
 | ||
|  |     def getOptions(self): | ||
|  |         return self.OPTIONS | ||
|  | 
 | ||
|  |     def configure(self, options): | ||
|  |         pass | ||
|  | 
 | ||
|  |     def read(self, rom): | ||
|  |         raise NotImplementedError() | ||
|  | 
 | ||
|  |     def patch(self, rom, option, *, multiworld=None): | ||
|  |         raise NotImplementedError() | ||
|  | 
 | ||
|  |     def __repr__(self): | ||
|  |         return self.__class__.__name__ | ||
|  |      | ||
|  |     @property | ||
|  |     def nameId(self): | ||
|  |         return "0x%03X" % self.room if self.room is not None else "None" |