Пример #1
0
    public void OnPhotonSerializeView(PhotonStream stream, PhotonMessageInfo info)
    {
        if (stream.isWriting)
        {
            stream.SendNext(_spriteRenderer.flipX);
            stream.SendNext(_playerJump.GetJumpState());
        }
        else
        {
            _spriteRenderer.flipX = (bool)stream.ReceiveNext();

            var jump_state = (JumpState)stream.ReceiveNext();

            if (jump_state != _playerJump.GetJumpState())
            {
                _playerJump.ChangeJumpState(jump_state);

                bool syncModeEnable = false;
                bool directlySync   = false;

                switch (_playerJump.GetJumpState())
                {
                case JumpState.Ready:
                    syncModeEnable = true;
                    break;

                case JumpState.Ground:
                    directlySync = true;
                    break;
                }

                _photonTransformView.SetForceSyncMode(syncModeEnable, directlySync);
            }
        }
    }