public override void ProcessPacket(NewDroneOrderPacket packet, NebulaConnection conn) { // Host does not need to know about flying drones of other players if he is not on the same planet if (IsHost) { if (GameMain.mainPlayer.planetId != packet.PlanetId) { return; } Player player = playerManager.GetPlayer(conn); if (player != null) { if (packet.Stage == 1 || packet.Stage == 2) { DroneManager.AddPlayerDronePlan(player.Id, packet.EntityId); } else if (packet.Stage == 3) { DroneManager.RemovePlayerDronePlan(player.Id, packet.EntityId); } } } SimulatedWorld.UpdateRemotePlayerDrone(packet); }