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"
 |