- 로비 씬 추가 및 LobbyManager/LobbyUI/LobbySceneBuilder 구현 - NetworkPrefabsList로 플레이어 프리팹 등록 (PlayerPrefab 자동스폰 비활성화) - PlayerMovement 서버 권한 이동 아키텍처로 전환 - NetworkVariable<Vector2>로 클라이언트 입력 → 서버 전달 - 점프 JumpRequestRpc로 서버 검증 후 실행 - 보스 프리팹에 NetworkTransform/NetworkAnimator 추가 (서버 권한) - SkillController를 NetworkBehaviour로 전환 - PlaySkillClipClientRpc로 클립 override + 재생 원자적 동기화 - OnEffect/OnSkillEnd 클라이언트 실행 차단 - WeaponEquipment 클라이언트 무기 시각화 동기화 수정 - registeredWeapons 인덱스 기반 NetworkVariable 동기화 - SpawnWeaponVisualsLocal로 클라이언트 무기 생성 - 중복 Instantiate 버그 수정 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
25 lines
747 B
C#
25 lines
747 B
C#
using Unity.Collections;
|
|
using Unity.Netcode;
|
|
|
|
namespace Colosseum.Network
|
|
{
|
|
public struct LobbyPlayerData : INetworkSerializable, System.IEquatable<LobbyPlayerData>
|
|
{
|
|
public ulong ClientId;
|
|
public FixedString32Bytes PlayerName;
|
|
public bool IsReady;
|
|
|
|
public void NetworkSerialize<T>(BufferSerializer<T> serializer) where T : IReaderWriter
|
|
{
|
|
serializer.SerializeValue(ref ClientId);
|
|
serializer.SerializeValue(ref PlayerName);
|
|
serializer.SerializeValue(ref IsReady);
|
|
}
|
|
|
|
public bool Equals(LobbyPlayerData other) =>
|
|
ClientId == other.ClientId &&
|
|
PlayerName == other.PlayerName &&
|
|
IsReady == other.IsReady;
|
|
}
|
|
}
|