Example #1
0
    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));
        }
Example #3
0
    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());
            }
        }
Example #6
0
    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);
    }