Example #1
0
class ChunkItemFunctor:
	def __init__( self, tool, oi ):
		# set up the tool we are part of
		self.mouseLocator = Locator.ChunkItemLocator(
			Locator.TerrainToolLocator() )
		self.mouseRevealer = self.mouseLocator.revealer
		self.selection = WorldEditor.ChunkItemGroup()

		self.mouseView = View.ChunkItemBounds( self.mouseRevealer, 0xff0000ff )
		self.selView = View.ChunkItemBounds( self.selection, 0xff00ff00 )

		tool.locator = self.mouseLocator
		tool.addView( self.mouseView )
		tool.addView( self.selView )

		# store a reference to the object info class
		self.objInfo = oi



	# key event entry point
	def onKeyEvent( self, (isDown, key, modifiers), tool ):
		handled = 0
		if isDown:
			if key == KEY_LEFTMOUSE:
				self.onLeftMouse()
				handled = 1
			elif key == KEY_INSERT:
				bp = self.objInfo.getBrowsePath()
				if len(bp)>6 and bp[-6:] == ".model":
					d = ResMgr.DataSection( "model" )
					d.writeString( "resource", bp )
					# WorldEditor.createChunkItem( d, self.mouseLocator.subLocator )
			elif key == KEY_DELETE:
				if self.selection.size:
					WorldEditor.deleteChunkItem( self.selection )
					self.selection.rem( self.selection )

		return handled