Ejemplo n.º 1
0
    private void RandomizeWeather()
    {
        WindStrength windStrength = (WindStrength)Random.Range((int)WindStrength.Dead, (int)WindStrength.Storm + 1);
        HexDirection direction    = HexDirectionExtension.ReturnRandomDirection();

        ChangeWindDirectionAndSpeed(direction, windStrength);
    }
Ejemplo n.º 2
0
    //Creates an AI controlled merchant player with a ship and adds it to controllers
    private void CreateMerchantPlayer(Route route)
    {
        MerchantShip newShip = Instantiate(merchantShip);

        newShip.transform.SetParent(shipParent);
        newShip.Setup(route);

        //Delegates
        newShip.OnShipBoarded   += worldUIView.OpenBoardingView;
        newShip.OnShipInspected += worldUIView.OpenInspectView;

        hexGrid.AddUnit(newShip, route.GetSpawnableLocation(), HexDirectionExtension.ReturnRandomDirection(), false);

        Player newMerchantPlayer = new Player(newShip, null, false);

        MapTurnSystem.instance.AddPlayerToTurnOrder(newMerchantPlayer);
    }
Ejemplo n.º 3
0
    //Creates a player from a prefab and spawns a ship, starting characters and adds them to controllers
    private void CreateHumanPlayer()
    {
        Ship newShip = Instantiate(playerStarterShip);

        newShip.transform.SetParent(shipTransform);

        worldGrid.AddUnit(newShip, worldController.PlayerSpawnPosition, HexDirectionExtension.ReturnRandomDirection(), true);

        combatSystem.managementMap = playerStartingGridMap;

        Player newPlayer = new Player(newShip, true, playerCrewSimulation);

        MapTurnSystem.instance.AddPlayerToFirstPositionInTurnOrder(newPlayer);
        HexGridController.player = newPlayer;
        newPlayer.PlayerData.NextBountyChange = setupData.difficultySettings.bountyChanges;
        for (int i = 0; i < startingCharacters.Length; i++)
        {
            HexGridController.SpawnCharacterForPlayerCrew(startingCharacters[i]);
        }
        OnPlayerCreated?.Invoke(newPlayer);
    }
Ejemplo n.º 4
0
    //Creates an AI controlled Redcoat player with a ship and adds it to controllers
    private void CreateRedcoatPlayer(Route route)
    {
        PatrolShip newShip = Instantiate(redcoatShip);

        newShip.transform.SetParent(shipParent);
        newShip.Setup(route);

        //Delegates
        newShip.OnShipBoarded   += combatSystem.StartCombat;
        newShip.OnShipInspected += worldUIView.OpenInspectView;

        hexGrid.AddUnit(newShip, route.GetSpawnableLocation(), HexDirectionExtension.ReturnRandomDirection(), false);

        List <Character> newCrew = new List <Character>();

        for (int i = 0; i < GetCrewSize(HexGridController.player.PlayerData); i++)
        {
            newCrew.Add(Utility.ReturnRandom(redcoatCharacters));
        }

        Player newRedcoatPlayer = new Player(newShip, newCrew, false);

        MapTurnSystem.instance.AddPlayerToTurnOrder(newRedcoatPlayer);
    }