-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathmenu.lua
130 lines (101 loc) · 3.53 KB
/
menu.lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
-----------------------------------------------------------------------------------------
--
-- menu.lua
--
-----------------------------------------------------------------------------------------
local composer = require( "composer" )
local scene = composer.newScene()
local toast = require('plugin.toast')
local startGameText
local buttonTouched = false
local whatAmI = system.getInfo( "deviceID" )
--- 1. Add the file.
local multiplayer = require("zeroconf_mp")
local function onButtonTouched(event)
if event.phase == "ended" and buttonTouched == false then
-- 3. Start the game.
multiplayer.startGame()
buttonTouched = true
startGameText.text = "Looking..."
end
end
local function onDataTick(event)
-- 4. Send some data.
local testData = {}
testData.justPlayed = whatAmI.." played: "..math.random(1, 10)
multiplayer.sendData(testData)
end
--------------------------------------------
function onMultiplayerEvent(event)
local json = require("json")
local eventJson = json.encode(event)
if eventJson ~= nil then
print(json.prettify(eventJson))
end
if event.phase == "dataRecieved" then
startGameText.text = "Recieving Data."
toast.show("Data recieved: "..event.data["justPlayed"])
end
if event.phase == "playerAdded" or event.phase == "connected" then
print("--Player added. ")
toast.show("player added")
startGameText.text = "Game ready."
timer.performWithDelay( 5000, onDataTick, 0)
end
end
function scene:create( event )
local sceneGroup = self.view
--- 2. Init library.
local properties = {}
properties.gameName = "TestGame"
properties.serverName = "TestServer"
properties.searchForLength = 2000
properties.numberOfPlayers = 2
multiplayer.init(onMultiplayerEvent, properties)
-- UI for the test app.
local startGame = display.newRect( sceneGroup, display.contentWidth/2, display.contentHeight/2, math.floor(display.contentWidth * .70), math.floor(display.contentHeight * .08))
startGame:setFillColor( 1 )
startGame:addEventListener( "touch", onButtonTouched )
startGameText = display.newText( "start game", startGame.x, startGame.y, native.systemFontBold, 20 )
sceneGroup:insert(startGameText)
startGameText:setFillColor(0)
end
function scene:show( event )
local sceneGroup = self.view
local phase = event.phase
if phase == "will" then
-- Called when the scene is still off screen and is about to move on screen
elseif phase == "did" then
-- Called when the scene is now on screen
--
-- INSERT code here to make the scene come alive
-- e.g. start timers, begin animation, play audio, etc.
end
end
function scene:hide( event )
local sceneGroup = self.view
local phase = event.phase
if event.phase == "will" then
-- Called when the scene is on screen and is about to move off screen
--
-- INSERT code here to pause the scene
-- e.g. stop timers, stop animation, unload sounds, etc.)
elseif phase == "did" then
-- Called when the scene is now off screen
end
end
function scene:destroy( event )
local sceneGroup = self.view
-- Called prior to the removal of scene's "view" (sceneGroup)
--
-- INSERT code here to cleanup the scene
-- e.g. remove display objects, remove touch listeners, save state, etc.
end
---------------------------------------------------------------------------------
-- Listener setup
scene:addEventListener( "create", scene )
scene:addEventListener( "show", scene )
scene:addEventListener( "hide", scene )
scene:addEventListener( "destroy", scene )
-----------------------------------------------------------------------------------------
return scene