44 lines
1.3 KiB
Python
44 lines
1.3 KiB
Python
# all imports needed by the engine itself
|
|
from direct.showbase.ShowBase import ShowBase
|
|
|
|
# import our own repositories
|
|
from ClientRepository import GameClientRepository
|
|
|
|
# initialize the engine
|
|
base = ShowBase()
|
|
|
|
# initialize the client
|
|
client = GameClientRepository()
|
|
|
|
base.accept("escape", exit)
|
|
|
|
|
|
|
|
|
|
from direct.gui.OnscreenText import OnscreenText
|
|
from panda3d.core import TextNode
|
|
|
|
# Function to put instructions on the screen.
|
|
def addInstructions(pos, msg):
|
|
return OnscreenText(text=msg, style=1, fg=(0, 0, 0, 1), shadow=(1, 1, 1, 1),
|
|
parent=base.a2dTopLeft, align=TextNode.ALeft,
|
|
pos=(0.08, -pos - 0.04), scale=.06)
|
|
|
|
# Function to put title on the screen.
|
|
def addTitle(text):
|
|
return OnscreenText(text=text, style=1, pos=(-0.1, 0.09), scale=.08,
|
|
parent=base.a2dBottomRight, align=TextNode.ARight,
|
|
fg=(1, 1, 1, 1), shadow=(0, 0, 0, 1))
|
|
|
|
title = addTitle("Panda3D: Tutorial - Distributed Network (NOT CONNECTED)")
|
|
inst1 = addInstructions(0.06, "esc: Close the client")
|
|
inst2 = addInstructions(0.12, "See console output")
|
|
|
|
def setConnectedMessage():
|
|
title["text"] = "Panda3D: Tutorial - Distributed Network (CONNECTED)"
|
|
|
|
base.accept("client-joined", setConnectedMessage)
|
|
|
|
# start the client
|
|
base.run()
|