Advertisement
lavalevel

carry = nil

Feb 6th, 2012
157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 6.84 KB | None | 0 0
  1.     local function dropDraggable(self, x, y)
  2.         self.x, self.y = x  or self.x, y  or self.y
  3.         dragTargets[self], dragTargets[self.id] = nil
  4.         Runtime:removeEventListener('touch', self)
  5.         self.oldX, self.oldY, self.id = nil
  6.         enableButtons()
  7.     end
  8.  
  9.     function trackDrag(self, event)
  10.         local checkViewItemX, checkViewItemY
  11.         if event.id == self.id then
  12.             if event.phase == "moved" then
  13.                 self:toFront()
  14.                 self.x, self.y = (event.x)-(32), (event.y)-32
  15.  
  16.                 checkViewItemX = self.x
  17.                 checkViewItemY = self.y
  18.                 if (checkViewItemX >= 215 and checkViewItemX <=275) and (checkViewItemY >= 8 and checkViewItemY <=68) then     
  19.                     ItemInViewBox = true
  20.                 else
  21.                     ItemInViewBox = false
  22.                     --displayInventory()
  23.                     group.pack.elements.InventoryBG:play(inventory_background)
  24.                     group.pack.elements.InventoryBG:currentFrame(1)
  25.                     group.pack.elements.InventoryBG:pause()
  26.                     group.pack.groups['TextLayerViewItem'].isVisible = false
  27.                     group.pack.elements.theViewDisplay.isVisible = false
  28.                     group.pack.elements.ItemUsage.isVisible = false
  29.  
  30.  
  31.                     --for i = 1, 9 do
  32.                     --  group.pack.elements["Equip_".. (i) ].isVisible = true
  33.                     --end
  34.                     group.pack.elements["Equip_1"].isVisible = true
  35.                     group.pack.elements["Equip_2"].isVisible = true
  36.                     group.pack.elements["Equip_3"].isVisible = true
  37.                     group.pack.elements["Equip_4"].isVisible = true
  38.                     group.pack.elements["Equip_5"].isVisible = true
  39.                     group.pack.elements["Equip_6"].isVisible = true
  40.                     group.pack.elements["Equip_7"].isVisible = true
  41.                     group.pack.elements["Equip_8"].isVisible = true
  42.                     group.pack.elements["Equip_9"].isVisible = true
  43.                    
  44.  
  45.                 end
  46.  
  47.             elseif event.phase == "ended" then
  48.                 self:Drop(self.oldX, self.oldY)
  49.             end
  50.         end
  51.     end
  52.  
  53.     function startDrag(event)
  54.    
  55.         local id, target = event.id, event.target
  56.         target:toFront()
  57.         --atrace(xinspect(event.target))
  58.         if event.phase == "began" then
  59.             displayInventory()
  60.             disableButtons()
  61.             dragTargets[id], dragTargets[target] = target, id
  62.             target.id = id
  63.             target.oldX, target.oldY = target.x, target.y
  64.             Runtime:addEventListener('touch', target)
  65.             return true
  66.         end
  67.     end
  68.     function makeDraggable(object)  -- <<  Turned to local
  69.         object.touch = trackDrag
  70.         object.Drop = dropDraggable
  71.         object:addEventListener('touch', startDrag)
  72.         -- print (object.libraryName)
  73.         return object
  74.     end
  75.  
  76.     function makeUndraggable(object)  -- <<  Turned to local
  77.         object.touch = nil
  78.         object.Drop = nil
  79.         object:removeEventListener('touch', startDrag)
  80.         return object
  81.     end
  82.     function setDragStates()   -- <<  Turned to local
  83.  
  84.             for i = 1, 9 do  --<--------------------------- Make the Equipped Items Dragable or Undraggable
  85.                 if playerData.playerEquipped[i].itemName == "blank" then
  86.                     makeUndraggable(group.pack.elements["Equip_" .. i])
  87.                     print (" SET DRAG STATES - undraggable equipped items:" .. i )     
  88.                 else
  89.                     makeDraggable(group.pack.elements["Equip_" .. i] )
  90.                     print (" SET DRAG STATES - draggable equipped items:" .. i )   
  91.  
  92.  
  93.                 end
  94.                    
  95.             end
  96.  
  97.             for i = 1, 10 do  --<--------------------------- Make the Inventory Items Dragable or Undraggable
  98.                 if playerData.playerInventory[i].itemName == "blank" then
  99.                     makeUndraggable(group.pack.elements["Item_" .. i])
  100.                     --print (" SET DRAG STATES - undraggable Inventory items:" .. i )  
  101.                 else
  102.                     makeDraggable(group.pack.elements["Item_" .. i] )
  103.                     --print (" SET DRAG STATES - draggable Inventory items:" .. i )
  104.                 end    
  105.  
  106.             end
  107.     --<--------------------------- Make the theDropItem Items Dragable or Undraggable
  108.             if playerItemInPlayerArea.itemName == "blank" then
  109.                 --group.pack.elements.DropItemAvailable.isVisible = false
  110.                 makeUndraggable(group.pack.elements.theDropItem)
  111.                 print (" SET DRAG STATES - undraggable playerArea item: true" )
  112.             else
  113.                 --group.pack.elements.theDropItemAvailable.isVisible = true
  114.                 makeDraggable(group.pack.elements.theDropItem)
  115.                 print (" SET DRAG STATES - draggable playerArea item: true" )  
  116.  
  117.             end
  118.  
  119.        
  120.     end
  121.  
  122.     function Well_DropItem:touch(event)
  123.  
  124.         local saveTheItemType = "foo"
  125.         local carry = dragTargets[event.id]
  126.  
  127.         print ("HERE!")
  128.         print (playerItemInPlayerArea.itemName)
  129.         print (xinspect(carry.libraryName))
  130.         if event.phase == "ended" and carry then
  131.             carry:Drop(carry.oldX, carry.oldY)
  132.             transferItem = playerItemInPlayerArea
  133.             if carry.libraryName == "playerInventory" and playerItemInPlayerArea.itemName=="blank" then
  134.  
  135.                 playerItemInPlayerArea = playerData.playerInventory[carry.itemNumber]
  136.                 playerData.playerInventory[carry.itemNumber] = transferItem
  137.                 playerItemInPlayerArea.itemXY = playerData.playerInfo.playerXY
  138.                 table.insert(currentMap.itemList, playerItemInPlayerArea)
  139.                
  140.                
  141.             elseif carry.libraryName == "playerInventory" then
  142.                 print (replaceItemInitemList)
  143.                 print (" WHAT IS THE ITEM IN THE ITEM LIST??")
  144.                 determinReplaceItemInitemList()
  145.                 print (replaceItemInitemList)
  146.                 playerItemInPlayerArea = playerData.playerInventory[carry.itemNumber]
  147.                 playerData.playerInventory[carry.itemNumber] = transferItem
  148.                 playerItemInPlayerArea.itemXY = playerData.playerInfo.playerXY
  149.                 currentMap.itemList[replaceItemInitemList]=playerItemInPlayerArea
  150.  
  151.             end
  152.  
  153.             print (carry.libraryName)
  154.             -- Right here... if you need to check if it is armor/shield
  155.             if carry.libraryName == "playerEquipped" and playerItemInPlayerArea.itemName=="blank" then
  156.                 atrace(xinspect(transferItem))
  157.  
  158.                 print (" SEE THIS ??? ")
  159.  
  160.                 transferItem.itemType = playerData.playerEquipped[carry.itemNumber].itemType
  161.                 playerItemInPlayerArea = playerData.playerEquipped[carry.itemNumber]
  162.                 playerItemInPlayerArea.itemXY = playerData.playerInfo.playerXY
  163.                 playerData.playerEquipped[carry.itemNumber] = transferItem
  164.                 table.insert(currentMap.itemList, playerItemInPlayerArea)
  165.            
  166.             elseif carry.libraryName == "playerEquipped" and playerItemInPlayerArea.itemType==playerData.playerEquipped[carry.itemNumber].itemType then
  167.  
  168.                 print (" SEE THIS ??? ")
  169.  
  170.                 atrace(xinspect(transferItem))
  171.                 transferItem.itemType = playerData.playerEquipped[carry.itemNumber].itemType
  172.                 playerItemInPlayerArea = playerData.playerEquipped[carry.itemNumber]
  173.                 playerItemInPlayerArea.itemXY = playerData.playerInfo.playerXY
  174.                 playerData.playerEquipped[carry.itemNumber] = transferItem
  175.                 dropThatItem()
  176.                        
  177.             end
  178.  
  179.             if carry.libraryName == "playerEquipped" and playerItemInPlayerArea.itemType == "weapon" or playerItemInPlayerArea.ItemType == "armor" then
  180.                 print (" SEE THIS ??? ")
  181.                 playerVictoryPose = "Yes"
  182.             end
  183.  
  184.             if carry.libraryName == "playerEquipped" and playerItemInPlayerArea.itemType == "weapon" or playerItemInPlayerArea.ItemType == "armor" then
  185.                 print (" SEE THIS ??? ")
  186.                 playerVictoryPose = "Yes"
  187.             end
  188.  
  189.             transferItem = nil
  190.             displayInventory()  
  191.             setDragStates()  
  192.             return true
  193.         end
  194.     end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement