home *** CD-ROM | disk | FTP | other *** search
- property sd, spriteNum, pOrders, pFirstUpdate, pCookTime
- global gSpotNums, gGameUpgrades, gDoingTutorial
-
- on beginSprite me
- sd = sprite(spriteNum)
- sd.blend = 0
- pFirstUpdate = 1
- pCookTime = 5
- pOrders = []
- end
-
- on WhatDoYouWant me
- global gTutorialStep
- ords = sendSprite(110, #TakeOrders)
- if ords.count > 0 then
- playSound(9, "orderbell")
- if gDoingTutorial then
- if gTutorialStep < 6 then
- sendSprite(836, #show, 6)
- else
- if gTutorialStep = 11 then
- sendSprite(836, #show, 12)
- end if
- end if
- end if
- repeat with b = 1 to ords.count
- currTime = GetTime() + pCookTime
- ord = [#for: ords[b], #due: currTime, #ordersUp: 0, #ordersReady: 0]
- append(pOrders, ord)
- end repeat
- end if
- end
-
- on mouseDown me
- sendSprite(110, #QueueMe, spriteNum, point(sd.locH, sd.locV))
- end
-
- on mouseEnter me
- sendSprite(710, #GoOver)
- end
-
- on mouseLeave me
- sendSprite(710, #Leave)
- end
-
- on dumpFood me, spr
- if pOrders.count > 0 then
- c = pOrders.count
- repeat with b = 1 to c
- if pOrders[b].for = spr then
- if pOrders[b].ordersUp > 0 then
- sprite(pOrders[b].ordersUp).visible = 0
- sprite(pOrders[b].ordersUp + 3).visible = 0
- end if
- deleteAt(pOrders, b)
- exit repeat
- end if
- end repeat
- end if
- end
-
- on update me
- global gTutorialStep
- if pFirstUpdate then
- pFirstUpdate = 0
- end if
- if pOrders.count > 0 then
- sendSprite(303, #update)
- c = pOrders.count
- tim = GetTime()
- sou = 0
- repeat with b = 1 to c
- if (pOrders[b].ordersUp = 0) and (pOrders[b].ordersReady = 1) then
- repeat with d = 7 to 9
- if sprite(d).visible = 0 then
- sprite(d).visible = 1
- sprite(d + 3).visible = 1
- parkingSpot = sendSprite(pOrders[b].for, #GetSpot)
- orderforspot = findPos(gSpotNums, parkingSpot)
- sprite(d + 3).memberNum = 50 + orderforspot
- pOrders[b].ordersUp = d
- sou = 1
- if gDoingTutorial then
- if gTutorialStep < 7 then
- sendSprite(836, #show, 7)
- end if
- end if
- exit repeat
- end if
- end repeat
- next repeat
- end if
- if pOrders[b].ordersReady = 0 then
- if tim >= pOrders[b].due then
- pOrders[b].ordersReady = 1
- end if
- end if
- end repeat
- if sou then
- playSound(9, "foodding")
- end if
- end if
- if (sprite(7).visible = 1) or (sprite(8).visible = 1) or (sprite(9).visible = 1) then
- sendSprite(4, #Flashy)
- else
- if (sprite(7).visible = 0) or (sprite(8).visible = 0) or (sprite(9).visible = 0) then
- sendSprite(4, #FlashOff)
- end if
- end if
- end
-
- on GotFood me, spr
- c = pOrders.count
- rem = 0
- repeat with b = 1 to c
- if pOrders[b].ordersUp = spr then
- sendSprite(110, #TakeTheFood, pOrders[b].for, sprite(spr + 3).memberNum)
- rem = b
- sprite(spr).visible = 0
- sprite(spr + 3).visible = 0
- end if
- end repeat
- if rem > 0 then
- deleteAt(pOrders, rem)
- end if
- end
-