Skip to content

Instantly share code, notes, and snippets.

@kristiandelay
Created November 22, 2022 15:35
Show Gist options
  • Select an option

  • Save kristiandelay/7d870012dada22d0685e9d32261926f3 to your computer and use it in GitHub Desktop.

Select an option

Save kristiandelay/7d870012dada22d0685e9d32261926f3 to your computer and use it in GitHub Desktop.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Photon.Pun;
using MoreMountains.TopDownEngine;
using System.Linq;
using Unity.VisualScripting;
public class LevelManagerPhoton : LevelManager
{
protected override void InstantiatePlayableCharacters()
{
Players = new List<Character>();
if (GameManager.Instance.PersistentCharacter != null)
{
Players.Add(GameManager.Instance.PersistentCharacter);
return;
}
// we check if there's a stored character in the game manager we should instantiate
if (GameManager.Instance.StoredCharacter != null)
{
//Character newPlayer = (Character)Instantiate(GameManager.Instance.StoredCharacter, _initialSpawnPointPosition, Quaternion.identity);
GameObject newPlayer = PhotonNetwork.Instantiate(GameManager.Instance.StoredCharacter.name, _initialSpawnPointPosition, Quaternion.identity);
newPlayer.name = GameManager.Instance.StoredCharacter.name;
Players.Add(newPlayer.GetComponent<CharacterPhoton>());
return;
}
if ((SceneCharacters != null) && (SceneCharacters.Count > 0))
{
foreach (Character character in SceneCharacters)
{
Players.Add(character);
}
return;
}
if (PlayerPrefabs == null) { return; }
// player instantiation
if (PlayerPrefabs.Count() != 0)
{
foreach (Character playerPrefab in PlayerPrefabs)
{
GameObject newPlayer = PhotonNetwork.Instantiate(playerPrefab.name, _initialSpawnPointPosition, Quaternion.identity);
//Character newPlayer = (Character)Instantiate(playerPrefab, _initialSpawnPointPosition, Quaternion.identity);
newPlayer.name = playerPrefab.name;
Players.Add(newPlayer.GetComponent<CharacterPhoton>());
if (playerPrefab.CharacterType != Character.CharacterTypes.Player)
{
Debug.LogWarning("LevelManager : The Character you've set in the LevelManager isn't a Player, which means it's probably not going to move. You can change that in the Character component of your prefab.");
}
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment