Files
megakoop/Game/Scripts/Networking/SteamLocalInputSender.cs
2025-10-05 18:21:16 +02:00

45 lines
1.2 KiB
C#

using UnityEngine;
namespace MegaKoop.Game.Networking
{
[DisallowMultipleComponent]
public class SteamLocalInputSender : MonoBehaviour
{
[SerializeField] private SteamCharacterNetworkBridge characterNetwork;
[SerializeField] private float sendInterval = 0.05f;
private float sendTimer;
private void Awake()
{
if (characterNetwork == null)
{
characterNetwork = GetComponent<SteamCharacterNetworkBridge>();
}
}
private void Update()
{
if (characterNetwork == null)
{
return;
}
if (!characterNetwork.IsLocalPlayer || characterNetwork.IsAuthority)
{
return;
}
sendTimer -= Time.deltaTime;
Vector2 moveInput = new Vector2(Input.GetAxisRaw("Horizontal"), Input.GetAxisRaw("Vertical"));
bool jumpPressed = Input.GetButtonDown("Jump");
if (sendTimer <= 0f || jumpPressed)
{
characterNetwork.SendLocalInput(moveInput, jumpPressed);
sendTimer = sendInterval;
}
}
}
}