private void SpawnPlayer(PlayerData playerData, Level level) { Vector2 position = level.getSpawnPosition(); Player player = PersonFactory.InstantiatePlayer(playerData, position, transform); Weapon weapon = player.Weapon; ConvertWeapon(weapon); player.Weapon = null; IPlacedObject placedObject = prefabsManager.GetInstantiatedPrefab("playerPrefab", transform); Destroy(placedObject.Prefab); placedObject.Prefab = player.gameObject; objectPlacementModule.PlaceObject(placedObject, player.gameObject.transform.position, false, null, false); if (weapon != null) { IPlacedObject weaponObject = (IPlacedObject)weapon.gameObject.transform.parent.GetComponent <PlacedObject>(); objectEditingModule.GiveWeaponToPerson(weaponObject, placedObject); } Player.instance = player; }
public void SpawnPlayer(PlayerData data, Vector2 spawnPosition) { player = PersonFactory.InstantiatePlayer(data, spawnPosition, transform); player.OnPersonDied += EndGameScreen.instance.SetGameLost; }