Exemplo n.º 1
0
    void Start()
    {
        int playerCount = PhotonNetwork.CurrentRoom.PlayerCount;

        if (playerPrefab == null)
        {
            Debug.LogError("<Color=Red><a>Missing</a></Color> playerPrefab Reference. Please set it up in GameObject 'Game Manager'", this);
        }
        else
        {
            Debug.LogFormat("We are Instantiating LocalPlayer from {0}", Application.loadedLevelName);
            // we're in a room. spawn a character for the local player. it gets synced by using PhotonNetwork.Instantiate
            if (SimpleTeleport_NetworkVersion.LocalPlayerInstance == null)
            {
                Debug.LogFormat("We are Instantiating LocalPlayer from {0}", SceneManagerHelper.ActiveSceneName);
                // we're in a room. spawn a character for the local player. it gets synced by using PhotonNetwork.Instantiate
                object[]   myCustomInitData = new object[] { playerCount - 1 };
                GameObject player           = PhotonNetwork.Instantiate(this.playerPrefab.name, new Vector3(Random.Range(-0.1f, 0.1f), 0f, -1f), Quaternion.identity, 0, myCustomInitData);
                //player.GetComponent<PlayerMetaData>().Type = playerCount-1;
                //player.transform.FindChild("Spaceship").GetComponent<SpriteRenderer>().sprite = spaceSrpites[playerCount-1];
                //playerList.Add(player);
                player.GetComponent <PlayerManager>().inventory           = (InventoryObject)InventoryObject.CreateInstance("InventoryObject");
                player.GetComponent <PlayerManager>().inventory.savePath += "." + player.GetComponent <PhotonView>().ViewID;
                player.GetComponent <PlayerManager>().inventory.database  = database;
                player.GetComponent <PlayerManager>().inventory.Create();
                //itembar.GetComponent<DisplayInventory>().inventory = player.GetComponent<PlayerManager>().inventory;
            }
            else
            {
                Debug.LogFormat("Ignoring scene load for {0}", SceneManagerHelper.ActiveSceneName);
            }
        }
    }