private void SpawnMyShip() { var spawn = Ramjet.Utilities.GetSpawnLocation(PhotonNetwork.LocalPlayer.ActorNumber); var ship = _shipSpawner.SpawnShip(spawn.position, spawn.rotation); ship.OnDeath += OnShipDeath; }
public void TryingSpawningCollidingShips_Fails() { int shipsLength = 4; int[] shipsStartingCoordinates = { 0, 9 }; Mock <IField>[] fields = new Mock <IField> [4]; for (int i = 0; i < fields.Length; i++) { fields[i] = new Mock <IField>(); } var battlefield = new Mock <IBattlefield>(); for (int i = 0; i < fields.Length; i++) { battlefield.Setup(x => x.GetField(shipsStartingCoordinates[0] + i, shipsStartingCoordinates[1])) .Returns(fields[i].Object); } var mockRandom = new Mock <Random>(); mockRandom.Setup(x => x.Next(2)).Returns(1); mockRandom.Setup(x => x.Next(9 - shipsLength + 2)).Returns(shipsStartingCoordinates[0]); mockRandom.Setup(x => x.Next(10)).Returns(shipsStartingCoordinates[1]); var ship = new Mock <IShip>(); ship.Setup(x => x.Length).Returns(shipsLength); var shipSpawner = new ShipSpawner(battlefield.Object, mockRandom.Object); shipSpawner.SpawnShip(ship.Object); int[] nextShipsStartingCoordinates = { 3, 6 }; int nextShipsLength = shipsLength; mockRandom.Setup(x => x.Next(2)).Returns(0); mockRandom.Setup(x => x.Next(10)).Returns(nextShipsStartingCoordinates[0]); mockRandom.Setup(x => x.Next(9 - nextShipsLength + 2)).Returns(nextShipsStartingCoordinates[1]); Assert.False(shipSpawner.SpawnShip(ship.Object)); }
private void Start() { var spawn = Ramjet.Utilities.GetSpawnLocation(PhotonNetwork.LocalPlayer.ActorNumber); _shipSpawner.SpawnShip(spawn.position, spawn.rotation); StatusGUI.Instance.SetStatus("Joined lobby, waiting for others..."); _waitRoutine = StartCoroutine(WaitForPlayers(2)); }
public void TryingSpawningTwoShipsAtExactlySameLocation_Fails() { int shipsLength = 5; int[] shipsStartingCoordinates = { 4, 1 }; Mock <IField>[] fields = new Mock <IField> [5]; for (int i = 0; i < fields.Length; i++) { fields[i] = new Mock <IField>(); } var battlefield = new Mock <IBattlefield>(); for (int i = 0; i < fields.Length; i++) { battlefield.Setup(x => x.GetField(shipsStartingCoordinates[0], shipsStartingCoordinates[1] + i)) .Returns(fields[i].Object); } var mockRandom = new Mock <Random>(); mockRandom.Setup(x => x.Next(2)).Returns(0); mockRandom.Setup(x => x.Next(10)).Returns(shipsStartingCoordinates[0]); mockRandom.Setup(x => x.Next(9 - shipsLength + 2)).Returns(shipsStartingCoordinates[1]); var ship = new Mock <IShip>(); ship.Setup(x => x.Length).Returns(shipsLength); var shipSpawner = new ShipSpawner(battlefield.Object, mockRandom.Object); Assert.True(shipSpawner.SpawnShip(ship.Object)); foreach (var field in fields) { field.Verify(x => x.PlaceShip(ship.Object), Times.Once()); } Assert.False(shipSpawner.SpawnShip(ship.Object)); }
public void AfterSpawningVerticalShip_CorrectFieldsHaveShipPlacedOnThem() { int shipsLength = 4; int[] shipsStartingCoordinates = { 0, 9 }; Mock <IField>[] fields = new Mock <IField> [4]; for (int i = 0; i < fields.Length; i++) { fields[i] = new Mock <IField>(); } var battlefield = new Mock <IBattlefield>(); for (int i = 0; i < fields.Length; i++) { battlefield.Setup(x => x.GetField(shipsStartingCoordinates[0] + i, shipsStartingCoordinates[1])) .Returns(fields[i].Object); } var mockRandom = new Mock <Random>(); mockRandom.Setup(x => x.Next(2)).Returns(1); mockRandom.Setup(x => x.Next(9 - shipsLength + 2)).Returns(shipsStartingCoordinates[0]); mockRandom.Setup(x => x.Next(10)).Returns(shipsStartingCoordinates[1]); var ship = new Mock <IShip>(); ship.Setup(x => x.Length).Returns(shipsLength); var shipSpawner = new ShipSpawner(battlefield.Object, mockRandom.Object); Assert.True(shipSpawner.SpawnShip(ship.Object)); foreach (var field in fields) { field.Verify(x => x.PlaceShip(ship.Object), Times.Once()); } }
public void HandleGameplayScene() { // Move this into PlayerController? pc.cam.enabled = true; pc.flycam.enabled = false; pc.listener.enabled = true; // var playerShip = ShipSpawner.SpawnShip(shipPrefab, Vector3.zero); pc.Possess(playerShip); var hud = FindObjectOfType <HUDManager>(); if (hud == null) { hud = Instantiate(HUDPrefab); } //DontDestroyOnLoad(hud.gameObject); hud.SetPlayerController(pc); }