blob: 747f8cd8fa9a6a59691b41977f651b9a4456de68 (
plain)
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
|
from lib.Aircraft import Aircraft
from lib.PacketManager.packets import FSNETCMD_LOGON, FSNETCMD_ADDOBJECT
class Player:
"""
A player class, this will hold info about the client, including which aircraft they're flying"""
def __init__(self, server_messages, client_messages, streamWriterObject):
self.username = ""
self.alias = ""
self.aircraft = Aircraft()
self.version = 0
self.ip = ""
self.streamWriterObject = streamWriterObject
self.is_a_bot = True # We check if they are still present after LOGIN packet, then they're not a bot
def set_aircraft(self, aircraft:Aircraft):
self.aircraft = aircraft
def login(self, packet:FSNETCMD_LOGON):
self.username = packet.username
self.alias = packet.alias
self.version = packet.version
def set_ip(self, ip):
self.ip = ip
def check_add_object(self, packet:FSNETCMD_ADDOBJECT):
if packet.pilot == self.username:
self.aircraft = Aircraft()
self.aircraft.name = packet.identifier
self.aircraft.id = packet.object_id
self.aircraft.set_position(packet.pos)
self.aircraft.set_initial_config({
"IFF": packet.iff
})
return True
return False
|