-
Notifications
You must be signed in to change notification settings - Fork 0
/
listenClient.py
60 lines (52 loc) · 1.75 KB
/
listenClient.py
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
from client import Client
from server import Server
import guiobjects, time
import console
class ListenClient(Client, Server):
def __init__(self):
Client.__init__(self, True)
Server.__init__(self)
def _createScene(self):
Client._createScene(self)
self.clientNumber += 1
self.player = guiobjects.Player(self, "p%i" % self.clientNumber, self.camera)
self.chat.setNickName(self.player._name)
self.player.setPosition(self.spawnLocation())
self.objects += [self.player]
print "Self", self.player._name, "connected"
self._stepNumber = 0
self._startTime = time.time()
bot = guiobjects.Person(self, "b1")
bot.setPosition(self.spawnLocation())
self.objects += [bot]
console.Console().addLocals({
'player':self.player,
'bot':bot,
'objects':self.objects,
'chat':self.chat
})
def frameEnded(self, frameTime, keyboard, mouse, joystick):
self.mouse = mouse
Server.frameEnded(self, frameTime)
self.updateGUI(frameTime)
self.player.inputPresses(self.player.input(keyboard, mouse, joystick))
return True # Keep going
def networkUpdate(self):
for o in self.objects:
o.setEvents(o.getEvents())
Server.networkUpdate(self)
def sleep(self):
# We don't want to sleep on the listen client
pass
if __name__ == "__main__":
try:
import psyco
psyco.full()
print "Psyco Enabled"
except ImportError:
print "No Psyco Support"
engine = ListenClient()
import cProfile
cProfile.run('engine.go()', 'listenClient-profile.txt')
import os
os._exit(0)