Exemplo n.º 1
0
 public void SpawnPlayer()
 {
     if (_playerObject == null && _playerPrefab != null)
     {
         _playerObject = Instantiate(_playerPrefab, _spawnPoint.position, Quaternion.identity);
         OnPlayerSpawned.Invoke(_playerObject.transform);
         _playerObject.GetComponent <PlayerCharacteristics>().OnDeath.AddListener(DespawnPlayer);
         _playerObject.GetComponent <PlayerCharacteristics>().OnDeath.AddListener(() =>
         {
             _canvasUdied.enabled = true;
         });
     }
 }
Exemplo n.º 2
0
        private void OnGridCreated()
        {
            List <Transform> validSpawnPoints = possibleSpawnPoints
                                                .Where(possibleSpawnPoint => AStar.Instance.Grid.GetNodeFromWorldPoint(possibleSpawnPoint.position).IsWalkable)
                                                .ToList();
            Vector3 spawnPosition = validSpawnPoints[Random.Range(0, validSpawnPoints.Count)].position;

            GameObject playerGameObject = Instantiate(ResourceManager.Instance.PlayerPrefab, spawnPosition, Quaternion.identity);

            Player = playerGameObject.GetComponent <Player>();

            PlayerSpawnedEvent?.Invoke(Player);
        }
Exemplo n.º 3
0
    public void FirstSpawnPlayer()
    {
        // Does there already exist another player?
        var existing = FindObjectOfType <RaycastPlayer>();

        if (existing != null)
        {
            Debug.LogWarning("There already exists a player in the game. A player won't be instantiated");
            return;
        }
        var alive = Instantiate(player, spawnPoint.transform.position, Quaternion.identity);

        _camera.m_Follow = alive.transform;
        _camera.m_LookAt = alive.transform;
        PlayerSpawnedEvent?.Invoke(alive);
    }
Exemplo n.º 4
0
 internal void FirePlayerSpawnedEvent(CharacterStats timtam)
 {
     PlayerSpawnedEvent?.Invoke(timtam);
 }