PlayerPresence.uLink_OnSerializeNetworkView C# (CSharp) Method

uLink_OnSerializeNetworkView() public method

public uLink_OnSerializeNetworkView ( uLink stream, uLink info ) : void
stream uLink
info uLink
return void
    public void uLink_OnSerializeNetworkView(uLink.BitStream stream, uLink.NetworkMessageInfo info)
    {
        uLink.NetworkViewID prevPossesedID = PossessedCharacterViewID;
        stream.Serialize(ref PossessedCharacterViewID);
        stream.Serialize(ref _IsDoingMenuStuff);
        stream.Serialize(ref _Score);

        stream.Serialize(ref _IsSpectating);
        stream.Serialize(ref _Ping);

        if (stream.isReading)
        {
            if (Possession == null)
            {
                // see if possession id from network is not null
                // see if new possession object from that id is not null
                // then assign
                PlayerScript character = TryGetPlayerScriptFromNetworkViewID(PossessedCharacterViewID);
                if (character != null) Possession = character;
            }
            else
            {
                // see if new possession id is different from current possession id
                // assign new possession, even if null
                if (prevPossesedID != PossessedCharacterViewID)
                {
                    Possession = TryGetPlayerScriptFromNetworkViewID(PossessedCharacterViewID);
                }
            }
        }
    }