private void Connection_Received(EndPoint ep, TypedPackage package) { // Select player if (!_players.ContainsKey(ep)) { Debug.Log("Received UDP from unconnected client! By " + ep.ToString()); return; } SpawnedPlayer p = _players[ep]; // Handle msg if (package.Type == PackageType.PlayerMove) { p.Positioning.FromBytes(package.Data, ref package.Offset); p.Updated = true; } else if (package.Type == PackageType.PlayerShoot) { ShootingData message = new ShootingData(package.Data, ref package.Offset); p.ShootBuffer.Shots.AddRange(message.Shots); } else if (package.Type == PackageType.BoatPartHit) { HealthData message = new HealthData(package.Data, ref package.Offset); lock (p.HitBuffer) p.HitBuffer.Add(message); } else { Debug.Log("Unhandled UDP msg"); } }
public SpawnedPlayer(GameObject boat, RoomPlayerInfo info) { Boat = boat; Manager = boat.GetComponent<BoatManager>(); Positioning = new PositioningData(Boat.transform.position, Boat.transform.eulerAngles); ShootBuffer = new ShootingData(); HitBuffer = new List<HealthData>(); Info = info; Updated = true; }