private void addPlayer(Train train, NetworkPlayer owner, NetworkTrainPlayers players) { string newTrainName = RemoteTrainName.GetNameFor(train, owner); Train newTrain = clone(train, newTrainName); NetworkTrainPlayer player = NetworkTrainPlayerFactory.Create(newTrain, owner); players.AddPlayer(player); }
private void setEndPoints(NetworkTrainPlayer player, int points) { player.SetEndPoints(new GamePoints(GameMap.MAP_UNKNOWN, points)); }
private void routeUpdate(NetworkTrainPlayer player, Station nextStation) { player.AddToRoute(nextStation); }
private MovementManager getMovementFor(Train train, bool isLocalTrain, NetworkTrainPlayer networkPlayer, GuiPlayersPointsElement playersPoints, NetworkEntityPlaying network) { float rotationSpeed = train.RotationSpeed; float translationSpeed = train.TranslationSpeed * GameMapSizeFactor.GetFactorForCurrentMapRelativeToFirstMap(); int maxPassengers = train.MaxPassengers; Transform mover = train.transform.parent ?? train.transform; TransformOperations.To(mover).SetRotationTo(FirstStation.transform.position); Route route = new Route(); route.Add(null); route.Add(FirstStation); if (isLocalTrain) { FirstStation.StartHighlight(); } Player player = networkPlayer == null ? PlayerFactory.CreateLocal(train) : networkPlayer; TrainPassengersLimit trainPassengersLimit = TrainPassengersLimitFactory.Get(TrainPassengersLimitType); trainPassengersLimit.SetLimit(maxPassengers); TrainPassengers passengers = new TrainPassengers(trainPassengersLimit, player); TimeCounter timeCounter = new TimeCounter(); timeCounters.Add(timeCounter); CurrentPoints points = new CurrentPoints(CurrentMap.GetCurrentMap(), passengers, timeCounter); playersPoints.AddPoints(player, points); GuiButtonRendererControl backToMenuButton = null; GuiButtonRendererControl showRankingButton = null; Movement firstMovement, normalMovement, goOutMovement; if (isLocalTrain) { Camera camera = Camera.main; Vector3 cameraOffset = -(mover.position - camera.transform.position); firstMovement = new ParallelMovement() .AddMovement(new TranslationMovement(mover, translationSpeed, TranslationStartStepType, TERRESTRIAL)) .AddMovement(new TranslationMovement(camera.transform, translationSpeed, TranslationStartStepType, TERRESTRIAL, cameraOffset)); //firstMovement.Update(FirstStation.transform.position); normalMovement = new SequentialMovement() .AddMovement(new RotationMovement(mover, rotationSpeed, RotationDefaultStepType, TERRESTRIAL)) .AddMovement(new ParallelMovement() .AddMovement(new TranslationMovement(mover, translationSpeed, TranslationDefaultStepType, TERRESTRIAL)) .AddMovement(new TranslationMovement(camera.transform, translationSpeed, TranslationDefaultStepType, TERRESTRIAL, cameraOffset))); goOutMovement = new SequentialMovement() .AddMovement(new RotationMovement(mover, rotationSpeed, RotationDefaultStepType, TERRESTRIAL)) .AddMovement(new TranslationMovement(mover, translationSpeed, TranslationDefaultStepType, TERRESTRIAL)); MapCamera trainCamera = new TrainCamera(Camera.main); MapCamera freeCamera = new FreeCamera(Camera.main); CameraManager cameraManager = new CameraManager(trainCamera); backToMenuButton = new GuiButtonRendererControl(() => Application.LoadLevel(SceneNames.MENU)); showRankingButton = new GuiButtonRendererControl(() => SocialManager.ForegroundActions.ShowLeaderboard(CurrentMap.GetCurrentMap())); GuiButtonRendererControl setTrainCameraButton = new GuiButtonRendererControl(() => cameraManager.SetCamera(trainCamera)); GuiButtonRendererControl setFreeCameraButton = new GuiButtonRendererControl(() => cameraManager.SetCamera(freeCamera)); gui.AddElement(new GuiHudElement(passengers, timeCounter)); gui.AddElement(GuiElementFactory.GetSwitchCameraElement("Train\nCam", GuiPosition.DOWN_LEFT, setTrainCameraButton)); gui.AddElement(GuiElementFactory.GetSwitchCameraElement("Free\nCam", GuiPosition.DOWN_RIGHT, setFreeCameraButton)); input.AddLocal(route, cameraManager); input.AddButtons(backToMenuButton, showRankingButton, setTrainCameraButton, setFreeCameraButton); } else { firstMovement = new TranslationMovement(mover, translationSpeed, TranslationStartStepType, TERRESTRIAL); //firstMovement.Update(FirstStation.transform.position); goOutMovement = normalMovement = new SequentialMovement() .AddMovement(new RotationMovement(mover, rotationSpeed, RotationDefaultStepType, TERRESTRIAL)) .AddMovement(new TranslationMovement(mover, translationSpeed, TranslationDefaultStepType, TERRESTRIAL)); networkPlayer.SetRoute(route); } return new MovementManager(FirstStation, LastStation, route, firstMovement, normalMovement, goOutMovement, passengers, timeCounter, points, gui, backToMenuButton, showRankingButton, isLocalTrain, playersPoints, network); }
private void mapLoaded(NetworkTrainPlayer player) { player.MapLoaded(); }
private MovementManager getMovementFor(Train train, bool isLocalTrain, NetworkTrainPlayer networkPlayer, GuiPlayersPointsElement playersPoints, NetworkEntityPlaying network) { float rotationSpeed = train.RotationSpeed; float translationSpeed = train.TranslationSpeed * GameMapSizeFactor.GetFactorForCurrentMapRelativeToFirstMap(); int maxPassengers = train.MaxPassengers; Transform mover = train.transform.parent ?? train.transform; TransformOperations.To(mover).SetRotationTo(FirstStation.transform.position); Route route = new Route(); route.Add(null); route.Add(FirstStation); if (isLocalTrain) { FirstStation.StartHighlight(); } Player player = networkPlayer == null?PlayerFactory.CreateLocal(train) : networkPlayer; TrainPassengersLimit trainPassengersLimit = TrainPassengersLimitFactory.Get(TrainPassengersLimitType); trainPassengersLimit.SetLimit(maxPassengers); TrainPassengers passengers = new TrainPassengers(trainPassengersLimit, player); TimeCounter timeCounter = new TimeCounter(); timeCounters.Add(timeCounter); CurrentPoints points = new CurrentPoints(CurrentMap.GetCurrentMap(), passengers, timeCounter); playersPoints.AddPoints(player, points); GuiButtonRendererControl backToMenuButton = null; GuiButtonRendererControl showRankingButton = null; Movement firstMovement, normalMovement, goOutMovement; if (isLocalTrain) { Camera camera = Camera.main; Vector3 cameraOffset = -(mover.position - camera.transform.position); firstMovement = new ParallelMovement() .AddMovement(new TranslationMovement(mover, translationSpeed, TranslationStartStepType, TERRESTRIAL)) .AddMovement(new TranslationMovement(camera.transform, translationSpeed, TranslationStartStepType, TERRESTRIAL, cameraOffset)); //firstMovement.Update(FirstStation.transform.position); normalMovement = new SequentialMovement() .AddMovement(new RotationMovement(mover, rotationSpeed, RotationDefaultStepType, TERRESTRIAL)) .AddMovement(new ParallelMovement() .AddMovement(new TranslationMovement(mover, translationSpeed, TranslationDefaultStepType, TERRESTRIAL)) .AddMovement(new TranslationMovement(camera.transform, translationSpeed, TranslationDefaultStepType, TERRESTRIAL, cameraOffset))); goOutMovement = new SequentialMovement() .AddMovement(new RotationMovement(mover, rotationSpeed, RotationDefaultStepType, TERRESTRIAL)) .AddMovement(new TranslationMovement(mover, translationSpeed, TranslationDefaultStepType, TERRESTRIAL)); MapCamera trainCamera = new TrainCamera(Camera.main); MapCamera freeCamera = new FreeCamera(Camera.main); CameraManager cameraManager = new CameraManager(trainCamera); backToMenuButton = new GuiButtonRendererControl(() => Application.LoadLevel(SceneNames.MENU)); showRankingButton = new GuiButtonRendererControl(() => SocialManager.ForegroundActions.ShowLeaderboard(CurrentMap.GetCurrentMap())); GuiButtonRendererControl setTrainCameraButton = new GuiButtonRendererControl(() => cameraManager.SetCamera(trainCamera)); GuiButtonRendererControl setFreeCameraButton = new GuiButtonRendererControl(() => cameraManager.SetCamera(freeCamera)); gui.AddElement(new GuiHudElement(passengers, timeCounter)); gui.AddElement(GuiElementFactory.GetSwitchCameraElement("Train\nCam", GuiPosition.DOWN_LEFT, setTrainCameraButton)); gui.AddElement(GuiElementFactory.GetSwitchCameraElement("Free\nCam", GuiPosition.DOWN_RIGHT, setFreeCameraButton)); input.AddLocal(route, cameraManager); input.AddButtons(backToMenuButton, showRankingButton, setTrainCameraButton, setFreeCameraButton); } else { firstMovement = new TranslationMovement(mover, translationSpeed, TranslationStartStepType, TERRESTRIAL); //firstMovement.Update(FirstStation.transform.position); goOutMovement = normalMovement = new SequentialMovement() .AddMovement(new RotationMovement(mover, rotationSpeed, RotationDefaultStepType, TERRESTRIAL)) .AddMovement(new TranslationMovement(mover, translationSpeed, TranslationDefaultStepType, TERRESTRIAL)); networkPlayer.SetRoute(route); } return(new MovementManager(FirstStation, LastStation, route, firstMovement, normalMovement, goOutMovement, passengers, timeCounter, points, gui, backToMenuButton, showRankingButton, isLocalTrain, playersPoints, network)); }
public void RemovePlayer(NetworkTrainPlayer player) { player.DestroyTrain(); players.Remove(player); }
public void AddPlayer(NetworkTrainPlayer player) { players.Add(player); }